LEAQ
| Instruction | Operands | Effect | Description |
leaq | S, D | D <- &S | Load effective address |
leaq is a variant of MOV. The first operand appears to be a memory address, but instead of reading from the designated location, the instruction copies the effective address to the designated location (a register).
Unary Operations
| Instruction | Operands | Effect | Description |
inc[bwlq] | D | D <- D + 1 | Increment |
dec[bwlq] | D | D <- D - 1 | Decrement |
Binary Operations
| Instruction | Operands | Effect | Description |
add[bwlq] | S, D | D <- D + S | Addition |
sub[bwlq] | S, D | D <- D - S | Subtraction |
imul[bwlq] | S, D | D <- D * S | Multiplication |
Shift Operations
| Instruction | Operands | Effect | Description |
sal[bwlq] | k, D | D <- D << k | Left shift |
shl[bwlq] | k, D | D <- D << k | Left shift |
sar[bwlq] | k, D | D <- D >> k | Arithmetic right shift |
shr[bwlq] | k, D | D <- D >>> k | Logical right shift |