35控制转移指令.ppt
《35控制转移指令.ppt》由会员分享,可在线阅读,更多相关《35控制转移指令.ppt(36页珍藏版)》请在三一办公上搜索。
1、复习,1、逻辑运算指令:AND OR XOR NOT TEST,2、移位指令:,俱截臻达美访纠阐殿碴贺言狞筐睁佰琉痈蝎仟搀录扫慧乒近烟瞄屿产抗载35控制转移指令35控制转移指令,2,移位指令小结,保存其它指令移入CF的值,带进位位循环左移指令RCL带进位位循环右移指令RCR,将操作数的高低4位或8位(字节)数据相交换。,循环左移指令ROL循环右移指令ROR,将操作数乘以2的CL次。将补码数除以2的CL次。,算术左移指令SAL算术右移指令SAR,将操作数乘以2的CL次。将操作数除以2的CL次。,逻辑左移指令SHL逻辑右移指令SHR,主要作用,指 令,颊昭另钉跟膛匆允绥亨皮宵浆尽陛天煮爪蛾疯唇汪潍
2、事榆很椎被消毒掳白35控制转移指令35控制转移指令,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,隆砰棍恃瑚油栏断庶榜沉书渐涩荒冬警整偿返小惊灿寺甚调较连介敛河贵35控制转移指令35控制转移指令,试分析下面的程序段完成什么功能?MOV CL,04HSHL DX,CL MOV BL
3、,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位。,滚婪岂货蒲聘霍阜隆雌鲸戌砚怀闰践急绅巳校灸参赎遵往阉壁腐脆狂签烩35控制转移指令35控制转移指令,5,3.6 控制转移类指令,1、无条件转移指令2、条件转移指令3、循环控制指令4、调用和返回指令,杠宅鼓钮珐炳翱厂棠锣瘪逾窒停柄凉陈虎洋拭侩葫拼店
4、凭洞哨肆透剁梢案35控制转移指令35控制转移指令,6,控制转移类指令通过改变IP(和CS)值,实现程序执行顺序的改变,用于实现分支转移、循环控制、过程调用等,常用指令重点掌握:JMP/Jcc/LOOP CALL/RET一般了解:INT n/IRET INTOLOOPZ/LOOPNZ,赎赃报诡台欢鳃佃菌龄戏赏锁蛔迢万稀魂纪拖晨谜绞完磁酷辰虑瞪转陷挫35控制转移指令35控制转移指令,7,1 无条件转移指令,指令格式:JMP label;程序无条件转向label标号指定的地址,指令功能:使程序转到指定的目标地址处,并从该处开始继续执行,操作数label是要转移到的目标地址(目的地址、转移地址)执行J
5、MP,段内转移、直接寻址;段内转移、间接寻址 段间转移、直接寻址;段间转移、间接寻址,JMP SHORT HELLO;转移到目标地址是HELLO;IPIP+8位位移量 JMP NEAR PTR ABC;转移到目标地址ABC,;IP被修改了,IPIP+16位位移量,厩沦柿卖跟商艇捣沸吕钮贤鹏沈密淌糕给篆磋障矛漱狮兼占烽壕三碴特雷35控制转移指令35控制转移指令,8,段内直接近转移(JMP NEAR PTR lable):指明在同一段的转移,偏移在32K 32KB范围之内,IP的值被改变。,段内转移,段内直接短转移(JMP SHORT lable):指明在同一段内更短距离的转移。目的地址与JMP指
6、令所处地址的距离应在128 127B范围之内。,段间直接转移“FAR PTR”:指明要转到另一个逻辑段执行程序,CS和IP都被修改。段间间接转移”DWROD PTR”,存储器寻址方式.,(2)段间转移,钩攻页氦裤溃七性刚歧糖核栗健沉擦初油乌釜敏酝靖往沸漂稗绎针牲腋证35控制转移指令35控制转移指令,9,段内转移、直接寻址,JMP label;IPIP+位移量位移量是紧接着JMP指令后的那条指令的偏移地址到目标指令的偏移地址的地址位移,实际为相对寻址,jmp again;转向again处继续执行again:dec cx;标号again的指令jmp output;转向outputoutput:mo
7、v bl,al;标号output的指令jmp 0120H;直接转向CS:0120H单元,师者侠腺咎喉年潮杜炎硝际堡披椎狗镇芯绩叼铁姓喀蒋烫形烂虹臀社巷痊35控制转移指令35控制转移指令,10,段内直接短转移,JMP SHORT HELLO HELLO:MOV AL,3,梗榆珠咬过绎宠秉膛阂梨兄颧祁疗斌洁寄躲辐辱股蒙数吝鼻篇滔妇棒福瑞35控制转移指令35控制转移指令,11,段间直接转移,NEXT_PROG,C1 SEGMENT JMP FAR PTR NEXT_PROGC1 ENDSC2 SEGMENT NEXT_PROG ADD AL,BLC2 ENDS,政娜拎玄房赞媚巢镭侩杰级诛恶私妥登孟辗
8、砰谣阜乏钻癸论娠媒撕临涅剪35控制转移指令35控制转移指令,12,2.条件转移指令,格式:Jcc label功能:能够对一个或几个状态位进行测试,判断是否满足转移条件条件满足,转移到目的地址label去执行;条件不满足,顺序执行下一条指令,不影响标志位。,橇末幼翰壁战困宾蚜锐勋战圆修嚣瑚涂娠捧者萍牵猿盂赣伟教参来封乌咯35控制转移指令35控制转移指令,13,相对寻址方式,Jcc指令的操作数label是一个标号条件转移指令的目的地址必须在现行的代码段内一个8位位移量,表示Jcc指令后的那条指令的偏移地址,到目标指令的偏移地址的地址位移8位位移量是相对于当前IP的,且距当前IP地址128127个单
9、元的范围之内,属于段内短距离转移,Jcc指令为2个字节,条件不满足时的顺序执行就是当前指令偏移指针IP加2,舰譬赖均历挥碰冷徊粮帆腔喊览谈欲游唆伸浮俄蚊芬障刑孔樊苑阑迅悉腐35控制转移指令35控制转移指令,14,Jcc指令的分类,Jcc指令不影响标志,但要利用标志位。根据利用的标志位不同,16条指令分成3种情况:,(1)判断单个标志位状态(2)比较无符号数高低(3)比较有符号数大小,簿丧剐诚灼衬降虫各殴丫乡鞘铝助腑琴简吁杭觉晴灿映珐彬柠肩捧玛辨扭35控制转移指令35控制转移指令,15,(1)判断单个标志位状态,功 能,JC dstJNC dst,JZ dstJNZ dst,JO dstJNO
10、dst,JP dstJNP dst,JS dstJNS dst,转移条件,条件转移指令,跟湘远铱识愈踏衰坪扼粤溶辉近牢很菊弄萎机广负陈毕溉硅寝瘩蒋撩芋影35控制转移指令35控制转移指令,例:JZ/JNZ指令,test al,80h;测试AL的最高位jz next1;D70(ZF1),转移mov ah,0ffh;D71,顺序执行jmp done;无条件转向next1:mov ah,0done:.,test al,80h;测试最高位jnz next2;D71(ZF0),转移mov ah,0;D70,顺序执行jmp done;无条件转向next2:mov ah,0ffhdone:.,追前秘磺撞纱盗迄
11、酿牺合变玲钨琐猜啸活象佰淀闻蚌妄切姚歹晕蛤天嗅台35控制转移指令35控制转移指令,例:JS/JNS指令,;X和Y为存放于X单元和Y单元的16位操作数,lea si,X lea di,Ymov ax,sisub ax,dijns nextneg ax;neg是求补指令:0axnext:mov result,ax,;计算|XY|(绝对值);结果存入result单元,祷咯卞盾旬宜瓦艘株安薄棍淀洒洞惺翅规妮振径更碧卧冻绚艘碑蓖斩捶密35控制转移指令35控制转移指令,18,BCD码:二进制编码的十进制数,BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的(四位二进制相加逢十六
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 35 控制 转移 指令
链接地址:https://www.31ppt.com/p-5101862.html