Assembly Code Emulator add to the instruction set to write code BUTTONS FUNCTIONALITY: RUN = run the program in the instruction set SAVE = save the current instruction set LOAD = load an instruction set RUN 1 = while pausing, run 1 line of code at a time VARIABLES: address = current line PC is reading from pause/play 0/1 = pause/play the script while running. 0 = pause, play = 1 op/s = operations per second ms/line = how long it took to complete the instruction instruction op1/2/3 = the set instruction operators instruction = the set instruction read letter = decode letter PC is on ADVANCED MEMORY PREVIEW: turn variable adv mem preview to 1 to use an advanced memory preview during editing state. will run basic add/sub/ldi commands to preview what your program will look like. OTHER FEATURES: -when adv mem preview = 0, memory list will display the memory amount as "PRVW 0" -save documentation is in the save display INSTRUCTION SETS: --- add op1 op2 op3 Adds numbers op1: where sum will go op2: what memory address is being added op3: what memory address is being added to op2 --- sub op1 op2 op3 Subtracts numbers op1: where difference will go op2: what memory address is being subtracted op3: what memory address is being subtracted to op2 --- inc op1 op2 op3 Increases number by referenced mem address op1: which mem address to increase op2: what it should be increased by (grab from memory address) op3: set 0, not needed --- dec op1 op2 op3 Decreases number by referenced mem address op1: which mem address to decrease op2: what it should be decreased by (grab from memory address) op3: set 0, not needed --- ldi op1 op2 op3 Set referenced memory address as a number op1: where number should be loaded (mem address) op2: what number op3: set 0, not needed --- jmp op1 op2 op3 Jump to the referenced instruction address op1: jump to specific instruction address op2: set 0, not needed op3: set 0, not needed --- jiz op1 op2 op3 Jump if not zero, jump to an instruction address if desired memory address referenced is not equal to 0 op1: which mem address to check if not = 0 op2: if true, jump to this instruction address op3: set 0, not needed --- hld op1 op2 op3 Hold for referenced milliseconds op1: how long to hold (milliseconds) op2: set 0, not needed op3: set 0, not needed --- halt Completely stops the instruction set. Doesn't use any operators --- Version 1.0 Not accurate to actual assembly code, but close enough sorry if it's confusing, i still need to work on documentation examples (use load function): --- ADD 2 + 2: "ldi 2 2 0:ldi 3 2 0:add 1 2 3:;3;" Adds 2 + 2, got these numbers from memory addresses 2 and 3. the 3rd instruction set, "add 1 2 3" puts the sum of memory address 2 and 3, at memory address 1. --- INCREASE INFINITELY: "ldi 2 1 0:inc 1 2 0:jmp 2 0 0:;2;" Sets the increase amount, referenced in mem address 2, to 1. then increases mem address 1 by the number found in mem address 2, then jumps back to instruction set to repeat it infinitely.