微机原理2-1:8088CPU内部结构、寄存器组、存储器组织

合集下载

微机原理的答案

微机原理的答案

第二章8086/808816位微处理器习题解答1.试说明8086/8088CPU中有哪些寄存器?各有哪些用途?答:寄存器组有(1)数据寄存器,含AX、BX、CX、DX四个通用寄存器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。

(2)指针及变址寄存器,含SP、BP、SI、DI四个十六位寄存器,它们可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。

还用来在段内寻址时提供偏移地址。

(3)段寄存器,含CS、DS、SS、ES,用来专门存放段地址。

(4)控制寄存器,包括IP和PSW两个16为寄存器。

IP是指令指针寄存器,用来存放代码段中的偏移地址。

PSW为程序状态字寄存器,由条件码标志和控制标志构成。

条件码标志用来纪录程序运行结果的状态信息。

包括OF、SF、ZF、CF、AF、PF。

控制标志位有三个寄存器DF、IF、TF组成。

2.是说明8086/8088CPU中标志位寄存器中各标志位的意义?答:OF溢出标志,在运算过程中,如操作数超出了机器能表示的范围则置1,否则置0。

SF符号标志,运算结果为负时置1,否则置0。

ZF零标志,运算结果为0置1,否则置0 。

CF进位标志,记录运算是最高有效位产生的进位。

AF辅助进位标志,记录第三位的进位情况。

PF奇偶标志位,用来为机器中传送信息时可能产生的出错情况提供检验条件,当结果操作数中的1的个数为偶时置1。

DF方向标志位,在串处理指令中控制处理信息的方向。

当DF=1时,每次操作后变址寄存器减量,这样就使串处理从高地址向低地址方向处理。

IF中断标志,当IF=1时,允许中断,否则间断中断。

TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。

当TF为0时,CPU正常工作不产生陷阱。

3.哪些操作只能隐含使用某个段寄存器,而不能用其它段寄存器代替?哪些操作出隐含使用某个段寄存器外,还可以使用其它段寄存器?答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DS。

微机原理课件第二章 8086系统结构

微机原理课件第二章 8086系统结构

但指令周期不一定都大于总线周期,如MOV AX,BX
操作都在CPU内部的寄存器,只要内部总线即可完成,不 需要通过系统总线访问存储器和I/O接口。
2021/8/17
17
• 8086CPU的典型总线时序,充分体现了总 线是严格地按分时复用的原则进行工作的。 即:在一个总线周期内,首先利用总线传 送地址信息,然后再利用同一总线传送数 据信息。这样减少了CPU芯片的引脚和外 部总线的数目。
• 执行部件(EU)
• 功能:负责译码和执行指令。
2021/8/17
5
• 联系BIU和EU的纽带为流水指令队列
• 队列是一种数据结构,工作方式为先进先出。写入的指令 只能存放在队列尾,读出的指令是队列头存放的指令。
2021/8/17
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。

微机原理

微机原理

第一章ENIAC 的不足:运算速度慢、存储容量小、全部指令没有存放在存储器中、机器操作复杂、稳定性差 。

冯·诺依曼(Johe V on Neumman )提出了“存储程序”的计算机设计方案。

特点是: 1、采用二进制数形式表示数据和计算机指令。

2、指令和数据存储在计算机内部存储器中,能自动依次执行指令。

由控制器、运算器、存储器、输入设备、输出设备5大部分组成计算机硬件。

工作原理的核心是“存储程序”和“程序控制”。

一型计算机的分类字长:有4位、8位、16位、32位、64位微型计算机等 工艺:可分成MOS 工艺、双极型TTL 工艺的微处理器 结构类型:有单片机、单板机、位片机、微机系统等 用途:个人计算机、工作站/务器、网络计算机 体积大小:台式机、携机。

二.微型计算机的性能指标介绍位:这是计算机中所表示的最基本、最小的数据单元。

字长:是计算机在交换、加工和存放信息时的最基本的长度。

