控制转移指令
控制转移类指令 控制转移类指令 程序的顺序执行是由PC自动加1来实现的。第二部分 8086/8088指令系统 四. 程序控制转移指令 程序控制转移类指令用来控制程序的执行顺序。控制转移指令—PC寄存器。转移指令修改(IP)。转移指令修改(CS)和(IP)。3.3.5控制转移指令。
控制转移指令Tag内容描述:<p>1、第三章 80C51单片机指令系统 本讲教学内容: 控制转移类指令 控制转移类指令 程序的顺序执行是由PC自动加1来实现的,但在 应用系统中,往往会遇到一些情况,需要强迫改变程 序执行顺序,比如调用子程序,比如根据检测值与设 定值的比较结果要求程序转移到不同的分支入口等。 要改变程序的执行顺序进行分支转向,应通过强迫修 正PC值得方法来实现,这就是控制转移类指令的基本 功能。 80C5设有丰富的控制转移指令,可分为无条件转 移指令、条件转移指令、循环转移指令、子程序调用 和返回指令及空操作指令等。 采用助记符有:AJMP、LJMP、S。</p><p>2、控制转移指令PC寄存器,PC程序计数器(ProgramCounter)存放下一条将要执行的指令的地址十六位的寄存器用户不能直接访问,执行某条指令的步骤:取指令PC指向下一条指令执行指令,控制转移指令PC寄存器,执行如下指令ORG100HMOVA,#2MOVCA,A+PCDB01,02,03,04,步骤:1.取指令MOVA,#22.PC=100H+2=102H3.执行MOVA,#2A=24.取。</p><p>3、复习,1、逻辑运算指令:ANDORXORNOTTEST,2、移位指令:,2,移位指令小结,保存其它指令移入CF的值,带进位位循环左移指令RCL带进位位循环右移指令RCR,将操作数的高低4位或8位(字节)数据相交换。,循环左移指令ROL循环右移指令ROR,将操作数乘以2的CL次。将补码数除以2的CL次。,算术左移指令SAL算术右移指令SAR,将操作数乘以2的CL次。将操作数除以2的CL次。,逻辑左移。</p><p>4、第二部分 8086/8088指令系统 四 程序控制转移指令 程序控制转移类指令用来控制程序的执行顺序。程序的执行顺序是由CS和IP确定的 (一)无条件转移指令 JMP (二)条件转移指令 (三)循环控制指令 (四)子程序调用与返回指令 (五)中断指令,(一) 无条件转移指令JMP 格式: JMP OPRD 功能: 若OPRD为16位数,则IPOPRD,实现段内转移; 若OPRD为32位数,则IPOPRD低16, CSOPRD高16,段间转移。 注解: (1)OPRD常是标号Lable,即某条指令的符号地址。 先定义标号,后引用,为“向后引用”; 先引用标号,后定义,为“向前引用”。,(2。</p><p>5、1 3 2 5控制转移指令 P130 专用于控制程序执行流程 通过对 CS 和 IP 的修改来改变程序执行的流程 包括四种 转移指令 过程调用指令 循环控制指令 中断指令 2 注意 段内转移和段间转移 段内转移 目标地址在当前段内属。</p><p>6、无条件转移指令JMP 条件转移指令JZ JNZ JE JNE JS JNS JO JNO JP JNP JB JNB JL JNL JBE JNBE JLE JNLE JCXZ 循环指令LOOP LOOPZ LOOPE LOOPNZ LOOPNE 子程序调用和返回指令CALL RET 中断与中断返回指令INT INTO IRET 3 2 5控制转移指令 JMP jmp 跳转指令无条件地转移到指令。</p><p>7、1,3.2.5控制转移指令(P130),专用于控制程序执行流程。通过对(CS)和(IP)的修改来改变程序执行的流程。,包括四种:,转移指令,过程调用指令,循环控制指令,中断指令,2,注意:,段内转移和段间转移,段内转移:目标地址在当前段内属性为NEAR,段间转移:目标地址不在当前段内属性为FAR,段间转移,转移指令修改(IP),转移指令修改(CS)和(IP),3,除中断指令,其它指令均不影响标志位。</p><p>8、无条件转移指令JMP条件转移指令JZ/JNZ、JE/JNE、JS/JNS、JO/JNO、JP/JNP、JB/JNB、JL/JNL、JBE/JNBE、JLE/JNLE、JCXZ循环指令LOOP、LOOPZ/LOOPE、LOOPNZ/LOOPNE子程序调用和返回指令CALL、RET中断与中断返回指令INT、INTO、IRET,3.3.5控制转移指令:,JMP(jmp)跳转指令无条件地转移到指令指定的地。</p>