控制转移和程序结构课件.ppt

控制转移和程序结构课件.ppt

ID:57016332

大小:343.50 KB

页数:72页

时间:2020-07-26

控制转移和程序结构课件.ppt_第1页
控制转移和程序结构课件.ppt_第2页
控制转移和程序结构课件.ppt_第3页
控制转移和程序结构课件.ppt_第4页
控制转移和程序结构课件.ppt_第5页
资源描述:

《控制转移和程序结构课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章控制转移和程序结构微型计算机原理及应用2006年5.1目标地址寻址方式5.2分支程序结构5.3循环程序结构5.4子程序结构5.1目标地址的寻址方式程序代码在代码段;CS:指明代码段在主存中的开始位置、即段基地址;EIP:给出将要执行指令的偏移地址;程序顺序执行,微处理器自动增量EIP;程序控制转移,EIP随之改变;程序转移到另外的代码段,EIP和CS都将改变;控制转移类指令:改变EIP(有时CS),即改变程序执行顺序(实现程序控制转移)的指令;目标地址寻址方式:指明目的地、即目标地址的方法;目标地址=目的地址=转移

2、地址5.1.1转移范围1.段内转移在当前代码段范围内的程序转移;不需更改CS,只改EIP(偏移地址);近转移(Near):16位段是16位近转移NEAR16,32位段是32位近转移NEAR32;短转移(Short):转移范围在127~-128字节;2.段间转移需要更改CS(段地址)和EIP(偏移地址);远转移(Far):16位段是32位远转移FAR16,32位段是48位远转移FAR32;5.1.2目标地址寻址方式1.相对寻址方式提供目标地址相对于当前指令指针EIP的位移量;目标地址(转移后的EIP)=当前EIP+位移量;

3、相对寻址都是段内转移,最常用、最灵活;2.直接寻址方式直接提供目标地址;目标地址(转移后的CS和EIP)=指令操作数;3.间接寻址方式由寄存器或存储单元提供跳转地址;目标地址来自寄存器或存储单元、间接获得;寄存器间接寻址:用寄存器保存目标地址;存储器间接寻址:用存储单元保存目标地址;5.1.3无条件转移指令JMPJMPlabel;程序转向label标号指定的地址;;有段内相对寻址,段间直接寻址;JMPreg16/reg32;程序转向寄存器指定的地址;;为寄存器间接寻址;JMPmem16/mem32;程序转向存储单元指定的

4、地址;;为存储器间接寻址;JMP指令的4种类型1.段内转移、相对寻址标号指明目标地址,指令代码包含位移量;2.段内转移、间接寻址通用寄存器或主存单元包含目标指令的偏移地址;3.段间转移、直接寻址标号包含目标指令的段地址和偏移地址;4.段间转移、间接寻址16位段用双字存储单元包含目标地址;32位段用3字存储单元包含目标地址;MASM会根据存储模式等信息自动识别[例题5-1]无条件转移程序-1;数据段00000000nvardw?;代码段0010EB01jmplabl1;8位位移量001290nop0013B8FF02lab

5、l1:movax,typelabl10016E90001jmpnearptrlabl2;16位位移量001990nop001AB80020Rlabl2:movax,offsetlabl3;001DFFE0jmpax001F90nop0020B8002BRlabl3:movax,offsetlabl40023A30000Rmovnvar,ax0026FF260000Rjmpnvar002A90nop相对短转移相对近转移寄存器间接近转移存储器间接近转移5.2分支程序结构5.2.1条件转移指令JccJcclabel根据指定的条

6、件确定程序是否发生转移;条件满足,发生转移;否则,顺序执行下一条指令;LABEL表示目标地址,采用段内相对寻址方式;16位CPU:字节位移量(-128~+127短转移);32位CPU:多字节位移量(达到32位的全偏移量);条件转移指令不影响标志,但要利用标志;cc表示利用标志判断的条件,16种、两类;单个标志状态作为条件;两数大小关系作为条件;转移条件cc:单个标志状态JZ/JEZF=1JumpifZero/EqualJNZ/JNEZF=0JumpifNotZero/NotEqualJSSF=1JumpifSignJNS

7、SF=0JumpifNotSignJP/JPEPF=1JumpifParity/ParityEvenJNP/JPOPF=0JumpifNotParity/ParityOddJOOF=1JumpifOverflowJNOOF=0JumpifNotOverflowJCCF=1JumpifCarryJNCCF=0JumpifNotCarry转移条件cc:两数大小关系JB/JNAECF=1JumpifBelow/NotAboveorEqualJNB/JAECF=0JumpifNotBelow/AboveorEqualJBE/JN

8、ACF=1或ZF=1JumpifBelow/NotAboveJNBE/JACF=0且ZF=0JumpifNotBeloworEqual/AboveJL/JNGESF≠OFJumpifLess/NotGreaterorEqualJNL/JGESF=OFJumpifNotLess/GreaterorEqualJLE/JN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。