课后答案网,用心为你服务! 大学答案 --- 中学答案 --- 考研答案 --- 考试答案 最全最多的课后习题参考答案,尽在课后答案网(www.khdaw.com)! Khdaw团队一直秉承用心为大家服务的宗旨,以关注学生的学习生活为出发点, 旨在为广大学生朋友的自主学习提供一个分享和交流的平台。 爱校园(www.aixiaoyuan.com) 课后答案网(www.khdaw.com) 淘答案(www.taodaan.com)
《微机原理》(第五版)习题解答
2、设机器字长为 6 位,写出下列各数的原码、补码、反码和移码。
10000
-10000
11111
-11111
10101
-10101
第一章 习题解答 (P37)
khdaw.com
② [-10101]原=110101B
[-10101]反=101010B
[-10101]补=101011B
解: ① [10101]原=[10101]补=[10101]反=010101B
[10101]移=2n-1-1+010101=11111+10101=110100B
[-10101]移=11111-10101=001010B
③ [11111]原=[11111]补= [11111]反=011111B
[11111]移=11111+11111=111110B
④ [-11111]原=111111B
[-11111]反=100000B
[-11111]补=100001B
[-11111]移=11111-11111=000000B
⑤ [10000]原=[10000]补=[10000]反=010000B
[10000]移=11111+10000=101111B
⑥ [-10000]原=110000B
[-10000]反=101111B
[-10000]补=110000B
[-10000]移=11111-10000=001111B
3、利用补码进行加减法运算比用原码进行运算有何优越性?
答: 利用补码进行加减法运算比用原码进行运算的优越性主要表现在只用一套加法器电路就可以
进行加减法运算,简化了电路,降低了运算器的成本。
5、设机器字长为 8 位,最高位为符号位,试对下列各算式进行二进制补码运算。
khdaw.com
1
(1)
16+6=?
解:
∵ [16]补=10H
[6]补=06H
∴ [16+6]补=[16]补+[6]补=10H+06H=16H
www.khdaw.com www.khdaw.com
[8]补=08H
解:
∵
(2)
8+18=?
khdaw.com
(3) 9+(-7)=?
-25+6=?
解:
∵
(4)
解:
∵ [-25]补=E7H
[18]补=12H
[9]补=09H
[-7]补=F9H
∴ [8+18]补=[8]补+[18]补=08H+12H=1AH
∴ [9+(-7)]补=[9]补+[-7]补=09H+F9H=02H
[6]补=06H
∴ [-25+6]补=[-25]补+[6]补=E7H+06H=EDH
(5)
8-18=?
解: ∵
[8]补=08H
[-18]补=EEH
∴
[8-18]补=[8]补+[-18]补=08H+EEH=F6H
(6)
9-(-7)=?
解:
∵ [9]补=09H
[-(-7)]补=07H
∴ [9-(-7)]补=[9]补+[-(-7)]补=09H+07H=10H
(7)
16-6=?
解: ∵
[16]补=10H
[-6]补=FAH
∴
(8)
-25-6=?
解: ∵ [-25]补=E7H
[-6]补=FAH
[16-6]补=[16]补+[-6]补=10H+FAH=0AH
khdaw.com
∴
[-25-6]补=[-25]补+[-6]补=E7H+FAH=E1H
6、设机器字长为 8 位,最高位为符号位,试用“双高位”法判别下述二进制运算有没有溢出产生。
2
www.khdaw.com www.khdaw.com
[8]补=08H
0010 1011
+
0000 1000
0011 0011B
若有,是正溢出还是负溢出?
(1)43+8=51
解:[43]补=2BH
khdaw.com
解:[-52]补=CCH
(2)-52+7=-45
因为 D7CY○+ D6CY=0○+ 0=0,所以运算结果没有溢出。
[7]补=07H
1100 1100
+
0000 0111
1101 0011B
因为 D7CY○+ D6CY=0○+ 0=0,所以运算结果没有溢出。
(3)50+84=
解:[50]补=32H
[84]补=54H
0011 0010
+
0101 0100
1000 0110B
因为 D7CY○+ D6CY=0○+ 1=1,所以运算结果产生了正溢出。
(4)72-8=64
解:[72]补=48H
[-8]补=F8H
0100 1000
+
1111 1000
0100 0000B
因为 D7CY○+ D6CY=1○+ 1=0,所以运算结果没有溢出。
(5)-33+(-37)=-70
解:[-33]补=DFH
khdaw.com
3
www.khdaw.com www.khdaw.com
[-37]补=DBH
1101 1111
1011 1010B
+
1101 1011
khdaw.com
(6)-90+(-70)=
解:[-90]补=A6H
[-70]补=BAH
1010 0110
+
1011 1010
因为 D7CY○+ D6CY=1○+ 1=0,所以运算结果没有溢出。
0110 0000B
因为 D7CY○+ D6CY=1○+ 0=1,所以运算结果产生负溢出。
7、何谓字符串及位串?它们之间有何不同?
答:“字符串”是以字节/字/双字的相邻序列;
例如:
字节串
元素 1
元素 2
元素 3
元素 4
.
.
.
.
字串
元素 1
元素 2
双字串
元素 1
+231-1
位串
址及其在所在字节中的位置。
解:bi 的字节索引为 92÷8 取整数商:11;
bi 的位余数为 92 mod 8:4
答:bi 位在 m+11 字节的 D4 位。
解:bj 的字节索引为-88÷8 取整:11;
:
8、巳知位 bi 及 bj 在位串中的地址(位偏移量)分别为 92 和-88,试求它们各自在位串中的字节地
-231
khdaw.com
4
www.khdaw.com www.khdaw.com
bj 的位余数为-88 mod 8:0
答:bj 位在 m-11 字节的 D0 位。
9、将下列十进制数变为 8421BCD 码:
khdaw.com
(1)01111001B
(1)8069
(2)5324
答:(01111001)8421BCD=79=1001111B
答:8069 对应的 8421BCD 码为:1000 0000 0110 1001
答:5324 对应的 8421BCD 码为:0101 0011 0010 0100
10、将下列 8421BCD 码表示成十进制数和二进制数:
(2)10000011B
答:(10000011)8421BCD=83=1010011B
11、写出下列各数的 ASCII 代码:
(1)51
答:51 的 ASCII 代码为:35H31H
(2)7F
答:7F 的 ASCII 代码为:37H46H
(3)AB
答:AB 的 ASCII 代码为:41H42H
(4)C6
答:C6 的 ASCII 代码为:43H36H
第二章 习题解答(P69)
1、8086/8088 CPU 中 BIU 部件和 EU 部件各由哪些部分组成?各自的功能是什么?追踪指令地址的
寄存器是什么?
答:8086/8088 CPU 中 BIU 部件由 4 个段寄存器(CS,DS,ES 和 SS)、1 个指令指针寄存器(IP)、
1 个 20 位地址加法器、1 个指令队列缓冲器(8086 为 6 字节,8088 为 4 字节)和总线控制电路
等组成。主要功能一是从内存中取指令代码送入指令队列缓冲器中;二是响应 EU 的总线请求,
负责与内存或输入/输出接口之间的数据传送;三是在执行转移指令时,BIU 使指令队列缓冲器
复位,从指定的新地址取指令,并立即传给 EU 单元执行。
khdaw.com
5
www.khdaw.com www.khdaw.com
EU 部件由 1 个 16 位 ALU、寄存器组(4 个通用寄存器 AX、BX、CX 和 DX,2 个指针寄存器
BP 和 SP,2 个变址寄存器 DI 和 SI)、1 个标志寄存器 FLAGS 和执行控制电路(指令译码和时序
产生电路等)等组成。其功能一是从指令队列缓冲器中依次取出指令代码、译码并执行;二是
执行含存储器或 I/O 口的指令时,形成存储器操作数的段内偏移地址或 I/O 口地址送 BIU;三是
执行转移、调用、中断指令时通知 BIU 复位指令队列缓冲器,立即从新地址开始取指令代码。
在 8086/8088 CPU 中,追踪指令地址的寄存器是 IP(指令指针寄存器),由 CS:IP 指出要
khdaw.com
执行指令的地址。
SSSSSSSS
2、简述堆栈指示器 SP 的功能及堆栈的操作过程。
答:8X86 系列微处理器的堆栈如下图所示:
进栈方向
栈顶
SPSPSPSP
退栈方向
栈底
堆栈段
①堆栈是由内存中按照“先进后出”原则组织起来的一片连续的存储器单元组成;
②SP 作为堆栈指针,始终指向“栈顶”;
③堆栈操作
进栈操作(PUSH)先把 SP-2,再把源操作数存入 SP 所指的字存储器单元;
设(AX)=1020H,执行PUSH AX指令如下图所示:
低地址
存储区
(SS段)
(SP)----2
(SP)-1
(SP)
低地址
(SP)
高地址
执行前
(AX)=1020
高地址
存储区
(SS段)
20
10
(AL)
(AH)
khdaw.com
进栈方向
执行后
6
www.khdaw.com www.khdaw.com
出栈操作(POP)先把 SP 所指字单元的内容取到目的操作数,再将 SP+2。
POP BX 的执行示意图如下图所示
低地址
存储区
(SS段)
低地址
存储区
(SS段)
khdaw.com
(SP)
(SP)+1
(SP)+2
20
10
执行前
高地址
10
20
BX
(SP)
执行后
(BX)=1020
高地址
khdaw.com
7
www.khdaw.com www.khdaw.com