Dr. T's Toy Assembler

Registers

Register Value
r1 0
r2 0
r3 0
r4 0

Memory

Address Value

Output


    

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