第三章 80X86微处理器的指令系统PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

隐含使用变址寄存器 SI、DI的特殊寄存 器间接寻址
SI:源操作数偏移地址
DI:目的操作数偏移地址
执行串操作指令后,SI和DI自动增/减量, 指向下一个操作数的偏移地址,增减量
由DF位及字长决定。
DF=0:字节 +1;字 +2
DF=1:字节 -1;字 -2
当串操作指令前有重复操作前缀REP,
则执行一次,CX-1CX,直到CX=0时停
第3章 8086的汇编语言程序设计
3.1 8086 的指令系统
3.1.1 8086指令的寻址方式 操作数的表示方式,大多情况是给出计算 操作数地址的方法 操作数分为两类:数据和转移地址,其寻 址方式有所不同 以8086为例
1
整体 概述
一 请在这里输入您的主要叙述内容

请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
2
3.1.1数据的寻址方式
立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 基址变址寻址 寄存器相对寻址 相对基址变址寻址 带比例因子的变址寻址
3
1.立即寻址
指令码的最后一个字节或两个字节是操作 数,例:MOV AX,1090H 立即数只能为整数和作为源操作数,可以 是二、十、十六进制数或用‘的字符串, 若为十六进制数的以A~F打头的应前面加0。
类型属性
FAR:段间转移;NEAR:
段内转移(不改变CS值)。
若转移范围在当前指令的-128~+127内,在 操作数前加SHORT。
例2:段间直接转移寻址
JMP FAR PTR START
14
2)段内寄存器寻址
指令中寄存器内容是转移地址,适用于段 内转移,寄存器可用通用寄存器。
例:JMP BX ;BX IP
12
6. 转移寻址方式
控制转移指令中的操作数称转移地址,指令执行后 代替IP值。 寻址方式有三种:
1)直接寻址 指令中给出转移地址,常用标号
(符号地址)。
例1: 相对寻址
JMP START;START IP
若指令中给出偏移量时,有效转移地址=(IP)
+Disp IP
13
标号属性
段属性
段基值
偏移量属性 段内偏移量
18
3.1.2 8086指令简析
8086指令系统有大约133条基本指令组成, 汇编级指令106条(以助记符计),分成六大 类: 数据传送指令 算术运算指令 位处理指令(逻辑运算和移位指令) 控制转移指令 串操作指令 处理器控制指令
19
1、数据传送指令
通用传送指令 地址目标传送指令 标志传送指令 I/O指令
止重复操作。
11
5.外设I/O端口寻址
1、直接寻址:指令中给出外设端口地址 地址范围:0~255 例: IN AL,20H (8位操作)
IN AX,20H (16位操作) 2、间接寻址:规定DX为外设端口地址 地址范围:0~65535) 例: IN AL,DX (8位操作)
IN AX,DX (16位操作)
EA存放在基址寄存器或变址寄存器 寄存器可选BX、BP、SI或DI 例:设BX=0158H MOV AX,[BX] 物理地址21158H
8
基址寻址和变址寻址
3)基址寻址 EA= BX/BP+ Disp8/Disp16 位移量8位时用符号扩展 例:MOV AX,[BX+1B57H] 物理地址= (DS)左移4位+BX+Disp16 =22CAFH 物理地址= (SS)左移4位+BP+Disp16 4)变址寻址 类似基址寻址,寄存器可选SI/DI,但每 次修改变址寄存器值。
15
3)存储器寻址
指令中给出内存的有效地址EA,目的地址是由EA 指出的内存单元的内容。 例:JMP [BX];BX值为地址的EA和EA+1单元
中内容 IP。段内间接转移寻址,CS不变。
例:JMP DWORD/FAR PTR [BX] ;段间间接转
移寻址,BX值为地址的EA和EA+1单元中内容 IP,EA+2、EA+3单元中内容 CS
20
(一)通用传送指令
1)最基本的传送指令
格式:MOV dest,src (B/W)
reg reg
sreg sreg
mem mem
data8/data16
功能: dest src
说明:
(1) dest,src类型要一致,不能同时为内
存单元或同为sreg,至少有一个为寄存器,
决定数据位数;
21

最基本的传送指令
16
存储器寻址
转移地址偏移量可通过存储器间接、变址、 基址、变址基址等寻址方式求得,也可用 变量加寄存器表示。 例:JMP TABLE1[BX] EA=BX+TABLE1
17
使用说明
EA偏移量为Disp8:转移范围-128~+127, 适用条件转移和无条件转移; EA偏移量为Disp16:转移范围32768~32767,适用无条件转移,条件转移 可通过无条件转移来实现。
4
2.寄存器寻址
操作数在寄存器中,指令最短。 说明:源、目的操作数必须同字长,不能 同为段寄存器,CS不能为目的操作数。 例:MOV AX,BL MOV DS,CS MOV CS,AX MOV BX,CS MOV DS,BX
5
3存储器寻址方式
对应不同寻址方式,由形式地址计算EA的 方法不同。16位段偏移量可以是8或16位位 移量(Disp8/Disp16)、寄存器值或位移 量加寄存器值。
9
5)基址变址寻址
EA=BX/BP+SI/DI[+ Disp8/Disp16] 加[+ Disp8/Disp16] 为相对基址变址寻址 例:设(DI)=(SI)=10A5H MOV AX,[BX+SI] 物理地址=221FDH MOV AX,[BX+DI+1B57H] 物理地址=23D54H
10
4.串操作寻址
(2)CS、IP和立即数不能作目的操作数; (3)dest为sreg时,src不能是data, 即要通过reg作中介,例: MOV AX,2000H MOV DS,AX MOV AX,BL MOV [DI],[1000]
6
1)直接寻址
指令直接提供16位EA ( EA= Disp16) 例:设(DS)=2100H,(CS)=1000H, MOV AL,[0158H] 物理地址=(DS)左移4位+Disp=21158H CS:MOV AX,[0158H] 物理地址=(CS)左移4位+Disp=10158H
7
2)寄存器间接寻址
相关文档
最新文档