微型计算机原理应用第四版答案_第1页
微型计算机原理应用第四版答案_第2页
微型计算机原理应用第四版答案_第3页
已阅读5页,还剩34页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 章习题1.1 将以下二进制数转换为十进制数和十六进制。 111012=13H2110102=26=1AH31101002=52=34H4101010012=1699H要点:从低位起,按每 4 位将对应二进制转换成十六进制。而 不是通过十进制转换。1.2 见上。简述 3 个门电路的根本元素在电路中对电平上下的作用。 答:与、或、非。1.4 布尔代数有哪两个特点? 答:1值只有两个; 2只有与、或、反 3 种运算。1.5 布尔代数的“或运算结果可用哪两句话来归纳?其“与运算又可归纳成哪两句话“ 答:1“或运算运算结果为有一真必为真,两者皆假才为假。 2“与运算有一假即为假,两者皆真才为真。

2、1.6 什么叫原码、反码及补码? 答:原码就是一个数的机器数。 反码:将原码每位取反,即为反码。 更准确的是:正数的反码就等于它的原码;负数的反码就是它的原码除符号位外,各位取反。补码:反码加 1 就是补码。 更准确的是:正数的补码就等于它的原码;X2=100 1001负数的补码就是它的反码加 1。例: X1=100 1001那么 :X1 原 = 0100 1001X1 反 = 0100 1001X1 补= 0100 1001X2原=1100 1001 X2反=1011 0110X2补=X2反+1= 1011 01111.7为什么需要半加器和全加器,它们之间的主要区别是什么? 答:1因为加法的

3、第一位没有进位,所以用半加器即可;而 第二位起可能有进位,故需要考虑全加器;2两者的区别是半加器为双入双出,全加器为三入双出。1.8用补码法写出以下减法的步骤:答:1 1111 2 -1010 2= ? 2= ? 10两个数相减其实就是第一个数与第二个数的补码相加。第一个数1111为正数,其原码为1111第二个数为1010,其机器码原码为:1010,反码为0101,补码为:0110两者相加:1111 2 11002-0011 2=?2=?2 答:按上述所讲的正规方法做。第一个数的补码 =原码 =01100;第二个数的原码即机器码为 10011,其反码为 11100,其补码为 11101; 两个

4、数的补码相加,即为:+ 11101= 101001将最高位的进位 1 删去,得结果为 01001,即为 9101.9 做出 1010112+0111102的门电路图并求其相加的结果。 答:相加结果为: 101011+ 011110= 1001001得结果为 2。注:相加时不去掉最高位的进位门电路图略去。1.10 做出第题中两数相减的门电路图并求其相减的结果。答:假设为 101011-011110那么第一个数为正数,其补码 =原码 =0101011;第 二 个 数 为 负 数 , 其 原 码 为 , 反 码 为 , 补 码 = 反 码+1=1100001+1=1100010两个数的补码相加为:0

5、101011+ 1100010 =1 0001101去掉最高位的进位1,得结果为,即为13 10例 2:+0 反=00000000-0反=11111111即:数0的反码也不是唯一的。第2章习题2.2触发器、存放器及存储器之间有什么关系?请画出这几种器件的符号。答:触发器是存放一位二进制数字信号的根本单元。触发器是计算机的记忆装置的根本单元,也可以说是记忆细胞。触发器 可以组成存放器,存放器又可以组成存储器。存放器和存储器统称为计算机的记忆装置。(2)其符号分别表示如下:-ft u二LJUWCLK<CLA#ffla-ifl 町左津*暉ibhfpji再-Ji2.4累加器有何用处?画出其符号答

