To perform operations, we’ll use “opcodes” over “operands”. If the opcode is the operation that we’ll execute, then the operands are just the subject of the operations.
For instance, this line “moves” the value 8 into the register “eax”.
mov is the opcode, whilst eax and 8 are the operands.
mov eax, 8
Here’s a list of important opcodes that I’ve noted down :
| Opcode | Description | Condition |
|---|---|---|
| mov | Puts a value into a register | Requires 2 operands. First one must be a register or a variable. Second can be anything as long as it fits in the register/variable |
| lea | Loads an effective adress | Requires 2 operands. Both must be a register or a variable. Second one must have an address in it. |