当前位置:文档之家› 汇编语言考试复习题

汇编语言考试复习题

一、单项选择题(从下列每题的四个选择中选择一个正确的,填入答题纸的相应位置。

每小题2分,共30分)1.下列指令有语法错误的是__________。

A) PUSH AL B) ADDC AX,50HC) MOV [SI],[DI] D) JMP WORD PTR[BX+5]见书:35页,PUSH2.执行下列程序段后,(AX)= ________。

TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX, OFFSET TABADD BX,ENTRYMOV AX,[BX]A) 0003H B) 0300H C) 0400H D) 0004H3.NC指令不影响_________标志。

A) OF B) CF C) ZF D) SF4.执行下列指令后:STR1 DW ‘AB’STR2 DB 16 DUP(?)CNT EQU $ -STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是________,寄存器AX的值是________。

①A) 10H B) 12H C) 0EH D) 0FH②A) 00ABH B) 00BAH C) 4142H D) 4241H5.汇编语言源程序经汇编后不能直接生成文件。

A).OBJ B).LST C).EXE D).CRF6.8086 CPU在基址加变址的寻址方式中,已知BX=2000H,SI=1234H,则指令“MOV AX,[BX+SI+2]”的源操作在中。

(A)数据段中偏移量为3236H的字节(B)数据段中偏移量为3234H的字节(C)附加段中偏移量为3236H的字节(D)附加段中偏移量为3234H的字节(A)19,20 (B)20,无右孩子(C)无左孩子,20 (D)无左孩子,无右孩子7.执行下面的程序段后,DA T1单元的值是。

DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DA T2,AXMOV WORD PTR DA T1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的一条是。

A) MOV BYTE PTR [BX],1000B) MOV AX,[SI][DI]C) LEA BX,4[BX]D) MOV AX,ARRAY1+ARRAY29.执行下列指令后:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLT寄存器AH的值是。

A) 92H B) 8CHC) 8DH D) 00H10.设(SP)=0100H,(SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是。

A) 200FEH B) 0102HC)20102H D) 00FEH11.对于下列程序段:AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用指令完成同样的功能。

A) REP MOVSB B)REP LODSBC) REP STOSB D) REPE SCASB12.下列指令中,不影响标志位的指令是。

A) ROR AL,1 B) JNC LabelC) INT n D) SUB AX,BX13.下列指令中,正确的一条是。

A) MOV AH,BX B) MUL AX,BXC) MOV SP,SS:DA TA-WORD[BX][SI]D) LEA DS,35[DI]14.假设V1和V2是用DW定义的变量,下列指令中正确的是。

A) MOV V1,V2 B) MOV V1,20HC) MOV 2000H,V2 D) MOV AL,V1二、填空题(将正确答案填入答题纸相应的地方。

每题2分,共20分)1.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令push ax后,存放数据21H的物理地址是_________。

2.假定(AX)=96H,(BX)=65H,依次执行ADD AX,BX和DAA指令后,(AL)=______。

3.若定义DA TA DW 1234H ,执行MOV BL,BYTE PTR DATA指令后,(BL)=______。

4.若定义DA TA DB 0A5H,5BH,在指令MOV BX,___________DA TA中填充,使指令正确执行。

5.在MOV WORD PTR[0074H],55BBH指令的机器代码中,最后一个字节是________。

6.写出将寄存器AX 的内容求反的正确指令是___________________。

7.设(AX)=2001H,执行CMP AX,AX后(AX)=_________________。

8.寄存器间接寻址方式中,操作数在__________中。

9.下面两个语句的区别在于不能多次赋值,可以多次赋值。

X1 EQU 1000HX2=1000H三、程序分析题(每题5分,共20分)1.执行下列程序后,指出相应寄存器的当前值。

MOV SP,2000HMOV AX,0F0HMOV SI,1234HMOV DX,5678HPUSH SIPOP DISHR AX,1TEST AX,DXPUSH DXHLTSP=_________; DL内容所在存储器的偏移地址为_________;AX=_________;DX=__________;标志位ZF为_________。

2.执行下列程序段后,给出指定寄存器的内容。

MOV AL,45HMOV BH,ALAND BH,0FHMOV CL,4SHR AL,CLMOV BL,ALBH=__________; BL=________3.执行下列程序段后,给出指定寄存器的内容。

MOV AX,0MOV BX,1MOV CX,100A: ADD AX,BXINC BXLOOP AHLT执行后的结果为(BX)=______;(AX)=______。

