Introduction
The row is the high nibble of the opcode and the column the low nibble. In the rows 0, 1, 2, 4, 5, 8, 9, A, B, D and E the low nibble is the register N; in row 6 it is the port. A cell shows the instruction. The one reserved opcode is shaded.
The map
| x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | IDL | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN | LDN |
| 1x | INC | INC | INC | INC | INC | INC | INC | INC | INC | INC | INC | INC | INC | INC | INC | INC |
| 2x | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC |
| 3x | BR | BQ | BZ | BDF | B1 | B2 | B3 | B4 | SKP | BNQ | BNZ | BNF | BN1 | BN2 | BN3 | BN4 |
| 4x | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA | LDA |
| 5x | STR | STR | STR | STR | STR | STR | STR | STR | STR | STR | STR | STR | STR | STR | STR | STR |
| 6x | IRX | OUT | OUT | OUT | OUT | OUT | OUT | OUT | - | INP | INP | INP | INP | INP | INP | INP |
| 7x | RET | DIS | LDXA | STXD | ADC | SDB | SHRC | SMB | SAV | MARK | REQ | SEQ | ADCI | SDBI | SHLC | SMBI |
| 8x | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO | GLO |
| 9x | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI | GHI |
| Ax | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO | PLO |
| Bx | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI | PHI |
| Cx | LBR | LBQ | LBZ | LBDF | NOP | LSNQ | LSNZ | LSNF | LSKP | LBNQ | LBNZ | LBNF | LSIE | LSQ | LSZ | LSDF |
| Dx | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP | SEP |
| Ex | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX | SEX |
| Fx | LDX | OR | AND | XOR | ADD | SD | SHR | SM | LDI | ORI | ANI | XRI | ADI | SDI | SHL | SMI |
The reserved opcode
Opcode 68 is not defined by the CDP1802. The CDP1804, CDP1805 and CDP1806 use it as a prefix: 68 followed by a second opcode byte selects one of their extra instructions
(counter and timer control, subroutine call and return, a decrement-and-branch, decimal arithmetic and others), some with 16-bit operands. This decoder shows 68 as a one-byte reserved opcode (status Reserved);
a program for those chips will show wrong code after it. What a plain CDP1802 does when it executes 68 is not documented in the sources read.
Not described
Known, not yet covered
- Reference: the 68-prefixed instruction map of the CDP1804 to CDP1806.
Unknown
- Reference: the behaviour of a plain CDP1802 on opcode 68.
Links
Reference
- CPU differences – the Emma 02 page: the instructions the CDP1804, CDP1805 and CDP1806 add
- RCA 1802 – Wikipedia