计算机基础课件 第3章_寻址方式和指令系统1

上传人:woxinch****an2018 文档编号:57228270 上传时间:2018-10-20 格式:PPT 页数:168 大小:1.15MB
返回 下载 相关 举报
计算机基础课件  第3章_寻址方式和指令系统1_第1页
第1页 / 共168页
计算机基础课件  第3章_寻址方式和指令系统1_第2页
第2页 / 共168页
计算机基础课件  第3章_寻址方式和指令系统1_第3页
第3页 / 共168页
计算机基础课件  第3章_寻址方式和指令系统1_第4页
第4页 / 共168页
计算机基础课件  第3章_寻址方式和指令系统1_第5页
第5页 / 共168页
点击查看更多>>
资源描述

《计算机基础课件 第3章_寻址方式和指令系统1》由会员分享,可在线阅读,更多相关《计算机基础课件 第3章_寻址方式和指令系统1(168页珍藏版)》请在金锄头文库上搜索。

1、1,微机原理与接口技术,2,第三章 8086的寻址方式和指令系统,8086的寻址方式 微机系统指令的机器码表示方法(不要求) 8086的指令系统,内 容 提 要,3-1 8086的寻址方式,概述,计算机的指令包括:操作码 操作数 操作的性质 操作的对象 存放在 寄存器、存储器、I/O端口地址、立即数(由寻址方式决定) 寻址方式:指令中说明操作数所在地址的方法。 指令操作数分类:单操作数、双操作数、无操作数。 (双操作数指令形式:操作码 目的操作数,源操作数),4,3-1 8086的寻址方式 概述,各种寻址方式指令执行速度不同: 操作数在寄存器中指令执行速度最快:在CPU内部立即执行; 立即数寻

2、址指令执行速度较快:直接从指令队列中取数; 操作数在存储器中指令执行速度较慢:通过总线与CPU交换数据。,5,3-1 8086的寻址方式 概述,8086指令的寻址方式类型: 一、立即寻址方式(立即数) 二、寄存器寻址方式(寄存器) 三、直接寻址方式 (存储器) 四、寄存器间接寻址方式 五、寄存器相对寻址方式 六、基址变址寻址方式 七、相对基址变址寻址方式 八、其它(I/O端口等),6,3-1 8086的寻址方式 立即寻址方式,一、立即寻址方式 (Immediate Addressing),1含义: 操作数是立即数(即8位或16位的常数),直接包含在指令中。 2特点: 翻译成机器码时,立即数是指

3、令的一部分,紧跟在操作码之后存 放在代码段内。在取出指令的同时也就取出了操作数,立即有操作数 可用,所以称之为立即寻址。 如果立即数是l6位数:高字节代码段的高地址单元,低字节低地址单元;,7,3-1 8086的寻址方式 立即寻址方式,例3.1: MOV AL,26H 例3.2: MOV CX,2A50H 解:将立即数2A50H送到CX寄存器中。 如图所示。,3注意: 立即数可以送到寄存器、一个存储单元(8位)、两个连续的存储单元(16位)中去; 立即数只能作源操作数,不能作目的操作数; 以AF打头的数字出现在指令中时,前面必须加数字0。以免与其它符号相混淆(如:MOV AX 0FF00H)。

4、,MOV CX, 2A50H,8,3-1 8086的寻址方式 寄存器寻址方式,二、寄存器寻址方式 (Register Addressing),1含义: 操作数包含在寄存器中,寄存器的名称由指令指定。 2特点: 16位操作数:寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等。 8位操作数:寄存器AH、AL、BH、BL、CH、CL、DH和DL。 例3.3 MOV DX,AX 解: (AX)送到CX寄存器中。 (又例: MOV AL,AH) 3注意:源操作数的长度必须与 目的操作数致。 如:MOV AX,BL 是非法指令,9,3-1 8086的寻址方式 直接寻址方式,三、直接寻址方式(D

5、irect Addressing),1含义: 存储单元的有效地址EA(即:操作数的偏移地址)直接由指令给出。 2特点: 机器码中,有效地址存放在代码段中指令的操作码之后,而该地址单元中的数据总是存放在存储器中。须先求出操作数的物理地址,再从存储器中取得操作数。 操作数的物理地址16DS EA,接下来的几种寻址方式,用于在存储器中寻找操作数,即指令的操作数在存储器中,要通过寻址方式求出物理地址才能获得操作数。,10,3-1 8086的寻址方式 直接寻址方式,例3.5 MOV AX,2000H 解:设DS = 3000H,由指令得:EA = 2000H (16位逻辑地址) 物理地址 = 16300

6、0H 2000H = 32000H 设32000H地址单元的内容为1234H,即(32000H)= 1234H 则结果为: AX = 1234H 指令执行过程如图所示。(注:如用AL替代AX,则AL=34H),11,注意:汇编语言中一般使用直接数值地址,而用符号地址代替,3段超越前缀 例3.7 MOV AX,ES:500 4. 符号地址 汇编语言中一般用符号地址代替直接数值地址,由编译器来计算操作数的有效直接地址,防止人工计算地址出错。 例3.10 AREA1 DW 0867H MOV AX, AREA1,12,3-1 8086的寻址方式 寄存器间接寻址方式,四、寄存器间接寻址方式(Regis

7、ter Indirect Addressing),1含义: 操作数的有效地址放在寄存器中。 2特点: 可以使用的寄存器有:基址寄存器BX、 BP,变址寄存器SI、DI 。 如果使用BX、SI、DI寄存器,则默认操作数在数据段中, 如果使用BP寄存器,则默认操作数在堆栈段中。 操作数的物理地址 16DS BX/SI/DI 或 16SS BP,13,3-1 8086的寻址方式 寄存器间接寻址方式,例3.11 MOV BX,SI 解:设:DS1000H,SI2000H,(12000H)318BH 则:物理地址 16DS SI 10000H 2000H 12000H 指令执行后,BX318BH,指令执

8、行过程如图所示。,此处书上有错,机器指令中 应该只有2字节操作码8B1C,14,3注意: 寄存器名称外必须加方括号,以区别寄存器寻址方式; 可以使用段超越前缀来从默认段以外的段中取得数据; 例 MOV BX,ES:SI,3-1 8086的寻址方式 寄存器间接寻址方式,15,3-1 8086的寻址方式 寄存器相对寻址方式,五、寄存器相对寻址方式(Register Relative Addressing),1含义: 操作数的有效地址是基址或变址寄存器的内容与8位或16位位移量(Displacement)之和。即 BX / BP EA = + 8位偏移量/16位偏移量 SI / DI 2特点: 使用

9、:BX、BP、SI、DI 。 操作数的物理地址 16DS BX/SI/DI COUNT 或 16SS BP COUNT,16,3-1 8086的寻址方式 寄存器相对寻址方式,例3.12 MOV BX,COUNT SI ;或:MOV BX,COUNTSI 解:设:DS3000H,SI2000H,位移量COUNT4000H, (36000H)=318BH 则:物理地址 16DS SI COUNT 30000H 2000H 4000H 36000H,指令执行后, BX318BH,17,3注意: 寄存器名称外必须加方括号,位移量可以在括号内,也可以在括号外; 段超越前缀来从默认段以外的段中取得数据;

10、例 MOV DH,ES:ARRAYSI,3-1 8086的寻址方式 寄存器相对寻址方式,18,3-1 8086的寻址方式 基址变址寻址方式,六、基址变址寻址方式(Register Relative Addressing),1含义: 操作数的有效地址是一个基址寄存器(BX、BP)的内容与一个变址寄存器(SI、DI)的内容之和。 2特点: 使用的寄存器:基址寄存器BX、BP,变址寄存器SI、DI 。 操作数的物理地址 16DS BX SI /DI 或 16SS BP SI /DI 3注意: 寄存器SI和DI、BP和BX不能同时出现在 中。,19,3-1 8086的寻址方式 基址变址寻址方式,例3.

11、13 MOV AX, BX SI ;或:MOV BX,BXSI 解:设:DS3000H,SI0500H,BX1200H,(31700H)=0ABCDH 则:物理地址 16DS SI BX 30000H 0500H 1200H 31700H,指令执行后, AX0ABCDH,20,3-1 8086的寻址方式 相对基址变址寻址方式,七、相对基址变址寻址方式(Relative Based Indexed Addressing),1含义: 操作数的有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容,再加上8位或16位位移量之和。即 BX SI EA= + +位移量 BP DI 2

12、特点: 使用的寄存器:基址寄存器BX、BP,变址寄存器SI、DI 。 操作数的物理地址 16DS BX SI /DI 8/16位位移量 或 16SS BP SI /DI 8/16位位移量 3注意: 寄存器SI和DI、BP和BX不能同时出现在 中。,21,3-1 8086的寻址方式 相对基址变址寻址方式,例3.14 MOV AX, MASKBX SI ;或:MOV BX,MASKBXSI 解:设:DS3000H,SI0300H,BX1500H,MASK=0200H, (21A00H)=26BFH 则:物理地址 16DS SI BX + MASK 20000H 0300H 1500H + 0200

13、H 21A00H,指令执行后, AX26BFH,22,3-1 8086的寻址方式 寻址方式总结,存储器操作数寻址方式总结: 带方括号的地址表达式必须遵循下列规则: 1.立即数可以出现在方括号内,表示直接地址。 2.只有BX、BP、SI、DI这四个寄存器可以出现在 内,它们可以单独出现,也可以相加,或与常数相加, 但:BX和BP寄存器、SI和DI寄存器不允许出现在同一个 内。 3.方括号表示相加,下面几种写法等价: 6BXSI; BX+6SI; BX+SI+6,23,3-1 8086的寻址方式 寻址方式总结,4不同寄存器对应不同的隐含段基址: SS:BP; DS:BX,SI,DI; 物理地址16

14、相应段基址 EA EA BX / BP SI / DI DISP (注:有效地址EA可以是单一寄存器、两个寄存器组合、和DISP组合;DISP也可以为0) 5. 可用段超越前缀修改段基址。,24,3-1 8086的寻址方式 其它,八、其它,1隐含寻址: 指令中不指明操作数,但有隐含规定的寻址方式。 如:指令DAA;对寄存器AL中的数据进行十进制数调整,结果仍保留在AL中。 2I/O端口寻址: 8086有直接端口和间接端口两种寻址方式。 直接端口寻址方式:指令直接提供端口地址8位立即数。可访问端口00FFH,即256个端口。 例如, IN AL, 63H ;表示将瑞口63H中的内容送进AL寄存器 间接端口寻址方式:端口地址由寄存器DX提供,端口号为0000FFFFH。,25,3-1 8086的寻址方式 其它,例如, MOV DX,213H ;DX=口地址号213H IN AL,DX ;AL端口213H中的内容 3一条指令有多种寻址方式: 源操作数可以使用上述介绍的各种寻址方式。目的操作数可以使用除 立即寻址方式以外的各种寻址方式。 例3.17 MOV BX, AL 解: 设:BX3600H,DS1000H,AL=05H 则:目的操作数的物理地址16DS BX 13600H 指令执行结果为(13600H)05H。 4转移类指令寻址(程序寻址),

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

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号