文档介绍:第十一讲控制转移类指令
教学方法: 讲授法
教学目的:
1、了解控制转移类指令的分类
2、掌握条件转移指令的特点及应用
教学重点:
条件转移指令的特点及应用
教学难点:
条件转移指令的特点及应用
教学环节
组织教学:(2分钟)检查学生人数,强调作业要求。
复习提问:1、控制转移指令是如何分类的?
2、无条件转移指令、调用指令分是哪几个?
引入新课:
二、条件转移指令
实现按照一定条件决定转移的方向。分三类。
1、判零转移
JZ rel
JNZ rel
JZ rel ;若(A)= 0 ,则转移,否则顺序执行。
JNZ rel ; 若(A)≠ 0,则转移,否则顺序执行。
转移目的地址= (PC)+ 2 + rel
不影响任何标志位。
例1、将外RAM的一个数据块(首地址为DATA1)传送到内部数据RAM(首地址为DATA2),遇到传送的数据为零时停止传送,试编程。
解: MOV R0,#DATA2
MOV DPTR,#DATA1
LOOP1: MOVX A,***@DPTR
JZ LOOP2
MOV ***@R0,A
INC R0
INC DPTR
SJMP LOOP1
LOOP2: SJMP LOOP2
2、比较转移指令
功能:比较二个字节中的值,若不等,则转移。
CINE A,#data,rel
CJNE A,direct,rel
CJNE ***@Ri,#data,rel
CJNE Rn,#data,rel
该类指令具有比较和判断双重功能,比较的本质是做减法运算,用第一操作数内容减去第二操作数内容,但差值不回存。
转移目的地址= (PC)+ 3 + rel
若第一操作数内容小于第二操作数内容,则(C)= 1,否则(C)= 0。
该类指令可产生三分支程序:
即,相等分支;大于分支;小于分支。
例2、 ~ ,当该四位为全1时,说明各项工作已准备好,单片机可顺序执行,否则,循环等待。
解: MOV A,P1
ANL A,#0FH
CJNE A,#0FH,WAIT ; ~ ,返回WAIT
MOV A,R2
······
3、循环转移指令
DJNZ Rn,rel ;(二字节指令)