Hi, this is my macro.
%macro ExtractBits 3; %1 = Register, %2 = Starting Bit, %3 = Ending Bits
%if %2 > 0
shr %1, %2
%endif
and %1, ((1 << (%3 - %2)) - 1)
%endmacro
but the nasm compiler displays this warning:
warning: signed dword immediate exceeds bounds
Does anyone know how to fix this?
NASM Bug and rax, 0x1000000000
Re: NASM Bug and rax, 0x1000000000
I support you meant you get warning with and rax, 0x1000000000
This has nothing to do with macro, x86_64 cpu do not support imm64 for such instruction.
You may do a move to reg then and reg64,reg64 them.
Read the manual for detail.
This has nothing to do with macro, x86_64 cpu do not support imm64 for such instruction.
You may do a move to reg then and reg64,reg64 them.
Read the manual for detail.
Re: NASM Bug and rax, 0x1000000000
Cheers mate, moved to r15 and used this to do the and.
I just assumed it was 64 bit.
I just assumed it was 64 bit.