I have never seen this Error on a .While statement.
invoke RegisterClassEx, addr wc ; register our window class
invoke CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,
CW_USEDEFAULT,280,150,NULL,NULL,hInstance,NULL ; Create the window
mov hwnd,eax
invoke ShowWindow, hwnd,CmdShow ; display our window
invoke UpdateWindow, hwnd
.WHILE TRUE ; use of register assumed to ERROR
invoke GetMessage, ADDR msg,NULL,0,0
.BREAK .IF (!eax)
invoke TranslateMessage, ADDR msg
invoke DispatchMessage, ADDR msg
.ENDW