字节(Byte ):是计算机中通用的基本单元,由8个二进制位组成。

字:是计算机内部进行数据处理的基本单位。

主频:也称时钟频率,是指计算机中时钟脉冲发生器所产生的频率。

访存空间:是该微处理器构成的系统所能访问的存储单元数。

指令数:构成微型计算机的操作命令数。

基本指令执行时间:计算机执行程序所花的时间。

可靠性:指计算机在规定时间和条件下正常工作不发生故障的概率。

兼容性:指计算机硬件设备和软件程序可用于其他多种系统的性能。

性能价格比:是衡量计算机产品优劣的综合性指标。

微型计算机是以微处理器为核心,再配上存储器、接口电路等芯片构成的微型计算机系统由硬件系统和软件系统两大部分组成 :1.中央处理单元CPU (Control Processing Unit )是微型计算机的核心部件,是包含有运算器、控制器、寄存器组以及总线接口等部件的一块大规模集成电路芯片,俗称微处理器。

微处理器是微型计算机的核心,它的性能决定了整个微型机的各项关键指标。

微机原理与接口技术:8088CPU的存储器组织

微机原理与接口技术:8088CPU的存储器组织

1.8088CPU的存储器组织
8088有20根地址线,可寻址的最大内存空间为220=1MB,地址范围为00000H~FFFFFH。

每个存储单元对应一个20位的地址,这个地址称为存储单元的物理地址。

每个存储单元都有唯一的一个物理地址。

8088将可直接寻址的1MB的内存空间划分成一些连续的区域,称为段。

每段的长度最大为64KB,并要求段的起始地址必须能被16整除,形式如XXXX0H。

8088将XXXXH称为段基址,存储在段寄存器CS、DS、SS、ES中。

段基址决定了该段在1MB内存空间中的位置。

段内各存储单元地址相对于该段起始单元地址的位移量称为段内偏移量。

段内偏移量从0开始,取值范围0000H~FFFFH。

分段管理要求每个段都由连续的存储单元构成,并且能够独立寻址,而且段和段之间允许重叠。

根据8088CPU分段的原则,1MB的存储空间中有216=64K个地址符合要求,这使得理论上程序可以位于存储空间的任何位置。

程序中使用的存储器地址是由段基址和段内偏移地址组成,这种在程序中使用的地址称为逻辑地址。

逻辑地址通常写成XXXXH:YYYYH的形式,其中XXXXH为段基址,YYYYH为段内偏移地址。

段基址和偏移地址与物理地址之间的关系如下:
物理地址=段基址×10H+段内偏移
段基址乘以10H相当于把16位的段基址左移4位,然后再与段内偏移地址相加就得到物理地址。

例如,逻辑地址A562H:9236H对应的物理地址是AE856H。

A562H×10H=A5620H
A5620H+9236H=AE856H。

(完整版)微机原理课后单元习题-单元2-8086cpu

(完整版)微机原理课后单元习题-单元2-8086cpu

习题二 8086微处理器答案主要内容:主要介绍8086/8088CPU内部结构。

了解80X86CPU的特点。

2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?【答】8086的内部结构分成两部分。

总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。

执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。

2.2 8086的总线接口部件有那几部分组成? 其功能是什么?【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。

2.3 8086的执行单元(部件)由那几部分组成?有什么功能?【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。

