SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
2.1.5.5 程序计数器
程序计数器PC 是一个13 位二进制程序地址寄存器,分高5 位和低8 位。专门用来存放下一条需要执行指令的内存
地址。通常,程序计数器会随程序中指令的执行自动增加。
若程序执行CALL 和JMP 指令时,PC 指向特定的地址。
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
PC
复位后
-
-
-
-
-
-
PC12 PC11 PC10 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
0
0
0
0
0
0
0
0
0
0
0
0
0
PCH
PCL
) 单地址跳转
在SONiX 单片机里面,有9 条指令(CMPRS、INCS、INCMS、DECS、DECMS、BTS0、BTS1、B0BTS0 和B0BTS1)
可完成单地址跳转功能。如果这些指令执行结果为真,那么PC 值加2 以跳过下一条指令。
如果位测试为真,PC 加2。
B0BTS1
JMP
FC
C0STEP
; 若Carry_flag = 1 则跳过下一条指令。
; 否则执行C0STEP。
…
…
C0STEP:
NOP
B0MOV
B0BTS0
JMP
A, BUF0
FZ
C1STEP
; BUF0 送入ACC。
; Zero flag = 0 则跳过下一条指令。
; 否则执行C1STEP。
…
…
C1STEP:
NOP
如果ACC 等于指定的立即数则PC 值加2,跳过下一条指令。
CMPRS
A, #12H
; 若ACC = 12H,则跳过下一条指令。
JMP
C0STEP
; 否则跳至C0STEP。
…
…
C0STEP:
NOP
执行加1 指令后,结果为零时,PC 的值加2,跳过下一条指令。
INCS:
INCS
JMP
…
BUF0
C0STEP
C0STEP:
NOP
INCMS:
INCMS
JMP
…
BUF0
C0STEP
C0STEP:
NOP
执行减1 指令后,结果为零时,PC 的值加2,跳过下一条指令。
DECS:
DECS
JMP
…
BUF0
C0STEP
C0STEP:
NOP
DECMS:
DECMS
JMP
…
BUF0
C0STEP
C0STEP:
NOP
SONiX TECHNOLOGY CO., LTD
Page 26
Version 1.1