Skip to content

Introduction#

The x86-64 assembly paradigm has quite a lot of different instructions available at its disposal. An instructions consists of an operation and a set of operands where the latter specify the data and the former specifies what is to be done to that data.

Operand Notation#

Typically, instruction signatures are represented using the following operand notation.

Operand Notation Description
<reg> Register operand.
<reg8>, <reg16>, <reg32>, <reg64> Register operand with a specific size requirement.
<src> Source operand.
<dest> Destination operand - this may be a register or memory location.
<RXdest> Floating-point destination register operand.
<imm> Immediate value (a literal). Base-10 by default, but can be preceded with 0x to make it hexadecimal.
<mem> Memory location - a variable name or an address.
<op> Arbitrary operand - immediate value, register or memory location.
<label> Programme label.