《最新微机原理与应用习题参考答案(郑学坚)》由会员分享,可在线阅读,更多相关《最新微机原理与应用习题参考答案(郑学坚)(5页珍藏版)》请在金锄头文库上搜索。
1、第1章作业1、将下列二进制数转换成十进制数和十六进制数 11010111 10101001参考答案:215D,D7H 169D, A9H2.设计算机字长为8位,求机器数E3H分别为有符号、无符号数时对应的值。参考答案:若E3为有符号数,为-29D;若E3为无符号数,为227D。3.写出下列字符所对应的ASCII 码 (1)0 (2)A (3)a参考答案:(1)30H (2)41H (3)61H1.1 为什么需要半加器和全加器?它们之间的主要区别是什么?参考答案:在做两个二进制数的加法时,右边第一位(最低有效位)相加时不用考虑进位位,只要用半加器就可实现相加;除此位外,其它各位相加都要带进位位相
2、加,要用全加器电路。全加器的输入端有进位输入,而半加器没有。1.2 用补码法写出下列减法的步骤: (1)0000 1111B 0000 1010B = 0000 1111B + 1111 0110B = 1(舍去) 0000 0101B = 5 D (2)0000 1100B 0000 0011B = 0000 1100B + 1111 1101B = 1(舍去) 0000 1001B = 9 D第2章作业2.1 ALU是什么部件?它能完成什么运算功能?试画出其符号。ABSControl参考答案:ALU是算术逻辑部件,它能完成二进制的加减乘除四则运算,也能进行布尔代数的逻辑运算。2.4 累加器
3、有何用处?画出其符号。 LOAD SHLA SHR CLK CLRXY参考答案:累加器作为ALU每次运行结果的暂时存储器,在CPU中起着存放中间结果的作用。除了能装入及输出数据外,还能使存储其中的数据左移或右移。2.5 三态输出电路有何意义?其符号如何画?参考答案:三态输出电路能使输出电路与总线脱离,使总线结构具有公共通路的作用。ABE2.6 何谓L门及E门?它们在总结结构中有何用处?参考答案:L门即LOAD控制端,是用以使寄存器接受数据输入的控制门,又称装入门。E门即ENABLE控制端,是三态输出门,用以使寄存器中的数据输出至总线,又称三态输出门。L门和E门的运用可以保证数据在共用总线中有序
4、传输互不干扰。2.8 ROM和RAM各有何特点和用处?参考答案:ROM为只能读出的存储器,可用以存放固定的程序和数据。由于半导体存储器技术的发展,目前出现了诸如Flash ROM的存储器,它可读可写,并且掉电后写入的信息不丢失。ROM通常用于固化生产厂家或开发者的程序或数据,用于启动计算机或控制计算机的工作。RAM为可写入又可读出的存储器,可用以随时写入、改写或读出数据,也可用以写入随时有可能改变的用户程序。RAM通常用于存储各种动态的输入输出数据、中间结果以及与外部存储器交换的数据或程序。2.10 除地线公用处,5根地址线和11根地址线各可选多少个地址?参考答案:5根地址线可选25=32个地
5、址;11根地址线可选211=2048个地址;2.11 译码器有何作用?参考答案:通常有地址译码器和指令译码器两种说法,功能基本类似。地址译码器将地址线翻译成存储单元的地址;指令译码器将指令代码翻译成控制信号。第3章作业3.2程序计数器PC的内容是什么意义?参考答案:程序计数器PC的内容是下一条指令所在的存储单元的地址。3.5环形计数器有何用处?什么叫环形字?参考答案:环形计数器能产生计算机运行的机器节拍,用于控制多条电路,使它们依次轮流为高电位,作为顺序控制信号,即产生按时钟周期来安排每条指令的取指及执行的顺序,从而形成例行程序。如将环形计数器的输出看作是一个字T,则T=T5T4T3T2T1T
6、0就是一个6位的环形字。3.6什么叫例行程序?什么叫机器周期、取指周期和执行周期?本章简化式计算机的机器周期包括几个时钟周期(机器节拍)?机器周期是否一定是固定不变的?参考答案:例行程序是由控制部件内部的结构确定了的各条指令的执行步骤。机器周期是一条指令从取指到执行完了所需的时钟周期数。取指周期为从PC开始,PROM中的指令进入IR到PC+1为止的时钟周期数。执行周期为从指令进入控制器执行起至执行完毕的时钟周期数。本章模型机的机器周期包括6个时钟周期。机器周期在本章举例中是固定,但对不同的计算机而言,那就不一定是固定的了。3.7控制部件包括哪些主要环节?各有何用处?参考答案:包括下列环节:(1
7、) 指令译码器:将来自PROM的二进制指令的最高四位译成控制动作信号送入控制矩阵。(2) 环形计数器:产生环形字以指挥例行程序的运行顺序。(3) 控制矩阵:将来自环形计数器的时钟节拍及指令译码器的控制动作信号进行分析而产生控制字,使整个计算机协调一致地动作。(4) 其它控制电路:包括时钟脉冲发生器、运行/停车触发器、启动/清除按钮等。第4章 作业4.1 8086CPU与8088CPU有哪些相同之处?又有哪些区别?参考答案:8086CPU与8088CPU内部结构基本相同:内部数据总线都是16位的,都采用16字进行操作及存储器寻址,两者的程序代码完全兼容,程序的编制和执行也完全相同。不同之处:80
8、88的指令队列为4个字节,8086的指令队列为6个字节;8086的外部数据总线是16位的,而8088的外部数据总线是8位的,因此8088是准16位的CPU,在处理一个16位数据字的外部访问操作时,8088需要两步操作而8086只需要一步,因此对于相同的程序,8088要比8086有较多的外部存取操作,相应地8088执行得较慢。4.2 8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?参考答案:8086从功能上分为两大部分:执行部件(EU)和总线接口部件(BIU)。执行部件EU由以下4部分组成:(1)4个通用寄存器:AX,BX,CX,DX;(2)4个专用寄存器:基址指示器BP
9、,堆栈指示器SP,源变址寄存器SI,目的变址寄存器DI;(3)标志寄存器FR;(4)算术逻辑运算部件ALU。EU的功能:负责执行所有的指令,向总线接口部件BIU提供指令执行的结果数据和地址,并对通用寄存器和标志寄存器进行管理。总线接口部件BIU由以下部件组成:(1)4个段寄存器:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS;(2)指令指示器IP;(3)地址加法器;(4)指令队列。BIU的功能:执行外部总线周期,负责存储器与I/O端口的访问,即负责CPU与存储器及I/O外设之间的信息交换。4.3 8086CPU由哪些寄存器组成?各有什么用途?标志寄存器和各标志位在什么情
10、况下置位?参考答案:共有 14 个寄存器,通 用 寄 存 器AX, BX , CX, DX , SP , BP ,SI ,DI.AX , BX ,CX ,,数据寄存器,段寄存器,控制寄存器,D X 为数据寄存器,用来保存运算中的中间结果和有效地址./AX 用作累计器./BX 用作基址寄存 器,/CX 用作计数器/,DX 用作数据寄存器./SP; 堆栈指针寄存器;装栈顶指针偏移量/.BP;基 址指针寄存器;装栈段中一个数据区的基址 偏移量/.SI;源变址寄存器,装源操作数地址 的偏移量/.DI; 目的变址寄存器,装目的操 作数地址偏移量.(2)段寄存器 4 个;CS;代 码段寄存器,装代码段的起
11、始地址./DS;数据 段寄存器,装数据段的起始地址:/SS;堆栈段 寄存器,装堆栈段的起始地址 /ES;附加段寄 存器,装附加段的起始地址(3)控制寄存器 2 个;IP,FR. IP;指令指针寄存器;始终存放 当前指令的下一条的起始存储单元的偏移 地址/.FR;状态标志寄存器用来存放运算结 果和特征./16 位寄存器,用 39 位.标志位分 为两大类;一类是状态标志,用来表示算术, 逻 辑 运 算 的 结 果 特 征 . (CF,PF,AF,ZF,SF,OF)一类是控制标志;用 来 表 示 控 制 CPU 的 操 作 特 征 . (IF,DF,TF) .CF:CF=1 为加减运算结果的最 高位
12、有进位或有借位,否则 C F=0.PF;PF=1 位操作结果 “1” 的个数为偶数, 否则 PF=0.FA:AF=1 位运算结果的低 4 位向 高 4 位有进位或有借位,否则 AF=0.ZF:ZF=1 运算结果为 0,否则 ZF=0.SF;SF=1 运算结果 最高为 0(E)否则 SF=0.OF;OF=1 在算数运 算时,带符号数的运算结果超出数的表示范 围.否则 OF=0.TF;TF=1CPU 进入单步工作方 式.IF;IF=1 允许 CPU 响应可屏蔽外部中断 请求.IF=0 禁止中断.DF;DF=1 在字符串操作 时使地址指针自动减量.DF=0 自动增量.4.4 8086系统中的物理地址
13、是如何得到的?假如CS=2000H,IP=2100H,其物理地址就是多少?参考答案:将存储系统的段地址寄存器的内容左移4位(二进制位)或乘以16,加上偏移地址,即可得到20位的物理地址。 CS:IP=2000:2100H,物理地址为:22100H。4.5 什么叫总线周期?8086CPU的一个总线周期包括多少时钟周期,什么情况下要插入TW等待周期?插入多少个TW取决于什么因素?参考答案:8086/8088CPU把BIU完成一次访问存储器或外设操作所需的时间称为一个总线周期。一个总线周期最少包含4个时钟周期(T1T4)。当访问存储器(读、写)或外设时,存储器或外设不能及时地配合CPU传送数据,存储
14、器或外设通过“READY”信号在T3之前向CPU发一个“数据未准备好”的低电平信号,CPU检测到这个信号后会在T3之后插入一个或多个等待时钟周期TW。当存储器或外设准备好数据,通过拉高“READY”电平,发出“准备好”信号,CPU检测到这个信号后,会自动脱离TW状态进入T4状态,完成总线操作。因此插入多少个TW取决于“READY”信号低电平持续时间。4.6 什么是锁存器?8086/8088系统中为什么要用地址锁存器?锁存的是什么信息?参考答案:地址锁存器就是一暂存器,它根据控制信号的状态,将总线上的地址信息暂存起来。8086CPU的AD0AD15,8088CPU的AD0AD7是地址/数据信号分
15、时复用的,当CPU与存储器交换信号时,首先由CPU发送存储器的地址信号,同时发地址锁存允许信号ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在锁存器中,随后才能传送数据信号。对于8086CPU所用的锁存器锁存的是地址总线的低16位和BHE信号,8088CPU所用的地址锁存器锁存的是地址总线的低8位信号。4.10 RESET信号来到后,8086/8088CPU的CS和IP分别等于多少?参考答案:高电平的RESET信号维持4个时钟周期以上时,CPU结束当前的操作,并对处理器标志寄存器、DS、SS、ES、IP及指令队列清零,将CS设置为FFFFH,由于IP = 0000H,因此当复位信号变为低电平时,CPU从FFFF0H的存储单元开始执行程序。第7章作业7.4 设SP = 0040H,如果用进栈指令存入5个数据,则SP = 36H ,若又用出栈指令取出2个数据,则SP = 3AH 。7.8 AX中有一负数,欲求其绝对值,若该数为补码,则用指令 NEG AX ;若该数为原码,则用指令 AND AX, 7FFFH 。7.9 (2)将CX中间8位取反,其余位不变。 XOR CX,0FF0H (6)不用乘法指令实现AL(无符号数)乘以20。结果存放在AX中。方法一: