UM-TM57PA20&40_S
8 Bit Microcontroller
Advance Information
COMF
句法
Complement f
COMF f [,d]
操作数
运行
f : 00h ~ 7Fh, d : 0, 1
_
(destination) ← (f)
影响的状态位
OP-Code
描述
Z
00 1001 dfff ffff
寄存器 f 的值做补码运算后,运算结果放在目标寄存器中。
周期
1
COMF REG1,0
B : REG1 = 0x13
A : REG1 = 0x13, W = 0xEC
举例
DECF
句法
Decrement f
DECF f [,d]
操作数
运行
f : 00h ~ 7Fh, d : 0, 1
(destination) ← (f) - 1
Z
00 0011 dfff ffff
寄存器 f 的值递减 1。运算结果放在目标寄存器中。
影响的状态位
OP-Code
描述
周期
举例
1
DECF CNT, 1
B : CNT = 0x01, Z = 0
A : CNT = 0x00, Z = 1
DECFSZ
句法
Decrement f, Skip if 0
DECFSZ f [,d]
操作数
运行
f : 00h ~ 7Fh, d : 0, 1
(destination) ← (f) - 1, skip next instruction if result is 0
影响的状态位
OP-Code
描述
-
00 1011 dfff ffff
寄存器 f 的值递减 1。操作结果放在目标寄存器中;若操作结果不是 0,下一条指令就
会继续执行。若操作结果是 0,下一条指令被忽略,一个 NOP 指令被取代执行,此
时会需要两个指令周期的时间。
周期
举例
1 or 2
LABEL1 DECFSZ CNT, 1
GOTO LOOP
B : PC = LABEL1
A : CNT = CNT – 1
CONTINUE
if CNT=0, PC = CONTINUE
if CNT≠0, PC = LABEL1+1
GOTO
Unconditional Branch
句法
GOTO k
操作数
运行
k : 00h ~ 7FFh
PC.10~0 ← k
-
影响的状态位
OP-Code
描述
11 0kkk kkkk kkkk
GOTO 是无条件转移指令。11 个位的 k 值会立即被放在 Pc<11:0>的位置中。
PC<12:11>的值则从 PCLATH<4:3>加载。
2
周期
举例
LABEL1 GOTO SUB1
B : PC = LABEL1
A : PC = SUB1
32
tenx technology, inc.
Preliminary
Rev 1.1, 2009/10/19