Open nblog opened 4 years ago
Because with the 0x24 modifier It is equivalent to a 64-bit relative jump address which can only be an absolute address of a 32-bit address, It also proves that it cannot jump to a 64-bit relative address.
Should be "intptr_ptr_abs" does not support 64-bit addresses. I got the same error using "AsmCore->mov (AsmCore->zcx, AsmCore->intptr_ptr_abs (MAXDWORD + 1));"
Does latest version of asmjit fix this?
yes
sample:
x86 Compile: size: 6 hex code: FF 25 00 00 00 00
x64 Compile: size: 7 hex code: FF 24 25 00 00 00 00
jmp [a] ;ff 24 25 00 00 00 00 - 32-bit absolute jmp [rel a] ;ff 25 e7 ff ff ff - RIP + 32-bit displacement jmp [rdi] ;ff 27 - base pointer jmp [rdi +4rsi + a] ;ff a4 b7 00 00 00 00 - base pointer +4index + displacement