Your 16 commands are on the left side and your ten registers register 0-9 at the top. Click on the instructions on the left side to add them to the instruction chain and drag the registers from the top into the slots. You can click the number values to input a number please do not try to exceed a 32bit unsigned integer and use numbers only or it MAY BREAK!! Press space while hovering over a register value to delete it or hover over the other part of the instruction and press space to delete the instruction. Press "I" to toggle the logs and "Q" when you want to run the code but I haven't made the running system very robust yet so be sure to export the blocks list so you can save your code by importing it later. The rounder inputs for registers on the instructions take the value of the register you put in it and the rectangular slots use the registers value as the address (please start writing memory at 3001 as the instructions go from 1-3000) If the instructions don't make sense here's what they do: MOV - register = register LDR - register = value at address value of register LDI - register = number STR - value at address value of register = register STI - value at address value of register = number ADD - register = register + register SUB - register = register - register MUL - register = register * register DIV - register = register / register CMP - sets ZF and CF from register register JMP - Jump to instruction address from register value JIE - Jump if equals ( = from the cmp) JIA - Jump if above ( > from the cmp) JIB - Jump if below ( < from the cmp) PRN - Print register value HLT - Halt (will be refined later)