Is call [edi 0x21]
valid under x86-64 instruction set? According to the Intel manual, FF /2 is only valid for r/m64, but an online encoder/decoder that I am testing with outputs 67 ff 57 21
. Is the tool I am using wrong, or is my understanding wrong?
CodePudding user response:
Address size and operand size are independent. Even if you use a 32 bit address, the memory operand can still have 64 bit size. So yes, call [edi 0x21]
is a valid 64 bit mode instruction and the encoding 67 ff 57 21
is correct, too.