微机原理与接口技术第三章课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 参考答案
1•按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令:
⑴将一个立即数送入寄存器 BX ; ⑵将一个立即数送入段寄存器 DS ;
⑶ 将变址寄存器DI 的内容送入一个存储单元中; ⑷从存储单元中取一个数送到段寄存器 ES 中; ⑸将立即数OABH 与AL 相加,结果送回 AL 中; ⑹ 把BX 与CX 寄存器内容相加,结果送入 BX ;
⑺ 用寄存器间接寻址方式,实现一个立即数与存储单元内容相加,结果放回存储器。 解:(1)MOV BX, 1234H
(2) MOV AX, 1234H
MOV DS, AX (3) MOV [BX], DI (4) MOV ES,[BX] (5) ADD AL,0ABH (6) ADD BX,CX (7) MOV AX,[BX]
ADD AX,1234H MOV [BX],AX
;AH= 20H
;AL= OOH DS= 2000H ;SS= 2000H AX= 2000H ;BH= 20H BL= 30H ;SI= 2030H ;DI= 3040H ;SI= 3040H :SP= 50FFH
;DH= 50H DL= FFH :CL= 19H
:CL= 19H BL= 19H :AH= FOH :CH= FOH ;(DI)= 40H
:(SI)= OOH (SI+1)= 01H :DL= O1H
:DH= OOH
MOV AX,2OOOH MOV DS,AX MOV SS,AX MOV BX,2O3OH MOV SI,BX MOV DI,3O4OH MOV SI,DI MOV SP,5OFFH MOV DX,SP MOV CL,25 MOV BL,CL MOV AH,OFOH MOV CH,AH MOV BYTE PTR[DI],64 MOV WORD PTR[SI],256 MOV DL,[SI+1] MOV DH,1+[SI] MOV AL,1[SI] MOV WORD
PTR[BX][SI],34 MOV [BX+SI+4],BL MOV BP,2[BX+DI] MOV [BP],AL MOV AX,[BP][DI] MOV BL,AL MOV ES,BX PUSH BX PUSH DI POP CX
:AL= O1H 2 •执行下面程序,完成指令后的填:(BX+SI+4)= 19H
(SP,SP+1)= 2OOOH (SP,SP+1)= FO19H CX= —3O4OH ______
:(BX+SI)= 22H (BX+SI+1)= OOH
立即寻址方式 寄存器寻址方式 直接寻址方式;其物理地址为: 直接寻址方式;其物理地址
为: 寄存器间接寻址方式; 寄存器间接寻址方式; 寄存器间接寻址方式; 寄存器间接寻址
方式; 寄存器相对寻址方式; (10) 寄存器相对寻址方式;其物理地址为: (11) 基址变址寻址方式;其物理地址为:
(12) 相对基址变址寻址方式;其物理地址为:
4•如果TABEL 为数据段中0032H 单元的符号名,其中存放的内容为
1234H ,试问以下两条
指令有什么区别?指令执行后, AX 寄存器的内容各是什么?。
MOV AX , TABEL LEA AX , TABEL
解:指令 MOV AX,TABEL 是取出地址为 TABEL 的内存单元内容,执行结束后 AX=1234H
指令LEA AX , TABEL 是取出符号地址的数值,执行结束后 AX=0032H. 5.已知堆栈段寄存器 SS 的内容是0FFA0H ,堆栈指针寄存器 SP 的内容是00B0H ,先执行 两条把8057H POP DX
;SP= 50FFH DX= 2000H XCHG AX,BP ;AX= 0000H BP= 0100H XCHG DH,BL
;DH= 00H BL= 20H LAHF ;FLAG= 0002H AH= 02H SAHF
;FLAG= 0002H AH= 02H PUSHF
;SP= 50FDH (SP,SP+1)= 0002H POPF
;SP=
50FFH FLAG= 0002H
3.设 DS = 2000H , ES = 2100H , ⑴MOV AX , 0ABH
⑵MOV AX , BX ⑶MOV AX , :100H : ⑷MOV AX , VAL ⑸MOV AX , [BX : ⑹MOV AX , ES: : BX : ⑺MOV AX , [BP] ⑻MOV AX , [SI] ⑼MOV AX , :BX+10] ⑽MOV AX , VAL : BX ] (11) AX , :BX ] : (12) AX , VAL : BX ]
解: (1) (2) (3)
(4)
(5) (6) (7)
(8) 其物理地址为: 20100H
其物理地址为: 21100H 其物理地址为:
15010H 其物理地址为: 200A0H 其物理地址为:
20110H 201F0H 解:
SS = 1500H , SI = OOAOH 。BX = 0100H , BP =
0050H ,指出下列源操作数字段的寻址方式是什么? 数据段中变量名 VAL 的偏移地址值是
其物理地址值是多少?
[SI 20100H 20050H 20150H
201A0H SP 的内容变化过程示意图(标出存储单元的物理地址)
FFAACH
FFAAEH
和0F79H分别进栈的PUSH指令,再执行一条POP指令。试画出堆栈区和
6.求出以下各十六进制数与十六进制数62A0H之和,并根据结果设置标志位SF、ZF、CF
和OF的值。
⑴ 1234H ⑵ 4321H ⑶ CFA0H ⑷ 9D60H
解:(1)结果74DEH : SF=0 ;ZF=0 ;CF=0 ;OF=0。
(2)结果A5C1EH : SF=1;ZF=0 ;CF=1 ;OF=1。
(3)结果3240H : SF=0; ZF=0 ;CF=1 ;OF=0。
(4)结果0000H: SF=0;ZF=1 ;CF=1 ;OF=0。
7.求出以下各十六进制数与十六进制数4AE0H的差值,并根据结果设置标志位SF、ZF、
CF和OF的值。
⑴1234H ⑵5D90H ⑶9090H ⑷ EA04H
解:(1)结果:C754H ; SF=1; ZF=0 ; CF=1 ; OF=0。
(2) 结果:12B0H ; SF=0; ZF=0 ; CF=0 ; OF=0。
(3) 结果:45B0H ; SF=0; ZF=0 ; CF=0 ; OF=0。
(4) 结果:9F24H ; SF=1 ; ZF=0 ; CF=0 ; OF=0。
&假设BX = 0E3H,变量VALUE 中存放的内容为79H,确定下列各条指令单独执行后的结果。
⑴XOR BX , VALUE ⑵AND BX, VALUE ⑶OR BX , VALUE
⑷XOR BX , 0FFH ⑸AND BX , 0 ⑹TEST BX , 01H
解:(1)BX=9AH
(2) BX=61H
(3) BX=FBH
(4) BX=1CH
(5) BX=00H
(6) BX=E3H
9.试写出执行下列指令序列后BX寄存器的内容。执行前BX = 6D16H。
MOV CL, 7
SHR BX , CL
解:执行后BX=00DAH
10•试分析以下程序段所完成的功能。
MOV CL, 04
SHL DX, CL
MOV BL , AH
SHL AX , CL
SHR BL, CL
OR DL , BL
解:程序段完成由DX和AX共同组成的32位数向左移动4位。