唐朔飞主编计算机组成原理课后答案 联系客服

发布时间 : 星期日 文章唐朔飞主编计算机组成原理课后答案更新完毕开始阅读b8e341bf65ce0508763213a7

[y1]补=0. 101 0000;溢出(丢10)出错 [y2]补=1.010 0000;正确

[y3]补=1.110 0100;溢出(丢00)出错 [z1]反=1. 011 1111;溢出(丢01)出错 [z2]反=1. 010 0011;正确

[z3]反=1.110 0111;溢出(丢00)出错 算术右移一位:

[x1]原=0.000 1101;正确 [x2]原=1.011 0100;正确

[x3]原=1.000 1100(1);丢1,损失精度 [y1]补=0.010 1010;正确 [y2]补=1.111 0100;正确

[y3]补=1.100 1100(1);丢1,损失精度 [z1]反=1.101 0111;正确

[z2]反=1.111 0100(0);丢0,损失精度 [z3]反=1.100 1100;正确 算术右移两位:

[x1]原=0.000 0110(10);损失精度 [x2]原=1.001 1010;正确 [x3]原=1.000 0110(01);损失精度 [y1]补=0.001 0101;正确 [y2]补=1.111 1010;正确 [y3]补=1.110 0110(01);损失精度 [z1]反=1.110 1011;正确 [z2]反=1.111 1010(00);损失精度 [z3]反=1.110 0110(01);损失精度 18. 试比较逻辑移位和算术移位。

解:逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。

算术移位是对带符号数进行的移位操作,移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。

19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。 (1)A=9/64, B=-13/32,求A+B; (2)A=19/32,B=-17/128,求A-B; (3)A=-3/16,B=9/32,求A+B; (4)A=-87, B=53,求A-B; (5)A=115, B=-24,求A+B。 解:

(1)A=9/64=(0.001 0010)2

B= -13/32=(-0.011 0100)2 [A]补=0.001 0010 [B]补=1.100 1100 [A+B]补= 0. 0 0 1 0 0 1 0 + 1. 1 0 0 1 1 0 0

= 1. 1 0 1 1 1 1 0 ——无溢出

A+B=( -0.010 0010)2 = -17/64 (2)A=19/32=(0.100 1100)2

B= -17/128=(-0.001 0001)2 [A]补=0.100 1100

[B]补=1.110 1111 [-B]补=0.001 0001 [A-B]补= 0. 1 0 0 1 1 0 0 +0. 0 0 1 0 0 0 1 = 0. 1 0 1 1 1 0 1 ——无溢出 (3) A= -3/16=(-0.001 1000)2 B=9/32=(0.010 0100)2 [A]补=1.110 1000 [B]补= 0.010 0100 [A+B]补= 1. 1 1 0 1 0 0 0 + 0. 0 1 0 0 1 0 0

= 0. 0 0 0 1 1 0 0 —— 无溢出 A+B=(0.000 1100)2 = 3/32 (4) A= -87=(-101 0111)2 B=53=(110 101)2 [A]补=1,010 1001 [B]补=0,011 0101 [-B]补=1,100 1011 [A-B]补= 1,0 1 0 1 0 0 1 + 1,1 0 0 1 0 1 1 = 0,1 1 1 0 1 0 0 —— 溢出

A-B=(-1,000 1100)2 = -140 (5) A=115=(111 0011)2 B= -24=(-11 000)2 [A]补=0,111 0011 [B]补=1,110 1000 [A+B]补= 0,1 1 1 0 0 1 1 + 1,1 1 0 1 0 0 0

0,1 0 1 1 0 1 1——无溢出 A+B=(101 1011)2 = 91

第7章

1.什么叫机器指令,什么叫指令系统? 机器指令是计算机能够直接识别并执行指令的指令。 指令系统是全部机器指令的集合。 2.什么叫寻址方式? 寻址方式是确定本条指令的数据地址以及确定下一条要执行的指令地址的方法。 3.什么是指令字长、机器字长和存储字长

