微机原理与接口技术第三章课后答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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位。

相关文档
最新文档