Here is MARIE's instruction set (each instruction has an opcode and up to $1$ operand:)
Opcode | Syntax | Description |
---|---|---|
0001 | LOAD X | Loads the value at address X into the AC. |
0010 | STORE X | Stores the value in the AC into address X in memory. |
0011 | ADD X | Adds the value at address X to the AC. |
0100 | SUBT X | Subtracts the value at address X from the AC. |
0101 | INPUT | Takes input from the user and places it into the AC. |
0110 | OUTPUT | Outputs the value in the AC to the user. |
0111 | HALT | Stops the execution of the program. |
1000 | SKIPCOND | Skips the next instruction based on a condition in the AC. |
1001 | JUMP X | Sets the PC to X, causing the program to jump to the specified address. |
1010 | JNS X | Jumps to the instruction at address X. |
1011 | JUMPI X | Indirectly jumps to the address stored at address X. |