MARIE: Instructions

Here is MARIE's instruction set (each instruction has an opcode and up to $1$ operand:)

OpcodeSyntaxDescription
0001LOAD XLoads the value at address X into the AC.
0010STORE XStores the value in the AC into address X in memory.
0011ADD XAdds the value at address X to the AC.
0100SUBT XSubtracts the value at address X from the AC.
0101INPUTTakes input from the user and places it into the AC.
0110OUTPUTOutputs the value in the AC to the user.
0111HALTStops the execution of the program.
1000SKIPCONDSkips the next instruction based on a condition in the AC.
1001JUMP XSets the PC to X, causing the program to jump to the specified address.
1010JNS XJumps to the instruction at address X.
1011JUMPI XIndirectly jumps to the address stored at address X.