News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Data Types again

Started by donkey, March 09, 2009, 05:21:28 PM

Previous topic - Next topic

donkey

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.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

donkey

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
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

jorgon

Hi Edgar

Slight delay but .. I am working on this.
Author of the "Go" tools (GoAsm, GoLink, GoRC, GoBug)

jorgon

Hi Edgar

This one was in GoAsm's depths - but the fix is attached.



[attachment deleted by admin]
Author of the "Go" tools (GoAsm, GoLink, GoRC, GoBug)

donkey

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
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable