微机原理CH38086的寻址方式.ppt_第1页
微机原理CH38086的寻址方式.ppt_第2页
微机原理CH38086的寻址方式.ppt_第3页
微机原理CH38086的寻址方式.ppt_第4页
微机原理CH38086的寻址方式.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

8086的寻址方式和指令系统,3.1 8086的寻址方式 3.2 指令的机器码表示方法(自学) 3.3 8086的指令系统,第三章,3.0 概述,指令:控制计算机完成指定操作的命令 机器指令:指令的二进制代码形式 例如:CD 21H 汇编指令:助记符形式的指令 例如:INT 21H 指令系统:CPU所有指令及其使用规则的集合,一、计算机中的指令,操作码,操作数,,操作数,说明要执行的是什么操作,操作对象,可以有0个、1个或2个,目的,源,二、指令的基本构成,指令举例:,ADD AX,SI+6,MOV AX , BX,操作码,INC BX,HLT,操作数,操作数位置: EU寄存器、BIU指令队列、存储器、I/O端口,三、操作数存放位置,地址总线AB,数据总线DB,控制总线CB,称为:立即数,不同位置操作数的指令执行速度不同: 操作数在寄存器中指令执行速度快:在CPU内部可立即执行; 立即数寻址指令执行速度较快:直接从指令队列中取数; 操作数在存储器或I/O端口中指令执行速度较慢:通过总线CPU交换数据 寻址方式: 指令中说明操作数所在地址(位置)的方法,3.1 8086的寻址方式,1、含义: 操作数是立即数(即8位或16位的常数),直接包含在指令中。 2、特点: 翻译成机器码时,立即数是指令的一部分,紧跟在操作码之后存放在代码段内。在取出指令的同时也就取出了操作数,立即有操作数可用,所以称之为立即寻址。,下面以MOV指令的源操作数为例,说明8086的各种寻址方式,一、立即寻址方式,3、作用: 常用于给寄存器赋初值。 例:MOV CX,2A50H 解:将立即数2A50H送到CX寄存器中。,4、注意事项: 立即数不能作目的操作数 如:MOV 26H,AL 以字母开头的立即数出现在指令中时,前面加“0” 如:MOV AX,0ABC1H 长度要一致 如:MOV AL,0ABC1H ,1、含义: 操作数存放在指令指定的CPU内部寄存器中。 2、特点: 16位操作数:AX、BX、CX、DX、SI、DI、SP、BP等, IP和PSW除外。 8位操作数:AH、AL、BH、BL、CH、CL、DH、DL。 3、作用: 寄存器之间传递数据。,二、寄存器寻址方式,例:MOV DX,AX 解:AX内容送到DX中。 (AX内容不变) 例: MOV BL,AL 4、注意事项: 源操作数与目的操作数长度要一致 寄存器寻址与段地址无关 MOV AX,BL ;长度不同 MOV ES:AX,DX ;寄存器与段无关,第三至第七种寻址方式: 1)操作数均位于存储器中,内存操作数书写时均要加 ; 2)CPU需找出操作数的物理地址; 3)存储器操作数 物理地址 逻辑地址 段基址:偏移地址 默认规则 指令中给出,有效地址EA:PC机中操作数的偏移地址,1、含义: 操作数在存储单元中;有效地址EA由指令直接给出 2、特点: 先求出操作数的物理地址,再从存储器中取操作数。 通常默认的段寄存器是DS; 操作数的物理地址 = DS*10H + EA 3、作用: 实现对存储单元的读/写操作。,三、直接寻址方式,例:MOV AL,2000H 解:设DS = 3000H;(32000H)= 1234H 由指令得:EA = 2000H 物理地址 = 163000H 2000H = 32000H 则:指令执行后AL = 34H 注:如用AX替代AL,则AX=1234H 指令执行过程如下图所示。,3 4,4、注意事项: 可用段超越前缀修改默认段 如:MOV AX,ES:2000H 物理地址ES10H+2000H 可使用符号地址 如:VAL DW 1234H,5678H MOV AX,VAL 等价于 MOV AX,VAL 指令执行后:AX=1234H,四、寄存器间接寻址,特点:存储器操作数的有效地址由寄存器给出。,可用的寄存器:BX、BP、SI、DI,BX、SI、DI 默认段为DS段,物理地址=DS*10H+BX(或SI、DI),BP 默认段为SS段,物理地址=SS*10H+BP,例:MOV AX,BX 设:DS=2000H,BX=1064H,(21064H)=2010H,注意: 中只能使用BX、BP、SI、DI 如:MOV CX,AX 可用段超越前缀修改默认段 如:MOV AX,ES:BX 物理地址ES10H+BX,五、寄存器相对寻址,特点:存储器操作数的有效地址是基址或变址寄存器的内容与8位或16位位移量(Disp)之和。即:,操作数的物理地址=16DS BX/SI/DI disp 或=16SS BP disp,例:MOV AX,BP+1234H 若BP=1000H,SS=2000H,(22234H)=2010H,六、基址加变址寻址方式,特点:操作数的有效地址是一个基址寄存器(BX、BP)与一个变址寄存器(SI、DI)内容之和。即:,操作数的物理地址=16DS BX SI/DI 或=16SS BP SI/DI,例: MOV AX, BXSI MOV AX, BX+SI MOV AX, DS:BPDI,注意: 同一组内的寄存器不能同时出现。 错误例: MOV AX, BXBP MOV AX, DISI,七、相对的基址加变址寻址方式,特点:操作数的有效地址是一个基址寄存器(BX、BP)与一个变址寄存器(SI、DI)内容,再加上8位或16位位移量之和。即:,操作数的物理地址=16DSBXSI/DI8/16位disp 或=16SSBPSI/DI8/16位disp,例:MOV AX,MASKBXSI 或:MOV BX,MASKBXSI 设:DS=2000H,SI=0300H,BX=1500H,MASK=0200H, (21A00H) = 26BFH 则:物理地址=16DS SI BX 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、隐含寻址: 指令中不指明操作数,但有隐含规定的寻址方式。 如:指令DAA ;对寄存器AL中的数据进行十进制数调整,结果仍保留在AL中。 2、一条指令有多种寻址方式: 源操作数和目的操作数同样适用上述寻址方法。 3、I/O端口寻址 (后面讨论) 4、转移类指令寻址(后面讨论),八、其它说明,作 业,教材P121 3,课堂练习,教材P121 1、2,习题1:分别说明下列指令的源操作数和目的操作数各采用什么寻址方式?,MOV AX, 2408H MOV CL, 0FFH MOV BX, SI MOV 5BX, BL MOV BP+100H, AX MOV BX+DI, $ MOV DX, ES:BX+SI MOV VALBP+DI, DX IN AL,05H MOV DS,AX,已知DS=1000H,BX=0200H,S

温馨提示

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

评论

0/150

提交评论