指令字长:一个指令字中包含二进制代码的位数,取决于操作码长度、操作数地址的长度和操作数的个数 机器字长:CPU一次能处理数据的最大位数,通常与CPU寄存器位数有关 存储字长:存储器的一个存储单元可存放2进制代码的位数。

6. 某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。 解:三地址指令格式如下:

4 4 4 4 OP A1 A2 A3 三地址指令8条,OP安排:0000~0111。 二地址指令指令格式如下:

4 4 4 4 OP OP A1 A2 二地址指令16条,操作码安排: 1000,0000,~1000,1111, 一地址指令指令格式如下: 4 4 4 4 OP OP OP A1 一地址指令100条,操作码安排:

1001,0000,0000,~ 1001,0110,0011,

7. 设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。如果定义了13条二地址指令,试问还可安排多少条一地址指令? 解:二地址指令格式如下:

4 6 6 OP A1 A2 二地址指令格式4位操作码共有16种编码,其中13种用来定义二地址指令,还剩3种代码未用,如不考虑零地址指令,该指令系统最多还能安排: 一地址指令条数 =3×26 =192条 8. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种? 解:1)若采用定长操作码时,二地址指令格式如下: 4 6 6 OP A1 A2 设二地址指令有K种,则: K=24-M-N

2)若采用变长操作码时,二地址指令格式仍如1)所示,设二地址指令有K种。 则可扩充一地址指令(24–K)* 26种, 可安排零地址指令((24–K)* 26-N)*26

可得((24–K)* 26-N)*26 〉=M K<=24-(M*2-6 +N)*2-6 因此K最多有24-(M*2-6 +N)*2-6种。 9. 试比较间接寻址和寄存器间接寻址。 假设存储字长=机器字长,两者的寻址范围相同(不考虑二次间址)

1) 间接寻址 EA=(A),寄存器间接寻址EA=(Ri) 2) 寄存器间接寻址能有效缩短指令字长 3) 寄存器间接寻址能减少一次访存操作

10. 试比较基址寻址和变址寻址。

答:相同:都可有效地扩大指令寻址范围;有效地址计算类似EA=A+(BR)和EA=A+(IX)。 不同:1)基址寻址时,BR不变,A可变,变址寻址时,A不变,IX可变。

2)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。 3)基址寻址适用于程序的动态重定位,变址寻址适用于数组或字符串处理。

14. 设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+1?PC的操作。试问当执行“JMP *+8”和“JMP *-9”指令时,转移指令第二字节的内容各为多少?

解:JMP *+8指令取出后,PC的值为2002H,要转移到2008H去执行,因此转移指令的第二个字节为06H, JMP *-9指令的第二个字节为 F5H。

15.一相对寻址的转移指令占3个字节,第一个字节是操作码,第二三个字节为相对位移量,而且数据在存储器中采用高字节地址为字地址的存放方式。假设PC当前值是4000H,试问当结果为0,执行“JZ * +35”和“JZ * -17”指令时,该指令的第二、第三字节的机器代码各为多少?

同14:可知偏移量分别为 32和-20,因此第二、三字节机器代码分别为 Jz * +35: 00H(高位)和 20H(低位) JZ * -17: FFH和ECH。

16. 某机主存容量为4M?16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答以下问题。

(1)画出一地址指令格式并指出各字段的作用。 (2)该指令直接寻址的最大范围。

(3)一次间接寻址和多次间接寻址的寻址范围。 (4)立即数的范围(十进制表示)。

(5)相对寻址的位移量(十进制表示)。

(6)上述六种寻址方式的指令中哪一种执行时间最短,哪一种最长,为什么?哪一种便于程序浮动,哪一种最适合处理数组问题?

(7)如何修改指令格式,使指令的寻址范围可扩大到4M?

(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之 解:共108种操作,则OP所需位数7位。,寻址特征6种,所需位数3位。 (1)单字长一地址指令格式:

7 3 6 OP M A (2)该指令最大寻址范围 26字 (3)一次间接寻址寻址范围 216字

多次间接寻址的寻址范围215字

(4)立即数范围 -32~31