微机原理与接口技术-8086指令系统PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
15
一、数据传送指令
1、基本传送指令 MOV X, Y; X←Y
该指令可进行的传送有: RR←RR’,SER; RR,SER,AC←[MEM]; RR,[MEM]←NN
段寄存器
CS DS SS ES
存储器
16位 8\16位 立即数
8\16位
通用寄存器
AX BX CX DX 8\ BP SP SI DI 16 AL BL CL DL 位
● 基址(Base Address):它是存放在基址寄存器BX或BP中的内容。
● 变址(Index Addess):它是存放在变址寄存器SI或DI中的内容。
对于某条具体指令,这三个地址分量可有不同的组合。如果存 在两个或两个以上的分量,那么就需要进行加法运算,求出操作数 的有效地址(EA),进而求出物理地址(PA)。正是因为这三种地址分 量有不同的组合,才使得对存储器操作数的寻址产生了若干种不同 的方式。
EA=
[BX] [BP] [SI] [DI]
寄存器间接寻址
EA=
[BX] [BP] [SI] [DI]
8位偏移量 16位偏移量
寄存器间接相对寻址
EA表示有效地址,[BP]的段地址寄存器为SS, 其余段地址寄存器为DS
操作数物理地址=DS×10H+EA
.
7
【例1】寄存器和存储器内容分别为:(AX)=0, (BP)=0030H,(SS)=2000H,(20030H) =1234H
执行指令:MOV AX ,[BP] 执 行 后 : ( AX)=?,(BP)=?,(SS)=?, (20030H)=? 图形表示如下:
.
8
【例2】
设执行前: (AX)=0040H,(BX) =0030H,(DS)=2000H,(20036H) =0050H
执行指令:ADD 6[BX],AX 执行后:(AX)=?,(BX)=?,(DS)
例:MOV AX, [2000H]
若DS=3000H,则物理地址=3000H ×10H+2000H
30000H + 2000H
32000H
32000H 50H 32001H 30H
[32000H]=50H [32001H]=30H
指令执行后:
低字节在前高字节在后
AH=30H,AL=50H
.
6
四、寄存器间接寻址
第三章 8086/8088指令系统
指令是计算机工作的指示和命令,它 是一组代表一定意义的二进制编码信息, 程序是按一系列按一定规则顺序排列的指 令,而计算机(微型机)的整个工作过程 就是执行程序的过程。
.
1
指令的含义包含①指明该做什么?②指明对 谁做?
指令由两部分构成①操作码,②操作数。操 作码指明计算机做什么,操作数是参与操作的数。
一、立即寻址 操作码后紧跟着的数就是实际参与操作的
数,该操作为指令代码存放在代码段中。
二、寄存器寻址 操作码紧跟着的是寄存器的编码,该寄存器
中存放的是实际参与操作的数。
.
5
三、直接寻址 操作码后紧跟着的是一个存储单元的有效地
址(偏移地址),该单元存放的是实际参与操作 的数。
操作数物理地址=DS×10H+EA
=?,(20036H)=? 图形表示如下:
.
9
执行:(20036H)+(AX) →20036H 执行后:(AX)=0040H,(BX)=0030H,(DS) =2000H,(20036H)=0090H。
.
10
有效地址可以由以下三种地址分量组成:
● 位移量(Displacement):它是存放在指令中的一个8位或16位的 数,但它不是立即数,而是一个地址。
AH BH CH DH
MOV 指令数据传送方向
.
16
例:MOV MOV MOV MOV
MOV
MOV
MOV MOV MOV
AX, BX ;将BX中的16位二进制数送AX AL, CL ;将CL中的8位二进制数送AL ES, DX ;将DX中的16位二进制数送ES AX,[BX] ;将[BX]中的16位二进制数送AX。
指令的格式是: 操作码 操作数 …… 操作数
操作码 寻址方式(码) 形式地址码
在指令中操作码是不可缺少的,但操作数可 以没有,也可以有一个操作数或两个操作数。
.
2
根据操作数的个数,指令格式可分为以下几种: 1. 零操作数指令
指令格式中没有操作数或操作数是隐含约定的。 2. 一操作数指令 指令格式中有一个操作数,或还有一个隐含的操作 数(实际上是双操作数)。 3. 二操作数指令 指令中有两个操作数,其中一个为目的操作数,另 一个为源操作数。
.
3
由此可见,操作数可分为源操作数和目的操作 数。
源操作数:只能读取的操作数。 目的操作数:即可读取又可写入(存放操作结 果)的操作数。
操作数又可分为两大类:数据操作数和地址操 作数。
.
4
§3.1 8086/8088寻址方式
Leabharlann Baidu
寻址方式——找到实际参与操作的数的方 式,从另一角度讲,也可以说是实际参与操作 的数的存取方式,下面介绍有关操作数的寻址 方式。
AL←[BX], AH←[BX+1]
[DI],AX ;将AX中的16位二进制数送[DI]和 [DI+1]单元中
CX,[1000H];将[1000H]和[1001H]中的16位二进 制数送CX单元中
BX, 5040H ;将5040H送BX AL,‘E’; 将字符E送AL,即将E的ASCII码送AL AX,30H[BX+SI];将30H+BX+SI单元的内容送AX
8086/8088指令系统有133条指令,共
6组,功能较强
数据传送指令
串处理指令
算术指令
控制转移指令
逻辑指令
处理机控制指令
.
14
为了更快的学习、领会指令系统,我们 作如下约定:
RR表示通用寄存器(AX,BX,CX,DX,BP,SP,SI,DI) SER表示段寄存器(CS,DS,ES,SS) MEM表示内存单元的有效地址,[MEM]表示该单元 的内容 AC表示AX或AL NN表示立即数 F表示标志寄存器
.
11
五、基址变址寻址
EA=
[BX] [BP]
+
[SI] [DI]
基址变址寻址
[BX]
[SI]
8位偏移量
EA= [BP] + [DI] + 16位偏移量 基址变址相对寻址
EA表示有效地址,[BP]的段地址寄存器为SS, 其余段地址寄存器为DS
操作数物理地址=DS×10H+EA
.
12
.
13
§3.2 8086/8088的指令系统