Very strange,
Masm compiler generate an error while compiling the following instruction:
push BFFA1D04h
Could someone give me an explanation because this instruction doesn't generate any error with the NASM compiler.
Thanks
I believe MASM requires hex constants to begin with a numeric character. Try 0BFFA1D04h
:)
Thank you very much for your answer.
Isn't there any workaround for that problem?
I experienced that problem once when I wrote
an update patcher for one of my programs.
MASM refused to compile the proggie when one
of the patch values started with a "C" but if
I stuck a "0" before the "C" the patching went
bonkers and currupted the patched exe totally
since the "0" was put into the exe too =(
//Phrekie
Phreakie, it is assumed that unspecified bits are zero for integers. Therefor,
0ABCDEh
would assemble the to same as 1ABCDEh - 100000h
, or if MASM allowed hex values starting with a letter without a preceeding zero (ie ABCDEh
). It doesn't effect the code generated - it's just to let MASM know it's not a label! The C language uses 0x
to mean a hex number. Maybe I miss understand you - your problem seems unrelated to the question above? :)
This message was edited by bitRAKE, on 4/30/2001 9:16:50 PM