汇编语言考试习题Word文件下载.docx
《汇编语言考试习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编语言考试习题Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
MOVCX,CNT
MOVAX,STR1
HLT
寄存器CL的值是________,寄存器AX的值是________。
①A)10HB)12HC)0EHD)0FH
②A)00ABHB)00BAHC)4142HD)4241H
5.汇编语言源程序经汇编后不能直接生成文件。
A).OBJB).LSTC).EXED).CRF
6.8086CPU在基址加变址的寻址方式中,已知BX=2000H,SI=1234H,则指令“MOVAX,[BX+SI+2]”的源操作在中。
(A)数据段中偏移量为3236H的字节
(B)数据段中偏移量为3234H的字节
(C)附加段中偏移量为3236H的字节
(D)附加段中偏移量为3234H的字节
(A)19,20(B)20,无右孩子
(C)无左孩子,20(D)无左孩子,无右孩子
7.执行下面的程序段后,DAT1单元的值是。
DAT1DB12H,34H
DAT2DB56H,78H
MOVAX,WORDPTRDAT1
CMPAX,WORDPTRDAT2
JADONE
MOVBX,WORDPTRDAT2
MOVWORDPTRDAT2,AX
MOVWORDPTRDAT1,BX
DONE:
A)12HB)34HC)56HD)78H
8.下列指令中,正确的一条是。
A)MOVBYTEPTR[BX],1000
B)MOVAX,[SI][DI]
C)LEABX,4[BX]
D)MOVAX,ARRAY1+ARRAY2
9.执行下列指令后:
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MOVCX,4
MULCX
寄存器AH的值是。
A)92HB)8CH
C)8DHD)00H
10.设(SP)=0100H,(SS)=2000H,执行PUSHBP指令后,栈顶的物理地址是。
A)200FEHB)0102H
C)20102HD)00FEH
11.对于下列程序段:
AGAIN:
MOVAL,[SI]
MOVES:
[DI],AL
INCSI
INCDI
LOOPAGAIN
也可用指令完成同样的功能。
A)REPMOVSBB)REPLODSB
C)REPSTOSBD)REPESCASB
12.下列指令中,不影响标志位的指令是。
A)RORAL,1B)JNCLabel
C)INTnD)SUBAX,BX
13.下列指令中,正确的一条是。
A)MOVAH,BXB)MULAX,BX
C)MOVSP,SS:
DATA-WORD[BX][SI]
D)LEADS,35[DI]
14.假设V1和V2是用DW定义的变量,下列指令中正确的是。
A)MOVV1,V2B)MOVV1,20H
C)MOV2000H,V2D)MOVAL,V1
二、填空题(将正确答案填入答题纸相应的地方。
每题2分,共20分)
1.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令pushax后,存放数据21H的物理地址是_________。
2.假定(AX)=96H,(BX)=65H,依次执行ADDAX,BX和DAA指令后,(AL)=______。
3.若定义DATADW1234H,执行MOVBL,BYTEPTRDATA指令后,(BL)=______。
4.若定义DATADB0A5H,5BH,在指令MOVBX,___________DATA中填充,使指令正确执行。
5.在MOVWORDPTR[0074H],55BBH指令的机器代码中,最后一个字节是________。
6.写出将寄存器AX的内容求反的正确指令是___________________。
7.设(AX)=2001H,执行CMPAX,AX后(AX)=_________________。
8.寄存器间接寻址方式中,操作数在__________中。
9.下面两个语句的区别在于不能多次赋值,可以多次赋值。
X1EQU1000H
X2=1000H
三、程序分析题(每题5分,共20分)
1.执行下列程序后,指出相应寄存器的当前值。
MOVSP,2000H
MOVAX,0F0H
MOVSI,1234H
MOVDX,5678H
PUSHSI
POPDI
SHRAX,1
TESTAX,DX
PUSHDX
SP=_________;
DL内容所在存储器的偏移地址为_________;
AX=_________;
DX=__________;
标志位ZF为_________。
2.执行下列程序段后,给出指定寄存器的内容。
MOVAL,45H
MOVBH,AL
ANDBH,0FH
MOVCL,4
SHRAL,CL
MOVBL,AL
BH=__________;
BL=________
3.执行下列程序段后,给出指定寄存器的内容。
MOVAX,0
MOVBX,1
MOVCX,100
A:
ADDAX,BX
INCBX
LOOPA
执行后的结果为(BX)=______;
(AX)=______。
该程序段的功能是________________________。
4.执行下列指令后:
STR2DB16DUP(?
CNTEQU$-STR1
①、寄存器CL的值是__________;
②、寄存器AX的值是___________;
③、如将STR1DW‘AB’改为STR1DB‘AB’
用“MOVAX,WORDPTRSTR1”代替“MOVAX,STR1”后,
寄存器AX的值是______________。
5、执行下列指令后:
MOVAX,1234H
ROLAX,CL
MOVCX,4
寄存器AH的值是___________;
寄存器AL的值是___________。
四、程序设计题(每题15分,共30分)
1.编程从键盘输入一字符串存放在IN-BUF缓冲区中,然后在下一行以相反顺序显示出来。
2.编写将压缩BCD码转化为对应的两个ASCII码的子程序。
一、选择题
1.A
A选项,请先查阅书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”此处WORDPTR是为了明确[BX+5]存储单元的属性。
2.B
说明:
EQU伪指令类似于C语言的#define宏,在编译前被转化,见书96页。
由图
可知此题应为0300H
3.B
INC指令见书56页最下方。
4.BC
STR1DW‘AB’见书98页下方字符串表达式
)DUP重复指令见书99页
CNTEQU$-STR1EQU见书96页,$见书104页,EQU不
影响$值
MOVCX,CNT
MOVAX,STR1
HLT一般用来表示程序结束,见书80页
由“STR1DW‘AB’”和“STR2DB16DUP(?
)”可以写出如右图的存储示意。
注意的是代码编译时变成。
MOVCX,$-STR1这里的$要在前两句的基础上增加1,表示当前,
$=0012H。
又因为STR1的地址为0000H,所以(CL)=0012H。
根据书第98页到第99页图(b)可知应选4142H,选C
5.C
见书86页由图可知,经过汇编后不能直接生成EXE文件,EXE文件必须由LINK.EXE连接生成。
6.A
见书43页,[BX+SI+2]的默认段前缀为DS,偏移量应该是BX+SI+2=3236H
7.C
MOVAX,WORDPTRDAT1(AX)=3412H
CMPAX,WORDPTRDAT2(AX)<
7856H
JADONE由于上面略过这句
MOVBX,WORDPTRDAT2(BX)=7856H
MOVWORDPTRDAT1,BXDAT1存放56H
8.C
A选项,MOV不能将立即数存入内存中,B缺少基地址寄存器。
9.C
MOVAX,1234H(AX)=0001001000110100B
ROLAX,CL(AX)=2341H书69页
DECAX(AX)=2340H
MOVCX,4(CX)=4
MULCX书59页(AX)=8D00H
∴(AH)=8DH
10.A
见书35页,由于PUSH压入的是一个字,因此SP自减2,∵(SP)=0100H,(SP)=(SP)-2∴(SP)=00FEH。
因为(SS)*16D+(SP)=20000H+00FEH=200FEH。
11.A
12.B
ROR见书69,影响CF,SUB见书58,AF、CF、OF、PF、SF和ZF,INT改变中断标志位,JNC仅判断CF标志位。
13.C
A选项类型不匹配,B语法错误,D见书53页
14.B
A选项不能从内存到内存,C选项不能存入立即数,D类型不匹配。
二、填空题
[1]200FFH[2]0101H[3]12H[4]WORDPTR[5][6]NOTAX[7]2001H[8]存储
器(书42页)[9]X1X2
三、程序分析题
1.SP=1FFEHDL偏移地址=1FFFHAX=78HDX=5678HZF=0
2.BH=05HBL=04H
3.(BX)=101(AX)=0+1+2+…+100功能为从0累加到100
4.(