清华大学:《汇编语言程序设计》第三章(3-1) 8086的寻址方式

第三章80×86的指令系统和寻址方式 指令系统—组指令的集合 指令:操作码操作数操作数 寻址方式 与数据有关的寻址方式 与转移地址有关的寻址方式
• 指令系统 一组指令的集合 第三章 80x86的指令系统和寻址方式 指令: 操作码 操作数 ... 操作数 • 寻址方式 与数据有关的寻址方式 与转移地址有关的寻址方式

1.8086的寻址方式 与数据有关的寻址方式: 立即寻址 MOV AX. 3069H 寄存器寻址 MOV AL. BH 直接寻址 MOA,[2000H] 寄存器间接寻址 MOV AX,[BX] 寄存器相对寻址 MOV AX, COUNT[SI] 基址变址寻址 MOV AX,[BP][DI] 相对基址变址寻址 MOV AX,MASK[BX][SI 存储器寻址
1. 8086 的寻址方式 与数据有关的寻址方式: • 立即寻址 MOV AX , 3069H • 寄存器寻址 MOV AL , BH • 直接寻址 MOV AX , [ 2000H ] • 寄存器间接寻址 MOV AX , [ BX ] • 寄存器相对寻址 MOV AX , COUNT [ SI ] • 基址变址寻址 MOV AX , [ BP ] [ DI ] • 相对基址变址寻址 MOV AX , MASK [ BX ] [ SI ] 存储器寻址

)立即寻址方式*—操作数在指令中给出 MOV AL. 5 MOV AX. 3064H MOV ALA *只能用于SRC字段 SRC和DST的字长一致 MOV AH,3064H
(1) 立即寻址方式 * —— 操作数在指令中给出 MOV AL , 5 MOV AX , 3064H MOV AL , ‘A’ * 只能用于 SRC 字段 * SRC 和 DST 的字长一致 MOV AH , 3064H

(2)寄存器寻址方式*—操作数在指定的寄存器中 MOV AX BX MOV AL. BH MOV AX. 3064H *字节寄存器只有 AH AL BH BL CH CL DH DL SRC和DST的字长一致 MOV AH BX X *CS不能用MOV指令改变 MOV CS,AX
(2) 寄存器寻址方式 * —— 操作数在指定的寄存器中 MOV AX , BX MOV AL , BH MOV AX , 3064H * 字节寄存器只有 AH AL BH BL CH CL DH DL * SRC 和 DST 的字长一致 MOV AH , BX * CS 不能用 MOV 指令改变 MOV CS , AX

