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
Posted on 2001-04-22 19:33:00 by Farinas
I believe MASM requires hex constants to begin with a numeric character. Try 0BFFA1D04h :)
Posted on 2001-04-22 19:50:00 by S/390
Thank you very much for your answer.
Posted on 2001-04-23 14:27:00 by Farinas
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
Posted on 2001-04-30 19:04:00 by 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
Posted on 2001-04-30 21:13:00 by bitRAKE