微型计算机原理与应用_第四版_课后答案_(郑学坚_朱定华) 下载本文

.. . . ..

微机原理第七章答案

7.3 设AX=1122,BX=3344H,CX=5566H,SS=095BH,SP=0040H,下述程序执行

后AX,BX,CX,DX 4个通用寄存器内容是多少?画出堆栈存储器的物理地址及存储内容和SP指向的示意图。 PUSH AX PUSH BX PUSH CX POP BX POP AX POP DX

参考答案:(BX)=5566H, (AX)=3344H, (DX)=1122H,(CX)=5566H 堆栈段物理地址=SS*16(左移4位)+SP 66H 095EBH 55H 44H 095ECH 33H 22H 095FDH 11H 095EEH 095EFH

SP→ 095F0H . 学习帮手 .

.. . . ..

7.4 设 SP=0040H,如果用进栈指令存入5个数据,则SP=0036H ,若用出栈

指令取出两个数据,则SP=003AH 。

7.5将表中程序段各指令执行后AX的值用十六进制数填入表中

参考答案: 程序段 MOV AX,0 DEC AX ADD AX,7FFFH ADC AX,1 NEG AX

AX 0 FFFFH 7FFEH 8000H 8000H 程序段 OR AX,3FDFH AND AX,0EBEDH XCHG AH,AL SAL AX,1 RCL AX,1 AX BFDFH ABCDH CDABH 9B56H 36ADH 7.6 用十六进制数填下表,已知DS=1000H,ES=2000H,SS=0FC0H,通用寄存器

的值为0。

参考答案:逻辑地址=段基址:段内偏移地址

BP以SS为默认段基址,其余寄存器以DS为默认段基址 ES:为段前缀,以ES为段基址 指令 SUB [BP],AL 存储器操作数逻辑地址 0FC0H:0000H . 学习帮手 .

.. . . ..

MOV [BX],BH MOV [DI],DL MOV ES:[SI],BL ADD 500H[BP],AH SUB [SI-300H],AL MOV 1000H[DI],DL MOV [BX-8],CL MOV ES:1000H[DI],CH MOV [BP+SI],DH MOV [BX+DI],DL

1000H:0000H 1000H:0000H 2000H:0000H 0FC0H:0500H 1000H:FD00H 1000H:1000H 1000H:FFF8H 2000H:1000H 0FC0H:0000H 1000H:0000H 7.7 试给出执行完下列指令后OF、SF、ZF、CF4个可测试标志位的状态(用十

六进制给出FLAG的值,其余各位为0)

(1)MOV AX,2345H (2) MOV BX,5439H ADD AX,3219H ADD BX,456AH (3)MOV CX,3579H (4) MOV DX,9D82H SUB CX,4EC1H SUB DX,4B5FH OF DF IF 溢出 方向 中断 TF SF ZF 0 陷阱 符号 为零 AF 0 辅进 PF 0 奇偶 CF 进位

. 学习帮手 .

.. . . ..

参考答案:(这里除了上面4个标志还考虑了奇偶标志PF和辅助进位标志AF) (1)AX=555EH FLAG=0000H 0 0 0 0 OF DF IF 0 0 0 TF SF ZF 0 0 0 0 0 AF 0 0 0 PF 0 0 0 CF 0 (2)BX=99A3H FLAG=0894H 0 0 0 0 OF DF IF 1 0 0 TF SF ZF 0 0 1 0 0 AF 0 1 0 PF 0 1 0 CF 0 (3)CX=E6B8 FLAG=0081H 0 0 0 0 OF DF IF 0 0 0 TF SF ZF 0 0 1 0 0 AF 0 0 0 PF 0 0 0 CF 1 (4)DX=5223 FLAG=0014H 0

0 0 0

OF DF IF 0 0 0 TF SF ZF 0 0 0 0 AF 1 0 PF 0 1 0 CF 0 7.8 AX 中有一负数,欲求其绝对值,若该数为补码,则使用指令 NEG

AX ;若为原码则用指令AND AX,7FFFH。 。

7.9 分别写出实现如下功能的程序段:

(1)将AX中间8位(做高8位),BX低4位和DX高4位(做低4位)拼成一个新字。(注意:左移右移操作)

AND AX,0FF0H MOV CL,04H

. 学习帮手 .