21单片机的指令系统--控制转移指令
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 3 3
2 2 2
CJNE @Ri, #data, rel
B6-B7 data rel
3
2
(1)无条件转移指令
无条件转移指令是指当程序执行到这条指令时,程序将
无条件地转移到指令指向的地址单元取指运行。
“AJMP “LJMP “SJMP 偏移量。 “JMP @A+DPTR”为间接相对长转移指令,它是以数据指 针DPTR的内容为基址,以累加器A的内容为相对偏移量,在 addr11”为11位地址短转移指令。 addr16”为16位地址长转移指令。 rel”为相对转移指令。rel是带符号的8位地址
判断结果,如果不为0,则转移到目标地址;为0,则顺序执 行程序。这组指令对于构成循环程序是十分有用的,可以指 定任何一个工作寄存器或者内部RAM单元作为循环计数器。 每循环一次,这种指令被执行一次,计数器就减1。预定的
循环次数不到,计数器不会为0,转移执行循环操作;到达
预定的循环次数,计数器就被减为0,顺序执行下一条指令, 也就结束了循环。
3
2
CJNE A, #data, rel 比 较 不 相 等 转 移 指 令 CJNE A, direct, rel CJNE Rn, #data, rel
A与立即数比较不相等转移 B4 data rel A与直接地址单元比较不相 B5 data rel 等转移 寄存器与立即数比较不相 等转移 间接地址单元与立即数比 较不相等 转移 B8-BF data rel
相对转移
间接转移 A=0转移
80 rel
73 60 rel
2
1 2
2
2 2
JNZ rel
A≠0转移
70 rel
2
2
减 1 不 为 0 转 移 指 令
DJNZ Rn ,rel
寄存器Rn减1不为0转移
D8-DF rel
2
2
DJNZ direct , rel
直接地址单元减1不为0转 移
D5 direct rel
64 KB范围内无条件转移。用它可实现分支转移。
(2)判零条件转移指令
JZ指令的功能是判断累加器A的值。若累加器A的值为0,
则程序转移到目标地址;否则,顺序执行程序。 JNZ指令的功能是判断累加器A的值。若累加器A的值不 为0,则程序转移到目标地址;否则,顺序执行程序。
(3)减1条件转移指令
DJNZ 这组指令的功能是先将操作数的内容减1,然后
单片机的指令系统 控制转移指令
类 别
助记符 操作数
功能简介
Baidu Nhomakorabea
机器码
指令 字节 2 3
机器 周期 2 2
无 条 件 转 移 指 令 判 A 转 移 指 令
AJMP addr11 LJMP addr16
绝对转移 长转移
&0 addr7-0 02 addr15-8 addr7-0
SJMP rel
JMP @A+DPTR JZ rel
作业