数据的寻址方式_第1页
数据的寻址方式_第2页
数据的寻址方式_第3页
数据的寻址方式_第4页
数据的寻址方式_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

数据的寻址方式

1、立即寻址——操作数存放在指令中,紧跟在操作码之后。

MOV AL,10H 汇编码 B010H 机器码 源操作数:10H立即数构成指令的一部分。例

MOV SI,20H ; MOV AL,01000011B ; MOV AX,4346H ; MOV AX,1506 ; MOV AL,‘B’ 20HSI01000011BAL4346HAX1506AX41HALMOV 3,AL

MOVAH,3064H立即数不能作目的操作数源目的操作数的字长一致2.2寻址方式2、寄存器寻址——操作数在指定的寄存器中。例1 MOV AL,BL ;BL值送AL例2

MOV AX,BX ;BX的内容送AX

例3

MOV CL,DH ;DH值送CL

MOV SS,AL

MOVAH,BX字节寄存器只有AH、AL、BH、BL、CH、CL、DH、DL立即寻址、寄存器寻址

的操作数位于指令中、CPU中,无须再访问内存中存储单元,以下各类存储器寻址方式则需访问内存中存储单元,以取出操作数。存储器寻址3.直接寻址——有效地址EA由指令直接给出

有效地址EA:操作数的偏移地址物理地址PA=(DS)

16d+EA

隐含的段为数据段DS适于处理单个变量50H30H32000AHAL3050(AX)=3050H32001地址增量例:MOVAX,[2000H]EA=2000H,假设(DS)=3000H,那么(PA)=32000H

存储器寻址4.寄存器间接寻址(间接寻址)——EA在基址寄存器(BX、BP)或变址寄存器(SI、DI)中偏移地址EA:BX、SI、DI所在段:当前数据段物理地址PA=(DS)16+(BX)(SI)(DI)偏移地址EA:BP→SS所在段:堆栈段 物理地址PA=(SS)16+(BP)MOVAX,[BX]PA=16d(DS)+(BX)MOVAX,[BP] PA=16d(SS)+(BP)MOVAX,[SI] PA=16d(DS)+(SI)MOVAX,[DI] PA=16d(DS)+(DI)存储器寻址例1 执行指令MOV AX,[BX]后,AX的值是多少?已知: (DS)=2000H,(SS)=1000H,(BP)=120H (BX)=100H,(AX)=5678H,(20100H)=5678H解:偏移地址EA=(BX)=100H物理地址PA=物理地址PA=(DS)16+(BX)=20000H+100H=20100H

20100AHAL(AX)=5678H2010156H78HBHBLEA=(BX)2000H0H2000H01H00H1620100HPA(DS)78H56H0CH52H内存存储器寻址例2

执行指令MOV AX,[BP]后,AX的值是多少?已知:(DS)=2000H,(SS)=1000H,(BP)=120H (BX)=100H,(AX)=5678H,(10120H)=BCF08H解:偏移地址EA=(BP)=0120H物理地址PA=(SS)16+(BP)=10000H+100H=10120H10120AHAL(AX)=5678H10121BCHF0HEA=(BP)1000H0H1000H01H20H1610120HPA(SS)F0HBCH0CH52H内存存储器寻址不允许使用AX、CX、DX存放EA

MOVAX,[CX]适于数组、字符串、表格的处理存储器寻址5、基址寻址偏移地址EA=[BX][BP]X

,8位16位移量+物理地址PA=[SS]×16+[BP]X

,8位16位移量+物理地址PA=[DS]×16+[BX]X

,8位16位移量+存储器寻址例1 执行指令MOV AX,[BX-6]后,AX的值是多少?已知: (DS)=2000H,(SS)=1000H,(BP)=120H (BX)=100H,(AX)=1234H,(200FAH)=ABCDH解:偏移地址EA=(BX)-6=0FAH物理地址PA=物理地址PA=(DS)16+(BX)-6=20000H+100H-6=200FAH200FAAHAL(AX)=ABCDH200FBABHCDH2000H0H2000H01H00H16200FAHPADSEA=(BX-6)00HFAH-6CDHABH0CH52H内存存储器寻址例2

执行指令MOV CX,6[BP]后,AX的值是多少?已知:

(DS)=2000H,(SS)=1000H,(BP)=120H (BX)=100H,(CX)=0012H,(10126H)=1234H解:偏移地址EA=(BP)+6=126H物理地址PA=物理地址PA=(SS)16+(BP)+6=10000H+120H+6=10126H34H12H10126CHCL(CX)=1234H1012712H34H1000H0H1000H01H20H1610126HPASSEA=(BP+6)01H26H+60CH52H内存存储器寻址6、变址寻址偏移地址EA=[SI][DI]X

,8位16位移量+物理地址PA=[DS]×16+[SI]X

,8位16位移量+存储器寻址7、基址变址寻址MOVAX,6[BX][DI]或MOVAX,[BX+DI+6]MOV [BP+DI-9],AX必须是一个基址寄存器和一个变址寄存器的组合

MOVAX,[BX+BP+9]

MOVAX,10H[SI][DI]偏移地址EA=+[SI][DI][BX][BP]+X

,8位16位移量物理地址PA=[DS]×16+[BX]+[SI][DI]+X

,8位16位移量物理地址PA=[SS]×16+[BP]+[SI][DI]+X

,8位16位移量跨段问题(段超越)

针对当前段,各段与寄存器有关的内存寻址之间是固定搭配的。

DS:BX,DI,SI SS:BP加上段前缀,可打破这种关系完成跨段操作。例: MOV AX,ES:[BX] PA=(ES)×16+(BX) MOV CX,SS:[SI] PA=(SS)×16+(SI) MOV CS:[BX+DI],AX PA=(

温馨提示

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

评论

0/150

提交评论