- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机接口原理第2版第三章80888086指令签系统2
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 结束语: 掌握: 指令的格式及意义; 指令对操作数的要求及对标志位的影响; 指令的应用。 * 第3章作业 作业请从服务器上下载 本章书后全部题目均可作为思考题 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 段内间接转移 段内间接转移 转移的目标地址存放在某个16位寄存器或存储器 的某两个单元中 例: JMP BX 若:BX=1200H 则:转移的目标地址=1200H JMP ┇ ┇ 代码段 1200H MOV * 段内间接转移例 JMP WORD PTR[BX] 设:BX=1200H JMP ┇ ┇ ┇ 代码段 数据段 BX=1200 ┇ XXH XXH IP 指令码 * 无条件段间转移 转移的目标地址不在当前代码段内。 目标地址为32位,包括段地址和偏移地址。 指令中直接给出目标地址 由指令中的32位存储器操作数指出目标地址 段间直接转移 段间间接转移 * 段间直接转移 段内直接转移 转移的目标地址由指令直接给出 格式: JMP FAR Label 远地址标号 * 段间直接转移示图 JMP Label ┇ ┇ ┇ 代码段1 Label与JMP之间的位移量 代码段2 XXH XXH XXH XXH IP CS * 段间间接转移 段内间接寻址 转移的目标地址由指令中的32位操作数给出 例: JMP DWORD PTR[BX] XXH XXH XXH XXH BX IP CS JMP ┇ ┇ ┇ ┇ 指令码 代码段1 代码段2 数据段 * 2. 条件转移指令 在满足一定条件下,程序转移到目标地址继续执行 条件转移指令均为段内短转移,即转移 范围为: -128------+127 p136 * 条件转移指令的应用 几种条件转移指令的应用 * 转移指令例 统计内存数据段中以TABLE为首地址的100个8位符号数中正数、负数和零元数的个数。 * 转移指令例(流程图) 将存放各元素个数的单元清零 取首地址 设串长度 取一个字节数 正数个数加1 零元素加1 为负? 为零? 负数个数加1 N Y N Y p144 * 二、循环控制指令 循环范围: 以当前IP为中心的-128~+127范围内循环。 循环次数由CX寄存器指定。 循环指令: LOOP *LOOPZ *LOOPNZ 无条件循环指令 条件循环指令 * 无条件循环指令 格式: LOOP LABEL 循环条件: CX ≠ 0 操作: DEC CX JNZ 符号地址 * 条件循环指令 格式: LOOPZ LABEL LOOPE LABEL 循环条件: CX ≠ 0 ZF=1 格式: LOOPNZ LABEL LOOPNE LABEL 循环条件: CX ≠ 0 ZF=0 * 三、过程调用和返回 用于调用一个子过程; 子过程由程序员预先设计 并装入内存 子过程执行结束后要返回 原调用处 调用程序 断点 入口地址 入口地址 断点地址 子程序 * 调用指令的执行过程 保护断点; 将调用指令的下一条指令的地址(断点)压入堆栈 获取子过程的入口地址; 子过程第1条指令的偏移地址 执行子过程,含相应参数的保存及恢复; 恢复断点,返回原程序。 将断点偏移地址由堆栈弹出 * 过程调用 段内调用 段间调用 段内直接调用 段内间接调用 段间直接调用 段间间接调用 * 1. 段内调用 被调用程序与调用程序在同一代码段 调用前只需保护断点的偏移地址 格式: CALL NEAR PROC 执行过程: 近过程名 代码段1 调用程序 被调用程序 代码段1 将断点的偏移地址压入堆栈 根据过程名找子程序入口 * 段内调用例 (1)CALL TIMRE (2)CALL WORD PTR[SI] 直接调用 间接调用 44H 33H CALL 代码段 数据段 ┇ 设:SI=1200H CS=6000H 1200H 执行第(2)条指令后: 6000H CS = 3344H IP = * 2. 段间调用 子过程与原调用程序不在同一代码段 先将断点
您可能关注的文档
- 第五讲热过程单元的史仿真设计一.ppt
- 发掘农资经营三的蓝海新领域1.ppt
- 非金铭属元素二氧硫氮磷碳硅硼b.ppt
- 高中生物课件提保护我们共同的家园.ppt
- 第1节降低反应活化能的酶酶的作石用和本质.ppt
- 氟的理化特特性与人体代谢.ppt
- 测量水相的流量.ppt
- 立体化学基础专药学专升本.ppt
- 高中生物同步课件:42种群数量的就变化1人教版必修3.ppt
- 基于效果空的实战培训.ppt
- 高校教师资格证之《高等教育心理学》题库检测模拟题带答案详解(典型题).docx
- 高校教师资格证之《高等教育心理学》题库检测模拟题带答案详解(培优a卷).docx
- 2024年内蒙古自治区兴安盟、呼伦贝尔市中考历史真题(解析版).pdf
- 高校教师资格证之《高等教育心理学》题库检测模拟题带答案详解(名师推荐).docx
- 高校教师资格证之《高等教育心理学》题库检测模拟题带答案详解(a卷).docx
- 高校教师资格证之《高等教育心理学》题库检测模拟题带答案详解(完整版).docx
- 高校教师资格证之《高等教育心理学》题库检测模拟题带答案详解(b卷).docx
- 新高考模拟语文考试练习题及参考答案.docx
- 2024年四川省乐山市中考数学试题(解析版).pdf
- 知识产权跨境转让政策-深度研究.pptx
文档评论(0)