该程序段的功能是________________________。

4.执行下列指令后:STR1 DW ‘AB’STR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT①、寄存器CL的值是__________;②、寄存器AX的值是___________;③、如将STR1 DW ‘AB’ 改为STR1 DB ‘AB’用“MOV AX,WORD PTR STR1”代替“MOV AX,STR1”后,寄存器AX的值是______________。

5、执行下列指令后:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLT寄存器AH的值是___________;寄存器AL的值是___________。

四、程序设计题(每题15分,共30分)1.编程从键盘输入一字符串存放在IN-BUF 缓冲区中,然后在下一行以相反顺序显示出来。

2.编写将压缩BCD码转化为对应的两个ASCII码的子程序。

模拟试卷答案(答案不一定正确)一、选择题1.AA选项,请先查阅书56页,PUSH指令的用法,一次只能压入一个字(16位)。

B选项,ADC指令(书56页),符合语法要求(AX) = (AX) + 50H + CF,C选项,书51页图3-16,[SI] 即DS:[SI] 指示的是内存的存储空间,[DI] 即DS:[DI] 指示的是该物理地址指向的空间存放的数值,该操作即“存储单元立即数”,有关该寻址方式见书P42页下方“4.寄存器间接寻址方式”。

D.见书92页“(1) PTR”此处WORD PTR 是为了明确[BX+5]存储单元的属性。

2.B说明:EQU伪指令类似于C语言的#define宏,在编译前被转化,见书96页。

由图可知此题应为0300H3. BINC指令见书56页最下方。

4. B CSTR1 DW ‘AB’见书98页下方字符串表达式STR2 DB 16 DUP(?) DUP重复指令见书99页CNT EQU $-STR1 EQU见书96页,$见书104页,EQU不影响$值MOV CX, CNTMOV AX, STR1HLT 一般用来表示程序结束,见书80页由“STR1 DW ‘AB’”和“STR2 DB 16 DUP(?)”可以写出如右图的存储示意。

注意的是代码编译时变成。

STR1 DW ‘AB’STR2 DB 16 DUP(?)MOV CX, $-STR1 这里的$要在前两句的基础上增加1,表示当前,$=0012H。

MOV AX, STR1又因为STR1的地址为0000H,所以(CL)=0012H。

根据书第98页到第99页图(b) 可知应选4142H,选C5. C见书86页由图可知,经过汇编后不能直接生成EXE文件,EXE文件必须由LINK.EXE 连接生成。

6. A见书43页,[BX+SI+2]的默认段前缀为DS,偏移量应该是BX + SI + 2 = 3236H7. CDAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1 (AX) = 3412HCMP AX,WORD PTR DAT2 (AX) < 7856HJA DONE 由于上面略过这句MOV BX,WORD PTR DA T2 (BX) = 7856HMOV WORD PTR DA T2,AXMOV WORD PTR DA T1,BX DA T1存放56HDONE:HLT8. CA选项,MOV不能将立即数存入内存中,B缺少基地址寄存器。

9. CMOV AX,1234H (AX) = 0001 0010 0011 0100BMOV CL,4ROL AX,CL (AX) = 2341H 书69页DEC AX (AX) = 2340HMOV CX,4 (CX) = 4MUL CX 书59页(AX) = 8D00H∴(AH)=8DHHLT10.A见书35页,由于PUSH压入的是一个字,因此SP自减2,∵(SP)=0100H,(SP)=(SP)-2∴(SP)=00FEH。

因为(SS)*16D+(SP)=20000H+00FEH=200FEH。

11.A12.BROR见书69,影响CF,SUB见书58,AF、CF、OF、PF、SF和ZF,INT改变中断标志位,JNC仅判断CF标志位。

13.CA选项类型不匹配,B语法错误,D见书53页14.BA选项不能从内存到内存,C选项不能存入立即数,D类型不匹配。

二、填空题[1] 200FFH [2] 0101H [3] 12H [4] WORD PTR [5] [6] NOT AX [7] 2001H [8] 存储器(书42页)[9] X1 X2三、程序分析题1. SP=1FFEH DL偏移地址=1FFFH AX=78H DX=5678H ZF=02. BH=05H BL=04H3. (BX)=101 (AX)=0+1+2+…+100 功能为从0累加到1004. (CL)=0011H (AX)=4142H (AX)=4241H5. (AH)=8DH (AL)=00H。

相关主题