I did compile with 2.09 and I do get the same error. I had compiled with both 2.09rc4 and 2.09rc7 with the same error.
I'm including here a copy of the program with the uses macro commented out and substituted with push/pop registers, it compiles and runs fine. This macro by the way I have adopted from one of Bryant Keller's post from a few years ago as are some of the other macros used in this example
See attached project
I compile with \nasm\bin\gorc,,, \nasm\bin\NASM -f win32,,, \nasm\bin\golink @\nasm\bin\GFL.txt /entry Start
The errors I get:
\nasm\bin\NASM -f win32 "C:\NasmEd\Project\WorkInProgress\LatestExamples\BasicWindow2\BasicWindow.asm"
C:\NasmEd\Project\WorkInProgress\LatestExamples\BasicWindow2\BasicWindow.asm:82: error: `%xdefine' expects a macro identifier
C:\NasmEd\Project\WorkInProgress\LatestExamples\BasicWindow2\BasicWindow.asm:106: error: comma, colon or end of line expected
C:\NasmEd\Project\WorkInProgress\LatestExamples\BasicWindow2\BasicWindow.asm:106: error: comma, colon or end of line expected
This is Line 82: uses ebx,edi
This is line 106: ENDP
And this is the offending statement: %xdefine %$reg_%$j %1
I wonder if this topic is not related??
http://forum.nasm.us/index.php?topic=863.0Possibly not the correct context?
Regards
Klod