Ben's instruction set:
Ben's instruction set:
0 [0000] NOP - No operation
1 [0001] LDA - Load [A] with value at specified address
2 [0010] ADD - Add value at specified address to [A]
3 [0011] SUB - Subtract value at specified address to [A]
4 [0100] STA - Store [A] to specified address
5 [0101] LDI - Load [A] with specified value
6 [0110] JMP - Jump to specified address
7 [0111] JC - Jump to specified address if Carry Flag is set
8 [1000] JZ - Jump to specified address if Zero Flag is set
14 [1110] OUT - Display contents of [A] in decimal
15 [1111] HLT - Halt program execution
Additional instructions I added:
9 [1001] OUTM - Display contents at the specified address
10 [1010] INCI - Add specified value to [A]
11 [1011] DECI - Subtract specified value from [A]
Assembler Macro/Aliases:
INC - Increment - 0xA1 / 161 [1010 0001] - Increments [A] register
DEC - Decrement - 0xB1 / 177 [1011 0001] - Decrements [A] register