计算机组成原理与汇编语言程序设计课后习题及解答(详解) 联系客服

发布时间 : 星期一 文章计算机组成原理与汇编语言程序设计课后习题及解答(详解)更新完毕开始阅读

计算机组成原理与汇编语言程序设计课后习题及解答

徐洁,俸远祯 电子工业出版社

第1章 习题一

1.什么是程序存储工作方式?

答:计算机的工作方式——存储程序工作方式。即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。 2.采用数字化方法表示信息有哪些优点? 用数字化方法表示信息的优点: (1)抗干扰能力强, 可靠性高。

(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。 (3)数字化的信息可以存储、信息传送也比较容易实现。 (4)可表示的信息类型与范围及其广泛,几乎没有限制。

(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成 了计算机硬件设计的基础。 3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。

4.数字计算机的主要特点是什么?

1. (1) 能在程序控制下自动连续地工作; (2|)运算速度快;

(3) 运算精度高;

(4) 具有很强的信息存储能力; (5) 通用性强,应用领域及其广泛。 5.衡量计算机性能的基本指标有哪些? 答:衡量计算机性能的基本指标:

(1)基本字长——参加一次运算的数的位数;

(2)数据通路宽度——数据总线一次能并行传送的位数;

(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。

(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。 (5)外存容量——常用字节数表示。

(6)配备的外围设备及其性能。 (7)系统软件配置。

7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。

系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。例如WINDOWS98操作系统,C语言编译程序等,数据库管理系统。

8.对源程序的处理有哪两种基本方式?

对源程序的处理通常有两种处理方式:解释方式和编译方式。

第2章 习题二

1.将二进制数(101010.01)2 转换为十进制数及BCD码。 解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD 2.将八进制数(37.2)8转换为十进制数及BCD码. 解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD 3.将十六进制数(AC.E)转换为十进制数及BCD码.

解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD

4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。 解: (75.34)10 = (01001011.01010111)2 =(213.256)8 =(4B.57)16 5.将十进制数13/128转换为二进制数.

解: (13/128)10 =(1101/10000000)2 =(0.0001101)2

6.分别写出下列各二进制数的原码、补码,字长(含一位数符)为8位。 (1)0 (2)- 0 (3)0.1010 (4)- 0.1010 (5)1010 (6)-1010 解: 原码 补码 0 00000000 00000000 -0 10000000 00000000 0.1010 0.1010000 0.1010000 - 0.1010 1.1010000 1.0110000 1010 00001010 00001010

-1010 10001010 11110110 7.若X补=0.1010,则X原、真值等于什么?

解:X补=0.1010,则X原=0.1010,真值 X = 0.1010 8.若X补=1.1010,则X原、真值等于什么?

解:X补=1.1010,则X原=1.0110,真值 X = - 0.0110

9.某定点小数字长16位,含1位符号,原码表示,分别写出下列典型值的二进制代码与十进制真值。 (1)非0最小正数 (2)最大正数

(3)绝对值最小负数 (4)绝对值最大负数

解: 二进制代码 十进制真值 (1)非0最小正数 0.000000000000001 2-15 (2)最大正数 0.111111111111111 1-2-15

(3)绝对值最小负数 1.000000000000001 -2-15

(4)绝对值最大负数 1.111111111111111 -(1-2-15)

10.某定点小数字长16位,含1位符号,补码表示,分别写出下列典型值的二进制代码与十进制真值。 (1)非0最小正数 (2)最大正数

(3)绝对值最小负数 (4)绝对值最大负数

解: 二进制代码 十进制真值 (1)非0最小正数 0.000000000000001 2-15

(2)最大正数 0.111111111111111 1-2-15 (3)绝对值最小负数 1.111111111111111 -2-15

(4)绝对值最大负数 1.000000000000000 -1

11.某浮点数字长16位,其中阶码6位,含1位符号位,补码表示,以2为底;尾数10位(含1位数符),补码表示,规格化。分别写出下列各典型值的二进制代码与十进制真值。 (1)非0最小正数 (2)最大正数

(3)绝对值最小负数 (4)绝对值最大负数

解: 二进制代码 十进制真值 (1)非0最小正数 100000, 0.100000000 (2)最大正数

011111, 0.111111111 (3)绝对值最小负数 100000, 1.100000000 (4)绝对值最大负数 011111, 1.000000000

14.减少指令中一个地址码位数的方法是什么?

答:减少指令中一个地址码位数的方法是采用寄存器寻址方式。 15.某主存单元的地址码与存储单元内容对应关系如下: 地址码 存储内容 1000H A307H

1001H 0B3FH 1002H 1200H 1003H F03CH 1004H D024H

(1)若采用寄存器间接寻址读取操作数,指定寄存器R0的内容为1002H,则操作数是多少?

(2)若采用自增型寄存器间接寻址方式(R0)+,R0的内容为1000H,则操作数是多少?指令执行后R0的内容是什么?

(3)若采用自减型寄存器间接寻址方式-(R1)+读取操作数,R1的内容为1003H,则操作数是多少?指令执行后R1的内容是什么?

(4)若采用变址寻址方式X(R2),指令中给出形式地址 d = 3H , 变址寄存器R2的内容为1000H,则操作数是多少?

解:(1)操作数为1200H。

(2)操作数为A307H,指令执行后R0的内容1001H。 (3)操作数为F03CHH,指令执行后R0的内容1002H。 (4)操作数为F03CHH。

16.对I/O设备的编址方法有哪几种?请稍作解释。

答:对I/O设备的编址方法有两种:外围设备单独编址和外围设备与主存统一编址。

外围设备单独编址:为I/O接口中的有关寄存器分配I/O端口地址,一般由地址总线若干低位提供I/O端口地址,从而选择某个寄存器进行读/写。

外围设备与主存统一编址。将I/O接口中的有关寄存器与主存单元统一编址,一般由地址码中高端(地址值大)的一段区域分配给I/O端口。

17.I/O的设置方法有哪几种?请稍作解释。

答:I/O指令的设置方法有三种:

(1)设置专用的I/O指令:指令中的操作码明确规定某种输入/输出操作,CPU寄存器号,I/O端口地址。应用于外围设备单独编址方式。

(2)用通用的数据传送指令实现I/O操作:应用于外围设备与主存单元统一编址方式。 (3)通过I/O处理器或处理机控制I/O操作:应用于采用协处理器或多处理机的系统。

第3章 习题三

1.试说明串行进位和并行进位的不同之处。

答:采用串行进位的加法器,是将n个加法器串接起来。其中的进位是逐级形成的,每一级的进位直接依赖前一级的近位。由于串行进位的延时时间较长,所以速度很慢。 采用并行进位的加法器中,各加法器的进位信号仅由进位产生函数Gi与进位传递函数Pi及最低位进位C0决定,而Gi和Pi之与本位的Ai和Bi有关,即Gi与Pi的形成是同时的,因此各级的进位输出Ci也是同时形成的。并行进位有效地减少进位延时时间。

3.用变形补码计算[X]补+[Y]补,并指出是否溢出,说明是正溢还是负溢。 (1)[X]补=00 110011 [Y]补 = 00 101101 0 0 1 1 0 0 1 1 +) 0 0 1 0 1 1 0 1

0 1 1 0 0 0 0 0

[X]补+[Y]补=01 100000 , 符号位为01,为正溢。 (2)[X]补=00 010110 [Y]补 = 00 100101 0 0 1 1 0 1 1 0 +) 0 0 1 0 0 1 0 1

0 1 0 1 1 0 1 1

[X]补+[Y]补=01 011011 , 符号位为01,为正溢。 (3)[X]补=11 110011 [Y]补 = 11 101101 1 1 1 1 0 0 1 1 +) 1 1 1 0 1 1 0 1

1 1 1 0 0 0 0 0

[X]补+[Y]补=11 100000 , 符号位为11,结果正确。 (4)[X]补=11 001101 [Y]补 = 11 010011 1 1 0 0 1 1 0 1 +) 1 1 0 1 0 0 1 1

1 0 1 0 0 0 0 0

[X]补+[Y]补=10 100000 , 符号位为10,为负溢。

3.用变形补码计算[X]补-[Y]补,并指出是否溢出,说明是正溢还是负溢。 (1)[X]补=00 110011 [Y]补 = 00 101101 解:[-Y]补=11 010011 0 0 1 1 0 0 1 1 +) 1 1 0 1 0 0 1 1

0 0 0 0 0 1 1 0