ModRM byte
The x86-64 byte after the opcode that says which registers, or which memory form, the instruction uses.
The ModRM byte has three fields, mod (2 bits), reg (3 bits) and r/m (3 bits): mod and r/m together choose a register or a memory addressing form (and whether a displacement or SIB byte follows), and reg names a register or extends the opcode.
Examples
In
48 01 c8, the ModRM bytec8is11 001 000: both operands are registers,rcx(001) andrax(000).
See also