Consider the following annoyingly simple instruction set for a simple machine:
____________________
| Opcode | Operand |
|________|___________|
LOAD address AC = M[address]
LOADI immediate AC = immediate
ADD address AC = AC + M[address]
ADDI immediate AC = AC + immediate
SUB address AC = AC - M[address]
SUBI immediate AC = AC - immediate
SUB address AC = AC - M[address]
STORE address M[address] = AC
JMP address PC = address
JMPN address if AC<0, PC = address
JMPP address if AC>0, PC = address
JMPZ address if AC=0, PC = address
CALL address AC = PC; PC = address
JMPX address PC = AC + address
NOP do nothing!
for (i=1; i++; i<10) x = x + i;