



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8086汇编寻址方式教程对于汇编语言,寻址方式绝对是最核心的一个部分,但是纷乱复杂的寻址方式又常常让人找不到方向和思路。所以今天我整理出一份教程,希望对初学者的学习能有所帮助。 一寻址目的所谓寻址,就是按照一定的规则寻找操作数。这个基本概念一定要搞清楚,不要云里雾里记了一大堆都不知道是找什么的。 二操作数可以存在什么地方? 操作数存在于指令代码中,处理器译码时就立即获得了这个操作数,这就是立即(数)寻址方式。汇编指令中,这个立即数(操作数)以常量形式出现。 操作数存在于处理器内部寄存器中,处理器从寄存器中获得这个操作数, 这就是寄存器寻址方式。汇编指令中,这个寄存器操作数以寄存器名形式出现。 操作数存在于主存中,处理器从主存单元获得这个操作数,这就是存储器寻址方式。汇编指令中,这个存储器操作数以主存地址形式出现。 三逻辑地址。8086/8088处理器的主存地址在程序设计时采用逻辑地址。逻辑地址分成段地址和偏移地址两部分。(这个一定想清楚,寻址在逻辑地址范围内,而不是直接在物理地址上查找。可以把存储系统看做一个黑匣子,我们程序员只考虑4g的寻址范围,具体怎么映射到物理地址上面,这是OS的任务,我们不必考虑)。存储器寻址方式表达存储器地址时,段地址在默认的或段超越前缀指令指定的段寄存器中,偏移地址被称为有效地址EA(Effective Address)。有效地址用中括号括起来。 四对寻址方式 有个整体印象 有效地址直接给出,存在于指令代码中,就是直接寻址方式。 有效地址存在寄存器中,就是通过寄存器的间接寻址方式。 有效地址是两部分的和,一部分在基址(变址)寄存器中,另一部分直接给出(称为位移量),这就是基址(变址)寻址方式。 有效地址是两部分的和,一部分在基址寄存器中(8086是BX和BP),另一部分在变址寄存器中(8086是SI和DI),这就是基址变址寻址方式。 有效地址是三部分的和,第一部分在基址寄存器中(8086是BX和BP),第二部分在变址寄存器中(8086是SI和DI),第三部分直接给出(称为位移量),这就是相对基址变址寻址方式。 五寻址方式详细解读(要求:要记住脉络,理解寻址流程,脑子中能有图,最后记住关键点) 1. 立即寻址立即寻址方式用来表示常数,它主要用于给寄存器赋初值,注意:只能用于源操作数字段,不能用于目的操作数字段。例1 MOV AL,5 2.直接寻址在IBM PC机中将操作数的偏移地址称为有效地址EA。在直接寻址方式中有效地址EA就在指令中,它存放在代码段中指令操作码之后,但操作数一般存放在数据段中,所以必须先求出操作数的物理地址,然后再访问存储器才能取得操作数. 如操作数在数据段中,则物理地址16d(DS)十EA。1BMPC机中允许数据存放在数据段以外的其他段中,此时应在指令中指定段跨越前缀,在计算物理地址时应使用指定的段寄存器。例4 mov AX , 2000H(DS)3000H,地址32000H中的值为 3050H则,执行结果为;(Ax)3050H因为实际mov AX中的内容为 16d * (Ds) + 32000H 在汇编语言指令中,可以用符号地址代替数值地址,如:MOV AX,VALUE 此时VAIUE为存放操作数单元的符号地址。如写成MOV AX,VALUE 也是可以的两者是等效的。如果VALUE在附加段中,则应该指定段跨越前缀如下; MOV AX, ES:VALUE或 MOV AX, ES:VALUE 直接寻址方式适用于处理单个变量,例如需要处理某个存放在存储器里的变量,可用直接寻址方式,将该变量先取到一个寄存器中,然后在做处理。 IBM PC机规定:除在双操作数中,除立即数外,必须有一个操作数使用寄存器方式。这也是一个常量常常送到寄存器去的原因。 3.寄存器间接址操作数的有效地址在基址寄存器BX、BP或变垃寄存器SI、DI中,而操作数则在存储器中,如下图所示。 a.如果指令中指定的寄存器是BX、SI、DI,则操作数在数据段(DS)中,所以用DS寄存器的内容作为段地址,即操作数的物理地址为:物理地址16d(DS)十(BX)或 物理地址;16 d(DS)十(SI)或 物理地址16d(DS)十(DI) b.如指令中指定SP寄存器,则操作数在堆栈段(SS)中,段地址在SS中,所以操作数的物理地址为:物理地址16d(SS)十(SP) MOV AX ,BX如果 (DS)=2000H , (BX)=1000H 则物理地址16d(DS)十(BX) = 20000H+1000H = 21000H21000H地址里的内容为 50A0H则 执行结果为:(AX)=50A0H c.指令中也可指定段跨越前缀来取得其他段中的数据。如; MOV AX,ES:BX这种寻址方式可以用于表格处理,执行完一条指令后,只需要修改寄存器内容就可取出表格中的下一项。 4.寄存器相对寻址方式 操作数的有效地址是一个基址或变址寄存器的内容和指令中指定的8位或16位位移量之和。即 | (BX) EA = | (BP) + 8位或者16位的位移量 | (SI) | (DI) 同寄存器寻址一样 BX BP DI 若没有段跨越前缀 物理地址为16d(DS) +位移量SP 物理地址为=16d(SS)十(SP) + 位移量 + * 举个例子: MOV AX,COUNTSI (也可表示为MOv AX,COUKT十SI其中,COUNT 为16位位移量的符号地址。如果(DS)3000H,(SI)2000H COUNT3000H则物理地址 30000十2000十3000 35000H 5.基址变址寻址方式操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和。两个寄存器均由指令指定。如果基址寄存器为BX,段寄存器使用DS;如基址寄存器为BP时,段寄存器则用SS。因此,物理地址为: = 16D * DS + (BX) + SI(或者DI) = 16D * SS + (BP) + SI(或者DI) 6.相对基址变址寻址方式 操作数的有效地址是一个基址寄存器和一个变址寄存器的内容和8位或16位位移量之和。同样,当基址寄存器为BX时,使用DS段寄存器;而当基址寄存器为BP时,则使用SS为段寄存器。因此物理地址为:= 16d * DS + BX + SI + 位移量(8位或16位)= 16d * ss + BP + SI + 位移量(8位或16位)刨 MOV AX,MASKBXSI (也可以写成 M0V AX,MASKDX十SI或 MoV AXMASK十BX十SI ) 如 (DS)3000H,(BX)2000H、(SI)l000H,MASK0250H, 则 物理地址16d(DS)十(BX)十(SI)十MASK 30000十2000十1000十0250 33250H 六区别各种寻址方式时,注意各自的特点。只有一个常量, 是立即(数)寻址方式;只有一个寄存器名, 是寄存器寻址方式;其他, 则是存储器寻址方式。用中括号括起一个常量, 是直接寻址方式; 用中括号括起一个寄存器名, 是寄存器间接寻址方式;用中括号括起一个基址(变址)寄存器名和一个常量 , 是基址(变址)寻址方式;用中括号括起两个寄存器名, 是基址变址寻址方式;用中括号括起两个寄存器名和一个常量 , 是相对基址变址寻址方式。 七. 其他说明汇编语句中,上面的形式还可以有别的写法,多数很容易就能识别出意思,个别不理解的应进一步参考手册,几个例子如下:位移量可用符号表示:MOV AX,SI+COUNT;COUNT是事先定义的变量或常量(就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届四川省乐山四中学九年级化学第一学期期末综合测试试题含解析
- 2026届吉林省长春南关区六校联考英语九上期末检测模拟试题含解析
- 2026届广西壮族自治区河池市南丹县英语九上期末考试试题含解析
- 吉林省吉林市普通中学2026届九上化学期中检测试题含解析
- 2026届辽宁营口大石桥市水源镇九一贯制学校英语九上期末检测模拟试题含解析
- 2026届北京市昌平二中学南校区九年级化学第一学期期末复习检测模拟试题含解析
- 合同9劳动合同聘请经济与法律顾问合同6篇
- 护理区设计理念及要求
- 研究生院年终总结
- 预应力砼现浇箱梁施工质量通病及预防措施
- 2025年检查检验项目分级审核制度
- 河道工程基础井点降水方案
- 2025重庆忠县机关事业单位临聘4人备考考试题库附答案解析
- 零碳工厂培训课件
- 2025年高考全国一卷数学真题(原卷版)
- 2025年护士资格证真题附答案详解
- ISO28000:2022供应链安全管理体系
- MOOC 电工电子实验基础-东南大学 中国大学慕课答案
- 铸剑先生行为分析技术
- 有理数的乘法说课课件(说课一等奖)
- 审计综合实训(周海彬)答案项目三+货币资金审计程序表
评论
0/150
提交评论