第三章 寻址方式_第1页
第三章 寻址方式_第2页
第三章 寻址方式_第3页
第三章 寻址方式_第4页
第三章 寻址方式_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章第三章 寻址方式3.1 寻址方式寻址方式 一、寻址方式及其公共问题 【寻址方式】指令中指明操作数存储位置(地址)的方法。 【寻址方式中的公共问题】 1. 操作数个数 两地址格式。3.1 寻址方式2有效地址与物理地址 【操作数可能的存放位置】 寄存器中,指令字中,存储器中(数据段,附加段,堆栈段)。【存储器寻址的物理地址形成】 物理地址 = 段基址 * 10H + 段内偏移。 【段内偏移地址(又称:有效地址EA)的形成方法】 通过5种基于存储器的寻址方式得到。 【段寄存器的隐含访问及取代规则】 BX,SI,DI & DS BP & SS 串操作时,SI & DS DI & ES 【段寄存器

2、的显式访问规则】 段跨越前缀3.1 寻址方式3寻址方式的两种程序写法 【宏汇编中写法:例】 MOV VAR1,BX 或 MOV VAR1,BX 【debug中的写法:例】 MOV 000A,BX4字操作 / 字节操作 / 双字操作 【隐式操作数类型】指令中能明确操作数的数据类型时。 例:VAR1 DB ? / MOV VAR1, 26 MOV AX,28H 【显式操作数类型】当指令中不能明确操作数的数据类型时,要使用伪操作符PTR,显式声明操作数的数据类型。 byte PTR / word PTR / dword ptr 例:MOV BYTE PTR 000A,28H / MOV WORD P

3、TR 000A,28H 5. 寻址方式的应用目标6指令与寻址方式的适应性 3.1 寻址方式二 立即寻址方式及其应用目标 【学习】寻址方法、书写方式、例子、特点与主要作用 【立即寻址方式】操作数以常量形式出现在指令字中,操作数随指令一起读入指令队列,不必执行读操作数周期。 【例】mov cx,9 ;B9 09 00 【例】mov ax,5807 ;B8 07 58 【用途】常量3.1 寻址方式三 寄存器寻址方式及其应用目标 【寄存器寻址方式】操作数为通用寄存器、段寄存器,8位/16位操作。由于寄存器就在CPU中,是最快速的存取操作数方法。在操作数既可放在寄存器中,又可放在存储器中时,以放在寄存器

4、中为佳。由于寄存器数量有限,又据专用性,故应合理分配寄存器。 【例】mov ax,cx ;89 C8 【例】mov cs,ax ;8E CB 【例】mov bh,28 ;B7 28 【用途】通用3.1 寻址方式四 存储器寻址方式-立即寻址方式及其应用目标 【立即寻址方式】指令中直接给出操作数所存的内存地址。该地址隐含“捆绑”DS段寄存器,可以使用段跨越前缀改变隐含“捆绑” 关系。 【例】mov ax,1000h ;A1 00 10 【例】mov al,0080h ;A0 80 00 【例】mov es:0324h,bh ;26 88 3E 24 03 【例】mov byte pte 1040h

5、,28h ;C6 06 40 10 28 【用途】变量3.1 寻址方式五 存储器寻址方式-寄存器间接方式及其应用目标 【寄存器间接方式】出操作数所存的内存地址由基址寄存器BX、BP或变址寄存器SI、DI给出,指令中指示寄存器。BX、SI、DI隐含“捆绑”DS段寄存器, BP隐含“捆绑”SS段寄存器,可以使用段跨越前缀改变隐含“捆绑” 关系。 【例】mov al,BX 【例】mov ax,BX 【用途】一维数组3.1 寻址方式六 存储器寻址方式-基址寻址方式及其应用目标 【基址寻址方式】操作数所存的内存地址由基址寄存器BX、BP及一个偏移常量相加而成,指令中指示基址寄存器及一个常量。 BX隐含“

6、捆绑”DS段寄存器, BP隐含“捆绑”DS段寄存器可以使用段跨越前缀改变隐含“捆绑” 关系。 【例】mov al,80HBX ; mov al, BX80H 【例】mov ax,BX+80H 【用途】一维数组、结构体中成员、结构数组3.1 寻址方式七 存储器寻址方式-变址寻址方式及其应用目标 【变址寻址方式】操作数所存的内存地址由变址寄存器SI、DI及一个偏移常量相加而成,指令中指示基址寄存器及一个常量。 隐含“捆绑”DS段寄存器, BP隐含“捆绑”DS段寄存器可以使用段跨越前缀改变隐含“捆绑” 关系。 【例】mov al,80HSI ; mov al, SI80H 【例】mov ax,DI+

7、80H 【用途】一维数组、二维数组、 结构体中数组成员之数据元素3.1 寻址方式八 存储器寻址方式-基址变址寻址方式及其应用目标 【基址变址寻址方式】操作数所存的内存地址由基址寄存器中的一个(BX、BP)及变址寄存器中的一个(SI、DI)相加而成,指令中指示基址寄存器及变址寄存器。基址采用BX则隐含“捆绑”DS段寄存器,基址采用BP则隐含“捆绑”SS段寄存器,可以使用段跨越前缀改变隐含“捆绑” 关系。 【例】mov al,80HBX+SI 【例】mov ax,BPDI 【用途】一维数组、二维数组、 结构体中数组成员之数据元素3.1 寻址方式九 寻址方式的应用举例 M3_01.asm :“立即寻

8、址方式”给变量、寄存器赋初值。 M3_01.asm :“寄存器寻址方式”在寄存器中快速处理操作数。 M3_03.asm :“直接寻址方式”用于处理变量。 M3_02.asm :“寄存器间接寻址方式”用于处理一维数组。 (数据段、附加段使用段跨越前缀) M3_04.asm :“基址/变址寻址方式”用于处理一维数组。 M3_05.asm :“基址/变址寻址方式”用于处理结构变量中的成员。中的成员。 M3_06.asm :“基址/变址寻址方式”用于处理结构数组。 M3_07a.asm :“变址寻址方式”用于处理源/目标 一维数组。 M3_07.asm :“基址变址寻址方式”用于处理二维数组。 M3_08.asm :“基址变址寻址方式”用于处理一维数组。 M3_09.asm :“基址变址寻址”用于处理结构变量中的数组成员。3.1 寻址方式十 双操作数指令的寻址搭配 mov指令的寻址搭配 P51 add、sub指令的寻址搭配 P53 双操作数指令的寻址搭配不支持双存储器寻址搭配的原因。十一 一些例子 【例】P49/问题3.2 【例】P50/问题3.3 【例】P50/问题3.4 【例】P54/问题3.5十二 课堂练习 P55/检测点3.13.2 CPU提供的栈机制一 栈的概念二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论