版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章第四章 寻址方式寻址方式6.1 6.1 数据类型数据类型数据的类型有数值数据和非数值数据。基本数据类型字节字节8位高序字节字16位字节双字32位字节四字64位低序字节字节字节字节字节字节字节字节字节字节字节高序字低序字高序双字低序双字字节、字、双字等-128-+127;-32768-+32767 单精度:32位(1位符号,8位指数,23位有效精度位,表示范围1038) 双精度:34位(1位符号,10位指数,53位有效精度位,表示范围10308) 扩展精度:80位(1位符号,15位指数,64位有效精度位,表示范围104932) 参见艾德才教材P796 62 2 寻址方式寻址方式 寻址方式是
2、指微处理器获取操作数的方式。一条指令必须说明两个问题;一是要说明这条指令要进行什么操作,二是要说明这条指令的操作数位于何地。一条指令可以对零个或多个操作数操作。零个操作数的指令的例子是NOP指令(即没有数)。操作数可以位于下列位置处:(1)指令本身有操作数;即立即操作数(2)操作数在寄存器中;(3)操作数在存储器中 (4)操作数在/端口 1立即操作数寻址立即操作数寻址 是说指令本身带的数据作为一个操作数用,即指令所用的操作数是指令自身所拥有的,像单操作数指令或两操作数指令即是这类指令。凡指令本身所拥有的操作数就称之为立即操作数。 例如, MOV AX,1999H ;这条指令的功能是将16进制的
3、立即操作数1999传送到AX寄存器。由于立即操作数1999是16位的,其中存放在代码段的高地址字节中的内容被传送到AH寄存器,低地址字节中的内容被传送到AL寄存器,如图所示。存储器操作码19H19H99H99HAHAL代码段指令1350H1351H1380H1381H 将操作数存放在32位通用寄存器中,或存放在16位通用寄存器中,或存放在8位通用寄存器中,并对操作数进行访问操作,称之为寄存器操作数寻址。指令 MOV EDX,EAX ; MOV EDX , EAX 源操作数目标操作数EAXEBXECXEDX 1 3 9 A 1 3 9 A D 4 0 7 D 4 0 71 1 0 02 2 3
4、3 9 9 9 9 9 9 9 9(1)直接寻址)直接寻址 直接寻址是一种很简单的寻址方式,虽然操作数存放在存储器内,但在这种直接寻址方式下,操作数的有效地址是由指令直接给出。例如: MOV EAX, LISTT 这条指令的功能是,将地址LISTT处4个连续字节地址中的32位操作数传送到寄存器EAX内。LISTT 是存储器中存储单元的符号地址,LISTT的实际地址是1230H这个十六进制地址 1230H1231H1232H1233H 806A38BC 8 0 3 8 6 A B CEAX存储器 寄存器间接寻址这种寻址方式,可以对存储器内的任何寄存器间接寻址这种寻址方式,可以对存储器内的任何存储
5、单元的数据进行寻址,只是要借助于在存储单元的数据进行寻址,只是要借助于在BPBP,BXBX,DIDI和和SISI这些这些寄存器内保存的偏移地址。寄存器内保存的偏移地址。 例,如果寄存器例,如果寄存器BXBX的内容是的内容是1000H1000H,在执行,在执行MOV AXMOV AX,BXBX指令指令之后,地址之后,地址1000H1000H处的字内容被传送到处的字内容被传送到AXAX寄存器中,如图所示。寄存器中,如图所示。1000H1001H1002H1003H89A335D4存储器 A3 D4 10 00EAXEBX 所谓基地址加变址寻址,就是操作数位于所选的存储器段内,操作数的有效地址由一个
6、基地址寄存器的内容再加上一个变址寄存器的内容构成。 通常,在基地址寄存器内保存的是位于存储器内数组的起始地址,而在变址寄存器内保存的是数组元素的相对位置。每次BP寄存器在对存储器内的数组进行寻址时,由BP寄存器和堆栈段寄存器两者生成有效地址。 例如:MOV EDX ,EAX + EBX 存储器+ +EAXEBXECXEDXESPEBPESIEDI1 00 AA B8 92 00 08 9100AH0020H102AH102AH1029H102BH1028H102CH1027H1026HA B 寄存器相对寻址类似于基址加变址寻址,只不过是在寄存器相对寻址方式下,在变址寄存器或基地址寄存器的内容中
7、,加上了一个位移量,而形成了操作数的有效地址的值,然后是用这个有效地址的值,对存储器中的操作数进行寻址。 操作数的有效地址是由基地址或变址寄存器的内容再加上一个8位数值、16位数值或32位数值的位移量组成。 例如:MOV EAX, ECX+1AH 指令是,将数据段中由ECX寄存器上的内容,再加上1A这个数值所形成的操作数地址中的内容传送至EAX寄存器。 指令 MOV AX,BX+1000H的操作过程 如图示2200H2201H2202H2203H99AB45D6存储器 AB D6 12 00EAXEBX+1000H1200H2200H位移量 相对基地址加变址寻址类似于基地址加变址寻址,它除了需
8、要加上位移量之外,仍然需要用基地址寄存器和变址寄存器的内容来形成操作数的地址。也就是说,它是用基址寄存器和变址寄存器上的内容再加上位移量,从而形成操作数在存储器中的有效地址。这种寻址方式常被用来对存储器内的二维数组的数组元素进行寻址。例如: MOV EDX ,EBX+ECX+200H 图中以指令MOV EAX,BX+SI+100H执行过程为例,展示出用相对基址加变址寻址方式进行寻址的操作过程。存储器+ +EAXEBXECXEDXESPEBPESIEDI1 00 A2 00 05 9100AH0020H112AH112AH1129H112BH1128H112CH1127H1126H2 B+ +位
9、移量0100H102AH5 92 B 这种寻址方式是80386Pentium所特有的,在对存储器进行寻址操作时,要用到两个寄存器,第1个是基地址寄存器,第2个是变址寄存器,它们均是32位的寄存器。 这种寻址,只有第2个变址寄存器才会与比例因子相乘,变址寄存器内容乘以比例因子后,再加上位移量即可形成操作数的32位的有效地址。 比例因子可以是1、2、4或8。比例因子为1是默认的,例如,指令MOV AL,EBX+ECX 就没有在变址寄存器ECX前面显式地乘以1。 比例因子为2用来对字数组中的数组元素进行寻址操作的 比例因子为4用来对双字数组中的数组元素进行寻址, 例如: MOV EAX ,EBX+4
10、*ECX 比例因子为8用来对四字数组中的数组元素进行寻址。 这种寻址方式是在前面所述带比例因子的变址寻址方式的基础上,再加上一个位移量就构成了这种寻址方式。例如: MOV EAX + 2 * EBX + 100H , DX 这条指令的功能是将16位寄存器DX之内容存储到,由EAX内容加上EBX寄存器内容的2倍,再加上位移量100H而生成的存储器地址。 在指令的操作码后面有mod R/M字节时,是最常用的一种指令格式,该字节为用户提供了灵活的寻址方式。存储器中操作数由mod R/M字节指定。被选中段内偏移量是位移量、基地址寄存器内容、一个变址寄存器的内容乘比例因子之和。mod R/M字节给出了有效地址的计算过程公式; 有效地址有效地址 段地址基地址段地址基地址+ (+ (变址变址 比
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年健康管理服务与保险结合
- 2026年游戏界面设计原则与实战技巧
- 2026年氧气传感器定期校验与更换周期
- 2026年在建工程脚手架安全搭设规范
- 上海立达学院《安全管理与法规》2025-2026学年第一学期期末试卷(A卷)
- 2026年企业年度培训预算编制与管理指南
- 上海立达学院《Android 移动应用开发课程设计》2025-2026学年第一学期期末试卷(B卷)
- 上海立信会计金融学院《阿拉伯国情》2025-2026学年第一学期期末试卷(A卷)
- 2026年化工企业生产过程危化品安全控制培训
- 上海立信会计金融学院《安全工程专业概论》2025-2026学年第一学期期末试卷(B卷)
- 深基基坑监测专项施工方案
- GB/T 41715-2022定向刨花板
- GB/T 7324-2010通用锂基润滑脂
- GB/T 5786-2000六角头螺栓细牙全螺纹
- 商界社会责任倡议(BSCI)行为守则标准解读验课件
- 中医特色科室建设的必要性课件
- 机械加工工件工艺和设计规范
- petrel RE详细培训资料
- 跌倒鱼骨图不良事件分析
- 初级会计经济法基础-重点归纳资料【绝密】
- TSG11-2020 锅炉安全技术规程
评论
0/150
提交评论