微机原理:CH3(1) 8086的寻址方式_第1页
微机原理:CH3(1) 8086的寻址方式_第2页
微机原理:CH3(1) 8086的寻址方式_第3页
微机原理:CH3(1) 8086的寻址方式_第4页
微机原理:CH3(1) 8086的寻址方式_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、8086的寻址方式和指令系统3.1 8086的寻址方式3.2 指令的机器码表示方法(自学)3.3 8086的指令系统第三章3.0 概述指令:控制计算机完成指定操作的命令机器指令:指令的二进制代码形式 例如:CD 21H汇编指令:助记符形式的指令 例如:INT 21H一、计算机中的指令操作码 操作数,操作数说明要执行的是什么操作操作对象,可以有0个、1个或2个目的源二、指令的基本构成指令举例:ADD AX,SIMOV AX , 1000H操作码INC BXHLT操作数操作数位置(EU执行指令时): EU寄存器、BIU指令队列、存储器、I/O端口不同位置操作数的指令执行速度不同:操作数在寄存器中指

2、令执行速度快立即数寻址指令执行速度较快操作数在存储器或I/O端口中指令执行速度较慢 寻址方式: 指令中说明操作数所在地址(位置)的方法三、操作数存放位置称为:立即数3.1 8086的寻址方式1、特点: 操作数是立即数(即8位或16位的常数),直接包含在指令中。下面以MOV指令的源操作数为例,说明8086的各种寻址方式一、立即寻址方式例:MOV CX,2A50H解:将立即数2A50H送到CX寄存器中。操作码502A2A50CHCLCXMOV CX , 2A50H2、注意事项:立即数不能作目的操作数 如:MOV 26H,AL 以字母开头的立即数出现在指令中时,前面加“0” 如:MOV AX,0AB

3、C1H长度要一致 如:MOV AL,0ABC1H 1、特点: 操作数存放在指令指定的CPU内部寄存器中。2、常用寄存器:16位操作数:AX、BX、CX、DX、SI、DI、SP、BP等。 8位操作数:AH、AL、BH、BL、CH、CL、DH、DL。二、寄存器寻址方式 例:MOV DX,AX解:AX内容送到DX中。 (AX内容不变)例: MOV BL,AL 3、注意事项:源操作数与目的操作数长度要一致寄存器寻址与段地址无关 MOV AX,BL ;长度不同 MOV ES:AX,DX ;寄存器与段无关2A502A50AH ALDH DLDX AX MOV DX,AX第三至第七种寻址方式:1)操作数均位

4、于存储器中,内存操作数书写时均要加 ;2)CPU需找出操作数的物理地址;3)存储器操作数 物理地址 逻辑地址 段基址:偏移地址 默认规则 指令中给出有效地址EA:PC机中操作数的偏移地址1、特点:操作数在存储单元中;有效地址EA由指令直接给出EU执行时:先求出操作数的物理地址,再从存储器中取操作数。 通常默认的段寄存器是DS;操作数的物理地址 = DS*10H + EA三、直接寻址方式例:MOV AL,2000H解:设DS = 3000H;(32000H)= 1234H 由指令得:EA = 2000H 物理地址 = 163000H 2000H = 32000H 则:指令执行后AL = 34H注

5、:如用AX替代AL,则AX=1234H 如用AH替代AL,则AH=34H3、注意事项:可用段超越前缀修改默认段如:MOV AX,ES:2000H 物理地址ES10H+2000H可使用符号地址如:VAL DW 1234H,5678H MOV AX,VAL 等价于 MOV AX,VAL 指令执行后:AX=1234H四、寄存器间接寻址特点:存储器操作数的有效地址由寄存器给出。可用的寄存器:BX、BP、SI、DIBX、SI、DI默认段为DS段物理地址=DS*10H+BX(或SI、DI)BP默认段为SS段物理地址=SS*10H+BP例:MOV AX,BX设:DS=2000H,BX=1064H,(2106

6、4H)=2010HDS 2000 20000+ 01064 21064BX 1064指令区操作码操作码 地址增长方向数据区2106421065102020 10AX注意: 中只能使用BX、BP、SI、DI 如:MOV CX,AX 可用段超越前缀修改默认段 如:MOV AX,ES:BX 物理地址ES10H+BX五、寄存器相对寻址特点:存储器操作数的有效地址是基址或变址寄存器的内容与8位或16位位移量(Disp)之和。即:BXBPSIDI8 disp16 dispEA=操作数的物理地址=16DS BX/SI/DI disp 或=16SS BP disp例:MOV AX,BP+1234H若BP=10

7、00H,SS=2000H,(22234H)=2010H程序区操作码Disp-L34DispH 12地址增长方向SS 2000BP 1000 20000 1000 + 1234 22234AX 20 10AH AL堆栈区22234H22235H 10 20 六、基址加变址寻址方式特点:操作数的有效地址是一个基址寄存器(BX、BP)与一个变址寄存器(SI、DI)内容之和。即:操作数的物理地址=16DS BX SI/DI 或=16SS BP SI/DIBXBPSIDIEA=+例: MOV AX, BXSI MOV AX, BX+SI MOV AX, DS:BPDI注意:同一组内的寄存器不能同时出现在

8、一个 。错误例: MOV AX, BX+BP MOV AX, DI+SI七、相对的基址加变址寻址方式特点:操作数的有效地址是一个基址寄存器(BX、BP)与一个变址寄存器(SI、DI)内容,再加上8位或16位位移量之和。即:操作数的物理地址=16DSBXSI/DI8/16位disp 或=16SSBPSI/DI8/16位dispEA=BXBP+SIDI8位 disp16位 disp+例:MOV AX,MASKBXSI 或:MOV BX,MASKBXSI设:DS=2000H,SI=0300H,BX=1500H,MASK=0200H, (21A00H) = 26BFH则:物理地址=16DS SI BX

9、 MASK =20000H0300H1500H0200H =21A00H所以:指令执行后,AX26BFH带方括号的地址表达式必须遵循下列规则:1、立即数可以出现在方括号内,表示直接地址,如2000H。2、只有BX、BP、SI、DI可出现在 内,可单独出现,也可相加,或与常数相加,但:BX和BP寄存器、SI和DI寄存器不允许出现在同一个 内。存储器操作数寻址方式特点:3、方括号表示相加,下面几种写法等价: 6BXSI; BX+6SI; BX+SI+6 4、不同寄存器对应不同的隐含段基址: SS:BP; DS:BX,SI,DI;可用段超越前缀修改段基址。1、隐含寻址: 指令中不指明操作数,但有隐含规定的寻址方式。 如:指令

温馨提示

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

评论

0/150

提交评论