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.