汇编寻址.doc

上传人:11****ws 文档编号:3209265 上传时间:2019-05-25 格式:DOC 页数:4 大小:49KB
下载 相关 举报
汇编寻址.doc_第1页
第1页 / 共4页
汇编寻址.doc_第2页
第2页 / 共4页
汇编寻址.doc_第3页
第3页 / 共4页
汇编寻址.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二、立即数寻址( Immediate Addressing)这种方式下的操作数直接存放在指令中,是紧跟在操作码之后的 DATA,它作为指令的组成部分放在代码段中,随着取指令一起取到指令队列,执行时直接从指令队列中取,而不必执行总线周期。立即数可以是 8 位,也可以是 16位。如果是 16 位数,则低位字节数存放在低地址单元,高位字节数存放在高地址单元。 例如:MOV AL,C3H ;执行后,(AL)=C3HMOV AX,2050H ;执行后,(AX)=2050H,其中:(AH)20H,(AL)50H。 这种寻址方式只能用于源操作数,且因操作数是直接从指令中取得,不执行总线周期,所以这种寻址方式

2、的显著特点是执行速度快,主要用来给寄存器赋初值。三、寄存器寻址(Register Addressing)其操作数来源于 CPU 的内部寄存器,指令中直接给出寄存器名。对于 16位的操作数,寄存器可以是:AX,BX,CX,DX,SI,DI,SP 和 BP;对于 8位的操作数,寄存器可以是 AL,BL,CL,DL 及 AH,BH ,CH,DH,可见表 3-2 中 MOD=11 时的情况。 例如:INC CX ;执行后,(CX)-(CX)1MOV DS,AX ;指令执行前,若 (AX)=2100H,执行后,(DS)2100H,并且(AX)不变。 一条指令中,可以对源操作数采用寄存器寻址方式,也可以对

3、目的操作数采用寄存器寻址方式,还可以两者都用寄存器寻址方式。 采用寄存器寻址方式的指令在执行时,操作就在 CPU 内部进行,不需要执行总线周期,因此,执行速度快。3直接寻址(direct addressing) 直接寻址的特点:操作数一般存放在存储器的数据段中,而操作数的有效地址 EA 由指令给出。 物理地址(DS)16EA例如: MOV AX, 2000H ; 将有效地址 EA2000H 字单元中的内容; 传送到 AX 寄存器。 在汇编语言中,带方括号“ ”的操作数表示存储器操作数,括号中的内容作为存储单元的有效地址 EA。存储器操作数本身并不能表明地址的类型,而需通过另一个寄存器操作数的类

4、型或别的方式来确定。上例中由于目标操作数AX 为字类型,源操作数也应与之配套,所以有效地址 EA2000H 为字单元。设 DS3000H物理地址3000H162000H32000H即将存储器 32000H 和 32001H 两个存储单元的内容高位字节对应高地址,低位字节对应低地址,送到 AX 寄存器中。 直接寻址允许用符号地址来代替数值地址,例如:MOV AX, DATA ,变量 DATA 为存放操作数的存储单元的符号地址。还可写成 MOV AX, DATA。直接寻址适用于处理单个变量。4寄存器间接寻址(register indirect addressing) 寄存器间接寻址的特点:操作数在

5、存储器中,其有效地址 EA 存放在某个寄存器中。 注意:寄存器的使用在 16 位寻址和 32 位寻址时不一样。 (1)16 位寻址 有效地址存放在 SI, DI, BX, BP中。如果指令中指定的寄存器是 BX, SI, DI,则操作数在数据段中,段基址在 DS中,操作数的物理地址为: 如果指令中指定的寄存器是 BP,则操作数在堆栈中,段基址在 SS 中,操作数的物理地址为: 物理地址(SS)16(BP)例如: MOV AX, BP 6间址寻址(indexed relative) 间址寻址中,有效地址的计算公式如下:EA(间址寄存器)位移量(8 位或 32位)(1)16 位寻址 仅 SI 和

6、DI 可作为间址寄存器,默认 DS 为段基址寄存器。4.基址变址寻址 用这种寻址方式,存储器操作数的有效地址 EA 是由指令指定的一个基址寄存器和一个变址寄存器的内容之和,即 (BX) (SI)EA=(BP)+(DI)这共有四种组合情况,将根据基址是在 BX,还是在 BP 中,确定寻址操作是在数据段,还是在堆栈段。对于前者,段寄存器使用 DS,对于后者,段寄存器使用 SS。基址寻址的操作数的实际地址为:(SI)PA=16*(DS)+(BX)+ (DI)(SI)PA=16*(SS)+(BP)+ (DI)例如: MOV AX,BXSI 或写为:MOV AX,BX 十 SI设:(DS=2000H ,(BX)=0158H,(SI)=10A4H ,则:EA=0158H+10A4H=11FCHPA=20000H 11FCH=211FCH指令执行后,将把 2ll FCH 和 2ll FDH 相邻两个单元内容传送到 AX。而(AL)=(211FCH),(AH)=(2llFDH)。 基址变址寻址方式也可使用段超越前缀。例如:MOV CL,ES:BXSI。 这种寻址方式同样适合数组或表格的处理,由于基址和变址寄存器中的内容都可以修改,因而在处理二维数组时特别方便。 用基址变址寻址时,也允许诺一步 8 位或 16 位的位移量,带位移量的基址加变址寻址又称为相对的基址寻址。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。