8086指令系统.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/3/21
第3章 8086指令系统
3.1 概述 3.2 指令格式 3.3 8086的操作数的寻址方式
3.3.1 立即数寻址 3.3.2 寄存器寻址 3.3.3 存储器操作数寻址方式 3.4 IA-32通用指令 3.4.1 数据传送指令 3.4.2 算术运算指令 3.4.3 逻辑运算、移位 3.4.4 串操作指令 3.4.5 控制转移指令 3.4.6 处理器控制指令 本章小节 思考题
直接寻址
操作数在存储器中,其地址由指令提供。
例:MOV AX,[ 1070 H ]
(DS) = 2000 H,物理地址为:
....
PA=20000H+1070H=21070 H
A1H
70H
10H
AX AH AL
....
代码段
2021/3/21
2000:1070
20 H
2000:1071 30 H
2000:1072
2021/3/21
黄玉清制作
例如,1B23H存放在2000H与2001H地址单元 中,2000H即为该操作数的地址;
在地址2001H中的 字节为1BH
存储器
23H 1BH ** ** 99H AAH 78H 56H **
2000H 2001H 2002H 2003H 2004H 2005H 2006H 2007H 2008H
黄玉清制作
3.1概述
3.1 概述
80x86结构的基本数据类型
字节:8位 字:16位,2个字节 双字:32位,4个字节 四字:64位,8个字节(80486CPU引入) 双四字:128位,16个字节(Pentium III)
数据在内存中的字节顺序
80X86多字节数据的存放原则是低位字节在低端地址, 高位字节在高端地址。 而最低地址就是操作数的地址。
3位
操作码 1字节
方式 寄存器 1字节(寻址方式)
低高 字字 节节
位移量
1-2字节
低高 字字 节节
立即数
1-2字节
2021/3/21
黄玉清制作
3.1 IA-32的指令格式
机器指令:计算机能识别和执行的指令的二进制 代码。如:1011000001100010
汇编指令:用助记符表示机器指令的操作码和操 作数,例如上面指令的汇编指令是 MOV AL,62H
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
计算机中操作数数按存放的方法分为:
立即数(指令中)
寄存器数
操作数
寻址方式
存储器数
立即数
立即数寻址
I/O端口
寄存器数
寄存器寻址
2021/3/21
存储器数 端口寻址
直接寻址 寄存器间接寻址
变址寻址 基址变址寻址
串操作寻址
直接寻址 寄存器间接寻址
MOV BX,ES:DATA
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
寄存器间接寻址
操作数在存储器中,寻址方式同直接寻址相似, 但偏移地址由指针寄存器提供.
指令 寄存器 内存
寄存器
EA
数据
2021/3/21
黄玉清制作
[3B.3X8]086的操作数的寻址方式 [BP] [SI] [DI]
偏移地址
IP SP SI DI 有效地址EA 有效地址EA
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
任何内存实际地址(PA)都由两部分组成: PA=段基址+段内偏移地址(此单元与段基址的距离) 段内的偏移地址又称为有效地址(EA).
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
通用格式如下:
指令格式
操作码域 操作数或操作数地址
操作码域: 存放指令的操作码,即指明计算机所要执行 的操作。
地址域 :指出在指令执行过程中所需要的操作数或操作 数所在的地址。
2021/3/21
黄玉清制作
3.2 IA-32的指令格式
8086 CPU指令格式
opcode
mod reg
r/m
2位 3位
2021/3/21
黄玉清制作
3.1 IA-32的指令格式
指令执行时间
指令执行时间:由时钟周期长短和执行指令所需要 的时钟周期数决定。
MOV AX,BX
;执行时间最短
MOV AX,[1000H]
MOV [2000H],CX
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
3-3 8086的操作数的寻址方式
黄玉清制作
3.3 8086的操作数的寻址方式
3.3.1 立即数寻址
操作数由指令提供. 例: MOV AL,80 H MOV AX,1090 H MOV CX,100
3.3.2 寄存器寻址
操作数在寄存器中。 MOV AH,BL MOV AX,BX MOV CX,AX
AH AL
AX
1090H
BX
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
3.3.3 存储器操作数寻址方式
规定段寄存器
操作类型
段基址 正常来源 其他来源
取 指 令 CS
无
堆 栈 操 作 SS
无
串 操 作 源 地 址 DS CS、SS、ES
串操作目的地址 ES
无
用BP 间 接 寻 址 SS CS、SS、ES
一 般 数 据 存 取 DS CS、SS、ES
寻址
根据指令内容确定操作数地址的过程,称为寻址。
有效地址
根据寻址方式计算所得到的地址叫做有效地址EA, 也就是段内偏移地址。有效地址还需要与相应的段 基地址组合才是20位的物理地址,该工作由CPU完 成。
寻址方式在两种方式下被涉及:
操作数的寻址方式和对调用或转移指令的寻址方式。
本讲只介绍对操作数的寻址!!!
EA=
[BX] [BP] [SI]
8 或16
+ 位移量
[DI]
EA=
[BX] [BP]
+
[SI] [DI]
+
8 或 16 位移量
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
数据段Байду номын сангаас
黄玉清制作
8086执行某种操作时,预先规定了采用的段和段寄 存器,即有基本的段约定,如果要改变默认的段 约定(即段超越),则需要在指令中明确指出来.
例如:
MOV BX,ES:[3400H];
将附加段ES段中偏移地址为3400H和3401H两单元 的内容送BX中。
若用DATA代替偏移地址3400H :
在地址2000H中的字为 1B23H
在地址2004H中的双字 为5678AA99H
2021/3/21
黄玉清制作
3.1概述
本讲要解决的问题: 8086/8088寻址
指令系统? 指令格式? 寻址概念?寻址方式? 操作数寻址的方法?
2021/3/21
黄玉清制作
3.2 IA-32的指令格式
3.2
指令格式
第3章 8086指令系统
3.1 概述 3.2 指令格式 3.3 8086的操作数的寻址方式
3.3.1 立即数寻址 3.3.2 寄存器寻址 3.3.3 存储器操作数寻址方式 3.4 IA-32通用指令 3.4.1 数据传送指令 3.4.2 算术运算指令 3.4.3 逻辑运算、移位 3.4.4 串操作指令 3.4.5 控制转移指令 3.4.6 处理器控制指令 本章小节 思考题
直接寻址
操作数在存储器中,其地址由指令提供。
例:MOV AX,[ 1070 H ]
(DS) = 2000 H,物理地址为:
....
PA=20000H+1070H=21070 H
A1H
70H
10H
AX AH AL
....
代码段
2021/3/21
2000:1070
20 H
2000:1071 30 H
2000:1072
2021/3/21
黄玉清制作
例如,1B23H存放在2000H与2001H地址单元 中,2000H即为该操作数的地址;
在地址2001H中的 字节为1BH
存储器
23H 1BH ** ** 99H AAH 78H 56H **
2000H 2001H 2002H 2003H 2004H 2005H 2006H 2007H 2008H
黄玉清制作
3.1概述
3.1 概述
80x86结构的基本数据类型
字节:8位 字:16位,2个字节 双字:32位,4个字节 四字:64位,8个字节(80486CPU引入) 双四字:128位,16个字节(Pentium III)
数据在内存中的字节顺序
80X86多字节数据的存放原则是低位字节在低端地址, 高位字节在高端地址。 而最低地址就是操作数的地址。
3位
操作码 1字节
方式 寄存器 1字节(寻址方式)
低高 字字 节节
位移量
1-2字节
低高 字字 节节
立即数
1-2字节
2021/3/21
黄玉清制作
3.1 IA-32的指令格式
机器指令:计算机能识别和执行的指令的二进制 代码。如:1011000001100010
汇编指令:用助记符表示机器指令的操作码和操 作数,例如上面指令的汇编指令是 MOV AL,62H
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
计算机中操作数数按存放的方法分为:
立即数(指令中)
寄存器数
操作数
寻址方式
存储器数
立即数
立即数寻址
I/O端口
寄存器数
寄存器寻址
2021/3/21
存储器数 端口寻址
直接寻址 寄存器间接寻址
变址寻址 基址变址寻址
串操作寻址
直接寻址 寄存器间接寻址
MOV BX,ES:DATA
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
寄存器间接寻址
操作数在存储器中,寻址方式同直接寻址相似, 但偏移地址由指针寄存器提供.
指令 寄存器 内存
寄存器
EA
数据
2021/3/21
黄玉清制作
[3B.3X8]086的操作数的寻址方式 [BP] [SI] [DI]
偏移地址
IP SP SI DI 有效地址EA 有效地址EA
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
任何内存实际地址(PA)都由两部分组成: PA=段基址+段内偏移地址(此单元与段基址的距离) 段内的偏移地址又称为有效地址(EA).
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
通用格式如下:
指令格式
操作码域 操作数或操作数地址
操作码域: 存放指令的操作码,即指明计算机所要执行 的操作。
地址域 :指出在指令执行过程中所需要的操作数或操作 数所在的地址。
2021/3/21
黄玉清制作
3.2 IA-32的指令格式
8086 CPU指令格式
opcode
mod reg
r/m
2位 3位
2021/3/21
黄玉清制作
3.1 IA-32的指令格式
指令执行时间
指令执行时间:由时钟周期长短和执行指令所需要 的时钟周期数决定。
MOV AX,BX
;执行时间最短
MOV AX,[1000H]
MOV [2000H],CX
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
3-3 8086的操作数的寻址方式
黄玉清制作
3.3 8086的操作数的寻址方式
3.3.1 立即数寻址
操作数由指令提供. 例: MOV AL,80 H MOV AX,1090 H MOV CX,100
3.3.2 寄存器寻址
操作数在寄存器中。 MOV AH,BL MOV AX,BX MOV CX,AX
AH AL
AX
1090H
BX
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
3.3.3 存储器操作数寻址方式
规定段寄存器
操作类型
段基址 正常来源 其他来源
取 指 令 CS
无
堆 栈 操 作 SS
无
串 操 作 源 地 址 DS CS、SS、ES
串操作目的地址 ES
无
用BP 间 接 寻 址 SS CS、SS、ES
一 般 数 据 存 取 DS CS、SS、ES
寻址
根据指令内容确定操作数地址的过程,称为寻址。
有效地址
根据寻址方式计算所得到的地址叫做有效地址EA, 也就是段内偏移地址。有效地址还需要与相应的段 基地址组合才是20位的物理地址,该工作由CPU完 成。
寻址方式在两种方式下被涉及:
操作数的寻址方式和对调用或转移指令的寻址方式。
本讲只介绍对操作数的寻址!!!
EA=
[BX] [BP] [SI]
8 或16
+ 位移量
[DI]
EA=
[BX] [BP]
+
[SI] [DI]
+
8 或 16 位移量
2021/3/21
黄玉清制作
3.3 8086的操作数的寻址方式
数据段Байду номын сангаас
黄玉清制作
8086执行某种操作时,预先规定了采用的段和段寄 存器,即有基本的段约定,如果要改变默认的段 约定(即段超越),则需要在指令中明确指出来.
例如:
MOV BX,ES:[3400H];
将附加段ES段中偏移地址为3400H和3401H两单元 的内容送BX中。
若用DATA代替偏移地址3400H :
在地址2000H中的字为 1B23H
在地址2004H中的双字 为5678AA99H
2021/3/21
黄玉清制作
3.1概述
本讲要解决的问题: 8086/8088寻址
指令系统? 指令格式? 寻址概念?寻址方式? 操作数寻址的方法?
2021/3/21
黄玉清制作
3.2 IA-32的指令格式
3.2
指令格式