2000年4月全国高等教育自学考试汇编语言程序设计试卷
一、单项选择题(从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填入题干的括号内。每小题1分,共
20分)
1.用户为了解决自己的问题,用汇编语言所编写的程序,称为( )
①目标程序
②源程序
③可执行程序
④汇编程序
2.某系列微机对存储器的分段,如果每一个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二
进制位数应是( )
①20位
②16位
③15位
④12位
3.可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( )
①AX,BX,CX,DX
②DS,ES,CS,SS
③SP,BP,IP,BX
④SI,DI,BP,BX
4.用一条指令仅实现将BX+SI=>AX的方法是( )
①XCHG AX,[BX][SI]
②MOV AX,[BX+SI]
③LEA AX,BX[SI]
④LEA AX,[BX][SI]
5.设 SP初值为2000H,执行指令“PUSH AX”后,SP的值是( )
①1FFFH
②1998H
③2002H
④1FFEH
6.条件转移指令JB产生程序转移的条件是( )
①CF=1
②CF=0
③CF=1和ZF=1
④CF=1和ZF=0
7.选用串操作指令时,错误的操作是( )
①置方向标志位
②根据串操作指令设置重复次数并送入CX
③设置源操作数及目的操作数指针
④源操作数和目的操作数都可以加段超越
8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1.执行SBB AL,[SI]后,正确的结果是( )
①AL=5FH SF=1 CF=1
②AL=60H SF=1 CF=0
③AL=5FH SF=0 CF=1
④AL=60H SF=0 CF=0
9.设AX=1000H
NEG AX
NOT AX
执行上述指令后,正确的结果是( )
①AX=1001H
②AX=0FFFH
③AX=1000H
④AX=0111H
10.CBW指令的功能是( )
①把源操作数的符号位扩展到目的操作数中
②把AL中的符号位扩展到AH中
③把AH中的符号位扩展到AL中
④把AX中的符号位扩展到DX中
11.汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是( )
①Variable
②First & ld
③0FFFFH
④‘Memphis’
12. ORG 0030H
DA1 DB 0,‘0’,30H
DW DA1
数据为3000H字存储单元的偏移地址是( )
①0030H
②0031H
③0032H
④0033H
13.NUM1 DB(12 OR 6 AND 2)GE 0EH
NUM2 DB(12 XOR 6 AND 2)LE 0EH
上述数据定义语句中,NUM1和NUM2字节单元的内容分别是( )
①NUM1=0,NUM2=0
②NUM1=0,NUM2=0FFH
③NUM1=0FFH,NUM2=0
④NUM1=0FFH,NUM2=0FFH
14. 要求将A,B两个字符的ASCⅡ码41H,42H顺序存放在连续两个字存储单元中,可选用的语句是( )
①DA1 DB ‘AB’
②DA1 DW ‘AB’
③DA1 DB 0ABH
④DA1 DW 0ABH
15.DA1 EQU BYTE PTR DA2
DA2 DW 0ABCDH
┇
SHL DA1,1
SHR DA2,1
上述指令序列执行后,DA2字存储单元的内容是( )
①0ABCDH
②0AB9AH
③55CDH
④559AH
16.下面语句中有语法错误的语句是( )
①DB 45H
②DW OABCDH
③DW ‘ABCD’
④DD ‘AB’
17.MOV CL,8
ROL AX,CL
OR AX,BX
假设AX=0012H,BX=0034H,那么上述程序段执行后,AX中的结果是( )
①1234H
②3412H
③0046H
④0034H
18.执行下列指令序列后,正确的结果是( )
MOV AL,81H
ADD AL,AL
ADC AL,AL
①AL=05H
②AL=204H
③AL=04H
④AL=205H
19.DA2 DB 12H,34H,56H,0ABH
DB$-DA2
BUF1 DB 10H,20H,30H
┇
LEA SI,DA2
MOV CL,4[SI]
MOV CH,LENGTH BUF1
上述指令序列运行后,CX的内容是( )
①03ABH
②01ABH
③0304H
④0104H
20.从BUF单元开始存放有10个字节数据,欲找出与AL中内容不同的数据,并将该数据的偏移地址送ADR单元,正确选择的指令序
列是( )
①CLD
REP CMPSB
JZ K1
MOV ADR,DI
K1:……
②CLD
REPNZ CMPSB
JNZ K1
MOV ADR,DI
K1:……
③CLD
REPZ SCASB
JZ K1
DEC DI
MOV ADR,DI
K1:……
④CLD
REPZ SCASB
JNE K1
DEC DI
MOV ADR,DI
K1:……
二、简答题(每小题4分,共12分)
1.下列语句在存储器中分别为变量数据区分配多少个字节单元
(1)VAR3 DD 10
(2)VAR4 DW 4 DUP( ),2
2.设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下列指令分别执行后,IP的值各是多少
(1)JMP BX: IP=___________________
(2)JMP TABLE[BX]: IP_____________________
3.选用NOT,AND,OR XOR逻辑指令编写一指令序列,实现将AL第0位,第2位同时置1,其他位变反。
三、程序分析题(每小题6分,共36分)
1.MOV AX,0BC5FH
MOV BX,0C0FBH
XOR AX,BX
XOR AX,BX
上述程序段运行后,AX=___________________,CF=____________________
2.HEX DB‘0123456789ABCDEF’
HCOD DB ,
┇
MOV BX,OFFSET HEX
MOV AL,1AH
MOV AH,AL
AND AL,0FH
XLAT HEX
MOV HCOD,AL
MOV CL,12
SHR AX,CL
XLAT HEX
MOV HCOD,AL
上述程序段运行后,HCOD和HCOD+1两字节单元内容是什么
3.DATA SEGMENT
ORG 3040H
YY1 DB 30H,40H
YY2 DW 3040H
DATA ENDS
┇
MOV BX,OFFSET YY1
MOV AX,[BX]
MOV CL,BYTE PTR YY2+1
MOV CH,TYPE YY2
上述程序段运行后,AX=_________________,BX=__________________,
CX=_________________
4.A DB 0F8H
B DB 3 DUP( )
┇
LEA DI,B
MOV CX,3
MOV AL,A
LOP:SAR AL,1
MOV [DI],AL
INC DI
LOOP LOP
上述程序段运行后,从B单元开始依次存放的数据的多少
5.已知BUF开始的数据区中存放有10个大、小写字母,下面程序段完成的功能是什么
MOV CX,10
LEA BX,BUF
K2: MOV AL,[BX]
CMP AL,‘Z’
JBE K1
SUB AL,20H
MOV [BX],AL
K1: INC BX
LOOP K2
┇
6.MOV CL,8
MOV AL,0
NOT AL
ROL AL,CL
CMP AL,0FFH
JZ NEXT
MOV AL,0
NEXT:……
上述程序段运行后,(AL)=__________________,CF=___________________
四、程序填空题(注意:下列各小题中,一个横线上只能填一条指令。每小题6分,共12分)
1.DA1数据区中有50个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存入DA2数据区中。请将程序补充完
整。
MOV CX,50
LEA SI,DA1
LEA DI,DA2
K1:MOV AL,[SI]
____________
MOV [DI],AL
INC SI
INC DI
DEC CX
_____________
2.下面程序段完成将存储单元A1中一个压缩型BCD码拆成二个非压缩型BCD码,高位BCD码存放在A3单元,低位BCD码存放在A2单元,
再分别转换为对应的ASCⅡ码。请将程序补充完整。
MOV AL,A1
MOV CL,4
__________
OR AL,30H
MOV A3,AL
MOV AL,A1
__________
OR AL,30H
MOV A2,AL
五、编制程序题(第1小题6分,第2小题14分,共20分)
1.X,Y,Z三个字节存储单元中各有一个无符号数,其中有两个数据相等,找出不相等的哪个数,并存入W单元中,试编写完成上述
功能的程序段(只编写有关代码部分,勿需书写源程序格式)。
2.试编写一个完整的源程序,实现将8位无符号二进制数转换为八进制数据的ASCⅡ码。例如(BIN1)=10011101B转换后,A1三个字
节单元的内容依次为32H,33H,35H.
DATA SEGMENT
BIN1 DB 10011101B
A1 DB 3 DUP( )
DATA ENDS