How is the sequence of bytes 0x40 0x55 interpreted by the x86-64 emulator?

I work with an emulator, and one of the binary executables that I executed has the following sequence at the beginning of the procedure

40 55

40is a REX prefix, but none of the REX bits are actually set. Section 2.2.1.7 of the Intel Software Developer Guide states that instructions that implicitly reference a stack pointer will be 64 bits wide. Since these 55are instructions push ?bp, it seems that simple 55would be enough to generate a push rbp. So why 40is there a prefix ?

+4
source share
1 answer

Jongware , 40 REX . , , , - , - , Windows x64 ABI. , hotpatching. push REX.

+5

All Articles