1999年(下)汇编语言程序设计试卷答案
作者名:不详 来源:网友提供 06年6月8日
一、 单项选择题(每小题1分,共20分)
1.④
2.①
3.④
4.①
5.①
6.④
7.①
8.②
9.③
10.④
11.③
12.④
13.③
14.②
15.②
16.③
17.②
18.③
19.①
20.②
二、 简答题(每小题4分,共12分)
1.POP DX (1分)
POP CX(1分)
POP BX(1分)
POP AX(1分)
2.(1)SBB AX,0520H(2分)
(2)MOV AX,SEG TABL(2分)
3.三种方法,对1个得1.5分,对2个得3分,全对4分。
① LEA SI,D1
② MOV SI,OFFSET D1
③ MOV SI,D2
上述三种方法无先后顺序。
三、 程序分析题(每小题6分,共36分)
1.①(A)=5678H(2分)(B)=1234H(2分)
②SP=2000H(2分)
2.(AX)=5400H(2分)(BL)=06H(2分)(DX)=2106H(2分)
3.(BL)=0E4H(3分)(AL)=0DDH(3分)
4.(AL)=-5或0FBH(3分)
(BL)=14H或20(3分)
5.①程序段功能:根据从键盘输入的字符‘1'~‘9',确定在显示器上显示STRING中第几个字符。(4分)
②显示器显示字符‘D'(2分)
6.①(AL)=0,②(AL)=1,③(AL)=-1(每个回答各2分)
四、 程序填空题(每小题6分,共12分)
1.①JE K1或JZ K1(3分)
②MOV PLW,AX (3分)
2.①CLD (3分)②SUB SI,2(3分)
或①STD(3分)②ADD DI,2(3分)
五、编制程序题(第1小题6分,第2小题14分,共20分)
1. 程序段:MOV AX,0
MOV BX,OFFSET BUF
MOV CX,20
LOP:ADD AX,[BX]
INC BX
INC BX
LOOP LOP
MOV SUM,AX
评分细则:①地址指针BX置初值;(1分)
②循环计数初值(1分)
③累加(2分)
④循环结构(1分)
⑤存结果(1分)
2. 参考程序:
DATA SEGMENT
DAT DB XXH
SQRTAB DB 0,1,4,9,…,81
SQR DB?
DATA EMDS
STACL1 SEGMENT PARA STACK
DW 20H DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
┇
CALL SUBROT
┇
MOV AH,4CH
INT 21H
SUBROT PROC
PUSH AX
PUSH BX
LEA BX,SQRTAB
MOV AL,DAT
TEST AL,80H
JNS NEXT
NEG AL
NEXT: XLAT SQRTAB
MOV SQR,AL
POP BX
POP AX
RET
SUBROT ENDP
CODE ENDS
END SRART
评分细则:
① 源程序框架(2分)
② 段寄存器DS赋值(1分)
③ 子程序调用(1分)
④ 子程序框架(2分)
⑤ 判DAT中正负数及处理(3分)
⑥ 查表(3分)
⑦ 存结果(1分)
⑧ 用户程序结束(1分)
|