I entered the following code in nasm version 0.98.39:
BITS 32
jz h
add eax,byte +0x4
h add eax,byte +0x4
Running through 'ndisasm -u' produced this:
00000000 7403 jz 0x5
00000002 83C004 add eax,byte +0x4
00000005 83C004 add eax,byte +0x4
Is that right that a jump three bytes forward should be 'jz 0x5'?
I then ran that output through nasm and disassembled the output:
00000000 0F84FFFFFFFF jz dword 0xffffffff
00000006 83C004 add eax,byte +0x4
00000009 83C004 add eax,byte +0x4
It doesn't seem to be correct.
My question is, how do I write a 'jz' instruction that jumps three bytes forward using a one byte immediate.
Thanks,
Edwin