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.
