《微机原理练习六--读程序并回答问题(共6页).doc》由会员分享,可在线阅读,更多相关《微机原理练习六--读程序并回答问题(共6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机原理练习六 读程序并回答问题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=5N3=3CO
2、N1 DB NOT N1 CON2 DB (N1 AND N2 OR N3)GE 0FHCON3 DW (N2 AND N1 XOR N3)LE 0FH CON4 DB (N1 AND N3 OR N2)LT 0FH3. 读下列程序,并在空白处填入合适指令,使该程序段能完成将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=
3、? 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 DAT7. 指出下面指令序列的执行结果。 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 $
4、-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 STOSB11. 下列伪指令在存储区中分别为各变量分配多少字节? VR1 DW 10 VR2 DW 6DUP(?),66,88 VR3 DD 10DUP(?) VR4 DB
5、 HOW ARE YOU12. 写出下列程序段执行后的结果,并说出完成的是什么功能? MOV CL,4 MOV AL,87H MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CLOR 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
6、 A1VARY DB A2RES DB ? : MOV DX,VARXADD DX,VARYMOV CL,3SAL DX,CLSUB DX,VARXSAR DX,1MOV RES,DXRET程序功能为: (请用数学公式表示)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,AXADD AX,BX 则有:(AX)= 该程序完成的功能: 18. 读程序并
7、写出程序所完成的功能。 VAR DB 18,32,0,5,51,19 :MOV BX,OFFSET VARMOV AL,BXMOV CX,5NEXT:INC BXADD AL,BXLOOP 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,DA1MOV AH,0 MOV CX,3 MOV BX,
8、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 STOSB22. 已知(AL)=0C4H,DATA单元中的内容为5AH,写出下列每条指令单独执行后的结果。 AND DATA,AL(DATA)= OR AL,01H(AL)= XOR DATA,AL(DATA)= NOT A
9、L(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参考答案1.3600H; 4C2AH; 0100H;3412H; 2.(CON
10、1)=0F5H或者(CON1)=F5H;(CON2)=00H;(CON3)=0000H;(CON4)=0FFH或者(CON4)=FFH;3MOV DI,1000H; REP MOVSB; 4.(BX)=2000H; (DX)=1000H; 5.(AX)=1ABDH; (CX)=0002H;6MOV CX,0064H; ADD AX,2;7.(BX)=1234H; (AX)=1234H; 8. R1=6; R2=8;9 AND AH,0FH;XOR AL,0F0H;MOV CL,4;SHR AL,CL;MOV CL,4;SHL AL,CL;10.MOV ES,AX; MOV CX,20; 11.
11、VR1:2个; VR2:16个; VR3:40个; VR4:11个; 12(AL)=37H;(DL)=38H;实现的功能:将AL中的两个组合BCD数分别转换为ASCII码;13.(AL)=0F1H或者F1H; (BL)=0FEH或者FEH;14.完成的操作是:将X的值传送至AL,将Y的值传送至AH; X是符号名;(1分)Y是变量; 15(A1+A2)X 8-A1/2;16.(DX)=0; (AX)=1234;17.(AX)=00B4H ;完成的功能:将AX寄存器中的内容扩大18倍; 18程序的功能:18+32+0+5+51+19; 7DH;19.(AL)=40H; (BL)=0FEH或者FEH; (BL)=0BEH或者BEH;(AL)=0B9H或者B9H;20. 3; 0084H; 21MOV ES,AX; MOV CX,100;22.(DATA)=40H;(AL)=0C5H或C5H;(DATA)=9EH;(AL)=3BH;23.(AX)=0A28FH或A28FH; (BX)=238FH; 24SHR AL,CL; AND AL,0FH;
限制150内