35 控制转移指令-精品文档资料系列.ppt
《35 控制转移指令-精品文档资料系列.ppt》由会员分享,可在线阅读,更多相关《35 控制转移指令-精品文档资料系列.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、复习复习1、逻辑运算指令:AND OR XOR NOT TEST2、移位指令:2移位指令小结保存其它指令移入保存其它指令移入CF的值的值带进位位循环左移指令带进位位循环左移指令RCL带进位位循环右移指令带进位位循环右移指令RCR将操作数的高低将操作数的高低4位或位或8位位(字节)数据相交换。(字节)数据相交换。循环左移指令循环左移指令ROL循环右移指令循环右移指令ROR将操作数乘以将操作数乘以2的的CL次。次。将补码数除以将补码数除以2的的CL次。次。算术左移指令算术左移指令SAL算术右移指令算术右移指令SAR将操作数乘以将操作数乘以2的的CL次。次。将操作数除以将操作数除以2的的CL次。次。
2、逻辑左移指令逻辑左移指令SHL逻辑右移指令逻辑右移指令SHR主要作用主要作用指指 令令3例题1、以下指令序列,请问实现了什么功能?、以下指令序列,请问实现了什么功能? MOV AL,08H SAL AL,1 MOV BL,AL MOV CL,2 SAL AL,CL ADD AL,BL ;08H AL ;AL算术左移一位,算术左移一位,AL=10H, ;相当于;相当于AL2;AL BL;2 CL;AL算术再左移两位,算术再左移两位,AL=40H,;相当于;相当于AL4 ;AL + BLAL整个过程相当于整个过程相当于AL10,AL = 50H试分析下面的程序段完成什么功能?试分析下面的程序段完成
3、什么功能?MOV CL,04HSHL DX,CL MOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL;04H CL;DX逻辑左移逻辑左移4位,相当于位,相当于DX;低;低4位清零,位清零,DX = 0H;AHBL;AX逻辑左移逻辑左移4位,相当于位,相当于AX低低4位位;清零,;清零,AX = 0H;BL逻辑右移逻辑右移4位,相当于位,相当于AH=0H;现;现DL的高的高4位是原来位是原来DL的低的低4位,位,;现;现DL的低的低4位是原位是原AH的高的高4位位所以,完成将所以,完成将DX,AX组成的双字逻辑左移组成的双字逻辑左移4位。位。53.6 3.6 控制转移类指令控
4、制转移类指令1、无条件转移指令、无条件转移指令2、条件转移指令、条件转移指令3、循环控制指令、循环控制指令4、调用和返回指令、调用和返回指令6 控制转移类指令通过控制转移类指令通过改变改变IP(和(和CS)值,实现程序执行顺序的改变值,实现程序执行顺序的改变l用于实现分支转移、循环控制、过程调用等用于实现分支转移、循环控制、过程调用等l常用指令常用指令重点掌握:JMP/Jcc/LOOP CALL/RET一般了解: INT n/IRET INTOLOOPZ / LOOPNZ71 无条件转移指令无条件转移指令l指令格式:指令格式:JMP labelJMP label;程序无条件转向;程序无条件转向
5、labellabel标号指定的地址标号指定的地址l指令功能:使程序转到指定的目标地址处,并从该指令功能:使程序转到指定的目标地址处,并从该处开始继续执行,操作数处开始继续执行,操作数label是要转移到的是要转移到的目标地目标地址(目的地址、转移地址)址(目的地址、转移地址)执行执行JMP 段内转移、直接寻址;段内转移、直接寻址; 段内转移、间接寻址段内转移、间接寻址 段间转移、直接寻址;段间转移、直接寻址; 段间转移、间接寻址段间转移、间接寻址 JMP SHORT HELLO ;转移到目标地址是;转移到目标地址是HELLO ; IPIP+8位位移量位位移量 JMP NEAR PTR ABC
6、;转移到目标地址;转移到目标地址ABC, ;IP被修改了被修改了,IPIP+16位位移量位位移量8段内直接近转移段内直接近转移(JMP NEAR PTR lable):指指明在同一段的转移,明在同一段的转移, 偏移在偏移在32K 32KB范围范围之内,之内,IP的值被改变。的值被改变。 段内转移段内转移 段内直接短转移段内直接短转移(JMP SHORT lable):指明指明在同一段内更短距离的转移。目的地址与在同一段内更短距离的转移。目的地址与JMP指令指令所处地址的距离应在所处地址的距离应在128 127B范围之内。范围之内。 段间直接转移段间直接转移 “FAR PTR”:指明要转到另一:
7、指明要转到另一个逻辑段执行程序,个逻辑段执行程序,CS和和IP都被修改都被修改。 段间间接转移段间间接转移”DWROD PTR”,存储器寻址方存储器寻址方式式.(2)段间转移)段间转移9段内转移、直接寻址段内转移、直接寻址JMP label;IPIP+IPIP+位移量位移量l位移量是紧接着位移量是紧接着JMP指令后的那条指令的偏移地址指令后的那条指令的偏移地址到到目标指令的偏移地址目标指令的偏移地址的地址位移的地址位移实际为相对寻址实际为相对寻址jmp again;转向转向again处继续执行处继续执行again:dec cx;标号;标号again的指令的指令jmp output;转向;转向o
8、utputoutput: mov bl,al;标号;标号output的指令的指令jmp 0120H;直接转向直接转向CS:0120H单元单元10段内直接短转移段内直接短转移 JMP SHORT HELLO HELLO:MOV AL,3 010AH010BHE 8E 80 80 8B 0B 00 30 30100H0101H0102HJMP指令HELLO位移量代码段代码段11段间直接转移段间直接转移C2C2段段20000H20000H20250H20250H新新(IP)=0250H(IP)=0250H新新(CS)=2000H(CS)=2000HNEXT_PROGNEXT_PROGC1 SEGME
9、NTC1 SEGMENT JMP FAR JMP FAR PTR PTR NEXT_PROGNEXT_PROGC1 ENDSC1 ENDSC2 SEGMENTC2 SEGMENT NEXT_PROG ADD AL,BL NEXT_PROG ADD AL,BLC2 ENDSC2 ENDSC1段EA5 00 20 02 0JMP指令122. 条件转移指令条件转移指令格式:格式:Jcc label功能:能够对一个或几个状态位进行测试功能:能够对一个或几个状态位进行测试, ,判判断是否满足转移条件条件满足,转移到目的断是否满足转移条件条件满足,转移到目的地址地址labellabel去执行;条件不满足,
10、顺序执行下去执行;条件不满足,顺序执行下一一条指令条指令,不影响标志位。,不影响标志位。13相对寻址方式相对寻址方式lJcc指令的操作数指令的操作数label是一个标号是一个标号l条件转移指令的目的地址必须在现行的代码段内条件转移指令的目的地址必须在现行的代码段内一个一个8位位移量,表示位位移量,表示Jcc指令后的那条指令的偏移指令后的那条指令的偏移地址,到目标指令的偏移地址的地址位移地址,到目标指令的偏移地址的地址位移l8位位移量是相对于当前位位移量是相对于当前IP的,且距当前的,且距当前IP地址地址128127个单元的范围之内,属于段内短距离转个单元的范围之内,属于段内短距离转移移lJcc
11、指令为指令为2个字节,条件不满足时的顺序执个字节,条件不满足时的顺序执行就是当前指令偏移指针行就是当前指令偏移指针IP加加214Jcc指令的分类指令的分类lJcc指令不影响标志,但要利用标志指令不影响标志,但要利用标志位。根据利用的标志位不同,位。根据利用的标志位不同,16条指条指令分成令分成3种情况:种情况:(1)判断单个标志位状态)判断单个标志位状态(2)比较无符号数高低)比较无符号数高低(3)比较有符号数大小)比较有符号数大小15(1)判断单个标志位状态)判断单个标志位状态功功 能能结果有进位(借位)转移结果有进位(借位)转移结果无进位(借位)转移结果无进位(借位)转移 CF=1CF=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 35 控制转移指令-精品文档资料系列 控制 转移 指令 精品 文档 资料 系列
限制150内