From Intel's SDM, section 2.2.1 specifies that the REX prefix is used to:
But what do the letters REX stand for in the acronym?
The Latin title rex has the meaning of "king, ruler" (monarch). It is derived from Proto-Indo-European *h₃rḗǵs. Its cognates include Sanskrit rājan, Gothic reiks, and Old Irish rí, etc. Its Greek equivalent is archon (ἄρχων), "leader, ruler, chieftain".
The REX prefix is also used for mov instructions with 64-bit immediate operands; the default operand size, even in 64-bit mode, is 32-bits. All of these have to do with extending existing instructions to support 64-bit operation.
Instruction prefixes are used to modify the following instruction. They are used to repeat string instructions, to provide section overrides, to perform bus lock operations, and to change operand and address sizes. (
rax is the 64-bit, "long" size register. It was added in 2003 during the transition to 64-bit processors. eax is the 32-bit, "int" size register. It was added in 1985 during the transition to 32-bit processors with the 80386 CPU.
This 2002 Hot Chips presentation by AMD expands the acronym on slide 10: "REX (Register Extension)".
Kevin McGrath and Dave Christie, "The AMD x86-64 Architecture: Extending the x86 to 64 bits", Hot Chips 14, August 2002.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With