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分)