微机原理与接口技术 第三章1.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用途: 这种寻址方式为堆栈的操作和处理提供了方便: (BP)? 栈顶(一般 BP 可指向栈顶) 从栈顶到数组的首地址可以用位移量表示(MASK). 变址寄存器(SI)或(DI)——指向数组中某个元素。 段内转移只需改变 (IP) 段内转移包括两种寻址方式:直接 ,间接。 段间转移改变(CS)(IP) 段间转移包括两种寻址方式:直接 ,间接。 前面的寻址方式主要讨论操作数的寻址,亦即通过什么策略在什么地方取操作数。而这里的问题是利用操作数的寻址方式如何找到程序控制的转移地址,实现程序的控制转移。 功能: 用来确定转移指令及CALL指令的转移地址。 以转移指令为对象来分析各种转移地址寻址方式。 三、与转移地址有关的寻址方式 有四种程序转移控制方式: (一)段内直接寻址(Intrasegment direct addressing) (二)段内间接寻址(Intrasegment indirect addressing) (三)段间直接寻址(Intersegment direct addressing) (四)段间间接寻址(Intersegment inderect addressing) (一)段内直接寻址(Intrasegment direct addressing) 转向有效地址EA是(IP)当前和指令中指定的8位或16位位移量之代数和,是一个相对偏移量寻址方式。 相对寻址方式含义: EA(即转向的有效地址) 用相对于(IP)当前值的位移量表示。 位移量 = 转向有效地址 -(IP)当前 值(地址值) 之差。 对于近转,16位位移量可正可负,范围是-32768~+32767 对于短转,8位位移量可正可负, 范围是 -128~+127, 这种寻址方式适用于条件转移及无条转移指令。 当用于条件转移指令时,位移量只允许 8 位; 用于无条件转移指令时,位移量 8 位时称为 短跳转。 指令汇编语言格式: JMP NEAR PTR PROGIA; (IP)←(IP)当前+16位位移量 JMP SHORT QUEST; (IP)←(IP)当前+8位位移量 调用指令(CALL)也适用。 上例中PROGIA 、QUEST均为符号地址,因此转移将转向符号地址。而转移量在编译后的机器码中用相对偏移量表示。 汇编指令中引用16位偏移量,则须在符号地址前加操作符 NEAR PTR。而使用 8位偏移量,则分两种情况处理: 前引用标号(标号后定义 ),则在符号地址前加操作符SHORT。 后引用标号(标号先定义 ),则在符号地址前不必加操作符SHORT。 JMP NEAR PTR PROGIA; (IP)←(IP)当前+16位位移量 段内直接寻址 JMP NEAR PTR PROGIA (二)段内间接寻址(Intrasegment indirect addressing) 段内间接寻址: 转向有效地址是一个寄存器或一个存储单元的内容, 这个具体内容可以用数据寻址方式中除立即数以外的任何一种寻址方式取得。得到的转向有效地址用来取代IP寄存器的内容。 这种寻址方式和以下二种段间寻址方式都不能用于条件转移指令。 ★ 条件转移指令只能适用段内直接寻址的8位位移量。 汇编格式: JMP BX JMP WORD PTR [BP + TABLE] 其中: 1、WORD PTR——操作符, 2、(BP)+TABLE 寻址所得地址是一个 字的有效地址,由有效地址形成转向 所需要的有效地址IP。 转向物理地址的计算公式:PA=16d?(CS)+(IP) 段内间接寻址方式的转移指令中转移的有效地址的计算方法: 举例: 指令执行前: 设: (DS)= 2000H,(BX)= 1256H,(SI)= 528F

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档