助记符 指令说明 字节数 周期数
(控制转移类指令)
JMP @A+DPTR 相对DPTR 的无条件间接转移 1 2
JZ rel 累加器为0 则转移 2 2
JNZ rel 累加器为1 则转移 2 2
CJNE A,direct,rel 比较直接地址和累加器,不相等转移 3 2
CJNE A,#data,rel 比较立即数和累加器,不相等转移 3 2
CJNE Rn,#data,rel 比较寄存器和立即数,不相等转移 2 2
CJNE @Ri,#data,rel 比较立即数和间接RAM,不相等转移 3 2
DJNZ Rn,rel 寄存器减1,不为0 则转移 3 2
DJNZ direct,rel 直接地址减1,不为0 则转移 3 2
NOP 空操作,用于短暂延时 1 1
ACALL add11 绝对调用子程序 2 2
LCALL add16 长调用子程序 3 2
RET 从子程序返回 1 2
RETI 从中断服务子程序返回 1 2
AJMP add11 无条件绝对转移 2 2
LJMP add16 无条件长转移 3 2
SJMP rel 无条件相对转移 2 2
(布尔指令)
CLR C 清进位位 1 1
CLR bit 清直接寻址位 2 1
SETB C 置位进位位 1 1
SETB bit 置位直接寻址位 2 1
CPL C 取反进位位 1 1
CPL bit 取反直接寻址位 2 1
ANL C,bit 直接寻址位“与”到进位位 2 2
ANL C,/bit 直接寻址位的反码“与”到进位位 2 2
ORL C,bit 直接寻址位“或”到进位位 2 2
ORL C,/bit 直接寻址位的反码“或”到进位位 2 2
MOV C,bit 直接寻址位传送到进位位 2 1
MOV bit, C 进位位位传送到直接寻址 2 2
JC rel 如果进位位为1 则转移 2 2
JNC rel 如果进位位为0 则转移 2 2
JB bit,rel 如果直接寻址位为1 则转移 3 2
JNB bit,rel 如果直接寻址位为0 则转移 3 2
JBC bit,rel 直接寻址位为1 则转移并清除该位 2 2
(伪指令)
ORG 指明程序的开始位置
DB 定义数据表
DW 定义16 位的地址表
EQU 给一个表达式或一个字符串起名
DATA 给一个8 位的内部RAM 起名
XDATA 给一个8 位的外部RAM 起名
BIT 给一个可位寻址的位单元起名
END 指出源程序到此为止
(指令中的符号标识)
Rn 工作寄存器R0-R7
Ri 工作寄存器R0 和R1
@Ri 间接寻址的8 位RAM 单元地址(00H-FFH)
。#data8 8 位常数
,#data16 16 位常数
addr16 16 位目标地址,能转移或调用到64KROM 的任何地方
addr11 11 位目标地址,在下条指令的2K 范围内转移或调用
Rel 8 位偏移量,用于SJMP 和所有条件转移指令,范围-128~+127
Bit 片内RAM 中的可寻址位和SFR 的可寻址位
Direct 直接地址,范围片内RAM 单元(00H-7FH)和80H-FFH
$ 指本条指令的起始位置