SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
11指令表
C
DC
Z
指令
指令格式
MOV
MOV
说明
周期
A,M
M,A
A,M
M,A
A,I
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
1
A ← M
M ← A
A ← M (bank 0)
M (bank 0) ← A
A ← I
√
-
M
O
V
B0MOV
B0MOV
MOV
1
1
√
-
E
-
-
1
1
B0MOV
XCH
M,I
M ← I,“M”只支持80H~87H 之间的寄存器 (如 PFLAG,R,Y,Z…)
A ←→M
A ←→M (bank 0)
R, A ← ROM [Y,Z]
A,M
A,M
-
-
-
1+N
1+N
2
B0XCH
MOVC
ADC
ADC
ADD
ADD
B0ADD
ADD
SBC
SBC
SUB
SUB
SUB
A,M
M,A
A,M
M,A
M,A
A,I
1
1+N
1
A ← A + M + C,如果产生进位则 C=1,否则C=0
M ← A + M + C,如果产生进位则 C=1,否则C=0
A ← A + M,如果产生进位则 C=1,否则C=0
M ← A + M,如果产生进位则 C=1,否则C=0
M (bank 0) ← M (bank 0) + A,如果产生进位则 C=1,否则C=0
A ← A + I,如果产生进位则 C=1,否则C=0
A ← A - M - /C,如果产生借位则C=0,否则C=1
M ← A - M - /C,如果产生借位则C=0,否则C=1
A ← A - M,如果产生借位则C=0,否则C=1
M ← A - M,如果产生借位则C=0,否则C=1
A ← A - I,如果产生借位则C=0,否则C=1
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
A
R
I
1+N
1+N
1
T
H
M
E
T
I
A,M
M,A
A,M
M,A
A,I
1
1+N
1
1+N
1
C
R, A ← A * M,乘积低字节存放到ACC,高字节存放在系统寄存器R 中,ZF 标志位受ACC 内
容影响
MUL
A,M
-
-
2
√
AND
AND
AND
OR
A,M
M,A
A,I
A,M
M,A
A,I
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
1+N
1
A ← A and M
M ← A and M
A ← A and I
A ← A or M
M ← A or M
A ← A or I
A ← A xor M
M ← A xor M
A ← A xor I
√
√
√
√
√
√
√
√
√
L
O
G
I
1
OR
OR
1+N
1
C
XOR
XOR
XOR
A,M
M,A
A,I
1
1+N
1
SWAP
SWAPM
RRC
RRCM
RLC
RLCM
CLR
BCLR
BSET
M
M
M
M
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
1+N
1
1+N
1
1+N
1
1+N
1+N
1+N
1+N
A (b3~b0, b7~b4) ←M(b7~b4, b3~b0)
M(b3~b0, b7~b4) ← M(b7~b4, b3~b0)
A ← RRC M
M ← RRC M
A ← RLC M
M ← RLC M
M ← 0
M.b ← 0
M.b ← 1
P
R
O
C
E
S
S
√
√
√
√
-
M
M
M
M.b
M.b
M.b
M.b
-
-
-
-
B0BCLR
B0BSET
M(bank 0).b ← 0
M(bank 0).b ← 1
CMPRS
CMPRS
INCS
A,I
A,M
M
-
-
-
-
-
-
-
-
-
-
-
-
1 + S
1 + S
1+ S
1+N+S
1+ S
1+N+S
1 + S
1 + S
1 + S
1 + S
2
ZF,C ← A - I, 如果 A = I,则跳过下一条指令
ZF,C ← A – M, 如果 A = M,则跳过下一条指令
A ← M + 1, 如果 A = 0,则跳过下一条指令
M ← M + 1, 如果 M = 0,则跳过下一条指令
A ← M - 1, 如果 A = 0,则跳过下一条指令
M ← M - 1, 如果 M = 0,则跳过下一条指令
如果 M.b = 0,则跳过下一条指令
√
√
-
√
√
-
B
R
A
N
C
H
INCMS
DECS
DECMS
BTS0
M
-
-
M
-
-
M
-
-
M.b
M.b
M.b
M.b
d
-
-
BTS1
-
-
如果 M.b = 1,则跳过下一条指令
B0BTS0
B0BTS1
JMP
-
-
如果 M(bank 0).b = 0,则跳过下一条指令
如果 M(bank 0).b = 1,则跳过下一条指令
PC15/14 ← RomPages1/0, PC13~PC0 ← d
Stack ← PC15~PC0, PC15/14 ← RomPages1/0, PC13~PC0 ← d
-
-
-
-
CALL
d
-
-
2
M
I
RET
RETI
-
-
-
-
-
-
2
2
PC ← Stack
PC ← Stack,使能全局中断控制位
进栈操作,保存ACC 和PFLAG (除 NT0, NPD 位)
出栈操作,恢复ACC 和PFLAG (除NT0, NPD 位)
空指令,无特别意义
S
C
PUSH
POP
NOP
-
-
-
1
1
1
√
-
√
-
√
-
注: 1.“M”是系统寄存器或RAM,若是系统寄存器,则N = 0,否则N = 1。
2. 若满足跳转条件,S = 1,否则S = 0。
SONiX TECHNOLOGY CO., LTD
Page 104
Version 1.1