微型计算机原理及应用
习题集
专业班级
学号
姓名
目录
第1章概述 (2)
第2章微处理器及其结构 (4)
第3章 8086/8088CPU指令系统 (9)
第4章汇编语言程序设计 (17)
第5章存储器系统 (28)
第6章输入输出与中断技术 (32)
第7章微型计算机的接口技术 (40)
第1章概述
一、填空题
1.运算器和控制器集成在一块芯片上,被称作CPU。
2.总线按其功能可分数据总线、地址总线和控制总线三种不同类型的总线。
3.迄今为止电子计算机所共同遵循的工作原理是程序存储和程序控制的工作原理。这种原理又称为冯·诺依曼型原理。
4.写出下列原码机器数的真值;若分别作为反码和补码时,其表示的真值又分别是多少?
(1) (0110 1110)二进制原码=(+110 1110)二进制真值=(+110)十进制真值
(0110 1110)二进制反码=(+110 1110)二进制真值=(+110)十进制真值
(0110 1110)二进制补码=(+110 1110)二进制真值=(+110)十进制真值
(2) (1011 0101)二进制原码=(-011 0101)二进制真值=(-53)十进制真值
(1011 0101)二进制反码=(-100 1010)二进制真值=(-74)十进制真值
(1011 0101)二进制补码=(-100 1011)二进制真值=(-75)十进制真值5.写出下列二进制数的原码、反码和补码(设字长为8位)。
(1) (+101 0110)二进制真值=(0101 0110)原码=(0101 0110)反码=(0101 0110)补码
(2) (-101 0110)二进制真值=(1101 0110)原码=(1010 1001)反码=(1010 1010)补码
6.[X]补=78H,则[-X]补=( 88 )H。
7.已知X1= +0010100,Y1= +0100001,X2= 0010100,Y2= 0100001,试计算下列各式(设字长为8位)。
(1) [X1+Y1]补= [X1]补+ [Y1]补= 0001 0100 + 0010 0001 = 0011 0101
(2) [X1-Y2]补= [X1]补+ [-Y2]补= 0001 0100 + 0010 0001 = 0011 0101
(3) [X2-Y2]补= [X2]补+ [-Y2]补= 1110 1100 + 0010 0001 = 0000 1101
(4) [X2+Y2]补= [X2]补+ [Y2]补= 1110 1100 + 1101 1111 = 1100 1011
8.将下列十六进制数分别转换成二进制、八进制、十进制和BCD数。
(1)(5D.BA)16=(0101,1101.1011,1010)2=(135.564)8=(93. 7265625)10
=(1001,0011.0111,0010,0110,0101,0110,0010,0101)BCD
(2)(1001.0101,1)2=(9.34375)10=(11.26)8=(9.58)16
=(1001.0011,0100,0011,0111,0101)BCD
9.写出下列字符的ASCII码。
(1) ‘9’=(39H)ASCII码(2) ‘C’ =(43H)ASCII码
(3) ‘$’ =(24H)ASCII码(4) ‘空格’ =(20H)ASCII码
(5) ‘b’ =(62H)ASCII码(6) ‘回车’ =(0DH)ASCII码
(7) ‘换行’ =(0AH)ASCII码(8) ‘报警符’ =(07H)ASCII码
二、选择题
1.下列无符号数中最小的数是(A)。
A.(01A5)H B.(1,1011,0101)B C.(2590)D D.(3764)O 2.下列有符号数中最大的数是(D)。
A.1002H B.1001 0011 0010 1100B C.2570O D.9614D 3.在机器数(A)中,零的表示形式是唯一的。
A.补码 B.原码 C.补码和反码 D.原码和反码
4.8位二进制数补码的数值表示范围为(A)。
A. -128~+127 B.-127~+127
C. 一129~+128 D.-128~+128
5.若下列字符码(ASCII)中有奇偶校验位,但没有数据错误,采用偶校验的字符码是(D)。
A.11001011 B.11010110 C.11000001 D.11001001 6.B9H可以看成(ABD )。
A.无符号数185 B.带符号数-71的补码
C.十进制数99的组合BCD码D.带符号数-57的原码
三、简答题
1.简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核心硬件部件,它本身具有运算能力和控制功能,对系统的性能起决定性的影响。微处理器一般也称为CPU;微计算机是由微处理器、存储器、I/O接口电路及系统总线组成的裸机系统。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。三者之间是有很大不同的,微处理器是微型计算机的组成部分,而微型计算机又是微型计算机系统的组成部分。
2.什么叫总线?为什么各种微型计算机系统中普遍采用总线结构?
答:总线是模块与模块之间传送信息的一组公用信号线。
总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行。因此微型计算机系统中普遍采用总线结构。
3.微型计算机系统总线从功能上分为哪三类?它们各自的功能是什么?
答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。
地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的工作。
第2章微处理器及其结构
一、填空题
1.8086/8088 CPU执行指令中所需操作数地址由 EU 计算出 16 位偏移量部分送 BIU ,由 BIU 最后形成一个 20 位的内存单元物理地址。
2.8086/8088 CPU在总线周期的T1 时刻,用A19/S6~A16/S3 输出 20 位地址信息的最高 4 位,而在其他时钟周期,则输出状态信息。
3.8086/8088 CPU复位后,从 0FFFF0H 单元开始读取指令字节,一般这个单元在 ROM 区中,在其中设置一条跳转指令,使CPU对系统进行初始化。
4.8086系统的存储体系结构中,1MB存储体分 2 个库,每个库的容量都是512K 字节,其中和数据总线D15~D8相连的库全部由奇地址单元组成,称为高位字节库,并用BHE作为此库的选通信号。
5.8086/8088系统中,可以有 64K 个段起始地址,任意相邻的两个段起始地址相距 16 个存储单元。
6.用段基值及偏移量来指明内存单元地址的方式称为逻辑地址。
7.通常8086/8088 CPU中当EU执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现空闲状态。
8.8086 CPU使用 16 根地址线访问I/O端口,最多可访问 64K 个字节端口,使用 20 根地址线访问存储单元,最多可访问 1M 个字节单元。
9.CPU取一条指令并执行该指令的时间称为指令周期,它通常包含若干个总线周期,而后者又包含有若干个时钟周期。
10.
11.
12.
13.
二、单项选择题
1.某微机最大可寻址的内存空间为16MB,其CPU的地址总线至少应有(E)条。
A.26 B.28 C.20 D.22 E.24
2.8086/8088 CPU的RESET引脚至少应维持(A)个时钟周期的正脉冲宽度才能有效复位。
A.4 B. 5 C.2 D.3
3.当RESET信号进入高电平状态时,将使8086/8088 CPU的(D)寄存器初始化
为0FFFFH。
A.SS B.DS C.ES D.CS
4.8086/8088 CPU 与慢速存储器或I/O 接口之间进行数据传输,为了使传送速度匹配,有时需要在(C)状态之间插入若干等待周期TW。
A.T1 和T2 B.T2 和T3 C.T3 和T4 D.随机
5.8086/8088 CPU中标志寄存器的主要作用是( D )。
A.检查当前指令的错误B.纠正当前指令执行的结果与错误
C.决定是否停机D.产生影响或控制某些后续指令所需的标志6.8086最小模式下的存储器读周期中地址锁存发生在总线周期的( A )时刻。
A.T1 B.T2 C.T3 D.T4
7.指令指针IP的作用是( A )。
A.保存将要执行的下一条指令的地址B.保存CPU要访问的内存单元地址
C.保存运算器运算结果内容D.保存正在执行的一条指令
8.8086CPU有两种工作模式,最小模式的特点是( A )。
A.CPU提供全部控制信号B.由编程进行模式设定
C.不需要8282收发器D.需要总线控制器8288
三、简答题
1.8086/8088 CPU 分为哪两个部分?如何协调工作?
答:EU是执行部件,主要的功能是执行指令和形成有效地址。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据,主要功能是形成实际地址、预取指令和存取操作数。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。
2.8086/8088 CPU的地址总线有多少位?其寻址范围是多少?
答:8086/8088 CPU的地址总线共20 位,最大可寻址1MB空间。
3.8086/8088 CPU使用的存储器为什么要分段?怎么分段?
答:8086/8088为16位CPU,其内部的ALU、相关的地址寄存器(如SP、IP以及BX、BP、SI、DI)等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在64KB范围内。而实际上8086/8088有20条地址线,它的最大寻址空间为1MB。这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个20位的存储器物理地址?
实际使用的解决办法是:将1MB大小的存储空间分为若干“段”,每段不超过64KB。这样,一个20位的物理地址就可以用“16位段基址:16位偏移量”的形式(称
为逻辑地址)来表示了,其中段地址存放在8086/8088的段寄存器中。
4.8086/8088 CPU 中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?
答:8086/8088 CPU 中共有:
8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI;
2个变址寄存器SI、DI;
2个指针寄存器BP、SP;
其中BX、BP、SI、DI 亦可作地址寄存器。
5.Intel 8086与8088有何区别?
答:8086与8088的区别主要表现在以下几个方面:
第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字节指令代码填入队列。而8088只能容纳4个字节,且每个总线周期只能取出1个字节指令代码。
第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位。注意:8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统
地址线和数据线连接方式的不同。
第三、其他不同的引脚定义:(1)AD15~AD0,在8086中为地址/数据复用,而在8088中AD15~AD8 改为A15~A8只作地址线用;(2)34、28号引脚定义不同。
6.8086/8088CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号?当CPU访问外设接口时,要利用哪些信号?
答:8086/8088 CPU工作在最小模式时,若访问存储器,需用到以下信号:IO
M/、ALE、R
DT/、DEN、READY、BHE、W R、RD、AD0~AD15、A19/S6~A16/S3。若访问外设,需用到以下信号:IO
DT/、DEN、READY、W R、RD、AD0~AD15。
M/、ALE、R
7.试指出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别:(1)1278H+3469H
答:CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1
(2)54E3H-27A0H
答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=0
(3)3881H+3597H
答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=1
(4)01E3H-01E3H
答:CF=0 AF=0 ZF=1 SF=0 OF=0 PF=1