一.控制转移类指令
1.无条件转移指令
- 绝对转移指令
AJMP addr11
- 相对转移指令
SJMP rel
HRER: SJMP HERE;动态停机
- 长转移指令
LJMP addr16
- 间接转移指令
JMP @A+DPTR
2.条件转移指令
- 进位/无进位转移指令
JC rel
JNC rel
- 累加器内容为零/非零转移指令
JZ rel
JNZ rel
- 比较不相等转移指令(产生进位标志,若(CY)=0,X>=Y;若(CY)=1,X<Y)
CJNE A,#data,rel
CJNE A,direct,rel
CJNE Rn,#data,rel
CJNE @Ri,#data,rel
- 减一不为零转移指令
DJNZ Rn,rel
DJNZ direct,rel
- 位测试指令
JB bit,rel
JNB bit,rel
JBC bit,rel;(执行后将bit清零)
二.调用与返回指令
1.调用指令
- 绝对调用指令
ACALL addr11
- 长调用指令
LCALL addr16
2.返回指令
- 子程序返回
RET
- 中断返回
RETI
3.空操作指令
NOP
三.常用伪指令
- 汇编起始地址
ORG 16位绝对地址表达式
- 汇编结束指令(只能有一个)
END
- 定义字节数据
[标号:] DB 字数据表
例:TAB: DB 23H,11,‘6’,‘B’
- 定义字数据
[标号:] DW 字数据表
例:TAB: DW 1223H,011H,13
- 赋值
字符名称 EQU 赋值项
例如:
TEST EQU 88H
MOV A,TEST
- 数据地址赋值
字符名称 DATA 表达式
- 位地址符号定义
字符名称 BIT 位地址
例如:KEY0 BIT P3.0