1、第一章 一.思考题(略) 二.综合题 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 100001
2、01 (6)-1001010B 11001010 10110101 10110110 2. 下列各数均为十进制数,试用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 5 8-18
3、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(0
4、101110000010000) F2A1H -3423(1111001010100001) 4. 下列各数均为十进制数,试用8位二进制补码计算下列各题,判断说明运算结果是否溢出。 答: 43+18 =00101011B+00010010B=00111101B=61 未溢出 -52+17 =11001100B+00010001B=11011101B=-35 未溢出 72-8 =01001000B+11111000B=010000000B=64 未溢出 50+87 =00110010B+01010111B=10001001B=-123 溢出 (-33)+(-
5、47) =11011111B+11010001B=00110000B=-90 未溢出 (-91)+(-75) =10100101B+10110101B=01011010B=90 溢出 -127+64 =10000001B+01000000B=110000001B=-63 未溢出 5. 设机器字长为8位。根据给出的不同形式的机器数,如下表,计算其对应的十进制表示的真值。 答: 二进制机器数 (若为)无符号数 (若为)原码 (若为)反码 (若为)补码 01101 1110 110 110 110 110 0101 1101 89 89
6、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中的内容是什么? 答:物理地址=C0000H+2000H=C2000H; 执行指令后,地址C000H:1FFFH内容是23H;
7、 地址C000H:1FFEH内容是55H; 地址C000H:1FFDH内容是21H; 地址C000H:1FFCH内容是22H; AX=2355H,BX=CX=2122H; 2. 假设某CPU的时钟频率是8MHz,如果在进行存储器写操作时插入了一个等待周期,完成该写操作的总线周期所需要的时间是多少ns? 答: 时钟周期=1/8MHz=125ns; 所以所需时间=时钟周期*5=625ns。 3. 设存储器内数据段中存放了两个字2FE5H和3EA8H,已知DS=3500H,数据存放的偏移地址为4B25H和3E5AH,画图说明
8、两个字在存储器中的存放情况。若要读取这两个字,需要对存储进行几次总线读操作? 答: E5H 2FH A8H 3EH 39B25H 39B26HH 38E5AH 38E5BH H 2个字共需要3次总线操作。 4. 8086中的标志寄存器FR中有哪些状态标志和控制标志?这些标志位各有什么含义?假设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标志位CF、AF、OF、SF、ZF和PF的状态。 答: 6个状态标志: CF:进位标志; PF:奇偶标志; AF:辅助进位标志;
9、 ZF:零标志; SF:符号标志; 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。 5. 有一个22个字的数据组成的数据区,起其实地址为6101H:1CE7H。试计算出该数据区首末存储单元
10、的物理地址? 答: 起始物理地址为:62CF7H 数据区末的物理地址为:62CF7H+(22*2-1)2 = 62D22H 6. 假设(SS)=20A0H,(SP)=0032H,将(CS)=0A5BH,(IP)=0012H,(AX)=0FF42H,(SI)=537AH,(BL)=5CH依次压入堆栈保存。要求: (1)画出堆栈数据存放示意图; (2)写出压栈完毕后SS和SP的值。 答:(1) 7AH 53H 00H 5CH好H 20A2AH 20A2BH H 20A28H 20A29H H 42H FFH 20A2CH 20A2DH H 12H 00H 20A2EH 20A2FH H 5BH 0AH 20A30H 20A31H() H (2) SS=20A0H, SP=0028H 7. 若某存储单元的实际地址为2BC60H,且该存储单元所在的段首地址为2AF00H,则该存储单元在段内的偏移地址为多少? 答: 偏移地址=2BC60H-2AF00H=0D60H






