第一章
一.思考题(略)
二.综合题
真值 | 原码 | 反码 | 补码 |
(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位二进制补码计算下列各题,将运算结果用两位十六进制数表示。 答:
原题 | 【X+Y】补 | 【X+Y】原 | (X+Y)真值 | |
1 | 17+7 | =0001 0001B+0000 0111B=0001 1000B= 18H | 18H | 18H |
2 | 8+18 | =00001 000B+0001 0010B=0001 1010B= 1AH | 1AH | 1AH |
3 | 9-6 | =00001 001B+1111 1010B=0000 0011B= 03H | 03H | 3H |
4 | -26+7 | =1110 0110B+00000111B=11101101B= EDH | 93H | -13H |
5 | 8-18 | =0000 1000B+1110 1110B=1111 0110B= F6H | 8AH | -0AH |
6 | 19-(-17) | =0001 0011B+0001 0001B=0010 0100B= 24H | 24H | 24H |
7 | -25-6 | =1110 0111B+1111 1010B=1110 0001B= E1H | 9FH | -1FH |
8 | 87-15 | =0101 0111B+1111 0001B=0100 1000B= 48H | 48H | 48H |
3. 已知以十六进制数形式给出的补码,求出其相应的真值,真值用十进制数表示:答:
补码 | 真值 |
48H | 72 1001000B |
9DH | -99 -110 0011B |
B2H | -78 -100 1110B |
5C10H | 23568 101110000010000B |
F2A1H | -3423 -1101 0101 1111 B |
4. 下列各数均为十进制数,试用8位二进制补码计算下列各题,判断说明运算结果是否溢出。答:
原题 | 【X+Y】补 | 对应的真值 | 溢出否 |
43+18 | =0010 1011B+0001 0010B=0011 1101B | 61 | 未溢出 |
-52+17 | =1100 1100B+0001 0001B=1101 1101B | -35 | 未溢出 |
72-8 | =0100 1000B+1111 1000B=0100 0000B | 64 | 未溢出 |
50+87 | =0011 0010B+0101 0111B=1000 1001B | -119 | 溢出 |
(-33)+(-47) | =1101 1111B+1101 0001B=1011 0000B | -48 | 未溢出 |
(-91)+(-75) | =1010 0101B+1011 0101B=0101 1010B | 90 | 溢出 |
-127+64 | =1000 0001B+0100 0000B=1100 0001B | -63 | 未溢出 |
5. 设机器字长为8位。根据给出的不同形式的机器数,如下表,计算其对应的十进制表示的真值。答:
二进制机器数 | (若为)无符号数 | (若为)原码 | (若为)反码 | (若为)补码 |
01101 1110 | 110 | 110 | 110 | 110 |
0101 1001 | 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中的内容是什么?
答:物理地址=C0000H+2000H=C2000H;
执行指令后,地址C000H:1FFFH内容是23H;
地址C000H:1FFEH内容是55H;
地址C000H:1FFDH内容是21H;
地址C000H:1FFCH内容是22H;
(AX)=2355H,(BX)=(CX)=2122H;
时钟周期=1/8MHz=125ns;
所以所需时间=时钟周期*5=625ns。
3. 设存储器内数据段中存放了两个字2FE5H和3EA8H,已知DS=3500H,数据存放的偏移地址为4B25H和3E5AH,画图说明两个字在存储器中的存放情况。若要读取这两个字,需要对存储进行几次总线读操作?答:
… | |
A8H | 38E5AH |
3EH | 38E5BH |
… | |
E5H | 39B25H |
2FH | 39B26H |
… | |
2个字共需要3次总线操作。
4. 8086中的标志寄存器FR中有哪些状态标志和控制标志?这些标志位各有什么含义?假设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标志位CF、AF、OF、SF、IF和PF的状态。答:
6个状态标志:
CF:进位标志;
PF:奇偶标志;
AF:辅助进位标志;
ZF:零标志;
b总001 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=1;PF=1;AF=0;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。试计算出该数据区首末存储单元的物理地址?答:
起始物理地址为:62CF7H
数据区末的物理地址为:62CF7H+(22*2-1)2 = 62D22H
堆栈必须为字操作—只有PUSH BX 是正确的
此时,BX中的高8位BH不能确定,但不影响压栈操作,不影响SP的变化
6. 假设(SS)=20A0H,(SP)=0032H,将(CS)=0A5BH,(IP)=0012H,(AX)=0FF42H,(SI)=537AH,(BL)=5CH依次压入堆栈保存。要求:
发布评论