Instruction Set
MOV r1, r2 ; Copy the value of r2 into r1
LOAD r1, #5 ; Load the immediate value 5 into r1
STORE r1, 0 ; Store the value of r1 into memory address 0
ADD r1, r2 ; Add the value of r2 to r1
SUB r1, r2 ; Subtract the value of r2 from r1
INC r1 ; Increment the value of r1 by 1
DEC r1 ; Decrement the value of r1 by 1
JMP address ; Jump to the specified address
JZ address ; Jump to the specified address if zero flag is set
JNZ address ; Jump to the specified address if zero flag is not set
IN r1 ; Input a value into r1
OUT r1 ; Output the value of r1
LOADM r1, 0 ; Load the value from memory address 0 into r1
MUL r1, r2, r3 ; Multiply r2 by r3 and store the result in r1
DIV r1, r2, r3 ; Divide r2 by r3 and store the result to r1