00000 |
NOP |
No operation (do nothing) |
|
|
|
|
00001 |
HALT |
Stop definitely the CPU |
|
|
|
|
00010 |
MOV Dest, Src |
Dest := Src (attribution) |
|
|
|
|
00011 |
JZ Addr |
PC:=Addr, if Z=1 (jump if operation resulted in zero) |
|
|
|
|
JE Addr |
PC:=Addr, if Z=1 (jump if Op1 == Op2 after CMP) |
|
|
|
|
00100 |
JNZ Addr |
PC:=Addr, if Z=0 (jump if operation resulted in non zero) |
|
|
|
|
JNE Addr |
PC:=Addr, if Z=0 (jump if Op1 != Op2 after CMP) |
|
|
|
|
00101 |
JN Addr |
PC:=Addr, if N=1 (jump if operation resulted in negative) |
|
|
|
|
JLT Addr |
PC:=Addr, if N=1 (jump if Op1 < Op2 after CMP) |
|
|
|
|
00110 |
JP Addr |
PC:=Addr, if Z=0 e N=0 (jump if operation resulted in positive) |
|
|
|
|
JGT Addr |
PC:=Addr, if Z=0 e N=0 (jump if Op1 > Op2 após CMP) |
|
|
|
|
00111 |
JGE Addr |
PC:=Addr, if N=0 (jump if Op1 >= Op2 em CMP) |
|
|
|
|
01000 |
JLE Addr |
PC:=Addr, if Z=1 ou N=1 (jump if Op1 <= Op2 em CMP) |
|
|
|
|
01001 |
JV Addr |
PC:=Addr, if V=1 (jump if detected overflow) |
|
|
|
|
01010 |
JT Addr |
PC:=Addr, if T=1 (jump if detected transport) |
|
|
|
|
01011 |
JMP Addr |
PC:=Addr (unconditional jump) |
|
|
|
|
01100 |
SHR Op, Quant |
Op := Op >> Quant (bitwise right shift) |
|
✓ |
|
|
01101 |
SHL Op, Quant |
Op := Op << Quant (bitwise left shift) |
|
✓ |
|
|
10000 |
ADD Dest, Src |
Dest := Dest + Src (sum) |
|
✓ |
✓ |
|
10001 |
INC Op |
Op := Op + 1 (increment) |
|
✓ |
✓ |
|
10010 |
DEC Op |
Op := Op – 1 (decrement) |
|
✓ |
✓ |
|
10011 |
SUB Dest, Src |
Dest := Dest – Src (subtraction) |
|
✓ |
✓ |
|
10100 |
MUL Dest, Src |
Dest := Dest * Src (multiplication) |
|
✓ |
|
✓ |
IMUL Dest, Src |
Dest := Dest * Src (signed multiplication) |
✓ |
✓ |
✓ |
|
10101 |
OR Dest, Src |
Dest := Dest | Src (bitwise OR) |
|
✓ |
|
|
10110 |
AND Dest, Src |
Dest := Dest & Src (bitwise AND) |
|
✓ |
|
|
10111 |
NOT Op |
Op := ~Op (one's complement – invert each bit) |
|
✓ |
|
|
11000 |
XOR Dest, Src |
Dest := Dest ^ Src (bitwise exclusive OR) |
|
✓ |
|
|
11001 |
DIV Dest, Src |
Dest := Dest DIV Src (quotient) |
|
✓ |
|
|
IDIV Dest, Src |
Dest := Dest DIV Src (signed quotient) |
✓ |
✓ |
|
|
11010 |
MOD Dest, Src |
Dest := Dest MOD Src (division remainder) |
|
✓ |
|
|
IMOD Dest, Src |
Dest := Dest MOD Src (signed division remainder) |
✓ |
✓ |
|
|
11011 |
CMP Op1, Op2 |
Comparison |
✓ |
✓ |
|
|
ICMP Op1, Op2 |
Signed comparison |
✓ |
✓ |
|
|