CDP1805AC, CDP1806AC
TABLE 1. INSTRUCTION SUMMARY (SEE NOTES) (Continued)
INSTRUCTION
NO. OF
MACHINE
CYCLES
MNEMONIC
OP CODE
OPERATION
SET Q
2
SEQ
7B
1→Q
RESET Q
2
REQ
7A
0→Q
PUSH X, P TO STACK
2
MARK
79
(X, P) → T; (X, P) → M(R(2)),
THEN P → X; R(2) → 1→ R(2)
TIMER/COUNTER INSTRUCTIONS
LOAD COUNTER
3
LDC
6806 CNTR STOPPED: D → CH, CNTR;
(Note 15) 0 → CI. CNTR RUNNING; D → CH
GET COUNTER
3
GEC
6808 CNTR → D
STOP COUNTER
3
STPC
6800 STOP CNTR CLOCK;
0 → ÷ 32 PRESCALER
DECREMENT TIMER/COUNTER
3
DTC
6801 CNTR - 1 → CNTR
SET TIMER MODE AND START
3
STM
6807 TPA ÷ 32 → CNTR
SET COUNTER MODE 1 AND
START
3
SCM1
6805 EF1 → CNTR CLOCK
SET COUNTER MODE 2 AND
START
3
SCM2
6803 EF2 → CNTR CLOCK
SET PULSE WIDTH MODE 1 AND
3
START
SPM1
6804
TPA.EF1 → CNTR CLOCK;
EF1 STOPS COUNT
SET PULSE WIDTH MODE 2 AND
3
START
SPM2
6802
TPA.EF2 → CNTR CLOCK;
EF2
STOPS COUNT
ENABLE TOGGLE Q
3
ETQ
6809 IF CNTR = 01 • NEXT CNTR CLOCK
;Q→Q
(Note 15)
INTERRUPT CONTROL
EXTERNAL INTERRUPT ENABLE
3
XIE
680A 1 → XIE
EXTERNAL INTERRUPT DISABLE
3
XID
680B 0 → XIE
COUNTER INTERRUPT ENABLE
3
CIE
680C l → CIE
COUNTER INTERRUPT DISABLE
3
CID
680D 0 → CIE
RETURN
2
RET
70
M(R(X)) → X, P; R(X) + 1 → R(X); 1 → MIE
DISABLE
2
DIS
71
M(R(X) → X, P; R(X) + 1 → R(X); 0 → MIE
SAVE
2
SAV
78
T → M(R(X))
SAVE T, D, DF
6
DSAV
6876 R(X) - 1 → R(X), T → M(R(X)),
(Note 10) R(X) - 1 → R(X), D → M (R(X)),
R(X) - 1 → R(X), SHIFT D
RIGHT WITH CARRY, D → M(R(X))
INPUT-OUTPUT BYTE TRANSFER
OUTPUT 1
2
OUT 1
61
M(R(X)) → BUS; R(X) + 1 → R(X)
N LINES = 1
OUTPUT 2
2
OUT 2
62
M(R(X)) → BUS; R(X) + 1 → R(X)
N LINES = 2
OUTPUT 3
2
OUT 3
63
M(R(X)) → BUS; R(X) + 1 → R(X)
N LINES = 3
OUTPUT 4
2
OUT 4
64
M(R(X)) → BUS; R(X) + 1 → R(X)
N LINES = 4
OUTPUT 5
2
OUT 5
65
M(R(X)) → BUS; R(X) + 1 → R(X)
N LINES = 5
21