微机原理与接口技术课件微机第三章-文档资料
合集下载
微机原理与接口技术第三章
17
(一)概述 3. 汇编语言源程序的结构 2)简化段定义的程序结构
.MODEL SMALL .STACK 100H .DATA ………… .CODE START: MOV AX,@DATA MOV DS,AX ………… MOV AH,4CH INT 21H END START ;存储模型:小型 ;定义堆栈段及其大小 ;定义数据段 ;数据声明 ;定义代码段 ;起始执行地址标号 ;数据段地址 ;存入数据段寄存器 ;具体程序代码
22
(一)概述
5. 编译、链接和运行程序
Link library Source file Step2: Assembler Object file Listing file Step1: Text editor Step3: Linker Step4: Executable OS loader Output file Map file
(一)概述 3. 汇编语言源程序的结构 1)完整段定义的程序结构 ASSUME伪指令:告诉汇编程序,哪一个段和哪一 个段寄存器相对应,即某一段地址应放入哪一个段寄 存器。 操作系统的装入程序在装入执行时,把CS初始化成 正确的代码段地址,把SS初始化为正确的堆栈段地址, 因此源程序中无再需初始化CS、SS。 装入程序已将DS寄存器留作它用,故在源程序中应 有以下两条指令: MOV AX,DATA MOV DS,AX DOS环境下,汇编语言返回DOS: MOV AH,4CH INT 21H
每个寄存器可作32位或16位使用。 一些16位的寄存器也可以作为两个单独的8位使用。
3
一、Intel x86 微处理器的组成结构 1. 内部寄存器 通用寄存器:主要用于算数运算和数据传送。
每个寄存器可作32位或16位使用。 一些16位的寄存器也可以作为两个单独的8位使用。
(一)概述 3. 汇编语言源程序的结构 2)简化段定义的程序结构
.MODEL SMALL .STACK 100H .DATA ………… .CODE START: MOV AX,@DATA MOV DS,AX ………… MOV AH,4CH INT 21H END START ;存储模型:小型 ;定义堆栈段及其大小 ;定义数据段 ;数据声明 ;定义代码段 ;起始执行地址标号 ;数据段地址 ;存入数据段寄存器 ;具体程序代码
22
(一)概述
5. 编译、链接和运行程序
Link library Source file Step2: Assembler Object file Listing file Step1: Text editor Step3: Linker Step4: Executable OS loader Output file Map file
(一)概述 3. 汇编语言源程序的结构 1)完整段定义的程序结构 ASSUME伪指令:告诉汇编程序,哪一个段和哪一 个段寄存器相对应,即某一段地址应放入哪一个段寄 存器。 操作系统的装入程序在装入执行时,把CS初始化成 正确的代码段地址,把SS初始化为正确的堆栈段地址, 因此源程序中无再需初始化CS、SS。 装入程序已将DS寄存器留作它用,故在源程序中应 有以下两条指令: MOV AX,DATA MOV DS,AX DOS环境下,汇编语言返回DOS: MOV AH,4CH INT 21H
每个寄存器可作32位或16位使用。 一些16位的寄存器也可以作为两个单独的8位使用。
3
一、Intel x86 微处理器的组成结构 1. 内部寄存器 通用寄存器:主要用于算数运算和数据传送。
每个寄存器可作32位或16位使用。 一些16位的寄存器也可以作为两个单独的8位使用。
微机原理与接口技术第3章1PPT课件
EEPROM,但只能按块(Block)擦除
12
二、半导体存储器的组成
①地址寄存存储储体地址译器芯片的存主储要体部分,用读写电来存储信数据寄息
AB②存地址译码 码电路
路
存 DB
根据输入的地址编码来选中芯片内某个特 定的存储单元控制电路
③ 片选和读Βιβλιοθήκη 控制逻辑选中存储芯O片E,W控E制CS读写操作
13
存储器需要刷新时间。
5
2、存取速度(续)
存取速度是指每秒从存储器读写信息的数量,用 BM表示,设W为存储器传送的数据宽度(位或字节), 则BM=W/TA,单位为位/秒或字节/秒。
6
三、存储器的分类
存储器
主存储器 外存储器
1、主存储器,简称主存,(也叫内存),可以被 CPU直接访问,以较快的速度进行读写操作,主要用 来存放计算机当前运行所需的程序和数据。
17
三、半导体存储器的读写操作(续)
存储器的写操作可以描述如下: (1)在CPU的控制下,将要访问的存储单元地址码送 地址寄存器中; (2)地址译码器将地址寄存器中的地址码译成相应行、 列信号,标定所访问的存储单元。 (3)在CPU的控制下,将CPU内某部件的内容送数据线 上。
(4)在CPU的统一控制下,由控制电路将写命令转换成 相应的读写电路的操作,将数据线上的信号传到指定单元, 完成存储器的写操作。
主存(内存) 辅存(外存)
8
一、半导体存储器的分类
按制造工艺
双极型:速度快、集成度低、功耗大 MOS型:速度慢、集成度高、功耗低
按使用属性
随机存取存储器RAM:可读可写、断电丢失 只读存储器ROM:正常只读、断电不丢失
详细分类,请看图示
9
12
二、半导体存储器的组成
①地址寄存存储储体地址译器芯片的存主储要体部分,用读写电来存储信数据寄息
AB②存地址译码 码电路
路
存 DB
根据输入的地址编码来选中芯片内某个特 定的存储单元控制电路
③ 片选和读Βιβλιοθήκη 控制逻辑选中存储芯O片E,W控E制CS读写操作
13
存储器需要刷新时间。
5
2、存取速度(续)
存取速度是指每秒从存储器读写信息的数量,用 BM表示,设W为存储器传送的数据宽度(位或字节), 则BM=W/TA,单位为位/秒或字节/秒。
6
三、存储器的分类
存储器
主存储器 外存储器
1、主存储器,简称主存,(也叫内存),可以被 CPU直接访问,以较快的速度进行读写操作,主要用 来存放计算机当前运行所需的程序和数据。
17
三、半导体存储器的读写操作(续)
存储器的写操作可以描述如下: (1)在CPU的控制下,将要访问的存储单元地址码送 地址寄存器中; (2)地址译码器将地址寄存器中的地址码译成相应行、 列信号,标定所访问的存储单元。 (3)在CPU的控制下,将CPU内某部件的内容送数据线 上。
(4)在CPU的统一控制下,由控制电路将写命令转换成 相应的读写电路的操作,将数据线上的信号传到指定单元, 完成存储器的写操作。
主存(内存) 辅存(外存)
8
一、半导体存储器的分类
按制造工艺
双极型:速度快、集成度低、功耗大 MOS型:速度慢、集成度高、功耗低
按使用属性
随机存取存储器RAM:可读可写、断电丢失 只读存储器ROM:正常只读、断电不丢失
详细分类,请看图示
9
微机原理与接口技术课件微机第三章
常见的高级语言包括C、C、Java、 Python等,可用于开发各种应用程序 和软件。
高级语言具有易学易用、可移植性好 的特点,但执行速度较慢,占用内存 较多。
05
微机操作系统
操作系统定义与功能
操作系统定义
操作系统是计算机系统中用于管 理和控制计算机硬件与软件资源 的系统软件,是计算机系统的核 心组成部分。
微机发展历程
总结词
微机的发展经历了从早期的大型机、小型机到现在的个人计算机和移动设备的演变。
详细描述
微机的发展始于20世纪70年代,最早的微机是苹果电脑和IBM PC。随着技术的不断发展,微机的性能不断提高, 体积不断减小,价格也逐渐降低。同时,随着互联网的普及,微机已经成为人们获取信息、交流沟通、娱乐休闲 的重要工具。
。
执行指令
执行指令是指根据指令的操作 码执行相应的操作,完成指令
的功能。
访存取数
访存取数是指根据指令中的地 址码从内存中读取或写入数据
。
04
微机编程语言
机器语言
机器语言是计算机能够直接执 行的指令集合,由二进制数0和 1组成。
机器语言具有执行速度快、占 用内存少的特点,但编写复杂, 易出错,可移植性差。
实时操作系统
实时操作系统主要用于实时控制系统,要求系统能够快速、准确地响 应外部事件,具有实时性和高可靠性。
网络操作系统
网络操作系统是用于管理网络资源的操作系统,支持网络中计算机之 间的通信和资源共享。
常见微机操作系统介绍
Windows
微软公司开发的桌面操作 系统,广泛应用于个人计 算机领域。
Linux
02
微机硬件组成
中央处理器
中央处理器(CPU)是微机的核心部 件,负责执行指令和处理数据。
微机原理与接口技术第3章(指令部分)
第 3 章 指令系统及汇编语言程序设计
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
微机原理与接口技术的课件 第3章1
例 3-9( P103 ):MOV AX,[SI+BX]
28
七、基址、变址、相对寻址
操作数的偏移地址为一个基址寄存器的内容加上 一个变址寄存器的内容,再加上一个位移量。 操作数的段地址由选择的基址寄存器决定。 例:3-10(P104)
29
八、隐含寻址
指令隐含了的一个或两个操作数的 地址,即操作数在默认的地址中。 例: MUL BL
第3章 指令系统
1
主要内容:
指令系统的一般概念
对操作数的寻址方式 六大类指令的操作原理: 操作码的含义
指令对操作数的要求
指令执行的结果
2
§3.1 概述
3
了解:
指令及指令系统;
指令的格式; 指令中的操作数类型; 指令字长与机器字长; 指令的执行时间
CISC和RISC指令系统
数据段中存放有一 张ASCII码转换表, 设首地址为2000H, 现欲查出表中第11
2000H+11 2000H+0
30 31 32
‘0’ ‘ 1’ ‘2’
...
39 41 42 ‘9’ ‘A’
‘ B’ ‘ E’ ‘ F’
个代码的ASCII码
...
45 46
52
查表指令例
可用如下指令实现: MOV BX,2000H MOV AL,0BH XALT
例: XCHG
AX,BX [2000],CL
49
XCHG
例:XCHG AX, BX XCHG BH, BL XCHG AX, 1122H XCHG DS, AX XCHG [SI], BP XCHG [SI], [DI]
28
七、基址、变址、相对寻址
操作数的偏移地址为一个基址寄存器的内容加上 一个变址寄存器的内容,再加上一个位移量。 操作数的段地址由选择的基址寄存器决定。 例:3-10(P104)
29
八、隐含寻址
指令隐含了的一个或两个操作数的 地址,即操作数在默认的地址中。 例: MUL BL
第3章 指令系统
1
主要内容:
指令系统的一般概念
对操作数的寻址方式 六大类指令的操作原理: 操作码的含义
指令对操作数的要求
指令执行的结果
2
§3.1 概述
3
了解:
指令及指令系统;
指令的格式; 指令中的操作数类型; 指令字长与机器字长; 指令的执行时间
CISC和RISC指令系统
数据段中存放有一 张ASCII码转换表, 设首地址为2000H, 现欲查出表中第11
2000H+11 2000H+0
30 31 32
‘0’ ‘ 1’ ‘2’
...
39 41 42 ‘9’ ‘A’
‘ B’ ‘ E’ ‘ F’
个代码的ASCII码
...
45 46
52
查表指令例
可用如下指令实现: MOV BX,2000H MOV AL,0BH XALT
例: XCHG
AX,BX [2000],CL
49
XCHG
例:XCHG AX, BX XCHG BH, BL XCHG AX, 1122H XCHG DS, AX XCHG [SI], BP XCHG [SI], [DI]
微机原理与接口技术的课件第3章
译码周期
对指令进行译码,确定指令的操作码和操作数。
执行周期
根据译码结果,执行相应的操作,如数据传送、算术运算、逻辑运算 等。
中断处理
当外部设备发出中断请求时,微处理器响应中断,保存现场并转入中 断服务程序执行。执行完毕后恢复现场并继续执行原程序。
03 存储器与I/O接口技术
存储器类型及特点
RAM(随机存取存储器) 可读可写
传输协议和电气特性。
键盘的编程控制
03
通过编程控制键盘的输入,实现特殊功能键的定义、组合键的
识别等。
显示输口、DVI接口、HDMI接口等, 不同接口有不同的传输带宽和显示效果。
显示器的基本工作原理
将显卡输出的模拟或数字信号转换成图像显 示出来。
显示编程控制
通过编程控制显卡的输出,实现图像的缩放、 旋转、色彩调整等特效。
宏定义
用一条指令代替一段程序的方法,可以提高程 序的可读性和可维护性。
伪指令与宏定义的区别
伪指令是汇编器的一部分,而宏定义是由程序员定义的。
汇编语言程序设计举例
顺序程序设计
按照指令的执行顺序编 写程序,适用于简单的
计算和控制任务。
分支程序设计
根据条件选择不同的执 行路径,实现复杂的控
制逻辑。
循环程序设计
• 中断优先级:多个中断源同时请求时,确 定响应顺序的依据。
中断系统与DMA传
DMA控制器
控制DMA传输的硬件电 路。
DMA传输过程
外设向DMA控制器发请 求,DMA控制器向CPU 发总线请求并获得总线 控制权,DMA控制器控 制外设与内存直接交换 数据。
DMA传输方式
单字节传输、成组传输、 请求传输等。
总线接口
对指令进行译码,确定指令的操作码和操作数。
执行周期
根据译码结果,执行相应的操作,如数据传送、算术运算、逻辑运算 等。
中断处理
当外部设备发出中断请求时,微处理器响应中断,保存现场并转入中 断服务程序执行。执行完毕后恢复现场并继续执行原程序。
03 存储器与I/O接口技术
存储器类型及特点
RAM(随机存取存储器) 可读可写
传输协议和电气特性。
键盘的编程控制
03
通过编程控制键盘的输入,实现特殊功能键的定义、组合键的
识别等。
显示输口、DVI接口、HDMI接口等, 不同接口有不同的传输带宽和显示效果。
显示器的基本工作原理
将显卡输出的模拟或数字信号转换成图像显 示出来。
显示编程控制
通过编程控制显卡的输出,实现图像的缩放、 旋转、色彩调整等特效。
宏定义
用一条指令代替一段程序的方法,可以提高程 序的可读性和可维护性。
伪指令与宏定义的区别
伪指令是汇编器的一部分,而宏定义是由程序员定义的。
汇编语言程序设计举例
顺序程序设计
按照指令的执行顺序编 写程序,适用于简单的
计算和控制任务。
分支程序设计
根据条件选择不同的执 行路径,实现复杂的控
制逻辑。
循环程序设计
• 中断优先级:多个中断源同时请求时,确 定响应顺序的依据。
中断系统与DMA传
DMA控制器
控制DMA传输的硬件电 路。
DMA传输过程
外设向DMA控制器发请 求,DMA控制器向CPU 发总线请求并获得总线 控制权,DMA控制器控 制外设与内存直接交换 数据。
DMA传输方式
单字节传输、成组传输、 请求传输等。
总线接口
微机原理与接口技术——第三章.ppt
常数
出现在汇编源程序中的固定值,即其在运行期间不会变化 字符串常数 是由单引号括起来的一串字符。汇编程序把它们表示成一 个字符序列,一个字节对应一个字符,把引号内的字符翻 译成ASCII码 。 ’218’——32H,31H,38H
11
表达式
由操作数和运算符组合的序列,它在汇编时能产生一个值。 算术运算符 +、-、*、/、MOD
SIZE
DATA5
LENGTH DATA9
SIZE
DATA9
;结果为1000H ;结果为0001H ;结果为1 ;结果为1 ;结果为1 ;结果为3 ;结果为3
24
PTR 运算符
合成运算符PTR可以由已存在的存储器操作数声名一个段和 偏移量相同,而类型不同的新的存储器操作数,格式如下:
类型 PTR 表达式
0123H、0456H、0789H、0ABCH
CODE SEGMENT
程序4.1
ASSUME CS:完CO成D4E个数
MOV AX, 0123H
相加
ADD AX, 0456H
ADD AX, 0789H
ADD AX, 0ABCH
MOV AX, 4C00H
INT 21H
CODE ENDS
END
32
顺序程序设计
2
常数与表达式
3
标识符
4
数据定义
5
与数据相关的操作符
6
符号定义
9
常数
出现在汇编源程序中的固定值,即其在运行期间不会变化
数值常数
按其基数的不同,可以有二进制(B)、八进制(O)、十进 制(D)、十六进制数(H)等不同的表示形式
00101100B 1234D 1234 255O 56H 0BA12H
微机原理与接口技术-第3章-41
用来取代IP中的当前值。该寄存器或存储器单元可由数据寻址方式中
除立即数之外的任何一种方式得到。其示意如图3-14所示。
指令 数据寻址方式
寄存器
根据数据寻址方式 计算 EA 值
转移有效地址
或
IP
转移有效地址 取其中之一
存储器
图图3-41.144 段内间接寻址示意图
段内间接寻址的特点是CS的值不变,IP的值由16位寄存器或存储器
指令 寄存器
寄存器 EA
段寄存器 段地址
左移 4 位
+
存储器 操作数
图34-.66 寄存器间接寻址示意图
例如指令: MOV AX,[BX] 设(DS)=3000H,(BX)=3000H,执行后(AX)=2C7DH,操作示
意图如图3-7所示。 又如指令:MOV AX,ES:[SI];段寄存器为ES,数据在附加段中。
第3章 指令系统与汇编语言程序设计
3.1 概述 3.2 8086寻址方式 3.3 8086指令系统 3.4 汇编语言程序格式与常用伪指令 3.5 汇编语言程序设计 3.6 汇编语言程序上机过程
3.1 概述
3.1.1 指令与程序 3.1.2 汇编语言基本概念
3.1.1指令与程序
所谓指令,就是指示计算机进行某一工作的命令,而程序是为求 解某一问题或进行某项工作的若干条指令的有序集合。指令如图3-1 所示。一台计算机全部指令的集合称为指令系统。操作码域说明指令 的类型与功能,操作数域也称为地址域,说明数据在存储器中的地址 及操作结果存放的地址。
用二进制代码表示指令系统的语言称为机器语言,用以设计 的程序称为机器语言程序。例如以下两条指令可构成一段程序, 是把数据20H经寄存器CL,与累加器AL中的数相加,结果在AL 中。
微机原理与接口技术PPT_第3章_3
格式: 格式:JMP NEAR PTR OPR OPR—在汇编语言中使用符号地址 在汇编语言中使用符号地址 在机器语言中存放16位位移量 在机器语言中存放 位位移量D16 位位移量 位移量D 当前IP的值 位移量 16 = 符号地址的偏移地址 - 当前 的值 执行操作: 执行操作: (IP)←(IP)当前+D16 ) ( ) NEAR:近属性标号 : 位移量D 范围: 位移量 16范围:-32768~+32767H,占有两个字节。 ,占有两个字节。 该指令为三字节指令。可以转移到段内的任一位置, 该指令为三字节指令。可以转移到段内的任一位置,转移 过程如同SHORT转移。 转移。 过程如同 转移
(1)、LOOP (Loop) 、
循环指令
(2)、LOOPE/LOOPZ (Loop if equal / Loop if zero) 当相等 、 当相等/ 为“0”循环 循环 (3)、LOOPNE/LOOPNZ (Loop if not equal/ Loop if not 、 zero) 当不相等 不为“0”循环 当不相等/不为 不为“ 循环
4、中断指令 8086/8088CPU 可以在程序中安排一条中断指令引起中断 过程,这种中断称为软中断。 过程,这种中断称为软中断。
8086/8088CPU共有三条中断指令: 8086/8088CPU共有三条中断指令: 共有三条中断指令 (1)、INT (Interrupt) 、 (2)、INTO(Interrupt if overflow) 、 (3)、IRET(Interrupt Return) 、
注意: 注意: 转移、 转移、调用地址寻址方式
指令在内存中是顺序存放的,分控制和非控制转移指令。 指令在内存中是顺序存放的,分控制和非控制转移指令。 8086/8088 中CS和IP的变化规则: CS和IP的变化规则 的变化规则: reset复位后 reset复位后,( CS ) = FFFFH,( IP ) = 0 复位后, , 8088从内存 从内存FFFF:0000H处取第一条指令执行 处取第一条指令执行, 故8088从内存FFFF:0000H处取第一条指令执行, 指令在内存的ROM区。 指令在内存的 区 非控制转移指令 CPU取指后,自动增加IP的值,使IP顺序指向下一条指 取指后,自动增加 的值 的值, 取指后 顺序指向下一条指 取紧接着的指令执行。 此时 的变化由CPU内部的硬 此时IP的变化由 令, 取紧接着的指令执行。 (此时 的变化由 内部的硬 件自动完成) 件自动完成 控制转移指令 以CS和IP为主要操作对象控制转移指令改变 和IP的值, CS和IP为主要操作对象控制转移指令改变CS和 的值 为主要操作对象控制转移指令改变 的值, 使程序产生分支、调用结构。 使程序产生分支、调用结构。 *分支、调用结构: 顺序存放,非顺序执行,特别是条件 分支、调用结构: 顺序存放,非顺序执行, 转移指令体现计算机的智能作用。 转移指令体现计算机的智能作用。 第一条
(1)、LOOP (Loop) 、
循环指令
(2)、LOOPE/LOOPZ (Loop if equal / Loop if zero) 当相等 、 当相等/ 为“0”循环 循环 (3)、LOOPNE/LOOPNZ (Loop if not equal/ Loop if not 、 zero) 当不相等 不为“0”循环 当不相等/不为 不为“ 循环
4、中断指令 8086/8088CPU 可以在程序中安排一条中断指令引起中断 过程,这种中断称为软中断。 过程,这种中断称为软中断。
8086/8088CPU共有三条中断指令: 8086/8088CPU共有三条中断指令: 共有三条中断指令 (1)、INT (Interrupt) 、 (2)、INTO(Interrupt if overflow) 、 (3)、IRET(Interrupt Return) 、
注意: 注意: 转移、 转移、调用地址寻址方式
指令在内存中是顺序存放的,分控制和非控制转移指令。 指令在内存中是顺序存放的,分控制和非控制转移指令。 8086/8088 中CS和IP的变化规则: CS和IP的变化规则 的变化规则: reset复位后 reset复位后,( CS ) = FFFFH,( IP ) = 0 复位后, , 8088从内存 从内存FFFF:0000H处取第一条指令执行 处取第一条指令执行, 故8088从内存FFFF:0000H处取第一条指令执行, 指令在内存的ROM区。 指令在内存的 区 非控制转移指令 CPU取指后,自动增加IP的值,使IP顺序指向下一条指 取指后,自动增加 的值 的值, 取指后 顺序指向下一条指 取紧接着的指令执行。 此时 的变化由CPU内部的硬 此时IP的变化由 令, 取紧接着的指令执行。 (此时 的变化由 内部的硬 件自动完成) 件自动完成 控制转移指令 以CS和IP为主要操作对象控制转移指令改变 和IP的值, CS和IP为主要操作对象控制转移指令改变CS和 的值 为主要操作对象控制转移指令改变 的值, 使程序产生分支、调用结构。 使程序产生分支、调用结构。 *分支、调用结构: 顺序存放,非顺序执行,特别是条件 分支、调用结构: 顺序存放,非顺序执行, 转移指令体现计算机的智能作用。 转移指令体现计算机的智能作用。 第一条
微机原理及接口技术第三章-3-文档资料
操作类型举例: AND AL, 0FH
;寄存器 ∧ 立即数
AND CX, DI
; 寄存器 ∧ 寄存器
AND SI, MEM_NAME ; 寄存器 ∧ 存储器
AND ALPHA [DI], AX ; 存储器 ∧ 寄存器
AND WORD PTR [BX][SI], 0FFFEH ; 存储器 ∧ 立即数
信息学院自动化仪表研究所
例:判断A单元中数据的奇偶性
设: (A )= 0AEH
程序:MOV AL,A
;(AL)=0AEH
TEST AL,01H
JZ EVEN …
; 结果=0为偶数转EVEN
奇数处理
… EVEN:偶数处理
检测(AL)的最低位是否为0,若为0转EVEN
信息学院自动化仪表研究所
3、OR(Lgical inclusive or )逻辑“或”指令
此处加标题
微机原理及接口技术 第三章-3
眼镜小生制作
微机原理与接口技术
二、 8086/8088的指令系统(续)
内容: 3、逻辑运算和移位指令
(一)逻辑运算指令 (二)移位指令 (三)循环移位指令
4、串操作指令
(一) 与REP相配合工作的MOVS、STOS、LODS指令 (二)与REPE/REPZ和REPNE/REPNZ联合工作的CMPS和
TEST word ptr [BX][DI], 6ACEH
; 寄存器 ∧ 立即数 ;寄存器 ∧ 寄存器 ; 寄存器 ∧ 存储器 ;存储器 ∧ 寄存器 ;存储器 ∧ 立即数
信息学院自动化仪表研究所
用途:
微机原理与接口技术
常常用来检测一些条件是否满足,但又不希望改变原有
的操作数的情况下,常在此指令后边加一条 条件转移指令。
微机原理与接口技术楼顺天第3章.ppt
3.1 汇编语言指令
3.汇编语言
用助记符号来代替机器指令。
4.汇编语言程序
用汇编语言编写的程序称为汇编语言程序, 或者称为汇编语言源程序。汇编语言源程 序扩展名为.ASM。
3.1 汇编语言指令
如: B0H
用MOV AL , 12H 代替 12H
05H
用ADD AX , 0002H 代 02H
替
00H
用汇编程序MASM.EXE对源程序 文件名.ASM 进行汇编
有语法错误
有
吗?
没
在磁盘上形成目标程序文件 文件名.OBJ
用连接程序LINK.EXE对 文件名.OBJ 进行连接
有错误吗?
有
没
在磁盘上形成了可执行文件 文件名.EXE
3.1 汇编语言指令
二.汇编语言程序中语句的种类 在汇编语言程序设计中,程序中的语句有
令 13. 字符串操作指令 14. I/O输入输出指令 15. 其它指令 16. 宏指令
3.1 汇编语言指令
一.汇编语言与机器语言的相关概念
汇编语言与机器语言属于低级语言,它 们与高级语言有较大的区别,汇编语言中 的语句与机器的型号密切相关,若CPU型 号不同,其指令系统就不同。
3.1 汇编语言指令
第3章 8086CPU指令系统
第3章 8086CPU指令系统
内容简介
全面掌握8086/8088指令系统的使用,包括指令 的功能、寻址方式及其书写格式、对标志位的影响、 使用注意事项。掌握汇编语言程序设计所必须的伪 指令,并由此构成汇编语言程序的完整结构。掌握 变量、常量及伪指令的使用和一些常用的基本程序 设计方法。在分支程序设计中,要特别注意每个分 支的完整性和分支条件的合理使用;在循环程序设 计中,掌握循环程序的基本结构,特别要注意应避 免出现死循环;在子程序设计中,着重掌握参数的
微机原理与接口技术课件微机第三章
如果 RESULT DW 3E4CH; 符号地址 MOV AX,RESULT
医学课件ppt 9
微机原理与接口技术
4、寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过 寄存器间接给出
例: MOV SI , 61A8H MOV DX , [SI]
医学课件ppt 10
;B8 34 12 ;A1 34 12
医学课件ppt 3
微机原理与接口技术
一、8086的寻址方式说明
1.有效地址EA(Effective Address) 当操作数在内存中时,指令的操作数给出
所访问的内存单元的逻辑地址。在寻址方式中, 逻辑地址的形成是由多个分量组合而成,该组 合地址又叫有效地址。
医学课件ppt 11
6、基址加变址寻址(Based
微机原理与接口技术
Indexed
addressing)
它的EA是由三部分组成的,基址寄存 器BX或BP的内容加上变址寄存器的内容再 加位移量。物理地址由基址寄存器按规则 选择段寄存器,也可以使用段超越。
例: MOV AX , 8AH[BX][SI] 该例中EA=8AH+BX+SI 物理地址=DS×10H+8AH+BX+SI
医学课件ppt 7
两个概念
微机原理与接口技术
段超越: MOV AX , [3E4CH] MOV AX , ES:[3E4CH]
符号地址:
MOV AX , RESULT
医学课件ppt 8
微机原理与接口技术
如何区分RESULT是立即数还是符号地址?
如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT
▪ 2.若当前SS=3500H,SP=0800H,说明堆栈段在存储 器中的物理地址,若此时入栈10个字节,SP内容是 什么?若再出栈6个字节,SP为什么值?
医学课件ppt 9
微机原理与接口技术
4、寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过 寄存器间接给出
例: MOV SI , 61A8H MOV DX , [SI]
医学课件ppt 10
;B8 34 12 ;A1 34 12
医学课件ppt 3
微机原理与接口技术
一、8086的寻址方式说明
1.有效地址EA(Effective Address) 当操作数在内存中时,指令的操作数给出
所访问的内存单元的逻辑地址。在寻址方式中, 逻辑地址的形成是由多个分量组合而成,该组 合地址又叫有效地址。
医学课件ppt 11
6、基址加变址寻址(Based
微机原理与接口技术
Indexed
addressing)
它的EA是由三部分组成的,基址寄存 器BX或BP的内容加上变址寄存器的内容再 加位移量。物理地址由基址寄存器按规则 选择段寄存器,也可以使用段超越。
例: MOV AX , 8AH[BX][SI] 该例中EA=8AH+BX+SI 物理地址=DS×10H+8AH+BX+SI
医学课件ppt 7
两个概念
微机原理与接口技术
段超越: MOV AX , [3E4CH] MOV AX , ES:[3E4CH]
符号地址:
MOV AX , RESULT
医学课件ppt 8
微机原理与接口技术
如何区分RESULT是立即数还是符号地址?
如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT
▪ 2.若当前SS=3500H,SP=0800H,说明堆栈段在存储 器中的物理地址,若此时入栈10个字节,SP内容是 什么?若再出栈6个字节,SP为什么值?
《微机原理与接口技术》徐惠民 微机原理与接口技术3章
MOV AL,[2000H]; MOV [3000H],AL
数据传送指令
③ 两个段寄存器之间不能直接传送信息,也不允许 用立即寻址方式为段寄存器赋初值; (X) MOV DS, 100H; (X) MOV DS, ES;
④ 目的操作数,不能用立即寻址方式。
⑤ MOV指令不影响标志位
数据传送指令
2.堆栈指令
功能:从I/O端口输入数据至AL或AX.
输入指令允许把一个字节或一个字 由一个输入端口传送到AL或AX中。若端 口地址超过255时,则必须用DX保存端 口地址,这样用DX作端口寻址最多可寻 找64K个端口。
8086/8088通过 输入输出指令与 外设进行数据交 换;呈现给程序 员的外设是端口 (Port)即I/O地 址。
一般格式:
LES OPRD1,OPRD2
这条指令除将地址指针的段地址部分送入ES外,与 LDS类似。
例如: LES DI,[BX]
数据传送指令
6.标志寄存器传送(有四条标志传送指令)
⑴ LAHF (LOAD AH WITH FLAG) 将标志寄存器中的S、Z、A、P和C(即低8 位)传送至AH寄存器的指定位,空位没有定 义。
2、寄存器寻址
操作数就放在CPU的内部寄存器中,AX、BX、CX、DX、 DI、SI、SP和BP,不需要访问存储器。
例:INC CX MOV AX,BX 若执行前 AX =30A6H, BX =69EDH, CX =40D9H 则执行后 AX =69EDH, BX内容不变 CX =40DAH
3.1 8088/8086的寻址方式
– 操作数是指令执行的参与者,即各种操作的对象。 – 有些指令不需要操作数,通常的指令都有一个或两
个操作数,也有个别指令有3个甚至4个操作数。
数据传送指令
③ 两个段寄存器之间不能直接传送信息,也不允许 用立即寻址方式为段寄存器赋初值; (X) MOV DS, 100H; (X) MOV DS, ES;
④ 目的操作数,不能用立即寻址方式。
⑤ MOV指令不影响标志位
数据传送指令
2.堆栈指令
功能:从I/O端口输入数据至AL或AX.
输入指令允许把一个字节或一个字 由一个输入端口传送到AL或AX中。若端 口地址超过255时,则必须用DX保存端 口地址,这样用DX作端口寻址最多可寻 找64K个端口。
8086/8088通过 输入输出指令与 外设进行数据交 换;呈现给程序 员的外设是端口 (Port)即I/O地 址。
一般格式:
LES OPRD1,OPRD2
这条指令除将地址指针的段地址部分送入ES外,与 LDS类似。
例如: LES DI,[BX]
数据传送指令
6.标志寄存器传送(有四条标志传送指令)
⑴ LAHF (LOAD AH WITH FLAG) 将标志寄存器中的S、Z、A、P和C(即低8 位)传送至AH寄存器的指定位,空位没有定 义。
2、寄存器寻址
操作数就放在CPU的内部寄存器中,AX、BX、CX、DX、 DI、SI、SP和BP,不需要访问存储器。
例:INC CX MOV AX,BX 若执行前 AX =30A6H, BX =69EDH, CX =40D9H 则执行后 AX =69EDH, BX内容不变 CX =40DAH
3.1 8088/8086的寻址方式
– 操作数是指令执行的参与者,即各种操作的对象。 – 有些指令不需要操作数,通常的指令都有一个或两
个操作数,也有个别指令有3个甚至4个操作数。
微机原理与接口技术课件微机第三章
它的EA是由三部分组成的,基址 寄存器BX或BP的内容加上变址寄存器的内 容再加位移量。物理地址由基址寄存器按 规则选择段寄存器,也可以使用段超越。
例:
MOV AX , 8AH[BX][SI]
该例中EA=8AH+BX+SI
物理地址=DS即数在[ ]中表示直接地址,如[1000H]; ➢只有BX,BP,SI,DI可以出现在[ ]内,它们 可以单独出现,也可以组合,但BX和BP 不允许出现在同一个[ ],SI和DI也一样;
如果
RESULT DW 3E4CH; 符号地址 MOV AX,RESULT
4、寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过寄存器间接给出
例: MOV SI , 61A8H MOV DX , [SI]
5、寄存器相对寻址(Register Relative Addressing)
CX 在串操作指令和LOOP指令中作计数器用
CL 在移位/循环移位指令中作移位次数计数器用
DX
在字乘法/除法指令中存放乘积高位或被除数高位或余数 在间接寻址的输入输出指令中作地址寄存器用
在字符串运算指令中作源变址寄存器用 SI 在间接寻址中作变址寄存器用
在字符串运算指令中作目标变址寄存器用 DI 在间接寻址中作变址寄存器用
IN AL , 25H
;E5 25H
MOV DX , 3E4H
OUT DX , AL
;EE
三、8086的指令格式及数据类型
操作码
操作数
指令由操作码和操作数(地址码) 组成。8086的指令长度是可变的,一条 指令一般由1-6个字节组成。
二、寻址方式介绍
1.立即寻址(Immediate addressing) 操作数就在指令中,紧跟在操作
例:
MOV AX , 8AH[BX][SI]
该例中EA=8AH+BX+SI
物理地址=DS即数在[ ]中表示直接地址,如[1000H]; ➢只有BX,BP,SI,DI可以出现在[ ]内,它们 可以单独出现,也可以组合,但BX和BP 不允许出现在同一个[ ],SI和DI也一样;
如果
RESULT DW 3E4CH; 符号地址 MOV AX,RESULT
4、寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过寄存器间接给出
例: MOV SI , 61A8H MOV DX , [SI]
5、寄存器相对寻址(Register Relative Addressing)
CX 在串操作指令和LOOP指令中作计数器用
CL 在移位/循环移位指令中作移位次数计数器用
DX
在字乘法/除法指令中存放乘积高位或被除数高位或余数 在间接寻址的输入输出指令中作地址寄存器用
在字符串运算指令中作源变址寄存器用 SI 在间接寻址中作变址寄存器用
在字符串运算指令中作目标变址寄存器用 DI 在间接寻址中作变址寄存器用
IN AL , 25H
;E5 25H
MOV DX , 3E4H
OUT DX , AL
;EE
三、8086的指令格式及数据类型
操作码
操作数
指令由操作码和操作数(地址码) 组成。8086的指令长度是可变的,一条 指令一般由1-6个字节组成。
二、寻址方式介绍
1.立即寻址(Immediate addressing) 操作数就在指令中,紧跟在操作
《微机原理与接口技术》教学课件 第3章
立即寻址
寄存器寻址
直接寻址
寄存器间接寻 址
寄存器相对寻 址
基址加变址寻 址
相对基址加变 址寻址
1 立即寻址
3.1 8086指令系统入门
指令中直接给出指令的操作数(跟在操作码的后面),取出指 令的同时就可以获得操作数,这种寻址方式称为立即寻址,这种操 作数称为立即数。立即寻址方式主要用来给寄存器或存储器赋初值。
此外,在8086指令系统中,操作码的长度一般为1~2个字节,指令的总长度一般为1~6个字节。
3.1 8086指令系统入门
把一条指令中所包含的二进制代码的位数称为 指令字长,它通常是机器字长的一倍、两倍、多倍 或半倍。例如,8086 CPU的字长为16位,故其指 令长度可以是1个字节、1个字或多个字节等。
3.1.2 指令格式
计算机指令通常由操作码和操作数两部分组成,其格式如下: 操作码 [目的操作数][,源操作数]
操作码指出了计算机 所要执行的基本操作
操作数则指明了操作 的对象
指令中操作数的个数由指令的功能决定。在8086指令系统中,根据指令中操作数个数的不同,可以将指 令分为:无操作数指令、单操作数指令和双操作数指令。
内容提要
掌握8086指令的分类和格式。 掌握8086指令中操作数和程序转移地址的寻址方式。 掌握调试程序DEBUG的使用方法。 掌握数据传送类指令的功能及用法。 掌握算术运算与逻辑运算类指令的功能及用法。
4
3.1 8086指令系统入门
3.1.1 指令分类
计算机指令是指计算机所能识别并执行的基本操作命令,这些全部操作命令的集合被称为计算机 的指令系统。
行指令: MOV AX, COUNT[BX] 操作数的物理地址为:(DS)×16+(BX)+COUNT=3000H×16+1000H+2000H=33000H,指令
微机原理与接口第三章课件
☆ 当基址寄存器选用BX时,数据隐含存于数据段中; ☆ 当基址寄存器选用BP时,数据隐含存于堆栈段中, 操作数的物理地址PA为: PA1 =DS X10 H +EA1 PA2 =SS X10 H +EA1
笃学尚行 止于至善
【例】1、MOV
DATA [ BP ] [ SI ], CX
笃学尚行 止于至善
三、指令中的操作数的表达
表征参加操作的数据本身
立即数
寄存器
表征数据存放的地址
存储器
笃学尚行 止于至善
3.1.3 寻址方式
一、有关寻址的基本概念:
1、寻址方式:指令中关于如何 求出操作数有效地址的方法; 2、寻址操作:按指令给出的寻址方式 求出操作数有效地址的过程; 3、多种寻址方式:为满足程序设计需要,有多种寻址方式,程序设计中,有时直 接写出操作数本身,有时给出操作数的地址,有时给出操作数所在地址的地址。 4、根据操作数的类型及来源分类: ★ 数据操作数; ★ 转移地址操作数;
(SS)×10H=40000H (BP)= 2000H (SI)= 1200H + 43200H AL
存储器
40000H … 43200H
56H
(ES)×10H=30000H (BX)= 1000H + (DI)= 1100H 32100H AX 00H 50H
存储器
30000H …
32100H
② 把该内存单元中的内容送到AL中
目的操作数 dst
源操作数 src
参加操作的数据 或数据存放的地址
笃学尚行 止于至善
二、指令中的操作数:
零操作数指令: 操作码 单操作数指令: 操作码 操作数 双操作数指令: 操作码 操作数1,操作数2 多操作数指令: 操作码 三操作数及以上 ☆ 在二地址指令格式中: 提供两个操作数地址,分别为:目的操作数 dst (在前) 源操作数 src (在后)。 ☆ 当指令执行时: 两个操作数同时参与运算,运算结果送回目的操作数,目的操作 数原有内容在运算后将会消失;源操作数不变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例: MOV SI , 61A8H MOV DX , [SI]
10
5、寄存器相对寻址(Register
微机原理与接口技术
Relative
Addressing)
这种寻址方式中提出位移量的概念,
即在寄存器间接寻址给出的偏移地址上,
加一相对位移量。位移量是一带符号的
16位二进制数。当使用BX或BP寄存器时, 称 基 址 寻 址 ; 使 用 SI 或 DI 寄 存 器 时 , 称 变址寻址。
3
微机原理与接口技术
一、8086的寻址方式说明
1.有效地址EA(Effective Address) 当操作数在内存中时,指令的操作数给出
所访问的内存单元的逻辑地址。在寻址方式中, 逻辑地址的形成是由多个分量组合而成,该组 合地址又叫有效地址。
2、MOV数据传送指令 其格式为: MOV 目的操作数,源操作数 ▪ 目的操作数和源操作数均可采用不同的寻址方式, ▪ 两个操作数的类型必需一致。
2、寄存器寻址(Register addressing)
操作数在寄存器中,指令中源操作数和 目的操作数都可用这种寻址方式。
例: MOV AL , BL MOV AX , 1234H MOV AL , AH
;88 D8 ;B8 34 12 ;88 E0
6
微机原理与接口技术
3、直接寻址(Direct addressing) 当指令中的源操作数或目的操作数,
4
二、寻址方式介绍
微机原理与接口技术
1.立即寻址(Immediate addressing)
操作数就在指令中,紧跟在操作码后 面,作为指令一部分存放在内存的代码段中, 这种操作数称为立即数。
例: MOV AX , 34EAH ;B8 EA 34 MOV BL , 20H ; B3 205Biblioteka 微机原理与接口技术例:
MOV CX , 36H[BX] MOV -20[BP] , AL
11
6、基址加变址寻址(Based
微机原理与接口技术
Indexed
addressing)
它的EA是由三部分组成的,基址寄存 器BX或BP的内容加上变址寄存器的内容
再加位移量。物理地址由基址寄存器按规 则选择段寄存器,也可以使用段超越。
▪ 2.若当前SS=3500H,SP=0800H,说明堆栈段在存储 器中的物理地址,若此时入栈10个字节,SP内容是 什么?若再出栈6个字节,SP为什么值?
▪ 3.某程序数据段中存放了两个字1EE5H和2A8CH, 已知(DS)=7850H,数据存放的偏移地址为3121H 及285AH。试画图说明它们在存储器中的存放情况。 若要读取这两个字,需要对存储器进行几次操作?
➢[ ]有相加的意思,下面几种写法是等价的 6[BX][SI], [BX+6][SI], [BX+SI+6];
➢若[ ]中含BP,则隐含使用SS来提供段基 址,其它均隐含用DS。均可以段超越。
13
微机原理与接口技术
14
7、其他
微机原理与接口技术
A、隐含寻址
在指令中没有明显的标出,而指定寄存器 参加操作,称之为“隐含寻址”。
17
微机原理与接口技术
B、I/O(输入/输出)端口寻址(I/O port addressing) 当操作数在外部设备时,使用I/O指令。此时有两种
CX 在串操作指令和LOOP指令中作计数器用
CL 在移位/循环移位指令中作移位次数计数器用
DX
在字乘法/除法指令中存放乘积高位或被除数高位或余数 在间接寻址的输入输出指令中作地址寄存器用
在字符串运算指令中作源变址寄存器用 SI 在间接寻址中作变址寄存器用
在字符串运算指令中作目标变址寄存器用 DI 在间接寻址中作变址寄存器用
DAA
MUL BL
PUSH AX
POP CX . .
.
15
微机原理与接口技术
寄存器名
特殊用途
在输入输出指令中作数据寄存器用 AX, AL 在乘法指令中存放被乘数或乘积,在除法指令中存放被除数或商
AH 在LAHF指令中,作目标寄存器用
在十进制运算指令中作累加器用 AL 在XLAT指令中作累加器用
在间接寻址中作基址寄存器用 BX 在XLAT指令中作基址寄存器用
采用直接给出被访问内存单元的逻辑地 址时,这种寻址方式称直接寻址。
例: MOV AX , [3E4CH];A1 4C 3E MOV [1234H] , AL ;A2 34 12
7
两个概念
微机原理与接口技术
段超越: MOV AX , [3E4CH] MOV AX , ES:[3E4CH]
符号地址:
MOV AX , RESULT
例: MOV AX , 8AH[BX][SI] 该例中EA=8AH+BX+SI 物理地址=DS×10H+8AH+BX+SI
12
[ ]的使用规定
微机原理与接口技术
➢立即数在[ ]中表示直接地址,如[1000H];
➢只有BX,BP,SI,DI可以出现在[ ]内,它们 可以单独出现,也可以组合,但BX和BP 不允许出现在同一个[ ],SI和DI也一样;
8
微机原理与接口技术
如何区分RESULT是立即数还是符号地址?
如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT
如果 RESULT DW 3E4CH; 符号地址 MOV AX,RESULT
9
微机原理与接口技术
4、寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过 寄存器间接给出
BP 在间接寻址中作基址指针用
SP 在堆栈操作中作堆栈指针用
隐含性质 不能隐含 隐含 隐含 隐含 隐含 不能隐含 隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 不能隐含 隐含
16
作业订正
微机原理与接口技术
▪ 1.若CS=A000H,求当前代码段在存储器中的物理地 址范围是什么?若数据段位于52000H到61FFFH的 64K范围内,问DS=?
微机原理与接口技术课件微机第三
精品jin
主要内容
微机原理与接口技术
▪8086的寻址方式
▪指令的机器码表示方法
▪ 8086指令系 统
2
3-1 8086的寻址方式
微机原理与接口技术
操作码
操作数
寻址方式就是指令中用于说明操作 数所在地址的方法
MOV AX, 1234H MOV AX, [1234H]
;B8 34 12 ;A1 34 12
10
5、寄存器相对寻址(Register
微机原理与接口技术
Relative
Addressing)
这种寻址方式中提出位移量的概念,
即在寄存器间接寻址给出的偏移地址上,
加一相对位移量。位移量是一带符号的
16位二进制数。当使用BX或BP寄存器时, 称 基 址 寻 址 ; 使 用 SI 或 DI 寄 存 器 时 , 称 变址寻址。
3
微机原理与接口技术
一、8086的寻址方式说明
1.有效地址EA(Effective Address) 当操作数在内存中时,指令的操作数给出
所访问的内存单元的逻辑地址。在寻址方式中, 逻辑地址的形成是由多个分量组合而成,该组 合地址又叫有效地址。
2、MOV数据传送指令 其格式为: MOV 目的操作数,源操作数 ▪ 目的操作数和源操作数均可采用不同的寻址方式, ▪ 两个操作数的类型必需一致。
2、寄存器寻址(Register addressing)
操作数在寄存器中,指令中源操作数和 目的操作数都可用这种寻址方式。
例: MOV AL , BL MOV AX , 1234H MOV AL , AH
;88 D8 ;B8 34 12 ;88 E0
6
微机原理与接口技术
3、直接寻址(Direct addressing) 当指令中的源操作数或目的操作数,
4
二、寻址方式介绍
微机原理与接口技术
1.立即寻址(Immediate addressing)
操作数就在指令中,紧跟在操作码后 面,作为指令一部分存放在内存的代码段中, 这种操作数称为立即数。
例: MOV AX , 34EAH ;B8 EA 34 MOV BL , 20H ; B3 205Biblioteka 微机原理与接口技术例:
MOV CX , 36H[BX] MOV -20[BP] , AL
11
6、基址加变址寻址(Based
微机原理与接口技术
Indexed
addressing)
它的EA是由三部分组成的,基址寄存 器BX或BP的内容加上变址寄存器的内容
再加位移量。物理地址由基址寄存器按规 则选择段寄存器,也可以使用段超越。
▪ 2.若当前SS=3500H,SP=0800H,说明堆栈段在存储 器中的物理地址,若此时入栈10个字节,SP内容是 什么?若再出栈6个字节,SP为什么值?
▪ 3.某程序数据段中存放了两个字1EE5H和2A8CH, 已知(DS)=7850H,数据存放的偏移地址为3121H 及285AH。试画图说明它们在存储器中的存放情况。 若要读取这两个字,需要对存储器进行几次操作?
➢[ ]有相加的意思,下面几种写法是等价的 6[BX][SI], [BX+6][SI], [BX+SI+6];
➢若[ ]中含BP,则隐含使用SS来提供段基 址,其它均隐含用DS。均可以段超越。
13
微机原理与接口技术
14
7、其他
微机原理与接口技术
A、隐含寻址
在指令中没有明显的标出,而指定寄存器 参加操作,称之为“隐含寻址”。
17
微机原理与接口技术
B、I/O(输入/输出)端口寻址(I/O port addressing) 当操作数在外部设备时,使用I/O指令。此时有两种
CX 在串操作指令和LOOP指令中作计数器用
CL 在移位/循环移位指令中作移位次数计数器用
DX
在字乘法/除法指令中存放乘积高位或被除数高位或余数 在间接寻址的输入输出指令中作地址寄存器用
在字符串运算指令中作源变址寄存器用 SI 在间接寻址中作变址寄存器用
在字符串运算指令中作目标变址寄存器用 DI 在间接寻址中作变址寄存器用
DAA
MUL BL
PUSH AX
POP CX . .
.
15
微机原理与接口技术
寄存器名
特殊用途
在输入输出指令中作数据寄存器用 AX, AL 在乘法指令中存放被乘数或乘积,在除法指令中存放被除数或商
AH 在LAHF指令中,作目标寄存器用
在十进制运算指令中作累加器用 AL 在XLAT指令中作累加器用
在间接寻址中作基址寄存器用 BX 在XLAT指令中作基址寄存器用
采用直接给出被访问内存单元的逻辑地 址时,这种寻址方式称直接寻址。
例: MOV AX , [3E4CH];A1 4C 3E MOV [1234H] , AL ;A2 34 12
7
两个概念
微机原理与接口技术
段超越: MOV AX , [3E4CH] MOV AX , ES:[3E4CH]
符号地址:
MOV AX , RESULT
例: MOV AX , 8AH[BX][SI] 该例中EA=8AH+BX+SI 物理地址=DS×10H+8AH+BX+SI
12
[ ]的使用规定
微机原理与接口技术
➢立即数在[ ]中表示直接地址,如[1000H];
➢只有BX,BP,SI,DI可以出现在[ ]内,它们 可以单独出现,也可以组合,但BX和BP 不允许出现在同一个[ ],SI和DI也一样;
8
微机原理与接口技术
如何区分RESULT是立即数还是符号地址?
如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT
如果 RESULT DW 3E4CH; 符号地址 MOV AX,RESULT
9
微机原理与接口技术
4、寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过 寄存器间接给出
BP 在间接寻址中作基址指针用
SP 在堆栈操作中作堆栈指针用
隐含性质 不能隐含 隐含 隐含 隐含 隐含 不能隐含 隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 不能隐含 隐含
16
作业订正
微机原理与接口技术
▪ 1.若CS=A000H,求当前代码段在存储器中的物理地 址范围是什么?若数据段位于52000H到61FFFH的 64K范围内,问DS=?
微机原理与接口技术课件微机第三
精品jin
主要内容
微机原理与接口技术
▪8086的寻址方式
▪指令的机器码表示方法
▪ 8086指令系 统
2
3-1 8086的寻址方式
微机原理与接口技术
操作码
操作数
寻址方式就是指令中用于说明操作 数所在地址的方法
MOV AX, 1234H MOV AX, [1234H]
;B8 34 12 ;A1 34 12