I'd post some code but nothing I've done even remotly works.

Is ther a macro that will let me see what the type settings are?

I got the feeling that somethimes more than 1 bit is set, but I currently have no way to know.

I tried ECHO, but ECHO only print what I put after it, not value.


Bit Set If expression

0 References a code label
1 Is a memory variable or has a relocatable data label
2 Is an immediate value
3 Uses direct memory addressing
4 Is a register value
5 References no undefined symbols and is without error
6 Is relative to SS
7 References an external label
8 ?10

Has the following language type:
000 ?No language type
001 ?C
010 ?SYSCALL
011 ?STDCALL
100 ?Pascal
101 ?FORTRAN
110 ?Basic


Thanks.
Posted on 2004-06-09 11:20:44 by ThoughtCriminal
May have made some progress... If anyone that understand this stuff can confirm I'd appreciate it.

My silly little macro:


look MACRO i:REQ
local temp
temp TEXTEQU %OPATTR (i)
%ECHO temp
ENDM



look 999 ----> 36 or 100100b ;bit 2 is immediate. bit 5 is References no undefined symbols and is without error

look edx ----> 48 or 110000b ;bit 4 Is a register value. bit 5 is set

look _imp__ExitProcess@4 ----> 933 or 1110100101 ;bit 0,2,5,7,8,9 are set (you look this one up)

look mainCRTStartup: ----> 0 ;bit 0 References a code label

blam label dword
look blam ----> 42 or 101010b ;bit 0 ^^^. bit 3 Uses direct memory addressing. bit 5 ^^^

note foo and bar are STRUCTs

look bar
look bar.i ----> 42 ; same as declared label


look offset bar ----> 38 or 100110 ;bit 1 Is a memory variable or has a relocatable data label.
bit 2 immediate ????. bit 5 ^^^

look dword ptr foo ---- 42 ;same as a declared label

I was looking for a way to tell if the first paramter of a macro was a referance(38), if not, error.

Any other types I should look at?

Thanks.
Posted on 2004-06-09 12:32:29 by ThoughtCriminal