(完整版)第1、2章习题答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答:
二进制机器数
(若为)无符号数
(若为)原码
(若为)反码
(若为)补码
01101 1110
110
110
110
110
0101 1101
89
89
89
89
1000 1101
141
-13
-114
-115
1111 1001
249
-121
-6
-7
第二章
一.思考题(略)
二.综合题
1.设当前SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则当前栈顶的物理地址是多少?若连续执行PUSH AX,PUSH BX,POP CX 3跳指令后,堆栈的内容发生了什么变化?AX,BX,CX中的内容是什么?
第一章
一.思考题(略)
Biblioteka Baidu二.综合题
1.设机器字长为8位,写出下列用真值表示的二进制数的原码、补码和反码。
答:
真值
原码
反码
补码
(1)+0010101B
00010101
00010101
00010101
(2)+1110001B
01110001
01110001
01110001
(3)+1010011B
01010011
01010011
01010011
(4)-0010101B
10010101
11101010
11101011
(5)-1111011B
11111011
10000100
10000101
(6)-1001010B
11001010
10110101
10110110
2.下列各数均为十进制数,试用8位二进制补码计算下列各题,将运算结果用两位十六进制数表示。
5
8-18
=00001000B+11101110B=11110110B=F6H
6
19-(-17)
=00010011B+00010001B=00100100B=24H
7
-25-6
=11100111B+11111010B=11100001B=E1H
8
87-15
=01010111B+11110001B=01001000B=48H
3.已知以十六进制数形式给出的补码,求出其相应的真值:
答:
补码
真值
48H
72(01001000)
9DH
-101(10011101)
B2H
-79(10110010)
5C10H
23584(0101110000010000)
F2A1H
-3423(1111001010100001)
4.下列各数均为十进制数,试用8位二进制补码计算下列各题,判断说明运算结果是否溢出。
溢出
(-33)+(-47)
=11011111B+11010001B=00110000B=-90
未溢出
(-91)+(-75)
=10100101B+10110101B=01011010B=90
溢出
-127+64
=10000001B+01000000B=110000001B=-63
未溢出
5.设机器字长为8位。根据给出的不同形式的机器数,如下表,计算其对应的十进制表示的真值。
答:
1
17+7
=00010001B+00000111B=00011000B=18H
2
8+18
=00001000B+00010010B=00011010B=1AH
3
9-6
=00001001B+11111010B=00000011B=03H
4
-26+7
=11101000B+00000111B=11101111B=EFH
(1)画出堆栈数据存放示意图;
(2)写出压栈完毕后SS和SP的值。
答:(1)
(2)
SS=20A0H,SP=0028H
7.若某存储单元的实际地址为2BC60H,且该存储单元所在的段首地址为2AF00H,则该存储单元在段内的偏移地址为多少?
答:
偏移地址=2BC60H-2AF00H=0D60H
OF:溢出标志;
3个控制标志:
IF:中断允许标志;
DF:方向标志;
TF:单步标志。
03H+82H=85H计算后:CF=0;PF=0;AF=0;ZF=0;SF=1;OF=0。
03H-82H=81H计算后:CF=0;PF=1;AF=1;ZF=0;SF=1;OF=1。
82H -03H=7FH计算后:CF=0;PF=0;AF=1;ZF=0;SF=0;OF=1。
答:
时钟周期=1/8MHz=125ns;
所以所需时间=时钟周期*5=625ns。
3.设存储器内数据段中存放了两个字2FE5H和3EA8H,已知DS=3500H,数据存放的偏移地址为4B25H和3E5AH,画图说明两个字在存储器中的存放情况。若要读取这两个字,需要对存储进行几次总线读操作?
答:
2个字共需要3次总线操作。
答:物理地址=C0000H+2000H=C2000H;
执行指令后,地址C000H:1FFFH内容是23H;
地址C000H:1FFEH内容是55H;
地址C000H:1FFDH内容是21H;
地址C000H:1FFCH内容是22H;
AX=2355H,BX=CX=2122H;
2.假设某CPU的时钟频率是8MHz,如果在进行存储器写操作时插入了一个等待周期,完成该写操作的总线周期所需要的时间是多少ns?
4.8086中的标志寄存器FR中有哪些状态标志和控制标志?这些标志位各有什么含义?假设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标志位CF、AF、OF、SF、ZF和PF的状态。
答:
6个状态标志:
CF:进位标志;
PF:奇偶标志;
AF:辅助进位标志;
ZF:零标志;
SF:符号标志;
5.有一个22个字的数据组成的数据区,起其实地址为6101H:1CE7H。试计算出该数据区首末存储单元的物理地址?
答:
起始物理地址为:62CF7H
数据区末的物理地址为:62CF7H+(22*2-1)2= 62D22H
6.假设(SS)=20A0H,(SP)=0032H,将(CS)=0A5BH,(IP)=0012H,(AX)=0FF42H,(SI)=537AH,(BL)=5CH依次压入堆栈保存。要求:
答:
43+18
=00101011B+00010010B=00111101B=61
未溢出
-52+17
=11001100B+00010001B=11011101B=-35
未溢出
72-8
=01001000B+11111000B=010000000B=64
未溢出
50+87
=00110010B+01010111B=10001001B=-123
二进制机器数
(若为)无符号数
(若为)原码
(若为)反码
(若为)补码
01101 1110
110
110
110
110
0101 1101
89
89
89
89
1000 1101
141
-13
-114
-115
1111 1001
249
-121
-6
-7
第二章
一.思考题(略)
二.综合题
1.设当前SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则当前栈顶的物理地址是多少?若连续执行PUSH AX,PUSH BX,POP CX 3跳指令后,堆栈的内容发生了什么变化?AX,BX,CX中的内容是什么?
第一章
一.思考题(略)
Biblioteka Baidu二.综合题
1.设机器字长为8位,写出下列用真值表示的二进制数的原码、补码和反码。
答:
真值
原码
反码
补码
(1)+0010101B
00010101
00010101
00010101
(2)+1110001B
01110001
01110001
01110001
(3)+1010011B
01010011
01010011
01010011
(4)-0010101B
10010101
11101010
11101011
(5)-1111011B
11111011
10000100
10000101
(6)-1001010B
11001010
10110101
10110110
2.下列各数均为十进制数,试用8位二进制补码计算下列各题,将运算结果用两位十六进制数表示。
5
8-18
=00001000B+11101110B=11110110B=F6H
6
19-(-17)
=00010011B+00010001B=00100100B=24H
7
-25-6
=11100111B+11111010B=11100001B=E1H
8
87-15
=01010111B+11110001B=01001000B=48H
3.已知以十六进制数形式给出的补码,求出其相应的真值:
答:
补码
真值
48H
72(01001000)
9DH
-101(10011101)
B2H
-79(10110010)
5C10H
23584(0101110000010000)
F2A1H
-3423(1111001010100001)
4.下列各数均为十进制数,试用8位二进制补码计算下列各题,判断说明运算结果是否溢出。
溢出
(-33)+(-47)
=11011111B+11010001B=00110000B=-90
未溢出
(-91)+(-75)
=10100101B+10110101B=01011010B=90
溢出
-127+64
=10000001B+01000000B=110000001B=-63
未溢出
5.设机器字长为8位。根据给出的不同形式的机器数,如下表,计算其对应的十进制表示的真值。
答:
1
17+7
=00010001B+00000111B=00011000B=18H
2
8+18
=00001000B+00010010B=00011010B=1AH
3
9-6
=00001001B+11111010B=00000011B=03H
4
-26+7
=11101000B+00000111B=11101111B=EFH
(1)画出堆栈数据存放示意图;
(2)写出压栈完毕后SS和SP的值。
答:(1)
(2)
SS=20A0H,SP=0028H
7.若某存储单元的实际地址为2BC60H,且该存储单元所在的段首地址为2AF00H,则该存储单元在段内的偏移地址为多少?
答:
偏移地址=2BC60H-2AF00H=0D60H
OF:溢出标志;
3个控制标志:
IF:中断允许标志;
DF:方向标志;
TF:单步标志。
03H+82H=85H计算后:CF=0;PF=0;AF=0;ZF=0;SF=1;OF=0。
03H-82H=81H计算后:CF=0;PF=1;AF=1;ZF=0;SF=1;OF=1。
82H -03H=7FH计算后:CF=0;PF=0;AF=1;ZF=0;SF=0;OF=1。
答:
时钟周期=1/8MHz=125ns;
所以所需时间=时钟周期*5=625ns。
3.设存储器内数据段中存放了两个字2FE5H和3EA8H,已知DS=3500H,数据存放的偏移地址为4B25H和3E5AH,画图说明两个字在存储器中的存放情况。若要读取这两个字,需要对存储进行几次总线读操作?
答:
2个字共需要3次总线操作。
答:物理地址=C0000H+2000H=C2000H;
执行指令后,地址C000H:1FFFH内容是23H;
地址C000H:1FFEH内容是55H;
地址C000H:1FFDH内容是21H;
地址C000H:1FFCH内容是22H;
AX=2355H,BX=CX=2122H;
2.假设某CPU的时钟频率是8MHz,如果在进行存储器写操作时插入了一个等待周期,完成该写操作的总线周期所需要的时间是多少ns?
4.8086中的标志寄存器FR中有哪些状态标志和控制标志?这些标志位各有什么含义?假设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标志位CF、AF、OF、SF、ZF和PF的状态。
答:
6个状态标志:
CF:进位标志;
PF:奇偶标志;
AF:辅助进位标志;
ZF:零标志;
SF:符号标志;
5.有一个22个字的数据组成的数据区,起其实地址为6101H:1CE7H。试计算出该数据区首末存储单元的物理地址?
答:
起始物理地址为:62CF7H
数据区末的物理地址为:62CF7H+(22*2-1)2= 62D22H
6.假设(SS)=20A0H,(SP)=0032H,将(CS)=0A5BH,(IP)=0012H,(AX)=0FF42H,(SI)=537AH,(BL)=5CH依次压入堆栈保存。要求:
答:
43+18
=00101011B+00010010B=00111101B=61
未溢出
-52+17
=11001100B+00010001B=11011101B=-35
未溢出
72-8
=01001000B+11111000B=010000000B=64
未溢出
50+87
=00110010B+01010111B=10001001B=-123