(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。

(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。

(3)标志寄存器,使用9位,标志分两类。

其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。

(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。

2.4 8086内部有哪些通用寄存器?【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。

这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。

2.5 8086内部有哪些段寄存器?各有什么用途?【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。

2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态标志和控制标志分别有哪些?【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。

微机原理与接口技术复习资料(概念背诵)

微机原理与接口技术复习资料(概念背诵)

1、微处理器(CPU)由运算器、控制器、寄存器组三部分组成。

2、运算器由算术逻辑单元ALU、通用或专用寄存器组及内部总线三部分组成。

3、控制器的功能有指令控制、时序控制、操作控制,控制器内部由程序计数器PC、指令寄存器IR、指令译码器ID、时序控制部件以及微操作控制部件(核心)组成。

4、8088与存储器和I/O接口进行数据传输的外部数据总线宽度为8位,而8086的数据总线空度为16位。

除此之外,两者几乎没有任何差别。

5、在程序执行过程中,CPU总是有规律的执行以下步骤:a从存储器中取出下一条指令b指令译码c如果指令需要,从存储器中读取操作数d执行指令e如果需要,将结果写入存储器。

6、8088/8086将上述步骤分配给了两个独立的部件:执行单元EU、总线接口单元BIU。

EU作用:负责分析指令(指令译码)和执行指令、暂存中间运算结果并保留结果的特征,它由算数逻辑单元(运算器)ALU、通用寄存器、标志寄存器、EU控制电路组成。

BIU作用:负责取指令、取操作、写结果,它由段寄存器、指令指针寄存器、指令队列、地址加法器、总线控制逻辑组成。

7、8088/8086CPU的内部结构都是16位的,即内部寄存器只能存放16位二进制码,内部总线也只能传送16位二进制码。

8、为了尽可能地提高系统管理(寻址)内存的能力,8088/8086采用了分段管理的方法,将内存地址空间分为了多个逻辑段,每个逻辑段最大为64K个单元,段内每个单元的地址长度为16位。

9、8088/8086系统中,内存每个单元的地址都有两部分组成,即段地址和段内偏移地址。

10、8088/8086CPU都是具有40条引出线的集成电路芯片,采用双列直插式封装,当MN/MX=1时,8088/8086工作在最小模式,当MN/MX=0时,8088/8086工作在最大模式。

11、8088/8086 CPU内部共有14个16位寄存器。

按其功能可分为三大类,即通用寄存器(8个)、段寄存器(4个)、控制寄存器(2个)。

微机原理28088


• 差别:
– 指令队列:8088为4字节,8086为6字节 – 数据总线:8088有8根,8086有16根
• 8088为准16位CPU:与当时已有的8位外设接口
芯片兼容
• 本课程主要介绍8088(IBM PC采用)
2.2 8088的内部结构
执行单元( Execute Unit ) 总线接口单元 ( Bus Interface Unit )
60002H
00H 12H
段地址(16位) 物理地址=段地址×16+偏移地址 物理地址=段地址×10H+偏移地址
逻 辑 段地址: 2000H 地 址 段内偏移地址: 5F62H
20000H
......
25F60H 25F61H
25F62H
25F63H
2FFFFH
逻辑地址与物理地址
段寄存器:专门存放段地址
地址 加法 器
工作原理:
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP
取指令, 执行指令
地 址 加 法 器
地址总线 AB

、、、 指令1 指令2 指令3 指令4 、、、 数据1
数据暂存器 指 令 队 列 指令译码器 总线 接口 控制 电路
8088的内部结构 BIU 组成 功能:负责与 M、 AH AL I/O 端口传送数据 。 BH BL
通用 4从内存取指令送到指 个段寄存器 寄存器 SP 令队列; 1个指令指针寄存器 (IP) BP SI CPU 执行指令时,要 20位地址加法器( ) DI 配合执行部件从指定 16位 4字节指令队列 的内存单元或者端口 BIU部分控制电路 中取数据,将数据传 执行部分 控制电路 ALU 送给EU;

微机原理第02章1


第2章: 溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位 有符号数运算: -86+124=28 范围内,无溢出
常用来存放双字长数据的高16位,或存放外设端口地址
第2章:(2)变址寄存器
16位变址寄存器SI和DI 常用于存储器变址寻址方式时提供地址
SI是源地址寄存器(Source Index) DI是目的地址寄存器(Destination Index)
在串操作类指令中, SI 、 DI 还有较特殊的 用法 现在不必完全理解,以后会详细展开
第2章:溢出和进位的应用场合
处理器对两个操作数进行运算时,按照无 符号数求得结果,并相应设置进位标志 CF; 同时,根据是否超出有符号数的范围设置 溢出标志OF 应该利用哪个标志,则由程序员来决定。 也就是说,如果将参加运算的操作数认为 是无符号数,就应该关心进位;认为是有 符号数,则要注意是否溢出
第2章:符号标志SF(Sign Flag)
运算结果最高位为1,则SF=1; 否则SF=0
有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态
3AH+7CH=B6H,最高位D7=1:SF=1
84H+7CH=(1)00H,最高位D7=0:SF=0
第2章:奇偶标志PF(Parity Flag)
第2章:辅助进位标志AF(Auxiliary Carry Flag)
运算时D3位(低半字节)有进位或
借位时,AF=1;否则AF=0
这个标志主要由处理器内部使用, 用于十进制算术运算调整指令中, 用户一般不必关心 3AH+7CH=B6H,D3有进位:AF=1

微机原理第二章8086微处理器

▪ 表面上看来,微处理器的外部就是数量有限的输入输出 引脚。但是,正是依靠这些引脚与其它逻辑部件相连接, 才能组成多种型号的微型计算机系统。
▪ 这些引脚就是微处理器级总线。微处理器通过微处理器 级总线沟通与外部部件和设备之间的联系。这些总线及 其信号必须完成以下功能:
▪ (1)和存储器之间交换信息; ▪ (2)和I/O设备之间交换信息; ▪ (3)为了系统工作而接收和输出必要的信号,如输入
▪ 时钟信号输入端。19 CLK(输入) ▪ 8086和8088为5MHz。 ▪ 8086/8088的CLK信号必须由8284A时钟发生器产生。 ▪ 微处理器是在统一的时钟信号CLK控制下,按节拍进行
工作的。
2021/6/12
16
8086/8088微处理器——微处理器的引脚功能
▪ 工作方式控制线 33
指令执行示例
2021/6/12
1
第二章:8086/8088微处理器
1. 微处理器ห้องสมุดไป่ตู้结构 2. 微处理器的内部寄存器 3. 微处理器的引脚功能 4. 微处理器的存储器组织 5. 最大模式和最小模式 6. 微处理器的时序
2021/6/12
2
2021/6/12
▪ 存储器分段
▪ 由于CPU内部的寄存器都是16位的,为了
2021/6/12
7
第二章:8086/8088微处理器
1. 微处理器的结构 2. 微处理器的内部寄存器 3. 微处理器的引脚功能 4. 微处理器的存储器组织 5. 最大模式和最小模式 6. 微处理器的时序
2021/6/12
8
8086/8088微处理器——微处理器的引脚功能
▪ 一、微处理器的外部结构
时钟脉冲、复位信号、电源和接地等。

(完整版)微机原理答案1

第 1 章微型计算机系统概述习题参考答案1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由CPU、存储器、输入/输出接口及系统总线组成。

CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。

暂存少量数据。

对指令译码并执行指令所规定的操作。

与存储器和外设进行数据交换的能力。

提供整个系统所需要的定时和控制信号。

响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU和外设之间起适配作用。

1-2.CPU 执行指令的工作过程。

答:指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。

(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。

存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。

(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。

(4)修改程序计数器的内容。

1-3.果微处理器的地址总线为20 位,它的最大寻址空间为多少?答:220=1048576=1MB1-4.处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核心部件。

微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。

以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。

1-5.下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制:80H65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH1024,二进制:10000000000B,八进制:2000O,十六进制:400H1-6.下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:1011.1010B,十进制:11.625,十六进制:B.AH111101.11B,十进制:125.75,十六进制:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111 B1-8.设字长为8 位,请写出下列数的原码、反码、补码和移码:15,-20,-27/32 答:[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111 [-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100 [-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100,[-27/32]移=0.0010100第 2 章微型计算机系统的微处理器习题参考答案2-1.086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit),执行部件EU (Execution Unit)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

逻辑地址
地址加法器
将16位的逻辑地址转换为20位的物 理地址,具体操作过程为:先将段寄存 器提供的16位段地址左移四位,低位补0,
恢复为20位地址,然后与由各种寻址方
式提供的16位偏移地址相加,即得到20 位的物理地址。
26
逻辑地址
• 物理地址: • 逻辑地址: 20 位 段基址 (段寄存器的内容)16位 偏移地址(字节距离)16位
控制 累加器 标志寄存器
暂存器
ALU
2
8088/8086的功能结构


16位微处理器也具有以上结构中的基本单元, 但更为复杂。 以8088为例讲解16位微处理器的功能结构。 8088是8086的简化版本。
3
地址加法器
AH AL BL CL DL SP B P DI SI 数据总线 暂存寄存 器

用于串操作指令中,控制地址的变化方向:

设置DF=0,串操作后存储器地址自动增量(增址) ; 设置DF=1,串操作后存储器地址自动减量(减址) 。 串:存储器中一序列字或字节单元
串操作——对序列字或字节单元中的内容进行某种操作 , 比如:将一个字符串从源区传送到目的区 。
MOVS——串传送指令 CMPS——串比较指令 SCAS— —串扫描指令 LODS——装入串指令 STOS——存储 串指令


外存主要指用来长久保存数据的外部存储介质, 常见的有硬盘、光盘、磁带、U盘等。外存的数据 只能通过主存间接地与CPU交换数据
3AH + 7CH=B6H AAH + 7CH=(1)26H 没有进位:CF=0 有进位:CF=1
例如(以8位运算为例,8088中为16位):
10
溢出标志OF(Overflow Flag)

若算术运算的结果有溢出,则OF=1;否则 OF=0。例如:
问题:
什么是溢出? 溢出和进位有什么区别? 处理器怎么处理,程序员如何运用? 如何判断是否溢出?

总线接口单元BIU (Bus Interface Unit)——管理8088与系 统总线的接口,负责CPU对存储器和外设进行访问 执行单元EU (Execution Unit)——负责指令的译码、执行和 数据的运算


两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和执行的流水线 操作
段 基 址 16 位
00 0 0
偏 移 地 址 16 位
+
物 理 地 址 20 位
27
存储器的分段管理
逻辑地址的表示——段地址:偏移地址
段尾
某 逻 辑 段 某寻址单元 地址偏移量(xxxxH) 段首(xxxx0H)
低址
28
存储器的分段管理

段地址说明逻辑段在存储器中的起始位置, 为模16地址:xxxx0H,省略低4位后,可 用1个16位数来表示,该地址可被存放在不 同的段寄存器CS/SS/DS/ES中。 偏移地址说明寻址单元距离段首的偏移量, 因每段长度不超过64KB,所以偏移地址也 可用1个16位数来表示。
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位 有符号数运算: -86+124=28 范围内,无溢出
13

处理器对两个操作数进行运算时,按照无符 号数求得结果,并相应设置进位标志CF;同 时,根据是否超出有符号数的范围设置溢出 标志OF

应该利用哪个标志,则由程序员来决定。也 就是说,如果将参加运算的操作数认为是无 符号数,就应该关心进位;认为是有符号数, 则要注意是否溢出。
一、 8086/8088CPU的内部结构
8 位 微 处 理 器 的 内 部 结 构
指 令 寄 存 指 令 译 码 时序 和 控制 逻辑 控制总线
1.
2.
3.
算术逻辑单元(运算器) 地址 通用 地址 地址总线 总线 寄存器组寄存器组 寄存器组 控制 数据 指令处理单元(控制器)数据总线 内部数据总线 总线
19
中断允许标志IF(Interrupt-enable Flag)

用于控制外部可屏蔽中断是否可以被处理器 响应:

设置IF=1,则允许中断; 设置IF=0,则禁止中断。


CLI 指令复位中断标志:IF=0
STI 指令置位中断标志:IF=1
20
陷阱标志TF(Trap Flag)


用于控制处理器是否进入单步执行方式: 设置TF=0,处理器正常工作; 设置 TF=1,处理器每执行一条指令就中断一次, 中断编号为 1 (称单步中断), TF 也被称为单 步标志。 单步执行和单步调试
FR的格式
15
14 13 12
11
10
9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF 溢 出 标 志 9
AF 辅 助 进 位
PF 校 验
CF
方 向 标 志
中 断 标 志
陷 阱 标 志
符 零 号 标 标 志 志
进 位
进位标志CF(Carry Flag)

当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1; 否则 CF=0。
32
段超越的例子

没有段超越的指令实例:
MOV AX, [2000H] ;AX←DS:[2000H], ;从默认的DS数据段取出数据

采用段超越前缀的指令实例:
MOV AX, ES:[2000H] ;AX←ES:[2000H], ;从指定的ES附加段取出数据
33
4、指令指针寄存器(IP )
IP(Instruction Pointer)中 存放即将要执行的指令的有效地址, IP具有自增量功能。在每取出一条 指令后,IP自增一,指令指针指向 下一条指令。
注意: PF标志仅反映最低8位中“1”的个数
是偶或奇,即使是进行16位字操作。
17
辅助进位标志AF(Auxiliary Carry Flag)

运算时D3 位(低半字节)有进位或借位时, AF=1;否则AF=0。
这个标志主要由处理器内部使用,用于 十进制算术运算的调整,用户一般不必关心 。
18
方向标志DF(Direction Flag)
(1)
有符号数利用最高有效位(MSB)来表示它 的符号。所以,运算结果的MSB与符号标志SF相 一致。
16
奇偶标志PF(Parity Flag)

当运算结果最低字节中“1”的个数为零或 偶数时,PF=1;否则PF=0(奇校验)。
例如:
3AH + 7CH=B6H=10110110B,
结果中有5个1,是奇数,则 PF=0


利用单步中断可对程序进行逐条指令的调试。
这种逐条指令调试程序的方法就是单步调试。
21
15
12
11
10
9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF
AF
PF
CFLeabharlann 控制反映结果状态反应运算过程
22
3、段寄存器(CS、DS、SS、ES) 在8088可寻址的1MB内存空间中,可以存 在四种分工不同的逻辑段:代码段、数据段、堆
5
并行操作的意义

EU执行指令的同时,BIU可以继续读取后续指令, 并存入指令队列 (first in first out) 。这叫做“指令预 取”。 8位的CPU没有指令预取功能,执行指令前必须等 待“取指”操作完成。 取指操作是CPU最频繁的操作。 这种操作方式节省了CPU大量的取指等待时间。 “指令流水线”。

29
存储器的分段管理

一个存储单元可以拥有多个逻辑地址,但只 可能拥有一个唯一的物理地址。
逻辑地址 1460:100、1380:F00 物理地址 14700H 14700H
30
如何分配各个逻辑段




程序的指令序列必须安排在代码段; 程序使用的堆栈一定在堆栈段; 程序中的数据默认是安排在数据段,也经常 安排在附加段,尤其是串操作的目的区必须 是附加段。 数据的存放比较灵活,实际上可以存放在任 何一种逻辑段中。


由于8088中的地址寄存器都是16位的,用 户不能直接使用20位的物理地址,编程时需 要使用逻辑地址来寻址存储单元。 物理地址 14700H 逻辑地址由两个16位数构成,其形式为: 逻辑地址 1460H:100H 段的起始地址 : 段内的偏移地址 (16位段地址) :( 16位偏移量)
分隔符
25
14
全零标志ZF(Zero Flag)

若运算结果为全0,则ZF=1,否则ZF=0。 例如:
3AH + 7CH=B6H 86H + 7CH=00H 结果不是零:ZF=0
结果是全零:ZF=1
15
符号标志SF(Sign Flag)

运算结果最高位为1,则SF=1;否则SF=0。
例如:
3AH + 7CH=B6H 86H + 7CH=00H 最高位D7=1:SF=1 最高位D7=0:SF=0
P30找答案
11
什么是溢出


处理器内部以补码表示有符号数
8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
12
溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出
相关文档
最新文档