Just spent a bit of time tracking down a problem (masm bug?)
start: mov esi,rv(GetModuleHandle,0)
is assembled as mov esi.eax
missing the call to GetModuleHandle altogether.
Without the start: label it assembles correctly.
Is it a bug or am I missing something?
It's by design :P
This concerns only macros that return something, i.e. functions. The same problem occurs e.g. with
.if eax
.elseif rv(GetModuleHandle,0)!=400000h
.else
.endif
Note that UAsm behaves exactly like MASM. AsmC, in contrast, produces a different result and is thus not MASM-compatible.
Jeez, thought I would start using some macros and then this happens. Is it documented anywhere?
QuoteNote that UAsm behaves exactly like MASM. AsmC, in contrast, produces a different correct result and is thus not MASM-compatible.
Correct? It's "by design", meaning that Micros??t will not hold your hot little hand etc etc - you know the story ;)