微机原理练习六 读程序并回答问题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理练习六读程序并回答问题

1. 已知,(DS)=2000H,(BX)=100H,(SI)=0002H,从物理地址20100H单元开始,依次存放数据12H、34H、56H、78H;

而从物理地址21200H单元开始,依次存放数据2AH、4CH、8BH、98H。试说明下列各条指令单独执行后AX寄存器的内容。

① MOV AX,3600H (AX)=

② MOV AX,[1200H] (AX)= ③ MOV AX,BX (AX)=

④ MOV AX,[BX] (AX)=

2. 以下语句汇编后,变量CON1、CON2、CON3和CON4的内容分别是多少?

N1=10

N2=5

N3=3

CON1 DB NOT N1

CON2 DB (N1 AND N2 OR N3)GE 0FH

CON3 DW (N2 AND N1 XOR N3)LE 0FH

CON4 DB (N1 AND N3 OR N2)LT 0FH

3. 读下列程序,并在空白处填入合适指令,使该程序段能完成将100H个字节数据从2000H处搬到1000H处的操作。

MOV SI,2000H

MOV CX,100H

CLD

4 指出下面指令序列的执行结果。

MOV DX,2000H

MOV BX,1000H

XCHG BX,DX

则:BX= DX=

5 设初值AX=6264H,CX=0001H,在执行下列程序段后,AX=?CX=?

AND AX,AX

JZ DONE

SHL CX,1

ROR AX,CL

DONE:OR AX,1234H

则:AX= CX=

6有数据定义如下,与之等同功能的指令是什么?

DAT DW 100 DUP(?)

MOV CX,LENGTH DAT

ADD AX,TYPE DAT 7. 指出下面指令序列的执行结果。 MOV AX,1234H

PUSH AX

POP BX

则:BX=

AX=

8. 对于给定的数据定义,变量R1和R2的值分别是多少?

①A1 DB 1,2,3,‘ABC’

A2 DB 0

R1 EQU A2-A1

则R1=

②K1 DW ?

K2 DB 6 DUP(?) R2 EQU $-K1

则R2=

9. 选用最少的指令,实现下述要求的功能。

①AH的高4位清0,其余位不变。

②AL的高4位取反,其余位不变。

③AL的高4位移到低4位,高4位清0。

④AL的低4位移到高4位,低4位清0。

10. 下面一段程序完成对某一缓冲区置全“1”操作。设缓冲区长度为20个字节,缓冲区首址DI=0200H,并设(ES)

=3000H,试填空。

CLD

MOV AX,3000H MOV DI,0200H MOV AL,0FFH REP STOSB

11. 下列伪指令在存储区中分别为各变量分配多少字节?

VR1 DW 10

VR2 DW 6DUP(?),66,88

VR3 DD 10DUP(?)

VR4 DB ‘HOW ARE YOU’

12. 写出下列程序段执行后的结果,并说出完成的是什么功能?

MOV CL,4

MOV AL,87H MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CL

OR DL,30H

则(AL)= (DL)= 实现的功能为13. 分析程序段,并填入适当的内容。

MOV AL,0FH

MOV BL,0FEH

XOR AL,BL

则有:(AL)= (BL)= 14. 读下列指令,回答问题:

X EQU 10

Y DB 20

MOV AL,X

MOV AH,Y

①完成什么操作?②X和Y的含义有什么不同?

15. 读程序并写出程序所完成的功能。

VARX DB A1 VARY DB A2 RES DB ?

MOV DX,VARX ADD DX,VARY MOV CL,3 SAL DX,CL SUB DX,VARX SAR DX,1 MOV RES,DX RET

程序功能为:(请用数学公式表示)16. 读下列指令,回答问题:

SUB AX,AX

AND DX,AX

MOV AX,1234

则:(DX)= (AX)=

17. 分析程序段,并填入适当的内容。

MOV AL,0AH MOV AH,0 ADD AX,AX MOV BX,AX ADD AX,AX ADD AX,AX ADD AX,AX ADD AX,BX

则有:(AX)= 该程序完成的功能:18. 读程序并写出程序所完成的功能。

VAR DB 18,32,0,5,51,19

MOV BX,OFFSET VAR

MOV AL,[BX]

MOV CX,5 NEXT:INC BX

ADD AL,[BX]

LOOP NEXT

程序功能为:程序运行后,(AL)=

19. 已知(BL)=0F8H,(AL)=46H,写出下列每条指令单独执行后的结果。

①AND AL,BL (AL)=

②OR BL,AL (BL)= ③XOR BL,AL (BL)=

④NOT AL (AL)=

20. 已知DA1变量单元中存放数据134,问执行下面程序段后的结果。

DA1 DB 134

MOV AL,DA1

MOV AH,0

MOV CX,3 MOV BX,AX LOP:PUSH BX

DEC BX

LOOP LOP

问:程序执行后,堆栈中压了个数,压入的最后一个数值是。

21. 读下列程序,并在空白处填入合适指令,使该程序段能完成对某一缓冲区清零的操作。假设缓冲区长度为100个

字节,缓冲区首址DI=0200H,(ES)=3000H。

CLD

MOV AX,3000H MOV DI,0200H MOV AL,00H REP STOSB

22. 已知(AL)=0C4H,DATA单元中的内容为5AH,写出下列每条指令单独执行后的结果。

①AND DATA,AL (DATA)=

②OR AL,01H (AL)=

③XOR DATA,AL (DATA)=

④NOT AL

(AL)=

23. 分析下列程序,回答指定问题。

MOV AX,5C8FH

MOV BX,238FH

XOR AX,BX ADD AX,BX

问:(AX)= ,(BX)=

24. 下面程序完成将存储单元A1中2个压缩型BCD码拆成两个非压缩型BCD码,高位BCD码转换为ASCII码后存入A3

单元,低位BCD码转换为ASCII码后存入A2单元,请在每个空白处填上一条指令。

STRT:MOV AL,A1

MOV CL,4

OR AL,30H MOV A3,AL MOV AL,A1

OR AL,30H MOV A2,AL

相关文档
最新文档