GoAsm 0.59 IMPORTANT ISSUES
Hi Wayne,
There are some important issues I have detected in GoAsm 0.59 that did not happen in previous versions:
TestMacro1(%1) MACRO
Mov Eax, %1
Ret
ENDM
GoAsm fires the following error:
Unknown mnemonic, instruction, redefinition or directive:-
TestMacro1(%1) Macro
You can solve this issue by Including the macro in a section (but that should not be necessary):
.Const
TestMacro1(%1) MACRO
Mov Eax, %1
Ret
ENDM
But then GoAsm complains again with:
Use square brackets to address memory, ADDR or OFFSET to get address:-
Mov Eax, %1
This new issue can be solved by using brackets:
.Const
TestMacro1(%1) MACRO
Mov Eax, [%1]
Ret
ENDM
But then if another macro is defined:
.Const
TestMacro1(%1) MACRO
Mov Eax, [%1]
Ret
ENDM
TestMacro2(%1) MACRO
Mov Eax, [%1]
Ret
ENDM
GoAsm fires the following error:
Label of this name already declared:-
%1) Macro
It seems that arguments name cannot be repited, which has no sense for macros.
Finally, the following splitted line:
Invoke CreateFile, Addr ASCIIName, GENERIC_READ, 0, \
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, NULL
Gives the error:
Expecting a parameter after comma in INVOKE
Defined in Line 312 of the include file winnt.inc as:
80000000h
The "\" char does not do its job and you cannot have splitted lines. If you put all line together (unsplitted), then it works.
All this did not happen in previous versions and it can be a real mess for all projects coded before this last version of GoAsm.
I attach a test code where you can see all errors commented above (hope it can help).
Regards,
Ramon