- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DJ4 寻址方式
* * 2.3 寻址方式 ? 寻址方式的由来 — 指令跟踪方式 — 数据如何跟踪: ? 寻址方式 寻找(形成)操作数地址的方式。 形成操作数地址的过程 — 寻址过程 ? 如何形成操作数地址 — 16位单字双操作数指令 ? D1 D2 指令直接提供地址 由此产生寻址方式 — 双字和多字指令 — 16位单字单操作数指令 ? D1 指令直接提供地址 D1 ? D2 指令直接提供地址 — 单字指令 + 寻址算法 ? X D 15 10 9 7 6 0 X: 寻址特征码; D: 形式地址 实际地址(有效地址): 设计人员制定的算法 某种运算 E= f(X) ? D 操作码? 立即数S 1. 立即寻址 指令直接给出操作数。 2.3.1 常见寻址方式 定长格式: 变长格式: 操作数在指令中的长度固定、有限 操作数在指令之后, 长度可变。 用来提供常数、设置初值等。MOV CX, 200 基本指令 立即数S 操作码? 有效地址D 2. 直接寻址 指令直接给出操作数地址。 存储单元号 (操作数在存储器的单元中) (1) 存储器直接寻址 ?定长格式 D的位数有限, 限制访存范围 寄存器号 (操作数在寄存器中) ?变长格式 D的位数可覆盖整个存储空间 Intel 80?86采用变长格式 基本指令 DL DH 操作数 S = ( D ) 例: MOV AX, [2000H] 基本指令 D 或 操作码? 寄存器号R 存储单元号 (操作数在存储器中) (2) 寄存器直接寻址 (寄存器寻址) 格式 R所占位数少; 比访问存储器快 操作数 S = ( R ) 例: INC SI 直接寻址用于访问固定的存储单元或寄存器。 3. 间接寻址 指令给出操作数的间接地址。 寄存器号 (操作数在存储器中) 格式 (1) 存储器间址 操作码? 间接地址D 操作数 S = (( D )) 0060 间址单元 D=0030 地址指针 M 0060 .... S ... 操作数 操作码? 寄存器号R (2) 寄存器间址 格式 ?寄存器所占位数少; 一般可提供全字长地址码; 操作数 S=(( R )) 例: MOV AX, [SI] ?指针不变(由指令指定), 指针内容可变, 使同一指令可指向不同存储单元, 以实现程序的循环、共享, 并提供转移地址。 0040 M S ... ... ... 优点: R=02 地址指针 0040 ?修改寄存器内容比修改存储器内容快; 格式: (3) 堆栈寻址 操作码? 堆栈指针SP 操作数 S = ((SP)) ... S ... M ... SP 0070 栈顶 压栈: SP自动减1, 再存数。 出栈: 栈顶 SP M S ... ... ... 低 高 SP既可出现在指令中, 也可隐含约定。 (SP) – 1 SP, 自减型间址。 (SP)+1 SP, 自增型间址。 先取数, SP再自动加1。 格式 (1) 变址寻址 4. 变址、基址寻址及其变化 指令给出一个寄存器号和一个地址量, 寄存器内容与地址量之和为有效地址。 形式地址 操作数 S = (( RX ) + D ) 基准地址 修改量 例: MOV COUNT[DI], BX 操作码? RX D 变址寄存器号 D的位数有限, 若不能提供全字长地址码, 会使访存空间受到限制。 例. 用变址方式访问一组连续区间内的数组元素。 ? D为存储区首地址; ? (RX)为所访单元距离首地址的长度; ? RX初值为0, 每访问一个单元, (RX)+1。 D=首址 n-1 ... 0 1 2 ... D+1 D+2 D+n-1 ... 缺点: 比如, 存储空间为1M,则D的长度应为20位。 格式 (2) 基址寻址 指令给出一个寄存器号和一个地址量, 寄存器内容与地址量之和为有效地址。 操作码? Rb D 基址寄存器号 位移量 操作数 S = ((Rb)+ D) 相对于基址的位移 基准地址 例: MOV COUNT[BX], AX MOV AX , [BX][DI] BX: 基址寄存器 COUNT、 [DI] 是位移量 Rb Rb D=2 D=2 M ... ... …... …... ?改变Rb的内容, 程序能访问存储空间中任何一个定长区间; ?改变Rb的内容, 程序能访问存储空间中任何一个与基址保持相同距离的单
您可能关注的文档
- C组-15号-火车轨道传感报警系统的设计.ppt
- c考试选择题.doc
- C语言 第01章 程序设计基本概念.ppt
- c语言(第九章)指针.ppt
- C语言106.docx
- C语言串讲合集.ppt
- c彩色的非洲.ppt
- C语言与通讯数据处理.ppt
- CSSCI核心版收录期刊(2012-2013).doc
- C语言大作业 观察行星的运行报告.doc
- 2022-2023年报检员之报检员资格考试考前冲刺模拟考试试卷提供答案解析.docx
- 2022-2023年证券从业之证券市场基本法律法规通关试卷附带答案.docx
- 2022-2023年证券分析师之发布证券研究报告业务综合提升试卷包括详细解答.docx
- 2022-2023年监理工程师之监理概论通关模拟题库附答案详解.docx
- 咨询工程师之工程项目组织与管理考前冲刺练习题包含答案.docx
- 2022-2023年基金从业资格证之证券投资基金基础知识考前冲刺练习试题含答案讲解.docx
- 执业药师之中药学专业二考前冲刺检测卷含答案讲解.docx
- 2022-2023年劳务员之劳务员专业管理实务综合提升练习题库包括详细解答.docx
- 2022-2023年劳务员之劳务员基础知识通关模拟题库附答案详解.docx
- 2023年初级银行从业资格之初级个人贷款考前冲刺模拟题库附有答案详解.docx
文档评论(0)