6、:累加器作为运算过程的代数和的临时存储处。A SHUCLK2.5三态输出电路有何意义?其符号如何画?答:三态输出电路使得一条信号传输线既能与一个触发器接通, 也可以与其断开而与另外一个触发器接通,从而使得一条信号 线可以传输多个触发器的信息。aj 2-2S三島输出电諾朋其奋峥 电站(4符号2.6何谓L门及E门?它们在总线构造中有何用处?答:1L门:高电平时使数据装入、低电平时数据自锁其中 的电路;E门:E门即三态门,中选通端 E门为高电平时,可将信息从 A 端送到 B 端。2L 门专管对存放器的装入数据的控制,而 E 门志管由存放 器输出数据的控制。2.7 控制字是什么意义?试举个例子说明。答

7、: 1控制字将各个存放器的 L 门和 E 门的按次序排成一列, 并且为了防止住处在公共总线中乱窜,规定在某一时钟节拍, 只有一个存放器的 L 门为高电平,一个存放器的 E 门为高电平, 从而保证了 E 门为高电平的存放器的数据流入到 L 门为高电平 的存放器中去。2略去,详见教材 P31 的表 2-32.8 和各有何特点与用处? 答:是只读存储器,是用以存放固定程序的存储器,一旦程序 放进去之后,就不能再改变。也不能再写入新的字节,而只能 读出其中所存储的内容;是随机存储器又称读 / 写存储器,它与的区别在于它不但能 读出存放在其中各个存储单元的数据,而且能够随时写进新的数据,或者改变原有数据

8、。2.9 为什么要建立“地址这个概念?答:因为一个存储器可以包含数以千计的存储单元,可以存储 很多数据,为了便于存入和取出,需要对每个存储单元确定一 个固定地址。2.11 译码器有何用处?答:译码器用来确定存储单元的地址。地址译码器常用于计算 机中对存储单元地址的译码,即将一个地址代码转换成一个有 效信号,从而选中对应的单元。2.12 存储地址存放器和存储数据存放器各有何用处? 答:将所要寻找的存储单元的地址暂存下来,以备下一条指令 之用。是将要写入中去的数据暂存起来,以等待控制器发出指令再将 数据写入中去。P33 2 ,4, 5,6,7, 8, 9,11,12第 3 章习题3.1 略去3.2

9、 程序计数器的内容是什么意义? 答:程序计数器存储的内容是指令的地址码。每次运行指令前, 先复位到 0,每取出执行一条指令,加 1.指令存放器从接收到指令字 8 位后的运行过程如何?起什 么作用? 答:1指令存放器从接收到指令字后,就立即将其高4 位送到控制部件。 2控制部件经过分析后就发出控制指令,将的低4 位数送到存储地址存放器,将此低 4 位数作为地址并用于访问。故第 1 次访问的是其指令区,第 2 次访问的是其数据区。3.4 略3.5环形计数器有何用处?什么叫环形字?答:1环形计数器用来发出顺序控制信号即用来发出环形 字,从而产生机器节拍。2环形字是其6位输出端依次轮流为高电平,并且是

10、在最位 一位左边第1位置1后又回到右边第1位,从而形成环形 置位。3.6什么叫例行程序?什么叫机器周期、取指周期和执行周期? 本章简化式计算机的机器周期包括几个时钟周期机器节拍? 机器周期是否一定是固定不变的?答:1例行程序:由厂家编好的执行每个程序在本章中即 为每条指令所需要的机器节拍3个,见P492机器周期:执行一条指令的时间。3取指周期:取一条指令所需的 3个机器节拍。4执行周期:执行一条指令所需的机器节拍一般也为 3个 机器节拍5本章简化式计算机的机器周期包括 6个机器节拍。补充: 机器节拍:即一个时钟周期时钟一个高电平+ 个低电平6不一定。只不过固定了在 6 个节拍完成一个机器周期的

11、计 算机被称为固定周期的计算机。3.7 控制部件包括哪些主要环节?各有何用处? 答:1控制部件包括环形计数器、指令译码器、控制矩阵和 其他控制电路。2环形计数器用来产生环形字,从而产生机器节拍; 指令译码器: 将高四位组成的编码信息译成某一控制线为高电 位。控制矩阵:用来产生控制字,即产生所有控制信号。 其他控制电路包含时钟脉冲发生器、运行 / 停车触发器、 “启动 和“去除按钮。其作用见 P54.3.8 子程序计数器有何用处? 答:也是用来作为一个程序计数器的。略去3.12 指令存放器是如何将其指令字段和地址字段分送出去的? 这两个字段的位数是否保持不变?答: 1指令存放器将 8 位指令字的

12、高 4 位作为指令字段送到 控制部件,而将低 4 位做为地址字段通过总线送到存储地址存 放器中去。 2 对,保持不变。这由制造厂家确定。第 4 章习题4.1 8086 与 8088 有哪些一样之处?又有哪些区别? 答:两者的内部构造根本一样,内部都采用 16 位字进展操作及 存储器寻址,两者的软件完全兼容,程序的执行也完全一样, 两种处理器都封装在一样的 40 脚双列直插组件中。 但它们的外部性能有区别。 8086 是 16 位数据总线,而 8088 是 8 位数据总线,在处理一个 16 位数据字时, 8088 需要两步操作 而 8086 只需要一步。4.2 8086 从功能上分为几局部?各局

13、部由什么组成?各局部 的功能是什么?答: 8086从功能上分为总线接口局部和执行部件两局部。其中总线接口局部的功能是负责与存储器、端口传送数据,即 管理在存储器中存取程序和数据的实际处理过程。 执行部件的功能负责指令的执行。将指令译码并利用内部的存 放器和对数据进展所需的处理。由 4 个段存放器、16 位指令指针存放器、 20 位的地址加 法器和 6 字节的指令队列组成。由 4 个通过存放器、 、4 个专用存放器、 、标志存放 器、算术逻辑部件组成。4.3 8086 有哪些存放器组成?各有什么用途?标志存放器的各 标志位在什么情况下置位?答: 8086 由 4 个通用存放器、 、4 个专用存放

14、器、 、 标志存放器组成,共 9 个存放器。4 个通用存放器既可作为 16 位存放器用,也可作为 8 位存放器 使用。其中存放器也常称为累加器。其它存放器的用途见教材。 标志存放器有 6 个状态标志、 、和 3 个控制标志位、 、 其具体置位见 P75 的表 4-1.4.4 8086 系统中的物理地址是如何得到的?假设 2000H, 2100H其物理地址应是多少? 答: 8086 系统中的物理地址是通过中的 20 位地址加法器得到 的。物理地址计算公式为段地址 *16 即二进制左移 4 位,或者十六 进制左移 1 位偏移地址。按计算公式,此题中的物理地址为 200H。4.5 什么叫总线周期?

15、8086 的一个总线周期包括多少时钟周期, 什么情况下要插入等待周期?插入多少个取决于什么因素? 答:总线周期是或其他总线控制设备访问一次存储器或端口所 需的时间。在总线周期中需要利用总路线。 补充:指令周期:指令周期是机器执行一条指令所需的时间。8086 的一个标准总线周期包括 4 个时钟周期。当 4 个时钟周期 不能完成所规定的操作时,可以插入一个或多个等待时钟周期。 插入多少个取决于所访问的存储器或者设备是否准备就绪,此 信号由引脚发出4.6什么是最大模式?什么是最小模式?用什么方法将 8086/8088置为最大模式和最小模式?答:所谓最小模式,就是在系统中只有8086/8088 一个微

16、处理最大模式中,饮包含两个或多个微处理器,其中主处理器是 8086/8088,其他处理器是协处理器如数值运算协处理器8087,输入/输出协处理器 8089。用硬件方法来决定8086/8088的工作模式,具体是通过引脚MN/MX控制信号引脚来决定,其接+5伏,那么为最小模式,接 地为最大模式。4.7什么是地址锁存器? 8086/8088系统中为什么要用地址锁 存器?锁存的是什么信息?答:1地址锁存器就是一个存放器,它根据控制信号的状态,将 总线上的地址代码暂存起来,即用于“锁定一个系列数 字状态的电路。简答:地址锁存器是用来锁存/保存地址的一个存放器即一个 普通的时序电路,是触发器的原始形式。目

17、的是某次传送数据 并不能一次完成所以锁存地址以免重复的传送一个地址。 原理:送地址到锁存器 8282/8283 之后,内存在地址锁存器中 找地址,而不是向要地址。 2因为 8060/8088 系统采用的是地址 / 数据分时复用总线, 即用同一总线传输数据又传输地址,当微处理器与存储器或交 换信号时,首先由发出存储器地址,同时发出允许锁存给锁存 器,当锁存器接到该信号后将地址 / 数据总线上的地址锁存在总 线上,随后才能传输数据。个人理解:因为在总线周期的前半局部,总是送出地址信号和 总线高允许信号,为了通知地址已经准备好了,可以被所 锁存,会送出高电平允许锁存信号。此时地址信号和信号被锁 存。

18、由于有了锁存器对地址信号和信号的锁存,在总线周期的 后半局部,地址和数据都在总线上,确保了对锁存器和接口的 读 / 写操作。3锁存的是复用总线上的地址信息。4.8 8086/8088 系统中的 8286 是什么器件?起什么作用? 答:18286 是总线驱动器又称总线收发器,双向数据缓冲 器2在一个系统所含的外设接口较多时,它用来增加数据总线 的驱动能力。4.9 8086/8088 系统中用时钟发生器 8284A 产生哪些信号? 答: 8284A 产生恒定的时钟信号、准备信号及复位信号4.10 8086 最根本的操作是什么?答:是总线操作4.11 8086/8088 系统中引入了哪些中断?是如何

19、引入的? 答: 8086 共有 256 种类型的中断。从产生中断的方法,可以将 其分为硬件中断和软件中断两大类,硬件中断中的非屏蔽中断 是通过的引脚进入的,可屏蔽中断是通过的引脚进入的,并且 只有当中断允许标志为 1 时,非屏蔽中断才能进入。 软件中断是根据软件中的某条指令或者软件对标志存放器中某 个标志的设置而产生的。4.12 什么是可屏蔽中断?什么是非屏蔽中断? 可屏蔽中断是指受中断标志屏蔽的中断,由引脚进入。非屏蔽中断是不受中断标志屏蔽的中断,由引脚进入。4.13 什么是中断向量?中断向量表指的是什么?中断向量表放在什么地方?答:1中断向量是中断处理子程序的入口地址,每个中断类型对应一个

20、中断向量。 2中断向量表是指在 8086/8088 微机系统的内存中,专门留 出的 0 段的 000003区域,用于存放所有的 256个中断向量。 3中断向量表放在 0 段的 000003 区域。4.14 假设中断类型为 8,它的中断效劳入口地址是多少?答:中断类型 8*4=32,即十六进制 20H,所以其中断效劳入口地址为 20H.第 5 章习题5.1 分别指出以下指令中的源操作数和目的操作数的寻址方式:1 , 200;源操作数为立即数寻址 2 , ;源操作数为3 , ;源操作数为基址加变址的存放器间接寻址4 ,源操作数为存放器寻址5 ,;源操作数为存放器寻址6 ; 为存放器寻址对于目的操作

21、数,前 4 小题均为存放器寻址, 5题为存放器 间接寻址。5.2 试述指令 , 2021H 和 , :2021H 的区别中。答:前者为将十六进制数 2021H送到存放器中去;后者为将数据段中偏移地址为2021H 2021H两单元中的内容送到中去。5.3 写出以下指令中内存操作数的所在地址。 1 , 5答:源操作数的地址为 5 ,默认段存放器为数据段存放器,又 因为基址存放器,所以寻址方式为数据段相对基址寻址;2 5,答:目的操作数的地址为 5 ,默认段存放器为堆栈段存放器,又因为基址存放器,所以寻址方式为堆栈段相对基址寻址; 3 3答:此句意思为将 3 所指的存储单元的内容加 1;的意义是定

22、义其后的内容变量的新类型为字节属性,具体用法见第 7 章 P159.内存操作数的地址为 3 ,属于相对变址寻址;4 , : 答:源操作数为附加段基址加变址的寻址方式;5 , 2答:源操作数的内存地址为 2 ,属于数据段相对基址加变址寻 址。5.4 判断以下指令书写是否正确:1 ,答:不对,一个 8 位,一个 16 位;2答:正确3 答:正确4 5,答:不对,目的操作数不能是立即数。5 , 答:不对,两个存储单元之间不能直接传送数据; 6 , F5H答:正确 7 , 2000H答:正确8 答:不对,段存放器和立即数都不能作目的操作数9 答:正确。注:本局部可以用中的指令进展调试以确认指令是否正确

23、5.5 设堆栈指针的初值为 2000H, 3000H, 5000H,试问: 1执行指令后 ?答:执行指令时,栈顶指针自动减 2,所以 20002= 1 H ;2再执行 及 后? ? ? 答:执行 后 1 2 ;再执行 后1 2 +2=1 H; 此时中的内容为原中的内容,故 5000H; 而中的内容没有改动,即还是 5000H.5.6 要想完成把 2000H 送 1000H 中,用指令:1000H, 2000H 是否正确 ?如果不正确,应用什么方法? 答:不正确,因为两个存储单元之间不能直接传送数据。可以 改为:, 2000H1000H,5.7 假设想从 100 中减去中的内容,用 100 ,是

24、否正确?如果 不正确,应用什么方法? 答:不正确,因为立即数不能做为目的操作数。可以改为: , 5 ; 100 的16进制数表达式为 5BL, AL5.8 用两种方法写出从 88H 端口读入信息的指令。再用两种方 法写出从42H 口输出100H的指令。答:法一:,88H;法二:,88HAL,(2) 法一:,0100H42H,;将中的内容输出到42H、43H两端口中,其中00H送42H端口中,01H送到43H端口中法二:,0100H,42HJ5.9假设20H, 10H,当执行,后,问:1假设、中内容是两个无符号数,比拟结果如何?影响哪几 个标志位?答:对无符号数,执行后影响、位。第一个数为:00

25、02 0000第二个数为:0001 0000故执行后标志为分别为 0 ;0;2假设、中内容是两个有符号数,结果又如何?影响哪几个 标志位? 答:对有符号数,执行指令后影响和标志位,不影响位。 执行后标志位分别为 0; 0第 6 章习题6.1 读下面程序段,请问:在什么情况下,本段程序的执行结 果是=0?: , 5,80H,0:, 0解答:中的最高位为 1 时。6.2 读程序:, 20H,30H,0,0请问: (1) 本程序实现什么功能 ?(2) 结果在哪里 ?解答:完成20H*30H,结果在中。6.3 请编一程序段完成 *10 的任务要求不准用乘法指令做答:2;此句实现了 *4;此句使得 5,

26、1法二:;此句实现了 5*2=10, 4,16.4 编程序使:(1) 存放器低 4 位清零。(2) 存放器低 4位置“ 1”。(3) 存放器低 4 位变反。(4) 用指令测试存放器位 3、位 6 是否同时为 0,假设是,将 0 送;否那么 l 送。解答 : (1) ,00H(2) ,000(3),000或者 但这样的高 4 位也会变反4 ,48HLOOP,1LOOP ,06.5 .编一程序段,完成符号函数(-128 < x< 127): 1(x>0)卡0(0)I -1 (xvO)假设x的值存放在中,y的值存放在2中。解答:1AL,AL,81H;即将-1给;结果为0,转AL,1

27、2,O26.6 .设存放器中有一个 的个数, 解答:1:16位二进制数,编一程序,统计中“ I统计结果送中。;清零也可用,实现;清零;此句也可用替代,0,1;此句也可用,1替代6 7编一子程序利用指令把十六进制数转换成码。假设码存 放在以 1 为首地址的数据区中,对应的 16 进制数放在以 2 为 首地址的数据区中,转换结果送以 3 为首地址的数据区中。 解答:AL: 1 ;将首地址 1 送到中,作为表的首地址23,16: ;读字节串,从地址为的读 16 进制数到; 用换码指令将中的 16 进制数转换成;对应的码;写字节串,从写到,即将转换成的码 送;到目标地址处 ;!=0,就转向,与都会自动

28、增 1AL此题重点: 1所有的串操作指令,如 , 等都用存放器对源操作数进展间接寻址;都用存放器为目的操作数进展间接寻址。2在每次循环后,地址指针和都会受到修改;3指令的用法,见教材 P118,用给定首地址,用给定偏移地址,再用指令转换。第 7 章习题7.2 假设学生某门课程的成绩放在数据区中,请编一程序,统 计该成绩中小于 60 分的人数, 6090 分的人数,大于 90 分的 人数,并显示在屏幕上。答:分析:假设学生成绩放在以 1 为首地址的数据区中。1 100 (?)1'90'2 60 90 '3 '90'A1:L1:L1:;用保存 60到 90的

29、人数A2, 1, 100(D);将学生人数 100 赋给, 90(D)L1, 60(D)L2;用保存小于 60 的人数A2;用保存大于 90 的人数A2A2:LOOP A1;在屏幕上输出各类人数, 1, 921HJ, 221H; 输出 60-90 的学生人数, 2, 9J, 221H输出小于 60 的学生人数21H;程序完成,返回操作系统,完毕, 421H第八章习题8.1 编一初始化程序,使 8255A 的 5端输出一个负跳变。如果要求 5 端输出一个负脉冲,那么初始化程序又是什么情况?答:1设置 5为负跳变从 1 到 0,即设置 5引脚为 0 值,其 控制字应设置为: 0000 1010 即 0。故其初始化程序为: , 8255 控制端口地址AL,0DX, AL2负脉冲为从 0 到-1 ,故其控制字为: 0000 1011 即 0故其初始化程序为:,8255控制端口地址AL,0DX, AL8.2设8251A的控制和状态端口地址为 52H,数据输入/输出口 地址为50H输出端口未用,输入50个字符,将字符放在所 指的内存缓冲区中。请写出这段程序。答:分析:1工作方式选择此题没有讲清用同步或异步,故可自选,在此选择异步传送,波特

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论