微处理器的指令系统.ppt
指令执行前: 指令执行后:
SS 1234H
3064H
AX 3064H
3064H
(SS)=3064H
(AX)保持不变
信息学院自动化仪表研究所
微机原理及接口技术
(三)直接寻址(Direct addressing)
操作数地址的16位偏移量,直接包含在指令中, 存放在代码段中指令操作码之后, 但操作数一般存放在数据段中, 必须先求出操作数的物理地址, 然后再访问存储器才能取得操作数。
AH
AL 13000H
34H
堆
12H 34H
栈
12H
段
执行后:PA=13000H (13000H)=1234H
微机原理及接口技术
例:MOV BX,[DI]
DS 6000H
DI 2000H
(DS)=6000H
60000
(DI)=2000H
+ 2000
...
PA=62000H
62000
(62000H)=50A0H
BH
BL 62000H
AOH
数
(BX)=50A0H
50H A0H
据
50H
段
...
寄存器间接寻址方式 信息学院自动化仪M表O研V 究B所X,[DI]
BP、BX、SI、DI寄存器中。
1、若选择SI、DI、BX作为间接寻址 操作数一般在现行数据段区域中,用(DS)作为段地址。 即操作数物理地址为: 物理地址PA=16 d ×(DS)+(BX) 物理地址PA=16 d × (DS)+(SI) 物理地址PA=16 d × (DS)+(DI)
信息学院自动化仪表研究所
信息学院自动化仪表研究所
1、8086、8088寻址方式
微机原理及接口技术
(一)立即寻址
(Immediate addressing)
(二)寄存器寻址方式
(Register addressing)
(三)直接寻址
(Direct addressing)
(四)寄存器间接寻址方式(Register indirect addressing)
微机原理及接口技术
2 、若选择BP寄存器作为间接寻址
操作数在堆栈段区域中,用SS寄存器的内容作为段地址。
操作数物理地址:
SS
BP
1000H
3000H
PA=16d × (SS)+(BP)
例: MOV [BP], AX
10000
H ,
13000
(BP)=3000H , (AX)=1234H
信息学院自动化仪表研究所
微机原理及接口技术
(一)立即寻址(Immediate addressing)
操作数直接存放在指令中,紧跟在操作码之后,作为指 令 的一部分,存放在代码段里,这种操作数称为立即数。
立即数可以是8位或16位的。
例: MOV AL,05H 指令执行后: (AL)=05H
AL
...
第三章 8086微处理器的指令 系统
§3-1 寻址方式 §3-2 指令系统
微机原理及接口技术
§3-18086/8088的寻址方式
信息学院自动化仪表研究所
1、指令系统概念和指令组成
微机原理及接口技术
(1)、指令系统概念
计算机通过执行指令序列来解决问题, 每种计算机都有一组指令集提供用户使用, 这组指令集就称为计算机的指令系统。
或(10H)
物理地址 : PA=16d×(DS)+EA IBMPC机允许数据存放在数据段以外的其它段中。
此时应在指令中指定段跨越(可以是CS,SS,ES)。
信息学院自动化仪表研究所
微机原理及接口技术
例:MOV AX,[3100H]
DS
6000H
...
(DS)=6000H , (63100H)=3050H
(五)寄存器相对寻址方式(Register relative addressing)
或变址寻址(Index Addressing) (六)基址加变址寻址方式(Based indexed addressing)
(七)相对基址加变址寻址方式(Relative based indexed addressing)
段内偏移量为适应各种数据结构的需要,可以有几个部分组 成,所以也把它称为有效地址EA。
信息学院自动化仪表研究所
寻址方式不同EA的构成不同。
微机原理及接口技术
归纳EA可有多种情况构成: 直接寻址,寄存器间接寻址,寄存器相对寻址, 基址加变址寻址,相对基址加变址寻址。
寻址方式——如何寻找操作数。 不同寻址方式实质上是构成它段内的偏移量的方法不同。
(2)、指令组成
计算机中指令由操作码字段和操作数字段两部分组成。 一条可以由1~7个字节组成。
操作码字段-----―指示计算机要执行的操作, 操作数字段-----―指出在指令执行操作过程中所需要的操作数;
可以是操作数本身; 可以是操作数地址或是地址的一部分; 可以是指向操作数地址的指针
或其他有关 操作数的信息。
60000
操作码
代
则:(AX)=3050H
+ 3100
00
码 段
31
63100 ...
63100H 50H
AH AL
30H
数 据
30H 50H
段
...
直接寻址方式
信息学院自动化仪表研究所
微机原理及接口技术
(四) 寄存器间接寻址方式(Register indirect addressing)
操作数在存储器中, 操作数地址的16位偏移量包含在:
信息学院自动化仪表研究所
➢操作数在内存数据区
微机原理及接口技术
操作数在内存数据区,操作数字段包含着此操作数地址。
在8086中,任何内存地址是由两部分组成:
段的基地址:单元所在段的基地址 (大部分情况是数据段寄存器DS中);
段内偏移量:此单元与段基地址的距离。
有效地址EA(Effective Address) :
05H
操作码 指
代
05H 令 码
段
...
信息学院自动化仪表研究所
微机原理及接口技术
(二)、寄存器寻址方式 (Register addressing)
操作数在寄存器中,指令指定寄存器号。
这种寻址方式因为操作数在寄存器中,不需要访问存储 器,运算速度较高。
例:
指令执行前:
(AX)=3064H (SS)=1234H MOV SS,AX 指令执行后:
信息学院自动化仪表研究所
(3)、操作数的存放
微机原理及接口技术
操作数的存放不外乎三种情况:
➢操作数包含在指令中 即指令的操作数字段包含操作数本身。这种操作数为立即数。 例:MOV AL , 08H
➢操作数包含在CPU的一个内部寄存器中
例:INC CX
指令中的操作数字段是CPU内部寄存器的一个编码。 这种寻址方式称为寄存器寻址。