微机原理课件第6讲
合集下载
微机原理课件ppt
04
微机程序执行过程
程序加载与执行
程序加载
将程序从存储介质中读取到内存中, 为程序的执行做好准备。
程序执行
CPU按照指令逐条执行程序,完成程 序所要求的任务。
指令执行流程
取指令
CPU从内存中读取指令并存放到指令寄存器 中。
指令译码
对指令进行译码,确定指令的操作码和操作 数。
执行指令
根据译码结果,完成相应的操作,如数据传 输、算术运算、逻辑运算等。
的外设接口。进入21世纪后,微机进一步 发展为DSP(数字信号处理)和FPGA(现 场可编程门阵列)等高性能计算平台。现在 ,微机已进入物联网和人工智能时代,成为
智能硬件的核心组成部分。
微机的应用领域
总结词
微机广泛应用于工业控制、智能家居、医疗设备、航 空航天等领域。
详细描述
由于微机具有体积小、功耗低、价格实惠等优点,它被 广泛应用于各种领域。在工业控制领域,微机可以用于 实现自动化生产线的控制和监测。在智能家居领域,微 机可以用于实现智能照明、智能安防、智能家电控制等 功能。在医疗设备领域,微机可以用于实现医疗影像处 理、医疗数据分析和医疗设备控制等功能。在航空航天 领域,微机可以用于实现飞行控制、导航数据处理和卫 星通信等功能。
立即数
表示常数或立即操作数的值。
注释
用于解释指令的含义和功能,方便阅读和理解。
指令类型
数据传输指令
用于在内存和寄存器之间传输数据,如 MOV指令。
逻辑运算指令
用于进行逻辑运算,如AND、OR、XOR等 指令。
算术运算指令
用于进行算术运算,如ADD、SUB、MUL 、DIV等指令。
控制转移指令
用于改变程序的执行流程,如JMP、CALL 、RET等指令。
《微机原理与接口技术》教学课件 第6章
6.2 随机存取存储器
2 动态RAM 2164的工作过程
① 将要读出单元的行地 址送到地址线A0~A7上, RAS 信号有效时,在下 降沿将地址锁存在行地 址锁存器中。
② 将要读出单元的列地 址 送 到 地 址 线 A0 ~ A7 上 , CAS 信号有效时,在下降 沿将地址锁存在列地址 锁存器中。
目录 CONTENTS
存储器入门 随机存取存储器
只读存储器 高速缓冲存储器
外部存储器
3
引子
计算机之所以能自动、连续地工作,是因为采用了存储程序的原理。计算机中的所有程序和数 据都存放在存储器中,存储器是计算机必不可少的组成部件之一。存储器的性能对整个计算机 系统的性能起着至关重要的作用。本章主要介绍存储器的分类、结构和主要性能指标,并通过 典型的存储器芯片来介绍存储器的工作原理及与CPU的连接方法。
6.1 存储器入门
连续两次读写操作之间所需的最短时间间隔称为存储周期。存储器每秒钟可读写的 数据量称为存储器带宽或数据传输速率,单位为bps(或bit/s)。存取周期和存储器带宽 也常作为存储器的性能指标。
提示
6.2 随机存取存储器
随机存取存储器(Random Access Memory,RAM)也称随机读/写存储器或随机存储器,它既可以直接 从任何一个指定的存储单元中读出数据,也可以将数据写入任何一个指定的存储单元中。
6.1.2 存储器的性能指标
存储器容量:存储器中所包含存储单元的总数,单位是字节(B)。存储 器容量越大,存储的信息越多,计算机的性能也就越强。
01
02
存取时间:存储器完成一次读写操作所需的时间,单位为ns(纳秒,
1 ns=10-9 sБайду номын сангаас。
6时序逻辑电路微机原理课件
0001 0011 0110
1101 1010
经过4个移位脉冲后,串行输入的数据,并行输出。
串行 输出
Q
3
D
Q2 D
Q1 D
Q0 D
DI(1101)
Q
Q
Q
Q
CP
移位
设初态 Q3Q2Q1Q0 = 0000
脉冲
Q3Q2Q1Q0 D3D2D1D0
D3 = Q2 D2 = Q1 D1 = Q0
D0 = DI
如何写状态转换表或图?
Q* Q
1
1
Q* 2
A
Q Q
1
2
A Q2 Q1 Q2* Q1* Y
00 0 0 1 0
YA Q 1Q 2A Q 1Q 2 0 0 1 1 0 0
Q2Q1
A 00 01 11 10
01 0 01 1
11 0 00 1
0 01/0 10/0 00/1 11/0
10 0 11 1
FF
FF
FF
FF 输出
输 并入-串出 入 多个输入端,一个输出端
输
出
FF
FF
FF
FF
输 并入-并出 入 多个输入端,多个输出端
1. 四位串入 - 串出的左移寄存器
D0 = DI D1 = Q0
D2 = Q1 D3 = Q2
并行输 出
串行
输出 DO
Q 3
D
清零 Q 脉冲 RD
CLR
Q2 D Q
Q1 D Q
右移寄存器:
D0 = Q1
D1 = Q2
D2 = Q3
= D3
DIR
左移寄存器:
= D0
2019微机原理及接口技术课件-CH6
输入选通
数据端口写选通
③
DB(数据、状态)
数据锁存器
② (输出端口)
④输
出
①
+5V
D R
Q
输出选通
设 备
BUSY(1bit) 状态缓冲器
ACK
(输入端口)
⑥
⑤
状态端口读选通
外设应具有必要的 联络(握手)信号 如READY、ACK等;
接口避免了对端 口的“盲读”、“ 盲写” ,数据传送 的可靠性高,且硬 件接口相对简单。
打印机子程序
键盘子程序
……
内存
中断系统相关概念
中断优先级:在系统中多个中断源可能同时提出中断
请求时,需要按中断的轻重缓急给每个中断源指定一个 优先级别,这就是中断优先级。
CPU按照中断优先权的高低顺序,依次响应。 同级优先级问题
断点:是指CPU执行的现行程序被中断时的下一条指令的
地址,又称断点地址。
无条件控制方式举例
DB
G1
AB 端口译
≥1
M/IO 码电路
WR
G2
RD
≥1
输出锁 存器
输入缓 冲器
L1
L2
……
L8
输出 设备
K1
… K2
K8 VCC
输入 设备
条件控制(程序查询)方式
数据端口读选通 DB(数据、状态)
③
(1bit) READY 状态端口读选通
④
输入数据
输
①入
R +5V
设
②Q D
备
缺点是CPU工作效 率低,I/O响应速度 慢;在有多个外设的 系统中,CPU的查询 顺序由外设的优先级 确定,实时性差。
《微机原理讲 》课件
中央处理器(CPU)是微机的 核心部件,负责执行指令和处
理数据。
CPU由运算器和控制器组成, 运算器负责进行算术和逻辑运 算,控制器负责控制指令的执
行顺序。
CPU的性能指标主要包括时钟 频率、指令集、缓存大小等。
多核处理器是当前CPU发展的 趋势,能够提高处理器的并行 处理能力。
存储器
存储器是微机中用于存储数据 的部件。
高级语言
高级语言是一种更接近自然语言和数 学表达式的编程语言,如C、C、Java 等。这些语言具有更好的可读性和可 维护性。
数据库管理系统
数据库管理系统定义
数据库管理系统是一种用于创建、使用和维护数据库的软 件系统。
数据库的类型
关系型数据库和非关系型数据库是两种主要的数据库类型。关系 型数据库如MySQL和Oracle,非关系型数据库如MongoDB和
03
输入输出设备的性能指标主要包括精度、速度、可靠性等。
04
智能设备的出现使得输入输出设备越来越多样化,如语音识别、手势 控制等。
总线
总线是微机中用于连接各个ቤተ መጻሕፍቲ ባይዱ件的通道。
总线分为数据总线、地址总线和控制总线三类 ,数据总线用于传输数据,地址总线用于传输 地址信息,控制总线用于传输控制信号。
总线的性能指标主要包括数据传输速率、传输 带宽等。
《微机原理讲》ppt课件
目录 CONTENTS
• 微机原理概述 • 微机的硬件结构 • 微机的软件系统 • 微机的应用 • 微机的发展趋势
01
微机原理概述
微机的基本概念
微机
01
微型计算机的简称,是一种体积小、结构紧凑、性能强大的计
算机系统。
微机的特点
02
理数据。
CPU由运算器和控制器组成, 运算器负责进行算术和逻辑运 算,控制器负责控制指令的执
行顺序。
CPU的性能指标主要包括时钟 频率、指令集、缓存大小等。
多核处理器是当前CPU发展的 趋势,能够提高处理器的并行 处理能力。
存储器
存储器是微机中用于存储数据 的部件。
高级语言
高级语言是一种更接近自然语言和数 学表达式的编程语言,如C、C、Java 等。这些语言具有更好的可读性和可 维护性。
数据库管理系统
数据库管理系统定义
数据库管理系统是一种用于创建、使用和维护数据库的软 件系统。
数据库的类型
关系型数据库和非关系型数据库是两种主要的数据库类型。关系 型数据库如MySQL和Oracle,非关系型数据库如MongoDB和
03
输入输出设备的性能指标主要包括精度、速度、可靠性等。
04
智能设备的出现使得输入输出设备越来越多样化,如语音识别、手势 控制等。
总线
总线是微机中用于连接各个ቤተ መጻሕፍቲ ባይዱ件的通道。
总线分为数据总线、地址总线和控制总线三类 ,数据总线用于传输数据,地址总线用于传输 地址信息,控制总线用于传输控制信号。
总线的性能指标主要包括数据传输速率、传输 带宽等。
《微机原理讲》ppt课件
目录 CONTENTS
• 微机原理概述 • 微机的硬件结构 • 微机的软件系统 • 微机的应用 • 微机的发展趋势
01
微机原理概述
微机的基本概念
微机
01
微型计算机的简称,是一种体积小、结构紧凑、性能强大的计
算机系统。
微机的特点
02
微机原理课件第六章资料
微机原理及接口技术
教师:王茜 邮箱:wq_cduestc@
第6章 输入/输出和中断技术 本章重点:
· 掌握地址译码技术及I/O端口编址方法; · 掌握8086对数据输入/输出的控制方式; · 掌握中断类型码、中断向量和中断向量表三者之间的关系; · 了解8086的中断机构,理解8086的硬中断及INTR与NMI的区别
6.2.1 程序控制方式 1. 无条件传送方式 * 最简单的I/O控制方式,CPU可以随时根据需要无
条件地读写I/O端口 * 外设要求:简单,数据变化缓慢,操作时间固定
,如一组开关或LED显示管。外设被认为始终处 于就绪状态
* 接口特点
– CPU的DB→I/O接口(输出锁存器)→外设 – CPU的DB←I/O接口(输入缓冲器)←外设
R 77AH W 77AH
6.2 输入/输出的控制方式
· 外设的速度与CPU相比要慢好几个数量级,且不 同外设之间的速度也相差很大,为了保证数据传 输的可靠性,CPU一定要等外设准备就绪之后才 能执行输入/输出操作,而外设就绪的时刻对CPU 而言是随机的,因此需要同步。
• 三种I/O同步控制方式: –程序控制方式:无条件传送和程序查询 –中断控制方式 –直接存储器存取方式,DMA方式
74LS04
&
74LS20 &
≥1 AEN ≥1
IOR
74LS32
≥1 R77AH
读/写操作77AH端口地址的译码电路
AAAAAAAA198654310
& 74LS30 ≥1
A15 A14
74LS04
&
AA1132
≥1 74LS20
A11
&
AAA720 AEN
教师:王茜 邮箱:wq_cduestc@
第6章 输入/输出和中断技术 本章重点:
· 掌握地址译码技术及I/O端口编址方法; · 掌握8086对数据输入/输出的控制方式; · 掌握中断类型码、中断向量和中断向量表三者之间的关系; · 了解8086的中断机构,理解8086的硬中断及INTR与NMI的区别
6.2.1 程序控制方式 1. 无条件传送方式 * 最简单的I/O控制方式,CPU可以随时根据需要无
条件地读写I/O端口 * 外设要求:简单,数据变化缓慢,操作时间固定
,如一组开关或LED显示管。外设被认为始终处 于就绪状态
* 接口特点
– CPU的DB→I/O接口(输出锁存器)→外设 – CPU的DB←I/O接口(输入缓冲器)←外设
R 77AH W 77AH
6.2 输入/输出的控制方式
· 外设的速度与CPU相比要慢好几个数量级,且不 同外设之间的速度也相差很大,为了保证数据传 输的可靠性,CPU一定要等外设准备就绪之后才 能执行输入/输出操作,而外设就绪的时刻对CPU 而言是随机的,因此需要同步。
• 三种I/O同步控制方式: –程序控制方式:无条件传送和程序查询 –中断控制方式 –直接存储器存取方式,DMA方式
74LS04
&
74LS20 &
≥1 AEN ≥1
IOR
74LS32
≥1 R77AH
读/写操作77AH端口地址的译码电路
AAAAAAAA198654310
& 74LS30 ≥1
A15 A14
74LS04
&
AA1132
≥1 74LS20
A11
&
AAA720 AEN
第6章微机原理课件
态仍能保持。如要写“0”, I/O线线为“1”,I/O线为“0”,这
使V1导通,V2截止。只要不掉电,这个状态会一直保持,除非 重新写入一个新的数据。对所存的内容读出时,仍需地址译码
器的某一输出线送出高电平到V5、V6管栅极,即此存储单元被
选中,此时V5、V6导通。于是,V1、V2管的状态被分别送至I/O 线、 I/O线,这样就读取了所保存的信息。显然,存储的信息
图6.2 六个MOS管组成的静态RAM存储电路
第6章 主 存 储 器
若V1截止,则A点为高电平,它使V2导通,于是B点 为低电平,这又保证了V1的截止。同样,V1导通而V2截止,
这是另一个稳定状态。因此,可用V1管的两种状态表示
“1”或“0”。由此可知,静态RAM保存信息的特点是和 这个双稳态触发器的稳定状态密切相关的。显然,仅仅能
2013年6月8日星期六
第6章第6页共120页
第6章 主 存 储 器
2) 可编程ROM 可编程ROM简称PROM(Programable ROM)。PROM由 厂家生产出的“空白”存储器,根据用户需要,利用特殊方法 写入程序和数据,即对存储器进行编程。但只能写入一次,写 入后信息是固定的,不能更改。它PROM类似于掩膜ROM, 适合于批量使用。
第6章 主 存 储 器
第6章 主 存 储 器
6.1 概述 6.2 随机存储器(RAM) 6.3 只读存储器(ROM) 6.4 CPU与存储器的连接 6.5 IBM-PC/XT中的存储器
6.6 扩展存储器及其管理
习题6
第6章第1页共120页
2013年6月8日星期六
第6章 主 存 储 器
6.1 概
6.1.1 存储器的一般概念和分类
2013年6月8日星期六
《16位微机原理及接口技术》课件第6章
(2)成组传送方式。一个DMA请求可以传送一组信息。在 DMAC 初 始 化 时 , 由 编 程 决 定 这 一 组 信 息 的 字 节 数 , 只 要 在 DACK 有 效 之 前 DREQ 保 持 有 效 即 可 。 一 旦 DACK 有 效 , 不 管 DREQ是否有效,DMAC一直不放弃总线控制权, 直到整个数组 传送完。
器。 PC/XT使用一片8237A, PC/AT使用两片8237A, 在高档微 机中常使用多功能芯片取代8237A,但多功能芯片中的DMA控 制器与8237A的功能基本相同。
1. 8237A的内部结构和引脚功能
8237A 是 具 有 4 个 独 立 DMA 通 道 的 可 编 程 DMA 控 制 器 (DMAC),它使用单一的+5 V电源、单相时钟和40引脚双列 直插式封装。在实际应用中,8237A必须与一片8位锁存器一起 使用,才能形成一个完整的4 通道DMA控制器。8237A经初始化 后, 可以控制每一个通道在存储器和I/O口之间以最高1.6 M波 特的速率传送最多达64 KB的数据块, 而不需要CPU的介入。
Hale Waihona Puke (2)读/写逻辑。当CPU对8237A初始化或对8237A寄存器进 行读操作时,8237A就像I/O端口一样被操作,读/写逻辑接收 IOR或IOW信号。当IOR为低电平时,CPU可以读取8237A内部 寄存器的值;当IOW为低电平时,CPU可以将数据写入8237A的 内部寄存器中。
在DMA传送期间,系统由8237A控制总线。此时,8237A分 两次向地址总线上送出要访问的内存单元20位物理地址中的低 16位,8237A输出必要的读/写信号,这些信号分别为I/O读信号 IOR,I/O 写 信 号 IOW , 存 储 器 读 信 号 MEMR 和 存 储 器 写 信 号 MEMW。
器。 PC/XT使用一片8237A, PC/AT使用两片8237A, 在高档微 机中常使用多功能芯片取代8237A,但多功能芯片中的DMA控 制器与8237A的功能基本相同。
1. 8237A的内部结构和引脚功能
8237A 是 具 有 4 个 独 立 DMA 通 道 的 可 编 程 DMA 控 制 器 (DMAC),它使用单一的+5 V电源、单相时钟和40引脚双列 直插式封装。在实际应用中,8237A必须与一片8位锁存器一起 使用,才能形成一个完整的4 通道DMA控制器。8237A经初始化 后, 可以控制每一个通道在存储器和I/O口之间以最高1.6 M波 特的速率传送最多达64 KB的数据块, 而不需要CPU的介入。
Hale Waihona Puke (2)读/写逻辑。当CPU对8237A初始化或对8237A寄存器进 行读操作时,8237A就像I/O端口一样被操作,读/写逻辑接收 IOR或IOW信号。当IOR为低电平时,CPU可以读取8237A内部 寄存器的值;当IOW为低电平时,CPU可以将数据写入8237A的 内部寄存器中。
在DMA传送期间,系统由8237A控制总线。此时,8237A分 两次向地址总线上送出要访问的内存单元20位物理地址中的低 16位,8237A输出必要的读/写信号,这些信号分别为I/O读信号 IOR,I/O 写 信 号 IOW , 存 储 器 读 信 号 MEMR 和 存 储 器 写 信 号 MEMW。
《微机原理讲》课件
《微机原理讲》PPT课件
通过这份PPT课件,我们将深入介绍微机原理基础、计算机组成与结构、存储 器层次结构、中央处理器、输入输出系统、总线技术和接口等重要知识点。
微机原理基础
数字电路与逻辑门
数字电路是微机原理的基础,逻辑门用于处理 和转换二进制数据。
指令系统
学习指令系统的构成和指令的执行过程,是掌 握微机原理的基础。
4
序和数据。
辅助存储器用于长期保存大量的数据, 如硬盘、光盘、和固态硬盘等。
中央处理器
CPU结构
了解CPU的结构和工作原理,理 解计算机的运算和控制过程。
算术逻辑单元
算术逻辑单元是CPU的核心组件, 负责进行算术和逻辑运算。
控制单元
控制单元是CPU的重要组成部分, 用于控制指令的执行和协调各个 部件的工作。
输入输出系统
1 输入设备
键盘、鼠标、摄像头等设备用于将外部数据输入到计算机中。
2 输出设备
显示器、打印机、扬声器等设备用于将计算机处理后的数据输出。
3 接口卡
接口卡是计算机与外部设备之间的桥梁,用于数据传输和控制。
总线技术和接口
1
总线概述
总线是计算机内部各个部件进行数据传输和通信的公共路径。
2
数据总线
电源
电源为计算机提供稳定的电力供 应,支持各个硬件组件的正常运 行。
存储器层次结构
1
寄存器
寄存器是位于CPU内部的最快的存储设备,
高速缓存
2
用于存储临时数据。
高速缓存作为CPU和主内存之间的缓冲,
加快了数据的访问速度。
3
主内存
主内存是计算机存储体系结构中的最主
要的存储设备,用于存储正在运行的程
通过这份PPT课件,我们将深入介绍微机原理基础、计算机组成与结构、存储 器层次结构、中央处理器、输入输出系统、总线技术和接口等重要知识点。
微机原理基础
数字电路与逻辑门
数字电路是微机原理的基础,逻辑门用于处理 和转换二进制数据。
指令系统
学习指令系统的构成和指令的执行过程,是掌 握微机原理的基础。
4
序和数据。
辅助存储器用于长期保存大量的数据, 如硬盘、光盘、和固态硬盘等。
中央处理器
CPU结构
了解CPU的结构和工作原理,理 解计算机的运算和控制过程。
算术逻辑单元
算术逻辑单元是CPU的核心组件, 负责进行算术和逻辑运算。
控制单元
控制单元是CPU的重要组成部分, 用于控制指令的执行和协调各个 部件的工作。
输入输出系统
1 输入设备
键盘、鼠标、摄像头等设备用于将外部数据输入到计算机中。
2 输出设备
显示器、打印机、扬声器等设备用于将计算机处理后的数据输出。
3 接口卡
接口卡是计算机与外部设备之间的桥梁,用于数据传输和控制。
总线技术和接口
1
总线概述
总线是计算机内部各个部件进行数据传输和通信的公共路径。
2
数据总线
电源
电源为计算机提供稳定的电力供 应,支持各个硬件组件的正常运 行。
存储器层次结构
1
寄存器
寄存器是位于CPU内部的最快的存储设备,
高速缓存
2
用于存储临时数据。
高速缓存作为CPU和主内存之间的缓冲,
加快了数据的访问速度。
3
主内存
主内存是计算机存储体系结构中的最主
要的存储设备,用于存储正在运行的程
微机原理课件ch06en
2021/1/10
第19页
Loop Program Structure
• WHILE-DO Program Sequence
2021/1/10
第20页
Loop Program Structure
• WHILE-DO Program Sequence
2021/1/10
第21页
Example
• The Block-Move Program
– JZ, JNZ, JG, JL, JGE, and JLE needed because the numeric order of signed and unsigned numbers differ.
2021/1/10
第11页
JMP CX JMP EDX JMP NEAR PTR [BX] JMP FAR PTR [ECX]
2021/1/10
第14页
Branch Program Structure
• Using JMP to realize IF-THEN
– With a flag condition test
2021/1/10
2021/1/10
第7页
Far JMP
2021/1/10
第8页
Conditional Jumps
2021/1/10
第9页
Conditional Jumps
• There are many conditional jump instructions. • Conditional jump instructions, for the most part, test the
• The procedure called by the interrupt is called a handler or an interrupt service procedure (ISP).
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
②IMUL整数乘法指令
IMUL整数乘法指令 (Integer Multiply)
格式 IMUL src。 。 功能 将源操作数和累加器中的数都当成有符号数,然后 将两数相乘,src可以是字(-32768~32767)和字节(128~127)。 。 操作数要求和运算情况 与MUL要求相同。
②IMUL整数乘法指令
除法指令
指令 DIV IDIV AAD CBW CWD 含义 无符号除法 整数除法 除法的ASCII调整 把字节转换成字 把字转换成双字 时钟数 80~168+EA 101~190+EA 60 2 5
①DIV无符号数除法指令
DIV无符号数除法指令 (Division unsigned)
格式 DIV src。 。 功能 将两个无符号数相除,被除数的长度必须是除数长 度的两倍,若不够,必须扩展被除数的长度。 。 操作数要求 可以是寄存器、存储单元,但不能是立即数; 源操作数是存储单元时,必须在操作数前加B或W说 明是字节还是字。
第3章 8086的寻址方式和指令系统 章 的寻址方式和指令系统
3.1 8086的寻址方式 的寻址方式
3.2 8086指令格式及数据类型 指令格式及数据类型
3.3 8086的指令集 的指令集
乘法指令
指令 MUL IMUL AAM
含义 无符号数乘法 整数乘法 乘法的ASCII调整
时钟数 70~139+EA 80~160+EA 83
③CBW把字节转换成字指令
CBW把字节转换成字指令 (Convert Byte to Word)
格式 CBW。 。 功能 把寄存器AL中字节的符号位扩充到AH的所有位。 。 ),不影响标志位。 (AH被称为AL的符号扩充), ), 。 扩展方法 AL为正数(AL<80H )时,即D7=0时,使AH=00H。 。 AL为负数(AL>=80H)时,即D7=1时,使AH=0FFH。 。
③AAM乘法的ASCII调整指令
举例
求两个非压缩十进制数08和04之乘积。 。 解:MOV AL,08H ;置初值 : , MOV BL,04H , MUL BL ;AL08与04之乘积20H AAM ; 调整得AH=03H(十位),AL=02H(个位) = 位, = 结果:AX=0302H,即BCD数32。 : = , 。 若想转换成ASCII码,需再执行 OR AX,3030H , ,
注意事项
执行DIV指令时,如果除数为0,或字节除法时 , AL寄存器中的商大于FFH, 或字除法时AX寄存器 , 中的商大于FFFFH,则CPU立即自动产生一个类型 , 号为0的内部中断。
②IDIV整数除法指令
IDIV整数除法指令 (Integer Division)
格式 IDIV src。 。 功能 将两个带符号数相除,被除数的长度必须是除数长 度的两倍,若不够,必须用CBW或CWD扩展被除数的 长度。 操作数要求与运算情况 同DIV。 。
③AAM乘法的ASCII调整指令
AAM乘法的ASCII调整指令(ASCII Adjust for Multiply) 格式 AAM 。 功能 对AL中的两个非压缩十进制数相乘的乘积进行十 进制数的调整,在AX中得到正确的非压缩十进制数的 乘积,高位在AH中,低位在AL中。 。 调整的过程
把AL寄存器内容除以10,商放在AH中,余数在AL中。即: , : AH AL/10所得的商; AL AL/10所得的余数.
①MUL无符号数乘法指令
MUL无符号数乘法指令 (Multiply unsigned)
格式 MUL src。 。 功能 将源操作数和累加器中的数都当成无符号数,然后 将两数相乘,src可以是字(0~65535)和字节(0~255)。 。 操作数要求 可以是寄存器、存储单元,但不能是立即数; 源操作数是存储单元时,必须在操作数前加B或W说 明是字节还是字。
由于AL>7FH,或者说AL为负数时,符号位为 ,或者说 为负数时 为负数时, 由于 1,AH应补 ,因此 应补1,因此(AH)=11111111B , 应补
④CWD把字转换成双字指令
CWD把字转换成双字指令 (Convert Word to Double Word)
格式 CWD。 。 功能 把寄存器AX中字的符号位扩充到DX的所有位。 。 扩展方法
①MUL无符号数乘法指令
举例
MOV AL,14H , ;(AL)=14H--20 MOV CL,05H , ;(CL)=05H--5 MUL CL ;(AX)=0064H--100 本例中结果的高半部分(AH)=0,因此,状态标 本例中结果的高半部分 , 因此, 志位(CF)=(OF)=0,通过检测标志,可以去除结果中 志位 ,通过检测标志, 的前导无效零。 的前导无效零。 有了乘法(和除法 指令, 和除法)指令 有了乘法 和除法 指令,使有些运算程序的编程 变得简单方便。但是必须注意, 变得简单方便。但是必须注意,乘法指令的执行速 度很慢,除法指令也是如此。 度很慢,除法指令也是如此。
②IDIV整数除法指令
关于余数的符号
在对有符号数进行除法运算时, 例如-30除以 除以8, 在对有符号数进行除法运算时 , 例如 除以 , 可以得到商为-4,余数为+2;也可以得到商为-3, 可以得到商为 ,余数为 ;也可以得到商为 ,余数 为-6,两结果都是正确的。 ,两结果都是正确的。 对于8086, 规定余数的符号和被除数的符号相同 , , 规定余数的符号和被除数的符号相同, 对于 因此第二种结果是8086执行完以后的结果。 执行完以后的结果。 因此第二种结果是 执行完以后的结果
③CBW把字节转换成字指令
扩展方法
MOV AL,4FH , CBW ; ;(AL)=01001111B
由于AL<80H,或者说AL为正数时,符号位为 ,或者说 为正数时 为正数时, 由于 0,AH应补 ,因此 应补0,因此(AH)=00000000B , 应补 MOV AL,0F4H , CBW ; ;(AL)=11110100B
①DIV无符号数除法指令
举例
MOV MOV MOV DIV AX,0F05H , DX,068AH , CX,08E9H , CX ;(AX)=0F05H ;(DX)=068AH ;(CX)=08E9H ;
运算完毕后, 运算完毕后,商(AX)=BBE1H,余数 ,余数(DX)=073CH
①DIV无符号数除法指令
被除数扩展问题
无论是无符号数还是有符号数除法时, 无论是无符号数还是有符号数除法时,必须满足被 除数长度是除数长度的两倍。 当不够时, 除数长度是除数长度的两倍 。 当不够时 , 涉及到被除 数的扩展。 数的扩展。 无符号数: 被除数的扩展比较简单, 无符号数 : 被除数的扩展比较简单 个8位无符号数扩展 就可以了 。 以下指令将 中的一个 位无符号数扩展 成为16位 存放在AX中 成为 位,存放在 中。 MOV AL,0FBH;(AL)=11111011B , ; XOR AH,AH ;(AH)=00000000B , 有符号数: 有符号数:被除数的扩展必须根据各自的符号来完 因此,需要借助指令CBW和CWD完成。 完成。 成,因此,需要借助指令 和 完成
①MUL无符号数乘法指令
举例
MUL CL MUL BX ;AL乘CL,结果在 中 乘 ,结果在AX中 ;AX乘BX,结果在 :AX中 乘 ,结果在DX: 中
MUL BYTE [DI]; AL乘存储器 位),结果在 中 乘存储器(8位 ,结果在AX中 乘存储器 MUL WORD[BX]; AX乘存储器字,结果在 乘存储器字, 乘存储器字 结果在DX:AX中 中 如果运算结果的高半部分(在 或 中 为零 为零, 如果运算结果的高半部分 在AH或DX中)为零, 则状态标志位(CF)=(OF)=0,否则 则状态标志位 ,否则(CF)=(OF)=1。因此, 。因此, 状态标志位(CF)=(OF)=1,表示 ,表示AH或DX中包含着乘 状态标志位 或 中包含着乘 积的有效位。 积的有效位。
①DIV无符号数除法指令
运算情况 源操作数是一个字节 16位被除数必须放入AX中,src为8位。 , 为 。 ALAX/src字节的商 AHAX/src字节的余数 商 AL 8位 位 操作数 除数 AX 被除数 余数 AH 16位 位
①DIV无符号数除法指令
运算情况 源操作数是一个字 32位被除数必须放入(DX,AX)中,src为16位。 , , 。 AX(DX,AX)/src字的商 DX(DX,AX)/src字的余数 商 AX 16位 操作数 位 除数 DX,AX 被除数 余数 DX 32位 位
AX为正数(AX<8000H )时,即D15=0时,使DX=0000H。 。 AX为负数(AX>7FFFH)时,即D15=1时,使DX=0FFFFH。 即 。
CBW和CWD
CBW和 CWD指令在带符号数的乘法 和 指令在带符号数的乘法(IMUL)和除 指令在带符号数的乘法 和除 运算中十分有用, 法(IDIV)运算中十分有用,在字节或字的运算之前,将 运算中十分有用 在字节或字的运算之前, AL或AX中数据的符号位进行扩展。例如: 或 中数据的符号位进行扩展。例如: 中数据的符号位进行扩展 MOV AL,MUL_BYTE;(AL)←8位被乘数(带符号数) AL,MUL_BYTE;(AL)←8位被乘数 带符号数) 位被乘数(带符号数 CBW 位带符号数, ;扩展成为16位带符号数,在AX中 扩展成为 位带符号数 中 IMUL BX ;两个 位带符号数相乘,结果在 两个16位带符号数相乘 结果在DX:AX中 位带符号数相乘, 中
②IMUL整数乘法指令
举例
MOV AX,04E8H , MOV BX,4E20H , IMUL BX ;(AX)=04E8H ;(BX)=4E20H ;(DX:AX)=(AX) × (BX) :