| Instruction |
Mnemonic |
Binary Code |
Effect |
| Load |
LOD #xxx |
00010100 xxxxxxxx |
Load number xxx into accumulator |
LOD xxx |
00000100 xxxxxxxx |
Load contents of memory address xxx into accumulator |
| Store |
STO xxx |
00000101 xxxxxxxx |
Store contents of accumulator in memory at address xxx |
| Halt |
HLT |
00001111 00000000 |
Halt execution |
| "No Op" |
NOP |
00001110 00000000 |
Perform no operation, but continue execution |
| Add |
ADD #xxx |
00010000 xxxxxxxx |
Add number xxx to accumulator |
ADD xxx |
00000000 xxxxxxxx |
Add contents of memory address xxx to accumulator |
| Subtract |
SUB #xxx |
00010001 xxxxxxxx |
Subtract number xxx from accumulator |
SUB xxx |
00000001 xxxxxxxx |
Subtract contents of memory address xxx from accumulator |
| Multiply |
MUL #xxx |
00010010 xxxxxxxx |
Multiply accumulator by number xxx |
MUL xxx |
00000010 xxxxxxxx |
Multiply accumulator by contents of memory address xxx |
| Divide |
DIV #xxx |
00010011 xxxxxxxx |
Divide accumulator by number xxx |
DIV xxx |
00000011 xxxxxxxx |
Divide accumulator by contents of memory address xxx |
| And |
AND #xxx |
00011000 xxxxxxxx |
If number xxx and accumulator contents are both ≠ 0, store 1 in accumulator |
AND xxx |
00001000 xxxxxxxx |
If contents of address xxx and accumulator are both ≠ 0, store 1 in accumulator |
| Not |
NOT |
00001001 00000000 |
If accumulator contains 0, set it to 1; otherwise set it to 0 |
| Compare Zero |
CPZ xxx |
00001010 xxxxxxxx |
If contents of address xxx = 0, set accumulator to 1; otherwise set it to 0 |
| Compare Less |
CPL xxx |
00001011 xxxxxxxx |
If contents of address xxx < 0, set accumulator to 1; otherwise set it to 0 |
| Jump |
JMP xxx |
00001100 xxxxxxxx |
Jump to address xxx |
| Jump on Zero |
JMZ xxx |
00001101 xxxxxxxx |
If accumulator = 0, jump to address xxx; otherwise continue with next instruction |