opcode | mnem. | SP | RP | T | N | R | PC |cycles ---------|-----------|------|--------|-------|--------|--------|--------|------ 0000000X | NOP | SP | RETURN | T | N | RETURN | RETURN | 1 0000001X | RSHIFT | SP-1 | RETURN | expr. | [SP-1] | RETURN | RETURN | 1 0000010X | ADD | SP-1 | RETURN | expr. | [SP-1] | RETURN | RETURN | 1 0000011X | SUB | SP-1 | RETURN | expr. | [SP-1] | RETURN | RETURN | 1 00001XXX | LOGIC | SP-1 | RETURN | expr. | [SP-1] | RETURN | RETURN | 1 0001000X | SWAP | SP | RETURN | N | T | RETURN | RETURN | 1 0001001X | DUP | SP+1 | RETURN | T | T | RETURN | RETURN | 1 00010100 | OVER | SP+1 | RP | N | T | R | PC+1 | 1 00010101 | RDUP | SP | RP+1 | T | N | R | PC+1 | 1 00010110 | NLZ | SP | RP | expr. | N | R | PC+1 | 1 00010111 | MULT | SP | RP | expr. | expr. | R | PC+1 | 2 0001100X | LOAD | SP | RP | expr. | N | R | PC+1 | 1* 0001101X | STORE | SP-2 | RP | expr. | [SP-2] | R | PC+1 | 1* 00011100 | RDROP | SP | RP-1 | T | N | [RP-1] | PC+1 | 1 00011101 | POP | SP+1 | RP-1 | R | T | [RP-1] | PC+1 | 1 00011110 | PUSHPC | SP | RP+1 | T | N | PC+1 | PC+1 | 1 00011111 | PUSH | SP-1 | RP+1 | N | [SP-1] | T | PC+1 | 1 001XXXXX | IMMED | SP+1 | RP | expr. | T | R | PC+1 | 1 010XXXX0 | JUMP | SP-1 | RP | N | [SP-1] | R | TARGET | 1* 010XXXX1 | JUMP DROP | SP-2 | RP | expr. | [SP-2] | R | TARGET | 1* 011XXXX0 | CALL | SP-1 | CALL | N | [SP-1] | CALL | TARGET | 1* 011XXXX1 | CALL DROP | SP-2 | CALL | expr. | [SP-2] | CALL | TARGET | 1* 1XXXXXXX | MERGE | SP | RP | expr. | N | R | PC+1 | 1 RP:RETURN = opcode[0] ? (RP-1) : RP R:RETURN = opcode[0] ? [RP-1] : R PC:RETURN = opcode[0] ? R : (PC+1) RP:CALL = cond(N) ? (RP+1) : RP R:CALL = cond(N) ? (PC+1) : R PC:TARGET = cond(N) ? (rel ? (PC+1+T) : T) : (PC+1) (*) External device can insert additional wait states. opcode | T:expr. | N:expr. | -------|---------|----------| RSHIFT | N >> T | --- | ADD | N + T | --- | SUB | N - T | --- | NIP | T | --- | AND | N & T | --- | OR | N | T | --- | XOR | N ^ T | --- | NLZ | nlz(T) | --- | MULT | msw <- N*T -> lsw | LOAD | data in | --- | STORE | [SP-1] | --- | IMMED | immed | --- | J DROP | [SP-1] | --- | C DROP | [SP-1] | --- | MERGE | T:merge | --- |