第1章 概述
一、填空题
1.电子计算机主要由 运算器 、 控制器 、 存储器 、 输入设备 和 输出设备 等五部分组成。2. 运算器 和 控制器 集成在一块芯片上,被称作CPU。
3.总线按其功能可分 数据总线 、 地址总线 和 控制总线 三种不同类型的总线。4.计算机系统与外部设备之间相互连接的总线称为 系统总线(或通信总线) ;用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ;CPU内部连接各寄存器及运算部件之间的总线称为 内部总线 。5.迄今为止电子计算机所共同遵循的工作原理是 程序存储 和 程序控制 的工作原理。这种原理又称为 冯·诺依曼型 原理。
二、简答题
1.简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核心硬件部件,它本身具有运算能力和控制功能,对系统的性能起决定性的影响。微处理器一般也称为CPU;微计算机是由微处理器、存储器、I/O接口电路及系统总线组成的裸机系统。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。三者之间是有很大不同的,微处理器是微型计算机的组成部分,而微型计算机又是微型计算机系统的组成部分。
2.什么叫总线?为什么各种微型计算机系统中普遍采用总线结构? 答:总线是模块与模块之间传送信息的一组公用信号线。
总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行。因此微型计算机系统中普遍采用总线结构。 3.微型计算机系统总线从功能上分为哪三类?它们各自的功能是什么?
答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的工作。
第2章 计算机中的数制与编码
一、填空题
1.写出下列原码机器数的真值;若分别作为反码和补码时,其表示的真值又分别是多少? (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)十进制真值
2.写出下列二进制数的原码、反码和补码(设字长为8位)。 (1) (+101 0110)二进制真值=(0101 0110)原码=(0101 0110)反码=(0101 0110)补码
(2)
(-101 0110)二进制真值=(1101 0110)原码=(1010 1001)反码=(1010 1010)补码
3.[X]补=78H,则[-X]补=( 88 )H。
4.下面各二进制数分别代表原码、反码和补码时,其等效的十进制数值为多少? (1) (1111 1111)二进制原码=(-127)十进制真值
(1111 1111)二进制反码=(-0)十进制真值
(1111 1111)二进制补码=(-1)十进制真值
(2) (1000 0000)二进制原码=(+0)十进制真值
(1000 0000)二进制反码=(-127)十进制真值
(1000 0000)二进制补码=(-128)十进制真值
5.已知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 6.将下列十六进制数分别转换成二进制、八进制、十进制和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 7.写出下列字符的ASCII码。 (1) ?9‘=(39H)ASCII码 (3) ?$‘ =(24H)ASCII码 (5) ?b‘ =(62H)ASCII码 (7) ?换行‘ =(0AH)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的补码
(2) (8)
?C‘ =(43H)ASCII码 (4) ?空格‘ =(20H)ASCII码 (6) ?回车‘ =(0DH)ASCII码 ?报警符‘ =(07H)ASCII码
C.十进制数99的组合BCD码 D.带符号数-57的原码
第3章 微处理器及其结构
一、填空题
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对系统进行初始化。
2
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取一条指令并执行该指令的时间称为 指令 周期,它通常包含若干个 总线 周期,而后者又包含有若干个 时钟 周期。
二、单项选择题
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.检查当前指令的错误 C.决定是否停机
B.纠正当前指令执行的结果与错误
D.产生影响或控制某些后续指令所需的标志
6.8086最小模式下的存储器读周期中地址锁存发生在总线周期的( A )时刻。 A.T1 B.T2 C.T3 D.T4 7.指令指针IP的作用是( A )。 A.保存将要执行的下一条指令的地址 C.保存运算器运算结果内容
B.保存CPU要访问的内存单元地址
D.保存正在执行的一条指令
8.8086CPU有两种工作模式,最小模式的特点是( A )。 A.CPU提供全部控制信号 B.由编程进行模式设定 C.不需要8282收发器
三、简答题
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。这就产生了一个矛盾,
D.需要总线控制器8288
3
首单元地址:610A0H+1CE7H=62D87H末单元地址:62D87H+27H=62DAEH
地址 内容
即如何用16位的地址寄存器去表示一个20位的存储器物理地址?实超过64KB。这样,一个20位的物理地址就可以用―16位段基址:16位8086/8088的段寄存器中。
4.8086/8088 CPU 中有几个通用寄存器?有几个变址寄存器?有几
际使用的解决办法是:将1MB大小的存储空间分为若干―段‖,每段不偏移量‖的形式(称为逻辑地址)来表示了,其中段地址存放在
个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?答:
BP、SP、SI、DI;2个变址寄存器SI、DI;2个指针寄存器BP、SP;
8086/8088 CPU 中共有:8个16位的通用寄存器AX、BX、CX、DX 、其中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工作在最小模式时,若访问存储器,需用到以下信号:号:
M/IO、ALE、DT/R、DEN、READY、BHE、WR、RD、AD0~AD15、A19/S6~A16/S3。若访问外设,需用到以下信
M/IO、ALE、DT/R、DEN、READY、WR、RD、AD0~AD15。
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其中,进位标志CF 用于判别无符号数运算是否超出数的表示范围,而溢出标志OF 用于判别带符号数运算是否超出数的表示范围。
奇偶标志PF 只能判断结果低8 位中―1‖的个数为奇数还是偶数。
8.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;物理地址是一个20 位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。由于8086/8088CPU 中的寄存器只有16 位长,所以程序不能直接存放20 位的物理地址,而必须借助逻辑地址,即用两个16 位的寄存器来表示物理地址。他们之间的关系是:物理地址=段基址*16+偏移量;另外,一个物理地址可对应多个逻辑地址。
9.设现行数据段位于存储器0B0000H~0BFFFFH 单元,DS 段寄存器内容为多少?答: DS 段寄存器内容为0B000H。
10.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么? 答:逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移地址两部分组成,都是16位的二进制代码,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值。物理地址是8086芯片引线送出的20位地址码,物理地址=段基址*16+偏移地址,用来指出一个特定的存储单元。
11.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C0E0H,求出该内存单元的物理地址。答:物理地址:0C2EC0H。
12.8086/8088为什么采用地址/数据引线复用技术?答:考虑到芯片成本和体积,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。 13.怎样确定8086的最大或最小工作模式? 答:引线
MNMX的逻辑状态决定8086的工作模式,MNMX引线接高电平,8086被设定为最小模式,
MNMX引线接低电平,8086被设定为最大模式。
14.8086基本总线周期是如何组成的?答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。 15.在基于8086的微计算机系统中,存储器是如何组织的?存储器是如何与处理器总线连接的?
BHE信号起什么作用?答:8086为16位微处理器,可访问1M字节的
存储器空间;1M字节的存储器分为两个512K字节的存储体,分别命名为偶存储体和奇存储体;偶体的数据线连接D7~D0,―体选‖信号接地址线A0;奇体的数据线连接D15~D8,―体选‖信号接
BHE信号;A0信号有效时允许访问偶体中的低字节存储单元,BHE信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节
访问及字访问。
16.有一个由20个字组成的数据区,其起始地址为610AH:1CE7H。试写出该数据区首末单元的实际地址PA。
4
17.有两个16位的字31DAH、5E7FH,它们在8086系统存储器中的地址为00130H和00135H,试画出它们的存储器示意图。 18.试说明8086CPU的控制引脚ALE的作用。答:8086的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用ALE信号将低位地址线通过锁存器保存,以形成系统地址总线。
00131H 第4章 8086/8088CPU指令系统
00132H 一、判断题
00133H 00134H
1.MOV AX,[BP]的源操作数物理地址为16×(DS)+(BP)。(×)2.OUT DX,AL指令的输出是16位操作数。
00135H
(×)3.不能用立即数给段寄存器赋值。 (√)4.所有传送指令都不影响PSW寄存器的标志位。
00136H
(×)5.堆栈指令的操作数均为字。 (√)6.段内转移指令执行结果要改变IP,CS的值。(×)
二、单项选择题
1.寄存器间接寻址方式中,操作数在(C)中。
A. 通用寄存器 B. I/O端口 C. 存储单元 D. 段寄存器 2.(A)寻址方式的跨段前缀不可省略。
A. DS:[BP] B. DS:[SI] C. DS:[DI] D. SS:[BP]
3.假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSH AX后,(SP)=(C)。 A. 0014H B. 0011H C. 0010H D. 000FH
4.用BP作基址变址寻址时,操作数所在的段是当前(C)。 A. 数据段 B. 代码段 C. 堆栈段 D. 附加段
5.已知(IP)=1000H,CF=0,则执行指令JNC Short label后,下列各数中哪一个是可能的IP值?(B) (A)0FFFFH
(B)0FFEH
(C)10FEH
(D)1100H
6.执行下列指令后,(AX)=(A)。 MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL
CX
HLT
A. 8D00H B. 9260H C. 8CA0H D. 0123H
7.设(AL)= - 68,(BL)= 86,执行SUB AL,BL 指令后,正确的结果是(C)。 A. CF =1 B. SF =1 C. OF =1 D. ZF =1
8.已知(SI)=0004H,(DS)=8000H,(80004H)=02H,(80005H)=C3H。指令LEA AX,[SI]执行后(AX)=( C )。 A. 0002H B. 0005H C. 0004H D. C302H 9.条件转移指令JNE的条件是( C )。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1
5
31H 7F 5E 00130H
0DAH