http://www.4juan.com 专门收集历年试卷
做试题,没
?上自考365,网校名师为你详细解答!
全国2002年10月高等教育自学考试
汇编语言程序
试题
课程代码:02321
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.设A=186,B=273Q,C=OBBH,它们之间的关系是( )
A.A>B>C B.A
表达式是( )
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
PAGE
1