《26063微机原理及接口技术—李干林—习题参考解答2015.08.10》由会员分享,可在线阅读,更多相关《26063微机原理及接口技术—李干林—习题参考解答2015.08.10(37页珍藏版)》请在金锄头文库上搜索。
1、习题参考解答1.1 什么是微处理器、微型计算机、微型计算机系统? 参考答案:将运算器和控制器集成在一块大规模集成电路芯片上作为中央处理部件,简称为微处理器;以微处理器为核心,再配上存储器、接口电路等芯片,构成微型计算机;微型计算机系统由硬件和软件系统两大部分组成:(1)硬件系统由微型计算机和外设组成的计算机实体;(2)软件系统是指为微型计算机运行的全部技术资料和各种程序,由系统软件和应用软件构成。1.2 什么是微型计算机的三种总线?参考答案:系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。 “
2、数据总线DB”用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或IO接口等其它部件,也可以将其它部件的数据传送到CPU。 “地址总线AB”是专门用来传送地址的,由于地址只能从CPU传向外部存储器或IO端口,所以地址总线总是单向三态的。 “控制总线CB”用来传送控制信号和时序信号。1.3 评估微型计算机的主要技术指标有哪些?参考答案:评估微型计算机的主要技术指标有:CPU的字长,决定计算机内部一次可以处理的二进制代码的位数;内存储器容量与速度,内存储器容量是衡量它存储二进制信息量大小的一个重要指标,内存储器的速度用存取周期来衡量;CPU指令执行时间,反映CPU
3、运算速度的快慢;系统总线的传输速率等。1.4 将下列十进制数分别转换为二进制、十六进制数。 35 130 0.625 48.25参考答案: 100011B,23H 10000010B,82H 0.101B,0.AH 110000.01B,30.4H1.5 将下列二进制数分别转换为十进制、八进制、十六进制数。 101101B 11100110B 110110.101B 101011.011B参考答案: 45,55Q,2DH 230,346Q,E6H 54.625,66.5Q,36.AH 43.375,53.3Q,2B.6H1.6 写出下列十进制数的原码、反码、补码(分别采用8位二进制和16位二进
4、制表示)。 38 120 -50 -89参考答案: 原码、反码、补码:00100110B,0000000000100110B 原码、反码、补码:01111000B,0000000001111000B 原码:10110010B,1000000000110010B 反码:11001101B,1111111111001101B 补码:11001110B 1111111111001110B -89原码:11011001B,1000000001011001B 反码:11001101B,1111111111001101B 补码:11001110B 1111111111001110B 1.7 已知补码求出其
5、真值和原码。 21H 93H 45A6H 0DA25H参考答案: 真值:+21H,原码:21H 真值:-6DH,原码:EDH 真值:+45A6H,原码:45A6H 真值:-25DBH,0A5DBH1.8 将下列十进制数转换为压缩和非压缩格式的BCD码。 12 55 147 368参考答案: 00010010B,00000001 00000010B 01010101B,00000101 00000101B 000101000111B,00000001 00000100 00000111B 001101101000B,00000011 00000110 00001000B1.9 下列十进制数算术运
6、算,试用8位二进制补码计算,并用十六进制数表示运算结果,判断是否有溢出。 35-45 80+50 -70-60 -20 +(-60)参考答案:各数的补码:35补 = 00100011B,-45补 = 11010011B,80补 = 01010000B,50补 = 00110010B,-70补 = 10111010B,-60补 = 11000100B,-20补 = 11101100B。35+(-45)00100011B+11010011B11110110B80+5001010000B+00110010B10000010B-70+(-60)10111010B+11000100B1 01111110
7、B-20+(-60)11101100B+11000100B1 10110000BCY =0, CS =0 OF=CYCS =00=0没有溢出CY =0, CS =1 OF=CYCS =01=1有溢出CY =1, CS =0 OF=CYCS =10=1有溢出CY =1, CS =1 OF=CYCS =11=0没有溢出 35-45=11110110B=-10,结果正确,没有溢出; 80+50=10000010B=-126,结果不正确,有溢出,因为130超出了8位补码的表示范围上限+127; -70-60=01111110B=-126,结果不正确,有溢出,因为-130超出了8位补码的表示下限-128
8、; -20 +(-60)=10110000B=-80,结果正确,没有溢出。 1.10 分别写出下列字符串的ASCII码(十六进制表示)。 3aB8 eF10 +5(0: How are you?参考答案: 33614238H 65463130H 2B3528303AH 486F770061726500796F753FH2.1 8086CPU内部由哪两部分组成?它们的主要用途是什么?参考答案:8086CPU内部按功能分执行单元EU和总线接口单元BIU。执行单元的功能:负责指令的执行。同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU
9、控制下进行。总线接口单元的功能:负责从内存或I/O 端口取指令、取操作数和保存运算结果。2.2 8086/8088CPU 有哪些寄存器?各有什么用途?参考答案:8086/8088 CPU 内部有 14 个 16 位的寄存器,按功能可分为:通用寄存器(8个)、段寄存器(4个)和控制寄存器(2个)。通用寄存器组EU中有4个16位的通用寄存器,即数据寄存器 AX、BX、CX、DX。数据寄存器 AX、BX、CX、DX一般用来存放数据,但它们都有各自的特定用途。AX称为累加器,是最常用的寄存器。它常用来存放算术逻辑运算中的操作数,而且一些操作要在 AX 中完成,如乘法操作和除法操作。此外,所有的 I/O
10、 指令都使用累加器与外设端口交换信息。BX称为基址寄存器。它常用来存放操作数在内存中数据段内的基地址。CX称为计数器。在设计循环程序时一般使用该寄存器存放循环次数。DX称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。指针和变址寄存器8086/8088CPU中,有一组4个16位寄存器,它们是基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。这组寄存器存放的内容是某一段地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。SP称为堆栈指针寄存器;BP称为基址指
11、针寄存器; SI称为源变址寄存器;DI称为目的变址寄存器。段寄存器 CS、DS、SS、ES8086/8088 有 20 位地址总线,一共可以寻址 1M 的空间。而所有内部寄存器都是16位的,只能直接寻址64KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB,这些逻辑段在整个存储空间中可以浮动。8086/8088定义4个独立的逻辑段,分别为:代码段、数据段、堆栈段和附加数据段,将程序代码或数据分别放在这 4 个逻辑段中。每个逻辑段的段地址分别放在对应的段寄存器中,代码或资料在段内的偏移地址由有关寄存器或立即数给出。8086/8088 的 4 个段寄存器: CS称为代
12、码段寄存器,用来存储程序当前使用的代码段的段地址(起始地址)。 DS称为数据段寄存器,用来存放程序当前使用的数据段的段地址。 SS称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。 ES称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。指令指针寄存器 IPIP称为指令指针寄存器,用来存放预取指令在代码段内的偏移地址。. 标志寄存器FF称为标志寄存器,是一个 16 位的寄存器,其中只用了 9 位。分别为 6 个状态标志位和 3 个控制标志位。2.3 8086/8088CPU 中标志寄存器有几位状态位?有几位控制位?其含义各是什么?参考答案:标志寄存器是一个 16 位的寄存器
13、,其中只用了 9 位。分别为 6 个状态标志位和 3 个控制标志位。 状态标志位状态标志位用来反映算术和逻辑运算结果的一些特征。 CF:进位标志位。当进行加减运算时,若最高位发生进位或借位则CF1,否则 CF0。 PF:奇偶标志位。当运算结果的低 8 位中含有偶数个 1 时,PF1,否则 PF0。 AF:辅助进位标志位。加法或减法运算时,若结果的低字节的低 4位向高 4 位有进位或借位,则 AF1;否则 AF0。 ZF:零标志位。若当前的运算结果为 0,则 ZF1;否则 ZF0。 SF:符号标志位。与运算结果的最高位相同,当运算结果的最高位为 1时,SF=1;否则为 0。 OF:溢出标志位。当
14、运算结果超出了带符号数的范围,即溢出时,OF=1;否则 OF=0。 控制标志位控制标志位有 3 个,用来设置控制条件来控制 CPU 的操作,由程序设置或清除。 TF:跟踪标志位。 IF:中断允许标志位。用来控制可屏蔽中断的控制标志。若 IF=1,允许 CPU 接受可屏蔽中断请求;若 IF0,则禁止 CPU 回应可屏蔽中断请求。IF 的状态对非屏蔽中断及内部中断没有影响。 DF:方向标志位。控制串操作指令用的标志。2.4 Intel 8086CPU 和 8088CPU 主要区别有哪些?参考答案:8086CPU 与 8088CPU 的区别主要有以下 4 个方面:. 内部结构8086 的指令队列有 6B,而 8088 仅有 4B。它们的执行单元 EU 完全相同,而总线接口单元 BIU 却不完全相同。8086CPU 内、外部的数据总线(DB)都为 16 位,8088 内部数据总线为 16 位,外部为 8 位。. 引出线和内存组织8086 有一条高 8 位数据总线允许引出线,它