Hi Jeremy,
I am in the process of adding full Vista and Win64 support to the headers and thought to do it the easy way using type redefinition, however I have run into the problem illustrated below
This works fine
#DEFINE PTR DD
#DEFINE HANDLE DD
NESTED STRUCT
Member1 DD
Member2 DD
ENDS
MAIN STRUCT
Member3 PTR
nest NESTED
Member4 PTR
Member5 HANDLE
ENDS
CODE SECTION
Start:
mov eax,SIZEOF MAIN
mov eax,MAIN.Member4
ret
This fails
#DEFINE PTR DD
#DEFINE HANDLE DD
NESTED STRUCT
Member1 PTR
Member2 HANDLE
ENDS
MAIN STRUCT
Member3 PTR
nest NESTED
Member4 PTR
Member5 HANDLE
ENDS
CODE SECTION
Start:
mov eax,SIZEOF MAIN
mov eax,MAIN.Member4
ret
QuoteGoAsm.Exe Version 0.56.5b - Copyright Jeremy Gordon 2001/9 - JG@JGnet.co.uk
Error!
Line 22 of assembler source file (TestStuff.asm):-
Inappropriate or missing operand to the mnemonic
mov eax,MAIN.Member4
OBJ file not made
Make error(s) occured.
Hi Jeremy,
No progress on this ? If it is not going to be corrected I would like to know so I can plan another approach to the 32/64 headers.
Thanks,
Edgar
Hi Edgar
Slight delay but .. I am working on this.
Hi Edgar
This one was in GoAsm's depths - but the fix is attached.
[attachment deleted by admin]
Thanks very much Jeremy, I will test tonight. I have been thinking also that there is no way to verify the version of GoAsm at compile time, is it possible to add a constant that will return a version number that can be checked ? For example
#IF GOASM_VERSION < 0x05605
GOASM_ECHO You require an updated copy of GoAsm to use this file
GOASM_EXIT
#ENDIF