第2章 微机原理溢出判断
- 格式:ppt
- 大小:738.00 KB
- 文档页数:38
微机原理第二章复习题(附答案)1. 8086 CPU有__________位数据总线和__________位地址总线。
直接可寻址空间为1MB。
2. 如果微机处理器的地址总线为20位,它的最大直接可寻址空间为___________。
3. 8086/8088 CPU内部设置了两个独立的部分,即___________和___________。
4. 8086/8088 CPU内部设置了两个独立的部分,即__________和指令执行部件(EU)。
其中指令执行部件(EU)由四个部分组成,分别是算术逻辑单元ALU、__________、__________和EU 执行控制部分。
5. 微型计算机的ALU部件是包含在()之中。
A. 存储器B. I/O接口C. CPU的BIU中D. CPU的EU中6. 下列哪项不属于指令执行部件EU的组成部分()。
A. 算术逻辑单元ALUB. 标志寄存器(FR)C. 4个16位段地址寄存器D. EU 执行控制部分7. 在8086/8088 CPU系统中,CPU被启动后,CPU内部的各寄存器和标志寄存器的内容自动设置,CS=__________、IP=__________引导程序的入口地址为__________。
8. 8086/8088系统中,CPU被启动后,将从地址__________开始执行指令。
9. 8086/8088系统中,CPU被启动后,处理器内部的CS寄存器自动设置为___________,8086/8088引导程序的入口地址在___________。
()A. 0000H 00000HB. 0000H FFFF0HC. FFFFH 00000HD. FFFFH FFFF0H10. 8086/8088系统中,CPU被启动后,处理器内部的CS寄存器自动设置为___________,IP自动设置为___________。
()A. 0000H 0000HB. 0000H FFFFHC. FFFFH 0000HD. FFFFH FFFFH11. 8086/8088中,关于总线周期叙述不正确的是()。
第一章概述一、计算机中地数制1、无符号数地表示方法:<1)十进制计数地表示法特点:以十为底,逢十进一;共有0-9十个数字符号.<2)二进制计数表示方法:特点:以2为底,逢2进位;只有0和1两个符号.<3)十六进制数地表示法:特点:以16为底,逢16进位;有0--9及A—F<表示10~15)共16个数字符号. 2、各种数制之间地转换<1)非十进制数到十进制数地转换按相应进位计数制地权表达式展开,再按十进制求和.<见书本1.2.3,1.2.4)<2)十进制数制转换为二进制数制●十进制→二进制地转换:整数部分:除2取余;小数部分:乘2取整.●十进制→十六进制地转换:整数部分:除16取余;小数部分:乘16取整.以小数点为起点求得整数和小数地各个位.<3)二进制与十六进制数之间地转换用4位二进制数表示1位十六进制数3、无符号数二进制地运算<见教材P5)4、二进制数地逻辑运算特点:按位运算,无进借位<1)与运算只有A、B变量皆为1时,与运算地结果就是1<2)或运算A、B变量中,只要有一个为1,或运算地结果就是1<3)非运算<4)异或运算A、B两个变量只要不同,异或运算地结果就是1二、计算机中地码制1、对于符号数,机器数常用地表示方法有原码、反码和补码三种.数X地原码记作[X]原,反码记作[X]反,补码记作[X]补.b5E2RGbCAP注意:对正数,三种表示法均相同.它们地差别在于对负数地表示.<1)原码定义:符号位:0表示正,1表示负;数值位:真值地绝对值.注意:数0地原码不唯一<2)反码定义:若X>0 ,则 [X]反=[X]原若X<0,则 [X]反= 对应原码地符号位不变,数值部分按位求反注意:数0地反码也不唯一<3)补码定义:若X>0,则[X]补= [X]反= [X]原若X<0,则[X]补= [X]反+1注意:机器字长为8时,数0地补码唯一,同为000000002、8位二进制地表示范围:原码:-127~+127反码:-127~+127补码:-128~+1273、特殊数10000000●该数在原码中定义为: -0●在反码中定义为: -127●在补码中定义为: -128●对无符号数:(10000000>2= 128三、信息地编码1、十进制数地二进制数编码用4位二进制数表示一位十进制数.有两种表示法:压缩BCD码和非压缩BCD 码.<1)压缩BCD码地每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数.<2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位地0000~1001表示0~9p1EanqFDPw字符地编码计算机采用7位二进制代码对字符进行编码<1)数字0~9地编码是0110000~0111001,它们地高3位均是011,后4位正好与其对应地二进制代码<BCD码)相符.DXDiTa9E3d<2)英文字母A~Z地ASCII码从1000001<41H)开始顺序递增,字母a~z地ASCII 码从1100001<61H)开始顺序递增,这样地排列对信息检索十分有利.RTCrpUDGiT第二章微机组成原理第一节、微机地结构1、计算机地经典结构——冯.诺依曼结构<1)计算机由运算器、控制器、输入设备和输出设备五大部分组成<运算器和控制器又称为CPU)<2)数据和程序以二进制代码形式不加区分地存放在存储器总,存放位置由地址指定,数制为二进制.<3)控制器是根据存放在存储器中地指令序列来操作地,并由一个程序计数器控制指令地执行.3、系统总线地分类<1)数据总线<Data Bus),它决定了处理器地字长.<2)地址总线<Address Bus),它决定系统所能直接访问地存储器空间地容量.<3)控制总线<Control Bus)第二节、8086微处理器1、8086是一种单片微处理芯片,其内部数据总线地宽度是16位,外部数据总线宽度也是16位,片内包含有控制计算机所有功能地各种电路.5PCzVD7HxA8086地址总线地宽度为20位,有1MB<220)寻址空间.1、8086CPU由总线接口部件BIU和执行部件EU组成.BIU和EU地操作是异步地,为8086取指令和执行指令地并行操作体统硬件支持.2、8086处理器地启动4、寄存器结构8086微处理器包含有13个16位地寄存器和9位标志位.4个通用寄存器<AX,BX,CX,DX)4个段寄存器<CS,DS,SS,ES)4个指针和变址寄存器<SP,BP,SI,DI)指令指针<IP)1)、通用寄存器<1)8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:●AX →AH,AL●BX→BH,BL●CX→CH,CL●DX→DH,DL常用来存放参与运算地操作数或运算结果<2)数据寄存器特有地习惯用法●AX:累加器.多用于存放中间运算结果.所有I/O指令必须都通过AX与接口传送信息;●BX:基址寄存器.在间接寻址中用于存放基地址;●CX:计数寄存器.用于在循环或串操作指令中存放循环次数或重复次数;●DX:数据寄存器.在32位乘除法运算时,存放高16位数;在间接寻址地I/O指令中存放I/O端口地址.jLBHrnAILg2)、指针和变址寄存器●SP:堆栈指针寄存器,其内容为栈顶地偏移地址;●BP:基址指针寄存器,常用于在访问内存时存放内存单元地偏移地址.●SI:源变址寄存器●DI:目标变址寄存器变址寄存器常用于指令地间接寻址或变址寻址.3)、段寄存器CS:代码段寄存器,代码段用于存放指令代码DS:数据段寄存器ES:附加段寄存器,数据段和附加段用来存放操作数SS:堆栈段寄存器,堆栈段用于存放返回地址,保存寄存器内容,传递参数4)、指令指针<IP)16位指令指针寄存器,其内容为下一条要执行地指令地偏移地址.5)、标志寄存器<1)状态标志:●进位标志位<CF):运算结果地最高位有进位或有借位,则CF=1●辅助进位标志位<AF):运算结果地低四位有进位或借位,则AF=1●溢出标志位<OF):运算结果有溢出,则OF=1●零标志位<ZF):反映指令地执行是否产生一个为零地结果●符号标志位<SF):指出该指令地执行是否产生一个负地结果●奇偶标志位<PF):表示指令运算结果地低8位“1”个数是否为偶数<2)控制标志位●中断允许标志位<IF):表示CPU是否能够响应外部可屏蔽中断请求●跟踪标志<TF):CPU单步执行5、8086地引脚及其功能<重点掌握以下引脚)●AD15~AD0:双向三态地地址总线,输入/输出信号●INTR:可屏蔽中断请求输入信号,高电平有效.可通过设置IF地值来控制.●NMI:非屏蔽中断输入信号.不能用软件进行屏蔽.●RESET:复位输入信号,高电平有效.复位地初始状态见P21●MN/MX:最小最大模式输入控制信号.第三章 8086指令系统第一节8086寻址方式一、数据寻址方式1、立即寻址操作数(为一常数>直接由指令给出(此操作数称为立即数>立即寻址只能用于源操作数例:MOV AX, 1C8FHMOV BYTE PTR[2A00H], 8FH错误例:× MOV 2A00H,AX 。
练习题12.2-18086CPU在结构上由两个独立的处理单元和构成。
【解答】总线接口单元(BIU)执行单元(EU)2.2-2将62A0H和4321H相加,则AF=,SF=,ZF=,CF=,OF=,PF=。
【解答】AF=0;SF=1;ZF=0;CF=0;OF=0⊕1=1,PF=02.2-3设某台微处理器有20根地址总线,16根数据总线,若存储器寻址空间和I/O地址的寻址空间是分开的,则存储器空间大小为,经数据线一次可传送的带符号数的范围是。
【解答】1MB,-215~+215-12.2-4已知CS=1800H,IP=1500H,则指令所处的物理地址为,给定一个数据的有效地址是2359H,且DS=49B0H,该数据在内存中的实际物理地址为H。
【解答】19500H,19500H2.2-58086/8088段寄存器的功能是()。
A.用于计算有效地址B.执行各种数据传送操作C.用于存放段起始地址及计算物理地址【解答】C2.2-6微机的地址总线功能是()。
A.只用于选择存储器单元B.只用于选择进行信息传输的设备C.用于传送要访问的存储器单元或I/O端口的地址D.只用于选择I/O端口【解答】C2.2-7在堆栈段中,存放栈顶地址的寄存器是()。
A.IPB.SPC.BXD.BP【解答】B练习题22.3-18086中地址/数据线分时复用,为保证总线周期内地址稳定,应配置___________,为提高总线驱动能力,应配置__________。
【解答】地址锁存器(如74LS373)、数据收发器(如74LS245)2.3-28086最小组态下的总线控制信号由产生,最大组态下由产生。
【解答】CPU,总线控制器82882.3-38086有两种工作方式,当8086处于最小方式时,MN/MX接()。
A.+12VB.-12VC.+5VD.地【解答】C2.3-48086/8088CPU上INTR信号为()有效。
A.上升沿 B.下降沿 C.高电平 D.低电平【解答】C2.3-5下列说法中属于8086CPU最小工作模式特点的是()。
第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
第二章 1. 8086CPU内部由哪两部分组成?它们的主要功能是什么?答:8086CPU 内部由执行单元 EU 和总线接口单元 BIU 组成。
主要功能为:执行单元 EU 负责执行指令。
它由算术逻辑单元(ALU)、通用寄存器组、16 位标志寄存器(FLAGS)、EU 控制电路等组成。
EU 在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。
数据在 ALU 中进行运算,运算结果的特征保留在标志寄存器 FLAGS 中。
总线接口单元 BIU 负责 CPU 与存储器和 I /O 接口之间的信息传送。
它由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。
2. 8086CPU 中有哪些寄存器?各有什么用途?答:8086CPU 内部包含4组16位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存器、指令指针和标志位寄存器。
(1)通用寄存器组 包含4个16位通用寄存器 AX 、BX 、CX 、DX ,用以存放普通数据或地址,也有其特殊用途。
如AX (AL )用于输入输出指令、乘除法指令,BX 在间接寻址中作基址寄存器,CX 在串操作和循环指令中作计数器,DX 用于乘除法指令等。
(2)指针和变址寄存器 BP 、SP 、SI 和DI ,在间接寻址中用于存放基址和偏移地址。
(3)段寄存器 CS 、DS 、SS 、ES 存放代码段、数据段、堆栈段和附加段的段地址。
(4)指令指针寄存器IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址。
(5)标志寄存器Flags 用来存放运算结果的特征。
3. 8086CPU 和8088CPU 的主要区别是什么?答:8088CPU 的内部结构及外部引脚功能与8086CPU 大部分相同,二者的主要不同之处如下:(1)8088指令队列长度是4个字节,8086是6个字节。
(2)8088的BIU 内数据总线宽度是8位,而EU 内数据总线宽度是16位,这样对16位数的存储器读/写操作需要两个读/写周期才能完成。
第2章习题参考解答1.8086处理器内部一般包括哪些主要部分?8086处理器与其他处理器一样,其内部有算术逻辑部件、控制与定时部件、总线与总线接口部件、寄存器阵列等。
按功能结构可分为两部分,即总线接口单元(BIU)与执行单元(EU)。
BIU主要包括段寄存器、内部通信寄存器、指令指针、6字节指令队列、20位地址加法器和总线控制逻辑电路。
EU主要包括通用寄存器阵列、算术逻辑单元、控制与定时部件等。
2.什么是总线? —般微机中有哪些总线?所谓总线是指电脑中传送信息的一组通信导线,它将各个部件连接成—个整体。
在微处理器内部各单元之间传送信息的总线称为片内总线;在微处理器多个外部部件之间传送信息的总线称为片外总线或外部总线。
外部总线又分为地址总线、数据总线和控制总线。
随着电脑技术的发展,总线的概念越来越重要。
微机中常用的系统总线有PC总线、ISA总线、PCI总线等。
3.什么是堆栈?它有什么用途?堆栈指针的作用是什么?堆栈是一个按照后进先出的原则存取数据的部件,它是由栈区和栈指针组成的。
堆栈的作用是:当主程序调用子程序、子程序调用子程序或中断时转入中断服务程序时,能把断点地址及有关的寄存器、标志位及时正确地保存下来,并能保证逐次正确地返回。
堆栈除了有保存数据的栈区外,还有一个堆栈指针SP,它用来指示栈顶的位置。
假设是“向下生成”的堆栈,随着压入堆栈数据的增加,栈指针SP的值减少。
但SP始终指向栈顶。
4.在8086 CPU中,FR寄存器有哪些标志位?分别说明各位的功能。
8086 CPU中设置了一个16位的标志寄存器FR,其中用了9位,还有7位保留。
9位中有3位作为控制标志,6位作为状态标志。
IF:中断控制标志。
当IF=1时,允许可屏蔽中断请求;当IF=0时,禁止可屏蔽中断请求。
TF:单步运行标志。
当TF=1,单步运行;TF=0,连续运行程序。
DF:方向标志。
当DF=0,串操作时地址按增量修改;DF=1,地址按减量修改。
移码运算溢出判断1. 移码运算溢出判断,听起来像是计算机里的魔法咒语,但其实它就像是给数字穿上了一件特殊的衣服!这件衣服有点神奇,它能让正数和负数看起来都是正数,但是穿衣服的过程中,可能会出现一些小意外,这就是我们要讨论的溢出问题。
2. 首先,我们得知道什么是移码。
想象一下,如果我们把所有数字都加上一个固定的数(比如说2的n-1次方,n是位数),这就是移码啦!举个例子:在8位二进制系统中,我们会给每个数加上128(2的7次方)。
所以,-128变成了0,0变成了128,127变成了255。
酷不酷?3. 那么,溢出是什么呢?就像是往已经装满的杯子里倒水,多出来的水就会溢出来。
在移码运算中,如果结果超出了我们能表示的范围,就发生了溢出。
4. 判断溢出的方法,就像是玩跳房子游戏。
我们要看看结果是不是跳出了我们画的格子。
比如:在8位系统中,如果结果小于0或大于255,就说明溢出了。
就像小朋友跳到了房子外面,犯规啦!5. 在做加法时,溢出判断特别有意思。
想象两个小朋友手拉手跳房子,如果他们同时跳出去了,那就是溢出啦!具体来说:如果两个正数相加结果变成负数,或者两个负数相加结果变成正数,就是溢出了。
6. 减法的溢出判断,就像是跳房子时往后跳。
如果一个正数减一个负数结果变成负数,或者一个负数减一个正数结果变成正数,那就是跳过头啦,也就是溢出了。
7. 在实际编程中,我们可以用一些小技巧来判断溢出。
比如说,我们可以用更大的数据类型来暂时存储结果,然后看看是否超出了原来类型的范围。
int a = 100, b = 50; long long result = (long long)a + b; if(result > INT_MAX || result < INT_MIN) { printf("溢出啦!"); }8. 有时候,我们还可以在不使用更大数据类型的情况下判断溢出。
这就像是用望远镜观察远处的情况。