全国2008年1月自学考试汇编语言程序设计试题
来源 :中华考试网 2015-03-09
中二、填空题(本大题共6空,每空1分,共6分)
请在每小题的空格中填上正确答案。错填、不填均无分。
21.若要源程序从标号START开始执行,源程序结束伪指令的格式为__________。
22.与指令LEA DI,AV等效的指令是____________。
23.语句DA2 DW ′AB′汇编后在DA2字节单元中存放__________,在DA2+1字节单元中存放____________。
24.处理指令MOVS和STOS指令可与重复操作前缀_____________联用,联用前必须将数据串长度送到____________寄存器中。
三、简答题(本大题共4小题,每小题2分,共8分)
25.条件转移指令的判断条件,除标志位PF外还有哪几个标志位?
26.DATl DB 1,2,3,4
DAT2 DW 3412H,5678H
MOV AX,DATl+1;将DATl+1字单元内容送入AX中
MOV BL,DAT2+1;将DAT2+1字节单元内容送入BL中
已知上述两条MOV语句有语法错误,请根据注释字段的要求将其改正(分别用一条语句改正)。
27.假设DS=2000H,COUNT=0100H,SI=0030H。指令MOV AX,COUNT [SI]
①写出源操作数的物理地址。
②该指令可否写成MOV AX,[COUNT+SI]?
28.已定义语句如下,请画出从BUFl、BUF2、BUF3开始的内存分配图。
BUFl DB ′AB′,0,0,′CD′,0,0,′EF′,0,0
BUF2 DW ′BA′,0,′DC′,0,′FE′,0
BUF3 DD ′BA′,′DC′,′FE′
四、程序分析题(本大题共6小题,每小题6分,共36分)
29.若48H和93H是无符号数。
SOUR DB 48H,93H
MZ DB?
MOV AL,SOUR
CMP AL,SOUR+1
JA K1
MOV AL,SOUR+1
.K1:MOV MZ,AL
试问:①(MZ)=_____________
②48H和93H是有符号数,JA K1指令应改为什么指令?
30. BUFl DB ′1234ABCDEF′
COUNT EQU $ -BUFl
BUF2 DB COUNT DUP(0)
LEA SI,BUFl
LEA DI,BUF2
MOV CX,COUNT
CLD
LOP:LODSB
CMP AL,39H
JBE K
SUB AL,7
K:ANDAL,OFH
▲
STOSB
LOOP LOP
问:①这段程序执行后,BUF2各字节中存入什么数据?
②若▲处加入OR AL,01H指令后,结果是什么?
31. X DB XX
Y DB XX
Z DW?
XOR CH,CH
MOV CL,Y
MOV AX,1
JCXZ K
LOP:MUL X
LOOP LOP
MOV Z,AX
JMP ENDO
K:MOV Z,AX
ENDO:……
问:①写出程序运算式;
②当Y=0时Z单元内容是什么?
32.阅读下面程序段,回答问题,
X1 DB 95H,19H
X2 DB 76H,32H
X3 DB 2 DUP(?)
MOV AL,X1
ADD AL,X2
DAA
MOV X3,AL
MOV AL,X1+1
ADC AL,X2+1
DAA
MOV X3+1,AL
问题:①本程序段完成的任务。
②程序执行后,X3,X3+1单元的内容是什么?
33.假定有数据定义
BUF DB -30,24,42,-13,-57,0,-3
COUNT EQU $ -BUF
PLUS DB?
阅读下面程序段,回答问题
MOV DL,0
MOV SI,0FFSET BUF
MOV CX,0
LOPl:MOV AL,[SI]
CMP AL,0,
JNG NEXT
INC DL
NEXT:INC SI
INC CX
CMP CX,COUNT
JL LOPl
MOV PLUS,DL
试回答:(1)程序段执行后PLUS单元中存放的内容是多少?
(2)如第三条指令改为:MOV CX,COUNT;那么程序应如何修改?
34. DATAl DB′ABCDEFGH′
COUNT EQU $ -DATAl
DATAl DB COUNT DUP(?)
MOV SI,OFFSET DATA2-1
MOV DI,OFFSET DATA2
MOV CX,COUNT
LOP:MOV AL,[SI]
MOV [DI],AL
DEC SI
INC DI
LOOP LOP
试回答:(1)上述程序段执行后,DATA2存储区中依次存放的内容是
___________________。
(2)如DATAl的偏移地址是30H,那么DATA2的偏移地址是________。
五、程序填空题(本大题共2小题,每小题6分,共12分)
35.从2000H单元开始,存放着14H个数据,找出最大一个,并将其存在2000H中。请在方框中各填一条指令。
GATMAX:MOV BX,2000H
MOV AL,[BX]
MOV CX,14H
P1: ①
CMP AL,[BX]
JAE P2
MOV AL,[BX]
P2: ②
JNZ P1
MOV BX,2000H
MOV [BX],AL
HLT
36.假设DAl字节单元中有一个二进制数X,下面程序段完成以下运算:
请在方框中各填一条指令。
MOV AL,DAl
OR AL,AL
①
JNS L1
DEC AL
②
LI:INC AL
L2:MOV Y,AL
六、编制源程序题(本大题共2小题,第37小题6分,第38小题12分,共18分)
37.把2个非压缩BCD码组合为一个压缩BCD码,并存入DA3中
DA1 DB XX;高位非压缩BCD
DA2 DB XX;低位非压缩BCD
DA3 DB?
38.编程序统计某班100个学生英语考试分数高于等于85分以上的人数,结果存入MN字节中。