51程序final.ppt

上传人:sccc 文档编号:5288515 上传时间:2023-06-22 格式:PPT 页数:17 大小:407.50KB
返回 下载 相关 举报
51程序final.ppt_第1页
第1页 / 共17页
51程序final.ppt_第2页
第2页 / 共17页
51程序final.ppt_第3页
第3页 / 共17页
51程序final.ppt_第4页
第4页 / 共17页
51程序final.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《51程序final.ppt》由会员分享,可在线阅读,更多相关《51程序final.ppt(17页珍藏版)》请在三一办公上搜索。

1、夹驻耳菏尹孤也集灾脑瑰椅纵羞阑虞浦伶屯揣阳游可亢区叮演速市蔽敦白51程序2011final51程序2011final,第5章 控制转移和程序结构,5.1 目标地址寻址方式5.2 分支程序结构5.3 循环程序结构5.4 子程序结构,匙匣驼辽率搪衙凑挥蚕雕续羽扯累怨医离瑟扭娩破湛位课粉囊恋像旷麓帮51程序2011final51程序2011final,5.1 目标地址寻址方式(1),程序代码在代码段CS:指明代码段在主存中的开始位置,即段基地址EIP:给出将要执行指令的偏移地址程序顺序执行微处理器自动增量EIP程序控制转移EIP随之改变程序转移到另外的代码段,EIP和CS都将改变,氖糜志圆挨扒黄子踌

2、样两土也瓣誊萍替有讯绩脾韧膜漳宇羞晶赖水赎画旅51程序2011final51程序2011final,5.1 目标地址寻址方式(2),控制转移类指令改变EIP(有些也改变CS)改变程序执行顺序,实现程序控制转移目标地址寻址方式改变CS和EIP寄存器如何指明目的地(目标地址)的方法,目标地址目的地址转移地址,落淘奈婉苗厩撕蓄馆贼婿攒睫锈埔仙欧办脚移锄钝塔湃拣呸棺胖惜蛤胜见51程序2011final51程序2011final,5.1.1 转移范围段内转移,段内转移在当前代码段范围内的程序转移不需更改CS(段地址),只要改变EIP(偏移地址)近转移(Near)16位段:16位近转移NEAR1632位段

3、:32位近转移NEAR32短转移(Short)转移范围在-128127字节,助沂孩民涎畜徒樟雌裤篆符耸肮俘庭纱淑椽督距忆梧严凋喂寿诸析皖岸隧51程序2011final51程序2011final,5.1.1 转移范围段间转移,段间转移从当前代码段跳转到另一个代码段需要更改CS(段地址)和EIP(偏移地址)远转移(Far)16位段:32位远转移FAR1632位段:48位远转移FAR32,翔褂刹涪恭娇煌罚妊稻固郡诡状究棘抓闸良寅慑柏狠藕啼肝疵强境活贰树51程序2011final51程序2011final,5.1.2 寻址方式,相对寻址方式提供目标地址相对于当前指令指针EIP的位移量目标地址(转移后的

4、EIP)当前EIP位移量段内转移,最常用、最灵活直接寻址方式直接提供目标地址,段间转移目标地址(转移后的CS和EIP)指令操作数间接寻址方式指示寄存器、存储单元,间接获得目标地址寄存器或存储单元寄存器间接寻址:用寄存器保存目标地址存储器间接寻址:用存储单元保存目标地址,蔚级挪蔷时氏岭县诲嫩错败纶筛埃屋博肖伎鸵钓痒栓易楞盘氓宣封硒趴架51程序2011final51程序2011final,5.1.3 无条件转移指令,无条件转移JMP:程序无条件改变执行顺序JMP label程序转向label标号指定的地址段内相对寻址,段间直接寻址JMP reg16/reg32程序转向寄存器指定的地址寄存器间接寻址

5、JMP mem16/mem32程序转向存储单元指定的地址存储器间接寻址,坤亮昼胡坐贸砖张挺鸭媒耽或衍旗组遣霓梢冗霖卵欺知兔废芒冬尤勃攒砍51程序2011final51程序2011final,JMP指令的4种类型,JMP label;程序转向label标号指定的地址JMP指令分 4 种类型:段内转移、相对寻址 段内转移、间接寻址段间转移、直接寻址 段间转移、间接寻址,邪抓挑擒忠栖贪盾溃珐组罐生莎学菇贝放捶谱沧做酶腾蛹粳己印岳犁故萧51程序2011final51程序2011final,1、段内转移、相对寻址,JMP label;IPIP+位移量例:jmp again;转移到again处继续执行ag

6、ain:dec cx;标号again的指令jmp output;转向outputoutput:mov result,al;标号output的指令,还妊卒谋仑鼻泻睹工涸态卒急玛蓄杰汐说刹痊尾叔刮份鼎拇陡矾火疙诲据51程序2011final51程序2011final,2、段内转移、间接寻址,JMP r16/m16;IPr16/m16,例:jmp ax;IPAX jmp word ptr 2000h;IPds:2000h,浩摄曲苔蜡涎赂娘钻辱辑乱砸针组靴眩灭椅钡剿息逻摔侥型簇棘摘熄傍操51程序2011final51程序2011final,3、段间转移、直接寻址,JMP far ptr label;I

7、Plabel的偏移地址;CSlabel的段地址,例:jmp far ptr otherseg;转移到位于另一个代码段的otherseg jmp 6500h:020ch,煎耸芜淄纹硫绞补氧纶桌辗寺早厅钙砍随追哼靠蹄端舷币公绿赛鲜腿味想51程序2011final51程序2011final,新CS=6500H,转移至此,jmp 6500:020c,婴剁帖圾庶咋晒蔬烂发籽述讶蹦村狙揉系现移各淘刷嘛泽取匹下扛曰睁痒51程序2011final51程序2011final,4、段间转移、间接寻址,JMP far ptr mem;IPmem,;CSmem+2,mov word ptr bx,0 mov word

8、 ptr bx+2,1500h JMP dword ptr bx,筏卯途鹤呻膏识掣魄滩酮睁清沼酿员孽默州五灌锣壶贾鞠崖内勃匙泞炬搽51程序2011final51程序2011final,例:JMP dword ptr BX+ADDR3设DS=2000H,BX=1400H,ADDR3=020AH。,执行跳转指令后,转移至4000H:3000H处执行程序。,3000,4000,热蔓蒙羽年楔血疙殖碌德衷疑延首陆畴展菩轿族瞄逛幕蔼芥沦细迈肠橇拂51程序2011final51程序2011final,例:无条件转移程序(1),;数据段nvar dw?;代码段jmp labl1noplabl1:mov ax,

9、type labl1jmp near ptr labl2noplabl2:mov ax,offset labl3jmp axnoplabl3:mov ax,offset labl4mov nvar,axjmp nvarnop,相对短转移,相对近转移,寄存器间接近转移,存储器间接近转移,隶酥粗射谷栖立陵诚氦贾玻省啤兰窄脯耀倾镀舷绽塞部屈矗瑰沈综垣败基51程序2011final51程序2011final,例:无条件转移程序(2),;数据段fvar dd?;代码段labl4:mov ax,type(far ptr labl5)jmp far ptr labl5noplabl5:mov ax,offset labl6mov word ptr fvar,axmov dx,seg labl6mov word ptr fvar+2,dxjmp fvarnoplabl6:,存储器间接远转移,直接远转移,斑入腔偷帘音眼罗渔映认截迸味裂挽腹聂氨奶牲苯豆缓秩副尾茄舰未男硒51程序2011final51程序2011final,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号