3)直接寻址方式* 有效地址EA由指令直接给出 例: MOV AX,[2000H1 EA=2000H,假设(DS)=3000H,那么PA=32000H AH AL 30 32000 50H 30H (AX)=3050H *隐含的段为数据段DS *可使用段跨越前缀 MOV AX,ES:[2000H] *操作数地址可由变量(符号地址)表示 VALUE DB 10 MOV AH. VALUE MOV AX VALUE X MOV AX. WORD PTR VALUE
(3) 直接寻址方式 * —— 有效地址 EA 由指令直接给出 例:MOV AX , [ 2000H ] EA = 2000H , 假设 (DS) = 3000H , 那么 PA = 32000H * 隐含的段为数据段DS * 可使用段跨越前缀 MOV AX , ES: [ 2000H ] * 操作数地址可由变量(符号地址)表示 VALUE DB 10 MOV AH , VALUE MOV AX , VALUE MOV AX , WORD PTR VALUE 50H 30H 32000 AH AL 30 50 (AX) = 3050H

(4)寄存器间接寻址*—EA在基址寄存器(BX/BP) 或变址寄存器(SI/DI)中 MOAⅩ,[Bx] PA=16d×(DS)+(BX) MOV AX, ES: [BX PA=16dx(Es)+(BX) MOVAⅩ,[BP] PA=16d×(SS)+(BP) *不允许使用AX、CX、DX存放EA MOV AX,[CXI SRC和DST的字长一致 MOⅤDL,[BX];[BX]指示一个字节单元 MOV DX,[Bx];[BX]指示一个字单元 *适于数组、字符串、表格的处理
(4) 寄存器间接寻址 * —— EA 在基址寄存器 ( BX / BP ) 或变址寄存器 ( SI / DI ) 中 MOV AX , [ BX ] PA = 16d ( DS ) + ( BX ) MOV AX , ES: [ BX ] PA = 16d ( ES ) + ( BX ) MOV AX , [ BP ] PA = 16d ( SS ) + ( BP ) * 不允许使用AX、CX、DX 存放 EA MOV AX , [ CX ] * SRC 和 DST 的字长一致 MOV DL , [ BX ] ; [ BX ] 指示一个字节单元 MOV DX , [ BX ] ; [ BX ] 指示一个字单元 * 适于数组、字符串、表格的处理

5)寄存器相对寻址方式* (BX) 有效地址 (BP) 8位 位移 (SI 位 (DI) 例: MOV AX, COUNT[SI]或 MOV AX,[ COUNT+SI] 假设(DS)=3000H,(SI)=2000H, COUNT=100H 那么PA=32100H 假设(32100H)=1234H,那么(AX)=1234H *适于数组、字符串、表格的处理
有效地址 = ( BX ) ( BP ) 8 位 ( SI ) 16 位 ( DI ) + 位移量 (5) 寄存器相对寻址方式 * 例: MOV AX , COUNT [ SI ] 或 MOV AX , [ COUNT + SI ] 假设 ( DS ) = 3000H, ( SI ) = 2000H, COUNT = 100H, 那么 PA = 32100H 假设 ( 32100H ) = 1234H, 那么 ( AX ) = 1234H * 适于数组、字符串、表格的处理

(6)基址变址寻址方式 有效地址≈(Bx)x1(D) (SⅠI) (BP) MOV AX, IBXIIDI I 或 MOV AX,[BX+DI] MOAX,ES:[Bⅹ][SI] *适于数组、字符串、表格的处理 必须是一个基址寄存器和一个变址寄存器的组合 MOV AX, [BXJIBPX MOAX,[SI][DI]×
(6) 基址变址寻址方式 * MOV AX , [ BX ] [ DI ] 或 MOV AX , [ BX + DI ] MOV AX , ES: [ BX ] [ SI ] * 适于数组、字符串、表格的处理 * 必须是一个基址寄存器和一个变址寄存器的组合 MOV AX , [ BX ] [ BP ] MOV AX , [ SI ] [ DI ] 有效地址 = ( BX ) ( SI ) ( BP ) ( DI ) +

7)相对基址变址寻址方式 (BX)(SI 位 有效地址= 位移量 (BP)(DI)16位 MOV AX, MASK[] 或 MOV AX,MASK[BX+SI] 或 MOV AX,[MASK+BX+SI]
(7) 相对基址变址寻址方式 MOV AX , MASK [ BX ] [ SI ] 或 MOV AX , MASK [ BX + SI ] 或 MOV AX , [ MASK + BX + SI ] 有效地址 = ( BX ) ( SI ) 8位 ( BP ) ( DI ) 16位 + + 位移量

段寄存器的使用规定 默认的 可跨越的 访问存储器的方式段寄存器段寄存器偏移地址 取指令 无—无 IP 堆栈操作 一般数据访问 有效地址EA BP作为基址的寻址 CS DS ES BP 串操作的源操作数 DS CS ES SS 串操作的目的操作数 无 DI
访问存储器的方式 默认的 段寄存器 可跨越的 段寄存器 偏移地址 取指令 CS 无 IP 堆栈操作 SS 无 SP 一般数据访问 DS CS ES SS 有效地址 EA BP 作为基址的寻址 SS CS DS ES BP 串操作的源操作数 DS CS ES SS SI 串操作的目的操作数 ES 无 DI 段 寄 存 器 的 使 用 规 定
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《汇编语言程序设计》第七章 高级汇编语言技术.ppt
- 清华大学:《汇编语言程序设计》第一章 基础知识.ppt
- 清华大学:《汇编语言程序设计》汇编语言程序与高级语言程序的连接.ppt
- 徐州工程学院:《网页制作与网站建设》讲义.docx
- 《计算机进程管理》讲义.ppt
- 《计算机辅助设计——机电系统CAD》教学讲义教材:附录二 常见机械CAD软件简介.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:附录一 MATLAB 软件简介.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第八章 机电系统计算机辅助设计的发展.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第七章 机电系统的智能设计理论和方法.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第六章 产品数据管理技术.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第五章 机械产品模型理论及常用建模技术.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第四章 机电系统动态性能的计算机仿真.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第三章 机电系统的计算机辅助分析.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第二章 机电系统CAD算法基础.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第一章 绪论.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:目录.doc
- 《计算机组装与维护》第十章 电源和机箱.ppt
- 《计算机组装与维护》第四章 主板-教案.doc
- 《计算机组装与维护》第四章 主板-幻灯片.ppt
- 《计算机组装与维护》第六章 显示卡-幻灯片.ppt
- 清华大学:《汇编语言程序设计》第三章(3-2) 8086的指令系统.ppt
- 清华大学:《汇编语言程序设计》第三章(3-3) 逻辑指令.ppt
- 清华大学:《汇编语言程序设计》第九章 BIOS和DOS中断.ppt
- 清华大学:《汇编语言程序设计》第二章 80x86计算机组织.ppt
- 清华大学:《汇编语言程序设计》第五章 循环与分支程序设计.ppt
- 清华大学:《汇编语言程序设计》第八章 输入输出程序设计.ppt
- 清华大学:《汇编语言程序设计》第六章 子程序结构.ppt
- 清华大学:《汇编语言程序设计》第四章 汇编语言程序格式.ppt
- 清华大学:《汇编语言程序设计》绪论.ppt
- 《数据库原理与应用》ppt电子书.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第二章 C++基础知识.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第九章 多态性.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第十章 模板.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第四章 函数.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第十二章 异常处理.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第五章 类与对象.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第七章 动态内存分配.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第八章 继承性.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第十三章 图书馆设计.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第三章 基本控制结构程序设计.ppt