微机原理课后习题参考答案 - 2011 - 简版 联系客服

发布时间 : 星期日 文章微机原理课后习题参考答案 - 2011 - 简版更新完毕开始阅读8173c33049649b6649d747d3

10

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;

3. 设存储器内数据段中存放了两个字2FE5H和3EA8H,已知DS=3500H,数据存放的偏移地址为4B25H和3E5AH,画图说明两个字在存储器中的存放情况。若要读取这两个字,需要对存储进行几次总线读操作?答:

? A8H 3EH ? E5H 2FH ?

2个字共需要3次总线操作。

4. 8086中的标志寄存器FR中有哪些状态标志和控制标志?这些标志位各有什么含义?假设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标志位CF、AF、OF、SF、IF和PF的状态。答:

6个状态标志: CF:进位标志;

11

38E5AH 38E5BH 39B25H 39B26H

PF:奇偶标志; AF:辅助进位标志; 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=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

6. 假设(SS)=20A0H,(SP)=0032H,将(CS)=0A5BH,(IP)=0012H,(AX)=0FF42H,(SI)=537AH,(BL)=5CH依次压入堆栈保存。要求: (1)画出堆栈数据存放示意图; (2)写出压栈完毕后SS和SP的值。 答:(1)

堆栈必须为字操作—只有PUSH BX 是正确的 此时,BX中的高8位BH不能确定,但不影响压栈操作,不影响SP的变化 12

5CH 00H 7AH 53H 42H FFH 12H 00H 5BH 0AH

20A28H 20A29H 20A2AH 20A2BH 20A2CH 20A2DH 20A2EH 20A2FH 20A30H 20A31H

堆栈必须为字操作 (2)SS=20A0H, SP=0028H

7. 若某存储单元的实际地址为2BC60H,且该存储单元所在的段首地址为2AF00H,则该存储单元在段内的偏移地址为多少?答:

偏移地址=2BC60H-2AF00H=0D60H

13