全国2002年10月高等教育自学考试汇编语言程序设计试题作者名:不详 来源:网友提供 06年6月8日
一、单项选择题 (本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.设A=186,B=273Q,C=OBBH,它们之间的关系是( ) A.A>B>C B.A<B<C C.A=B=C D.A<B=C 2.8086/8088的存储器组织是将存储器划分为段,可作为段的起始地址是。( ) A.185A2H B.00020H C.01004H D.0AB568H 3.堆栈中当前出栈的存储单元地址是( ) A.SS*10H+SP B.SS*10H+BP C.SS*10+SP D.SS*10+BP 4.设DL=55H,执行指令后能使DL中的数据为OAAH的指令是( ) A.TEST DL, OAAH B.OR DL, OAAH C.NEG DL D.XOR DL, OFFH 5.当SS=9876H, SP=4328H,执行POPF指令后,堆栈顶部的物理地址是( ) A.9CA8AH B.9CA90H C.9CA86H D.0DB00H 6.DW 10H DUP (2 DUP(3),300H) 上述定义的数据单元中,能构成0303H字存储单元的个数是( ) A.10H B.20H C.1EH D.OFH 7.用一条指令实现将寄存器BX和SI的内容相加,结果并送入AX中,这条指令是( ) A.ADD AX,[BX][ST] B.MOV AX,[BX][ST] C.AND AX, [BX][SI] D.LEA AX,[BX][SI] 8.设AX中有一带符号数8520H,执行SAR AX,1指令后,AX中的值是( ) A.4290H B.0A40H C.0C290H D.0C260H 9.下列中指令执行后,能影响标志位的指令是( ) A.PUSHF B.POPF C.JNLE OPR D.LOOPZ LOP 10.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是( ) A.CX≠0且ZF=1 B.CX≠0且ZF=0 C.CX≠0或ZF=1 D.CX≠0或ZF=0 11.下面两个传送指令语句中源操作数寻址方式是( ) VAR1 DW 32H VAR2 EQU 32H ┇ MOV AX,VAR1 MOV BX,VAR2 A.都是立即数寻址 B.前一条指令是立即数寻址,后一条指令是直接寻址 C.前一条指令是直接寻址,后一条指令是立即数寻址 D. 都是直接寻址 12. ARRAY DW 6, 9, $+4, 10H, 1,$+4 ┇ MOV AX, ARRAY+4 设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是( ) A.0009 B.008CH C.0090H D.0010H 13.设AX=0CCBBH, CF=1 AND AX, 7FFEH RCR AX, 1 上述两条指令执行后,AX和CF中的内容分别是( ) A.AX=265DH,CF=0 B.AX=265DH,CF=1 C.AX=A65DH, CF=0 D.AX=A65DH, CF=1 14.DA_B EQU BYTE PTR DA_W DA_W DW ‘AB' ‘CD',‘EF'',‘GH' ┇ MOV BX,DA_W+3 MOV BH,DA_B+3 执行上述两条指令后,BX中的内容是( ) A.‘EF' B.‘FC' C.‘CC' D.‘FF' 15.指令语句中标号的错误定义是( ) A.在供码段中的名字项定义,后面紧跟冒号 B.用EQU伪指令定义 C.用LABEL伪指令定义 D.由“JMP标号”指令定义 16.设VAR1和VAR2是已定义的变量名,非法的表达式是( ) A.VAR1—VAR2 B.VAR2—VAR1[BX] C.VAR1+VAR2 D.VAR1[BX] 17.为在一连续的存储单元中依次存放数据41H,42H,…48H,下面的数据定义语句中有语法错误的是( ) A.DB 41H,42H,43H,44H,45H,46H,47H,48H B.DW 4142H,4344H,4546H,4748H C.DB ‘ABCDEFGH' D.DW ‘BA',‘DC',‘FE',‘HG' 18.设NUM=11011011B,指令“MOV AX,NUM SHL 3”执行后AX中的值是( ) A.11011011000B B.11011000B C.00011011B D.00011011011B 19. XOR AX,AX MOV CX,5 NEXT:ADD AL,6 AAA LOOP NEXT 上述程序段执行的结果是( ) A.AX=0030H B.AX=0300H C.AX=30 D.AX=001EH 20.如某循环程序是对两个数组进行某种运算处理,当数组处理完毕或运算处理的结果不为某一指定值时(每次循环时,对运算结果已进行了测试),就结束循环。如要求一定使用循环控制指令,这时应选用的指令是( ) A.LOOP B.LOOPE/LOOPZ C.LOOPNE/LOOPNZ D.JCXZ 二、填空题 (本大共5小题,每空1分,共5分) 1.假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的字地址是________。 2.“SHL OPR,CNT”指令中OPR不允许使用立即数和______操作数。 3.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配______个字节单元。 4.指令“MOV AX,20H[SI]”中源操作数的物理地址表达式是______。 5.乘法指令语句“MUL CL”,16位的乘积存放在______中。 三、简答题 (本大题共3小题,每小题2分,共6分) 1.设DS=3A00H,ES=4A00H,在段地址:偏移地址=4A00H:9000H 字单元中有数据3C50H。请用一条指令将数据3C50H装入AX寄存器。(不得使用立即数) 2.设BX=0FFFFH,DI=20H,DS=2000H,CL=8,(20020H)=4567H,下列各条指令分别执行后BX中的内容各为多少? ① ROL BX,CL ;BX=______ ② MOV BX,[DI] ;BX=______ 3.DAT1 DB 1,2,3,4 DAT2 DW 3412H,5678H ┇ MOV AX,DAT1+1 ;将DAT1+1字单元内容送入AX中 MOV BL,DAT2+1 ;将DAT2+1字节单元内容送入BL中 已知上述两条MOV语句有语法错误,请根据注释字段的要求将其改正(分别用一条语句改正)。 四、程序分析题 (本大题共7小题,每小题5分,共35分) 1.DA1 DW 1F28H DA2 DB ? ┇ XOR BL,BL MOV AX, DA1 LOP:AND AX,AX JZ KK SHL AX,1 JNC LOP ADD BL,1 JMP LOP KK: MOV DA2,BL 试问:①程序段执行后, DA2字节单元内容是什么? ②在程序段功能不变情况下,是否可用SHR指令代替SHL指令? 2.DA1 DB 87H DA2 DB ┇ MOV AH,0 MOV AL,DA1 MOV CL,4 SHR AL,CL MOV DL,10 MUL DL MOV BL,DA1 AND BL,OFH ADD AL,BL MOV DA2,AL 试回答:①程序段执行后, (DA2)=______; ②在程序段功能不变的情况下,是否可以用指令SAR替代指令SHR? 3.MOV AL,BL NOT AL XOR AL,BL OR BL,AL 程序段执行后,AL=______,BL=______。 4.STC MOV CX,0403H MOV AX,0A433H SAR AX,CL XCHG CH,CL SHL AX,CL 程序段执行后,AX=______,CF=______。 5.BYTE1 DB XX ;任意数 BYATE2 EQU OFEH ┇ MOV DL,BYTE1 OR DL,BYTE2 程序段执行后,DL=______或______。 6. DA_B DB 0CH,9,8,OFH,0EH,0AH,2,3,7,4 ┇ XOR AX,AX XOR CL,CL XOR BX,BX LOP: TEST DA_B[BX],01H JE NEXT ADD AL,DA_B[BX] INC AH NEXT:INC BX INC CL CMP CL,10 JNE LOP 上述程序段运行结束后,AH=______,AL=______。如果把”JE NEXT“指令改为“NE NEXT“指令,那么AH=______,AL=______。 7. VAR_B DB 10 DUP(3,5,7,9) ┇ LEA BX,VAR_B MOV CX,10 XOR AX,AX LOP: ADD AL,[BX] CMP AL,10 JB NEXT INC AH SUB AL,10 NEXT:INC BX LOOP LOP 上述程序段运行结束后,AH=______,AL=______。 五、程序填空题 (本大题共2小题,每小题6分,共12分) 1.某程序段欲用单个字符显示的2号DOS功能调用去显示一字符串“STRING”。试在下面空白处填上适当的指令 (每一空白处仅填一条指令)。 STR1 DB ‘STRING',‘$' ┇ MOV BX,OFFSET STR1 LOP:MOV DL,[BX] MOV AH,02H INT 21H ①______ ②______ JNE LOP 2.程序段的功能是依次产生0~9的10个ASCII码,并存入BUF1数据区,请在空白处填上指令(每一空白处仅填一条指令)。 BUF1 DB 10 DUP(?) ┇ LEA BX, BUF1 MOV CX,10 XOR AL, AL LOP: MOV AH,AL ADD AL,30H ①______ INC BX ②______ INC AL LOOP LOP 六、编制程序题 (本大题共3小题,共22分) 1.(5分)把2个非压缩BCD码组合为一个压缩BCD码,并存入DA3中。 DA1 DB ×× ;高位非压缩BCD码 DA2 DB ×× ;低位非压缩BCD码 DA3 DB ? 2.(5分)已知DAT1字节单元有一个数据,试编制一程序段将该数据的低4位变为1010B,最高位(第7位)置1,其余3位不变,结果送DAT2字节单元。 3.(12分)在N1和N2两数据区中,分别有10H个带符号数。试编制一源程序,找出对应项中较小的数据,并将这些较小的数据存入N3数据区中(要求:对应项比较时必须用CMPS指令)。 DATA SEGMENT N1 DB ××,××,××…… N2 DB ××,××,××…… N3 DB 10H DUP(0) DATA ENDS
|
||
| |