当前位置:文档之家› 第03章 8086指令系统简介及寻址方式

第03章 8086指令系统简介及寻址方式


11/50
内容提要
立即寻址 例3.1 例3.2
寄存器寻址 直接寻址 寄存器间接 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
一、立即寻址 操作数本身作为指令的一部分直接出现在 指令中,即为立即数,寻找该立即数的寻 址方式称为立即寻址。 例3.1 MOV AL,36H
20/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接
注意 例3.8 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
注意: (1) 所用寄存器只能是BX、BP、SI、DI; (2) 当使用寄存器BX、SI、DI时,默认的
段寄存器是数据段寄存器DS; (3) 当使用寄存器是BP时,默认的段寄存
25/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对 基址变址
注意 例3.10 相对基址变址
3.2 寻址方式
六、基址变址寻址 操作数放在存储器的存储单元中,其有效 地址是一个基址寄存器(BX、BP)与一 个变址寄存器(SI、DI)的内容之和,该 操作数的这种寻址方式称为基址变址寻址。
例3.5 例3.6 例3.7 寄存器间接 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
三、直接寻址 操作数放在存储器的存储单元中,在指令 中直接给出该操作数在存储器中的偏移地 址,这种寻址方式称为直接寻址。 该偏移地址也称有效地址EA(Effective Address)。
23/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对
注意 例3.9 基址变址 相对基址变址
3.2 寻址方式
注意: (1) 当使用寄存器BX、SI、DI时,默认的
段寄存器是DS; (2) 当使用的寄存器是BP是,默认的段寄
存器是SS; (3) 寄存器相对寻址方式允许使用段跨越
(BX)=4567H 则指令执行后,(AX)=?,
(BX)=? 该指令中源操作数和目的操作数的寻址方 式都是寄存器寻址。
15/50
内容提要
立即寻址 寄存器寻址
例3.3 例3.4 可用寄存器 直接寻址 寄存器间接 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
可以使用的8位寄存器有:
29/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对 基址变址 相对基址变址
注意 例3.10
3.2 寻址方式
注意: (1) 当基址寄存器BX的内容作为有效地址
的一部分时,默认的段寄存器是DS; (2) 当基址寄存器BP的内容作为有效地址
的一部分时,默认的段寄存器是SS; (3) 相对基址变址寻址方式允许使用段跨
缀。
27/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对 基址变址
注意 例3.10 相对基址变址
3.2 寻址方式
例3.10 MOV AX,[BX][SI] 也可写成:MOV AX,[BX+SI] 已知:(DS)=2100H,(BX)=0158H,
AL、AH、BL、BH、CL、CH、DL、DH
可以使用的16位寄存器有:
AX、BX、CX、DX、SI、DI、BP、SP、 DS、CS、SS、ES
注意: (1)段寄存器CS只能做源操作数; (2)当段寄存器DS、SS、ES作目的操
作数时,源操作数不能是立即数。
16/50
内容提要
立即寻址 寄存器寻址 直接寻址
越前缀。
30/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对 基址变址 相对基址变址
注意 例3.11
3.2 寻址方式
例3.11 MOV AX,NUM[BP][SI] 也可写成:MOV AX,NUM[BP+SI]
或:MOV AX,[NUM+BP+SI] 已知:(SS)=3000H,(BP)=2000H,
硬指令格式: [标号:] 操作符 [目的操作数] [,源操作数] [;注释] 伪指令格式: [名字] 定义符 [操作数] [;注释]
5/50
3.1 指令的分类及格式 [标号:] 操作符 [目的操作数] [,源操作数] [;注释] [名字] 定义符 [操作数] [;注释]
标号:指出了该条硬指令的起始地址,程序员可 通过标号来引用所标识的硬指令。
例3.6 MOV AX,ES:[1000H] 在汇编语言程序中,通常用符号地址(变 量名)来代替数值地址。 例如:MOV AX,Value
18/50
内容提要
立即寻址 寄存器寻址 直接寻址
例3.5 例3.6 例3.7 寄存器间接 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
器是堆栈段寄存器SS。 (4) 寄存器间接寻址方式允许使用段跨越
前缀。
21/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接
注意 例3.8 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
例3.8 MOV AX,[BX] 已知:(DS)=2000H,(BX)=1000H 则该指令执行后:(AX)=?
前缀。
24/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对
注意 例3.9 基址变址 相对基址变址
3.2 寻址方式
例3.9 MOV AX,NUM[BX] 也可写成:MOV AX,[NUM+BX] 已知:(DS)=3000H,(BX)=2000H,
NUM=3000H 则该指令执行后: (AX)=?
名字:在伪指令中用来定义变量名、过程名等。
6/50
内容提要
指令分类 指令格式
3.1 指令的分类及格式
标号和名字统称为标识符。 关于标识符的规定:
长度不能超过31个字符,组成该字 符串的字符可以是字母(A~Z或a~z)、 数字(0~9)、特殊符号(“?”、“.”、 “@”、“_”、“$”)。其中数字不能做 第一个字符,标识符中如果使用到“.”, 则该字符必须是第一个字符。
3/50
内容提要
指令分类 硬指令 伪指令
指令格式
3.1 指令的分类及格式
2. 伪指令:指一些固定格式的约定符号, 用于指示汇编程序如何工作, 不产生任何目标代码。
4/50
内容提要
指令分类 指令格式
3.1 指令的分类及格式
二、指令的格式 8088/8086汇编语言的硬指令和伪指令的 格式基本相同。
指令执行后,(DL)=? 该指令中目的操作数的寻址方式是 寄存器寻址。
14/50
内容提要
立即寻址 寄存器寻址
例3.3 例3.4 可用寄存器 直接寻址 寄存器间接 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
例3.4 MOV AX,BX 如果指令执行前(AX)=1234H,
17/50
内容提要
立即寻址 寄存器寻址 直接寻址
例3.5 例3.6 例3.7 寄存器间接 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
例3.5 MOV AX,[1000H] 缺省情况下,操作数有效地址的作用域是 DS所指向的数据段,但也允许使用段跨 越前缀将作用域指定为其他的段。
26/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对 基址变址
注意 例3.10 相对基址变址
3.2 寻址方式
注意: (1) 当基址寄存器BX的内容作为有效地址
的一部分时,默认的段寄存器是DS; (2) 当基址寄存器BP的内容作为有效地址
的一部分时,默认的段寄存器是SS; (3) 基址变址寻址方式允许使用段跨越前
注意:立即数只能用作源操作数,不能用 作目的操作数,且源操作数的长度 与目的操作数的长度必须一致。
13/50
内容提要
立即寻址 寄存器寻址
例3.3 例3.4 可用寄存器 直接寻址 寄存器间接 寄存器相对 基址变址 相对基址变址
3.2 寻址方式
二、寄存器寻址 当源操作数已经存储在某个寄存器中,或 者要把目的操作数存入某个寄存器时,指 令中就指出所要使用的寄存器名称,该操 作数的寻址方式即为寄存器寻址方式。 例3.3 MOV DL,81H
22/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对
注意 例3.9 基址变址 相对基址变址
3.2 寻址方式
五、寄存器相对寻址 操作数放在存储器的存储单元中,其有效 地址是基址寄存器(BX、BP)或变址寄 存器(SI、DI)的内容与指令中给定的8 位或16位位移量之和,该操作数的这种寻 址方式称为寄存器相对寻址。
3学时
本章主要内容 一、指令的分类及格式 二、寻址方式 三、数据传送指令
2/50
内容提要
指令分类 硬指令 伪指令
指令格式
3.1 指令的分类及格式
一、指令的分类 汇编语言中所使用的指令分成两类: 1. 硬指令:与二进制的机器指令一一对应,
由计算机来执行。 硬指令(简称指令)分成6类: 数据传送指令、算术运算指令、位操作 指令、串处理指令、控制转移指令、处 理机控制指令。
(SI)=10A5H 则该指令执行后: (AX)=?
28/50
内容提要
立即寻址 寄存器寻址 直接寻址 寄存器间接 寄存器相对 基址变址 相对基址变 操作数放在存储器的存储单元中,其有效 地址是以下三个量之和:一个基址寄存器 (BX、BP)的内容、一个变址寄存器 (SI、DI)的内容、一个8位或16位位移 量,该操作数的这种寻址方式称为相对基 址变址寻址。
相关主题