视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
《汇编语言程序设计》试卷 福建农林大学解析
2025-10-02 15:11:11 责编:小OO
文档
第4篇  模拟试卷

试卷一

一、单项选择题(本大题共15小题,每小题2分,共30分)

1.与MOV  BX, OFFSET  VAR指令完全等效的指令是( )。

 (A)M(B)LDS   BX, VAR

 (C)LES   BX, VAR                (D)LEA   BX, VAR

2.  DEBUG中的执行一段子程序的命令是( )。

 (A)D   (B)T    (C)P   (D)U

3.不能作为地址指针的寄存器是(     )。

 (A)CX  (B) BX (C)DI   (D)SI

4.已知, (AX)=0F234H,执行OR  AX, 963FH后,则SF,CF的值为( )。

 (A)SF=1,CF=1       (B)SF=1,CF=0

 (C)SF=0,CF=1      (D)SF=0,CF=0

5.AL=11011011B ,CL=2,执行SAR  AL, CL后,AL寄存器的内容是( )。

 (A)0     (B)01101100

 (C)0    (D)11110110 

6.下面两个传送指令语句中源操作数寻址方式是( )。

   MOV   AX,  VAR1

   MOV   BX,  VAR2

 (A)都是立即数寻址     (B)立即数寻址,直接寻址

 (C)直接寻址,立即数寻址   (D)都是直接寻址

7.变量具有( )。

 (A)偏移属性       (B) 符号属性

 (C)段属性       (D)段属性和偏移属性

8.寄存器间接寻址方式中,操作数在( )中。

 (A)通用寄存器         (B)堆栈 

 (C) 内存单元      (D)段寄存器

9.下列对END语句的叙述正确的是( )。

 (A)END是一可执行语句

 (B)END表示程序执行到此结束

 (C)END表示源程序到此结束

 (D)END在汇编后产生机器码

10.下列叙述不正确的是( )。

 (A)存储单元与逻辑地址之间的关系是一一对应的

 (B)存储单元与物理地址之间是一一对应的

 (C)一个逻辑地址对应一个存储单元

 (D)一个存储单元可以用不同的段地址和偏移地址表示

11.下列指令合法的是( )。

 (A)O (B)OUT   DX, AL

 (C)O (D)OUT  30H, AH

12.当一个带符号数大于0FBH时程序转移,选择的条件转移指令是( )。

 (A)J      (B)JLE

 (C)JNL        (D)JA

13.用于显示单个字符的DOS系统功能调用,应设置AH寄存器的内容为( )。

 (A)1       (B)2H 

 (C)9 H         (D)0AH

14. 完成与指令XCHG  AX, BX 相同功能的指令或指令序列是( )。

 (A)M  (B)MOV  BX, AX 

 (C)P (D)MOV  CX, AX

  POP   BX                           MOV   AX, BX

  MOV   BX, CX

15.下面的CMP指令中,语法正确的指令是( ).

 (A)CMP   BUF1, BUF2            (B)CMP   AL, 0FH

 (C)CMP   BUF1, 0FH             (D)CMP   AL, BX

二、阅读程序题(本大题共3小题,每小题6分,共18分)

1.阅读程序

(1)写出程序的功能;(2)程序执行后 DAT和DAT+1单元的内容是什么?

        DATA    SEGMENT

     DAT    DB    98H, 27H

    DATA    ENDS

        CODE    SEGMENT

                   ASSUME    CS: CODE, DS: DATA

    START:    MOV    AX, DATA

                   MOV     DS, AX

                   MOV    AL, DAT

                   CMP     AL, DAT+1

                   JNG      DONE

                   XCHG     AL, DAT+1

             MOV     DAT, AL

         DONE:     MOV    AH, 4CH

             INT        21H

     CODE     ENDS

            END    START

 2. 对于下面的数据定义,各条MOV指令单独执行后,请填写有关寄存器的内容。

  DATA   SEGMENT

 TABLE1 DW  30H

 TABLE2 DW  20 DUP (?)

 TABLE3 DB  ‘ABCD’

  DATA   ENDS

.    MOV  BX, TYPE  T  (BX=_______   )

    M (CX=_______  )

    MOV  DX, OFFSET   T (DX=_______  )

3.阅读下列程序,写出指令段实现的功能。

            MOV    AL, X

             ADD     AL, Y

             MOV     CL, 3

              SAL     AL, CL

              MOV    BL, X

              SUB     BL, Y

              SAL      BL, 1

             SUB      AL, BL

              MOV      CL, 4

              SAR       AL, CL

              MOV      Z, AL

三、阅读填空题(本大题共2小题,共有6个空,每个空格2分,共12分)

1.从DAT开始的单元中存放着多个有符号的字节数。下面程序实现对其处理。如果数据大于等于0,则屏蔽高4位;如果小于0则将其求补,处理后的数据仍保留在原单元中。在下面每一空白处填上一条适当的指令。

            DATAS    SEGMENT

         DAT        DB  77H, 88H, 0AAH, 0BBH, 13H

         COUNT     EQU  $-DAT

        DATAS     ENDS

            CODE     SEGMENT

                      ASSUME     CS: CODE, DS: DATAS

            START:     MOV    AX, DATAS

                     MOV     DS, AX

                      LEA      SI,  DAT

                      MOV     CX, COUNT

            LL1:     MOV    AL, [SI]

                      CMP     AL, 0

                      JGE      LL2

                                    

                      JMP      PP

            LL2:                     

            PP:         INC     SI

                      LOOP    LL1

                      MOV     AH,4CH

                      INT      21H

   SUB1    PROC

         AL

         [SI], AL

        RET

       ENDP

       PROC

                  

                  

        RET

       ENDP

       ENDS

         START

2.下面程序段是完成用单个字符输入的1号功能调用,从键盘输入10个字符。然后再用单个字符显示输出的2号功能调用,并以相反顺序显示输出这10个字符。试在空白处填上适当的指令(每个空白处只能填一条指令)。

  MOV    CX, 10

       AH, 01H

  INT      21H

                

      LOP1

      CX, 10

  LOP2:                 

      AH, 02H

       21H

  LOOP     LOP2 

四、程序设计题(本大题共3小题,其中第1小题12分,第2小题13分,第3小题15分,共40分)

1.X,Y, W为字节类型的数,求Z=((W-X)*10+5)/(X+Y)),其中X,Y,W为字节类型的数,数值分别为:38H,28H,48H 。

2.利用主程序调用子程序,比较BUF1和BUF2缓冲区中不相等的字符,并将不相等的字符显示出来。

3.在首地址为TAB的数组中按递增次序存放着100个数,试编程将出现次数最多的数以及出现的次数分别存放于变量NUM和COUNT中,并以:COUNT=? 的形式输出COUNT的值(设最多重复次数<10) 。

试卷二

一、单项选择题(本大题共20小题,每小题2分,共40分)

1.下列四个寄存器中,可作为16位寄存器的是( )。

 (A)AL  (B)BL   (C)BP   (D)BH

2.逻辑移位指令SHL,用于( )。

 (A)带符号数倍增     (B)带符号数倍减

 (C)无符号数倍增  (D)无符号数倍减

3.在程序的运行过程中,确定下一条指令的物理地址的计算表达式是( )。

 (A)C    (B) DX*16+DI

 (C)SS*16+SP      (D)ES*16+SI

4.下面表示宏定义结束的命令是( )。

 (A)ENDP  (B)ENDS  (C)ENDM  (D)END

5.用于输入单个字符的DOS系统功能调用,应设置AH寄存器的值为( )。

 (A)1H   (B)2H   (C)9 H   (D)0AH

6.下列指令中有语法错误的是( )。

 (A)MOV  100H,B  (B)MOV  [100H], 25

 (C)MOV  [100H], BX         (D)MOV  [BX], 100H

7.两个无符号数比较,如表示大于时转到NEXT处,应选用的指令是( )。

 (A)JNBE  NEXT       (B)JNLE  NEXT

 (C)JBE  NEXT       (D)JLE  NEXT

8.寄存器直接寻址方式中,操作数在( )中。

 (A)通用寄存器     (B)堆栈

 (C)内存单元       (D)段寄存器

9.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )。

 (A)A   (B)BX, BP, SI, DI

 (C)S(D)CS, DS, ES, SS

10.下面指令序列执行后完成的运算,正确的算术表达式是(    )。

  MOV DL, X

  SAR  DL, 1

  MOV Y, DL

 (A)Y=X*2  (B)X=Y*2  (C)Y=X/2  (D)X=Y/2

11.在标志寄存器中,用以记录当前运算结果是否为0的标志位是( )。

 (A)CF   (B)ZF    (C) OF     (D)SF

12.当前指令的地址存放在(  )中

 (A)DS: BP  (B)SS: SP   (C)CS: PC  (D)CS: IP

13.下列指令执行后,可能改变BL寄存器内容的指令是( )。

 (A)TEST BL, 0FFH  (B)OR BL, 00H

 (C)CMP  BL (D)XOR BL, BL

14.与MOV  BX, OFFSET  VAR指令完全等效的指令是(    )。

 (A)MOV B(B)LDS  BX, VAR

 (C)LES  B(D)LEA  BX, VAR

15.汇编语言源程序中,每个语句由四项组成,如语句要完成一定的功能,不可省略的项是( )。

 (A)名字项        (B)操作项    

 (C)操作数项      (D)注释项

16.汇编语言源程序的扩展名是( )。

 (A).ASM  (B).OBJ  (C).EXE  (D).COM

17.能够将BL的低4位清0的指令是( )。

 (A)AND  BL , 0F0H    (B)AND  BL , 00H

 (C)OR  BL , 0F0H     (D)OR BL , 00H

18.已知,(AX)=9023H,执行OR  AX, 001BH后,则SF,CF的值为( )。

 (A)SF=1,CF=1     (B)SF=1,CF=0 

 (C)SF=0,CF=1      (D)SF=0,CF=0

19.设OP1、OP2是变量,下面哪条指令是正确的( )。

 (A)CMP BX, OP2   (B)CMP [AX], OP2 

 (C)CMP OP1, OP2   (D)CMP OP2, 0FFH 

20.用DEBUG调试程序时,单步执行命令是( )。

 (A)G   (B)U    (C)D    (D) T

二、阅读程序题(本大题共3小题,其第1、2小题均为6分,第3小题为6分,共20分)

1.执行下面程序段后,AX、CX的值为多少?

            CODE    SEGMENT

                      ASSUME    CS: CODE

            START:    MOV    CH, 0

                   MOV    CL, 1

                       MOV    BL, 2

                       MOV    AH, 0

        AGAIN:     MOV    AL, BL

                   INC        BL

                   MUL    BL

                   ADD    CX, AX

                   CMP    AX, 0015H

                   JB        AGAIN

                       MOV    AH, 4CH

                       INT        21H

            CODE    ENDS

                      END    START

2.阅读程序,写出指令段实现的数学公式。

      BL, X

      BL, Y

      AL, W

       AL, X

      TEN

      AX, 5

      BL

      Z, AX

      AL, 0

3.写出程序的功能和结果。

       SEGMENT

        1, 2, 3 ,4, 5, 6, 7, 8

        1, 2, 3, 4, 5, 6, 7, 8

       ?

   G    ENDS

   G    SEGMENT

     G, DS: DSEG

     G

        DS, AX

        CX, 8

        BX, 0

        SI, OFFSET NUM1

        DI, OFFSET NUM2

        AL, [SI]

        BYTE PTR[DI]

        BX, AX

         DI

         SI

        AGAIN

    MOV    RESULT, BX

        AL, 0

    MOV    AH, 4CH

         21H

   G    ENDS

        START

三、程序设计题(本大题共3小题,其中第1小题12分,第2小题13分,第3小题15分,共40分)

1.编程显示以下图案。

2.首地址为BUF 的内存单元中存有10个字节数,统计其中单元内容为0的单元个数,并将统计的结果显示出来。

3.编写子程序搜索指定字符缓冲区中是否有小写字母N,如果有则用Y替代。江调用子程序将BUF1,BUF2中的N全部用Y替代。

试卷三

一、单项选择题(本大题共20小题,每小题1分,共20分)

1.下面四个寄存器中,不能作为间接寻址的寄存器是( )。

(A)BX  (B)DX  (C)BP   (D)DI

2.用来表示堆栈指针的寄存器是( )。

(A)IP   (B)BP   (C)SP   (D)SS

3.完成BX清零,并使标志位CF清零,下面错误的指令是( )。

(A)SUB  BX, BX     (B)XOR  BX, BX

(C)MOV  BX, 00H     (D)AMD  BX, 00H

4.下面数据传送指令中,正确的指令是( )。

(A)MOV  BUF1, BUF2    (B)MOV  CS, AX

(C)MOV  CL, 1000H    (D)MOV  DX, WORD PTR [BX+DI]

5.下面指令中,源操作数的寻址方式为直接寻址的指令是( )。

(A)ADD  AX, WORD PTR [BX+SI] (B)ADD  AX, B 

(C)INC  CX, 1000H    (D)MOV  BX, 7FFFH

6.下面表示段定义结束的命令是( )。

(A)ENDP   (B)ENDS   (C)ENDM  (D)END

7.设AL,BL中都是有符号数,当AL≤BL时转至NEXT处,在CMP  AL, BL指令后应选用正确的条件转移指令是( )。

(A)JBE   (B)J  (C)J (D)JNLE

8.指令LOOPZ的循环执行条件是( )。

(A)CX≠0并且ZH=0    (B)CX≠0或ZH=0

(C)CX≠0并且ZH=1    (D)CX≠0或ZH=1

9.执行下列指令后,SP寄存器的值是( )。

MOV  SP, 1000H

PUSH  AX

(A)0FFEH   (B)0FFFH   (C)1001H   (D)1002H

10.完成有符号数BX的内容除以2的正确指令是( )。

(A)SHR  BX, 1     (B)SAR  BX, 1

(C)ROR  BX, 1     (D)RCR  BX, 1

11.下面指令中影响状态标志位CF的指令是( )。

(A)INC  AX      (B)DEC  AX

(C)NOT  AX      (D)DEC AX

12.判断当CX=0时,转ZERO执行的错误指令是( )。

(A)C     (B)MOV  AX, CX

 JZ  ZERO                            JZ  ZERO

(C)O    (D)JCXZ  ZERO

      JZ  ZERO

13.执行1号DOS系统功能调用后,从键盘输入的字符应存放在( )。

(A)AL中   (B)BL中   (C)CL中   (D)DL中

14.设数据定义如下:

执行指令ADD  SI, TYPE  ARRAY相当于完成下面同等功能的指令是( )。

(A)ADD  SI, 1      (B)ADD  SI, 2

(C)ADD  SI, 3      (D)ADD  SI, 0

15.设数据定义如下:

执行指令MOV  CX, LENGTH  BUF相当于完成下面同等功能的指令是( )。

(A)MOV  CX, 00C8H    (B)MOV  CX, 0200H 

(C)M(D)MOV  CX, 0100H

16.完成对字单元BUF的内容加1运算,下面错误的指令是( )。

(A)MOV  CX, BUF     (B)MOV  BX, OFFSET BUF

    INC  BX            INC  WORD  PTR [BX]

(C)MOV  BX, BUF     (D)MOV  BX, 0

   INC  WORD  PTR [BX]              INC  WORD  PTR BUF [BX]

17.完成对寄存器BX内容的求补运算,下面错误的指令是( )。

(A)N(B)NOT  BX

        INC  BX

(C)X(D)MOV  AX, 0

18.判断当AX的内容为负数时,转MINUS执行,下面错误的指令是( )。

(A)N(B)TEST  AX, 8000H

          JNS   MINUS                        JNS   MINUS

(C)S(D)OR    AX, AX

   JC   MINUS                         JNS   MINUS

19.下面指令执行后,正确的结果是( )。

MOV  AL, 0FEH

ADD  AL, AL

ADC  AL, AL

(A)AL=0F8H  (B)AL=0F8H    CF=0

   (C)AL=0F9H     (D)AL=0F9H    CF=1

20.现有数据存储如下图所示:设AL=01H,BX=0100H,DX=3000H,执行换码指令XLAT后正确的结果是( )。

30100H40H
30101H79H
30102H24H
30103H30H
(A)AL=00H (B)AL=40H (C)AL=01H (D)AL=79H

二、填空题(本大题共6小题,每空1分,共14分)

1.8086CPU允许的最大存储空间为                ,其地址编号从                到

                H。

2.汇编语言是一种面向                的语言。完成将汇编语言源程序翻译成机器语言目的程序的翻译程序称                。

3.8086的存储器是分段的,因此存储单元的物理地址是由                和组合     

    而成的。

4.标号和变量(名字)均有三种属性,它们是                、                和 

         属性

5.判断无符号运算是否溢出,应根据                标志位;而判断有符号数运算是否溢出,应根据                标志位。

6.在16位存储单元中能存储的最大无符号数为65535,能表示的有符号数的范围是     

         H到                 H。

三、简答题(本大题共3小题,每小题3分,共9分)

1.数据存储示意如下图所示,请用DUP语句写出合适的数据定义伪指令:

      BUFFER

1
2
3
2
3
4
1
2
3
2
3
4
2.选用合适的指令,分别完成下列操作:

A)将字变量VARW的偏移地址送BX寄存器;

B)将字变量VARW的内容送CX寄存器;

C)将字变量VARW的类型值送DX寄存器。

3.设有数据定义伪指令如下:

       2000H

       0100H, 0200H, $+2, 0300H, $+2

 请画出存储单元数据的存储形式。

四、程序分析题(本大题共5小题,每小题6分,共30分)

1.     AX, 00FFH

MOV    BX, 0FFFFH

     AX, BX

     AX

问:该程序段执行后AX=                ,CF=                。

2. MOV    AX, BX

     AX

     AX, BX

 问:该程序执行后AX=                ,CF=                。

3. BUF       0000H

   …

        BX, BUF

   STC

          [BX], 1

       CL, 3

           [BX], CL

 问:该程序执行后,存储单元BUF的内容为                。

4.     …

    RESULT        DB        ?

                …

    START:        LEA        SI, BLOCK

                MOV    CX, [SI]

                INC        SI

                MOV    AL, [SI]

    LOP1:        CMP    AL, [SI+1] 

                JNG        NEXT

                MOV    AL, [SI+1]

    NEXT:        INC        SI

                LOOP    LOP1

                MOV    RESULT,    AL

                HLT

问:(1)该程序所完成的功能是                ;

 (2)该程序循环次数是:                。

5. CODE     SEGMENT

        CS: CODE

       CX, 1

        BL, 2

       AL, BL

         BL

        BL

        CX, AX

        AX, 002AH

         AGAIN

        AH, 4CH

         21H

      ENDS

        START

问:(1)该程序所完成的功能可用算术表达式表示为                ;

 (2)该程序完成后CX=                。

五、程序填空题(本大题共2小题,每小题6分,共12分)

(下列各小题中,每空只能填一条指令)

1.下面程序完成十进制数3298+4651的运算,并将结果存入SUM单元开始的2个字节单元中,请将程序补充完整。

    DA1        DB    98H, 32H

    DA2        DB    51H, 46H

    SUM    DB    2    DUP (?)

            …

            MOV    SI, OFFSET  DAT

            LEA        DI, DAT

                                    

            ADD    AL, [DI]

                                    

            MOV    SUM, AL

            MOV    AL,    [SI+1]

                                     

            DAA

            MOV    SUM+1, AL

            HLT

2.下面程序利用DOS系统功能调用,完成将键盘输入的小写字母转换成大写字母后输出显示,直到输入’$’字符结束。请将程序补充完整。

      SEGMENT

    ASSUME    CS: CODE

      NEAR

       AH, 01H

         21H

         STOP

    CMP ‘a’

         STOP

     ‘z’

    JA     STOP

                                     

                                     

                MOV    AH, 02H

                INT        21H

                JMP        BEGIN

    STOP:        RET

    DISPLAY    ENDP

    CODE        ENDS

六、程序设计题(本大题共2小题,其中第1小题5分,第人小题10分,共15分)

1.设在DAT1,DAT2字单元中存放一双字长有符号数,编一程序段,完成求出该双字长数的绝对值后送ABS1和ABS2字存储单元。(本小题5分)

2.在附加数据段中有一首址为ADDR的没有排序的字数组,数据的第一个字为数组长度,第二个字开始存放数组各元素。在KEY单元存放一要删除的字数据。要求编一完整程序,在数组中查找该数,如果找到该数,将其从数组中删除,并修改数组长度。(本小题10分)

试卷一参

一、填空题

1 D  2 C  3 A  4 B  5 D  6 C  7 D  8 C  9C  10 A  11 B  12 A  13 B  14 B  15 B

二、阅读题

1.(1)比较DAT与DAT+1单元的内容,小的数放在DAT单元

  (2)27H,98H

2.BX=2   CX=20   DX=42

3.Z=((X+Y)*8-(X-Y)*2)/16

三、程序填空题

1. CALL SUB2       CALL  SUB1        AND  AL, 0FH      MOV  [SI] , AL

2. PUSH  AX   POP  DX

四、程序设计题(参,也可以用其它方法)

1.     DSEG    SEGMENT

      DB   38H

      DB   20H

      DB   30H

      DW   ?

        10

     ENDS

       PUBLIC 'CODE'

   SEG, DS: DSEG

      AX, DSEG

  MOV    DS, AX

  MOV    BL, X

        ;先求分母,存于BL

      AL, W

      AL, X

      TEN

      AX, 5

      BL

      Z, AX

      AL, 0

      AH, 4CH

       21H

     ENDS

      START

2.     SEGMENT

     BUF   DB LEN1 DUP (?)          ;不相同的字符存在BUF开始的缓冲区

     ENDS

 CODE     SEGMENT

        CS: CODE, DS: DATA

      AX, DATA

       DS, AX

        DI, BUF1

        SI, BUF2

       CX, LEN1

        BX, BUF

       KLL

       BYTE PTR[BX], '$'        ;在要显示的字符串末尾加'$'

           :显示字符串BUF

       DX, BUF

   CALL     PRINT

       AH, 4CH

   INT     21H

 ;比较2个字符串,将不相同的字符送到BX开始的存储空间,入口参数为2个字符串的偏移地址SI,DI,以及字符串的长度CX

  KLL     PROC

  AL1:     AL, [SI]

        [DI], AL

    J 2

        [BX], AL

        BX

        SI

         DI

        AL1

       RET

      ENDP

      ;显示字符串子程序

       AH, 9

        21H

      RET

      ENDP

      ENDS

       START

3.在首地址为TAB的数组中按递增次序存放着100个数,试编程将出现次数最多的数以及出现的次数分别存放于变量NUM和COUNT中,并以:COUNT=? 的形式输出COUNT的值(设最多重复次数<10)。

  DATA SEGMENT

  BUF  DB 1, 2, 14H, 14H, 14H, 14H, 14H, 15H, 15H, 15H, 17H, 17H, 59H, ...

  LEN  = $-BUF

  NUM  DB  ?

  COUNT  DB  0

  MM   DB 'COUNT=', '$'

  DATA  ENDS

  CODE SEGMENT

    ASSUME CS: CODE, DS: DATA 

  START: MOV  AX, DATA 

    MOV DS, AX 

    MOV  SI, 0

    MOV  CL, LEN

    MOV  BL, 0

  AGAIN: MOV  AL, BUF[SI]

    CMP AL, BUF[SI+1]

    JNE   L1

    INC  B   ;BL中存放的是当前重复数的个数

    MOV  BH, A    ;BH中存放的是当前重复的那个数

    JMP   L2

  L1: CMP  COUNT, BL    ;重复次数最多的放在COUNT中

    JAE  L2

    MOV  COUNT, BL

    MOV  NUM, B   ;保留重复次数最多的那个数

    MOV  BL, 0   ;要将BL置0, 用于存放下一个重复数

           ;的个数

  L2: INC  SI

    LOOP  AGAIN

    INC  C  ;COUNT中是重复的次数,出现次数

           ;应该是重复次数加1

    LEA  DX, MM

    MOV  AH, 9

    INT  21H

    MOV  DL, COUNT

    ADD  DL, 30H

    MOV  AH, 2

    INT  21H

    MOV  AH, 4CH 

    INT  21H 

  CODE ENDS

       START

试卷二参

一、选择题

1 C  2 C  3 A  4 C  5 A  6 A  7 A  8 C  9 B  10 C  11 B  12 D  13 D  14 D  15 B  16A  17 A  18 B  19 A  20 D 

二、阅读题

 1.   AX          CX       (也可以用十进制数表示)

       6            7

       C           13H

      14H          27H

      1EH          45H

 2. ((X+Y)*8-(X-Y)*2)/16

 3.  Y=∑AI*BI,I=1—8(用中文表示也可以)

Y=204

三、编程题

1.

    CSEG    SEGMENT

              ASSUME     CS: CSEG

    START:    MOV    AX, DSEG

             MOV    DS, AX

              MOV     BX, 9

    LP:        MOV      CX, BX

    LOP:    MOV      DL, '*'

              MOV      AH, 2

             INT        21H

             LOOP      LOP

             MOV       AH, 02H

             MOV       DL, 0AH

            INT        21H

              MOV       DL, 0DH

             INT        21H

             DEC     BX

              DEC       BX

             CMP      BX, 1

             JGE       LP

             MOV      AL, 0

             MOV      AH, 4CH

             INT        21H

    CSEG      ENDS

            END     START

2.      SEGMENT

     DB 0, -1, 2, 4, 3, -4, 5, 6, -7, 0

        ;存放0的个数

     ENDS

     SEGMENT

       CS: CODE, DS: DATA

      AX, DATA

       DS, AX

   MOV   AL, 0       ;计数0的个数

       SI, BUF

       CX, 10

      BYTE PTR[SI], 0

       AL3

       ;0的个数

      SI

       LOP

       DL, AL

       DL, 30H

       AH, 02H

       21H

       RESULT, AL

       AH, 4CH

       21H

     ENDS

       START

3.    DATA     SEGMENT

     DB 'I AM A STUDENT!', '$'

     =$-BUF1

     DB 'EWFHEFNFN', '$'

     =$-BUF2

    M    

     ENDS

     SEGMENT

       CS: CODE, DS: DATA

      AX, DATA

       DS, AX

       SI, BUF1

       CX, LEN1

       CMMP

       SI, BUF2

       CX, LEN2

       CMMP

       AH, 4CH

       21H

;子程序的功能:搜索字符串中是否有N字符,如果有用Y替代,并显示字符串

;入口参数为字符串偏移地址SI,字符串长度CX

     PROC

      MOV  DX, SI

;将要显示的字符串的偏移地址送DX,用于显示字符串。这句应在子程序的开始,因为下面语句会改变SI的值

  BL1: CMP    BYTE PTR[SI], 'N'

   JNZ      BL2

       AL, 'Y'

       [SI], AL

      SI

       B11

       ;显示字符串

       21H

       DX, M

       21H

      RET

     ENDP

 CODE     ENDS

       START

试卷三参

一、单项选择题

1.B  2.C  3.C  4.D  5.B  6.B  7.B  8.C  9.A  10.B  11.D  12.B  13.A  14.B  15.C  16.C  17.D  18.A  19.D  20.D

二、填空题

1.1  .机器  汇编语言        3.段地址  偏移地址

4.段属性S偏移地址属性OFFSET  类型属性TYPE

5.CF  OF                       6.8000H  7FFFH

三、简答题

1. BUFFER   (1, 2DUP(2, 3), 4)

2. A)MOV    BX, OFFSET VARW

  B)MOV    CX, VARW

  C)MOV    BX, TYPE VARW

3.

2000H00H
2001H01H
2002H00H
2003H02H
2004H04H
2005H20H
2006H00H
2007H03H
2008H08H
2009H20H
四、程序分析题

1.AX=0100H, CF=1

2.AX=0000H       CF=0(当BX=0时), CF=1(当BX不等于0时)

3.该程序执行后,存储单元BUF的内容为0F000H,即该程序段完成:-32768/8=-4096

4.(1)该程序完成的功能是从32个有符号数中找出最小数→RESULT单元;

  (2)该程序的循环次数是1FH(或31)

5.(1)该程序所完成的功能可用算术表达式表示为:

   CX←1+2ⅹ3+3ⅹ4+4ⅹ5+5ⅹ6+6ⅹ7;

(2)程序运行后CX=6FH(或111)

五、程序填空题

1.对该程序所要求补充的指令分别是:MOV   AL, [SI]

                                  DAA

                                  ADC   AL, [DI+1]

2.    CMP  AL, ‘$’

SUB  AL, 20H

MOV  DL, AL

六、程序设计题

1.  START:     MOV   AX, DAT1

              MOV    DX, DAT2

            OR        DX, DX

            JNS        NEXT

            NOT    AX

            NOT    DX

            ADD    AX, 1

            ADC    DX, 0

    NEXT:    MOV    ABS1, AX

            MOV    ABS1, DX

            HLT

2.    DATA    SEGMENT

ADDR    DW 1275H, 4652H, 0034H, 4CBAH, 1FF0H, …

KEY    DW        0034H

DATA    ENDS

CODE    SEGMENT

        ASSUME    CS: CODE, DS:DTAT, ES:DATA

DELUL    PROC    FAR

        PUSH    DS

        XOR    AX, AX

        PUSH    AX

        MOV    AX, DATA

        MOV    DS, AX

        MOV    ES, AX

        LEA        DI, ADDR

        PUSH    DI

        MOV    AX, KEY

        MOV    CX, ES: [DI]

        ADD    DI, 2

        CLD

        REPNZ    SCASW

        JZ        DELET

        POP        DI

        JMP        EXIT

DELET:    JCXZ    NEXT

DEL:    MOV    BX, ES: [DI]

        MOV    ES:[DI-2], BX

        ADD    DI, 2

        LOOP    DEL

NEXT:    POP        DI

        DEC    WORD    PTR        ES:[DI]

EXIT:     RET

DELUL  ENDP

CODE    ENDS

        END

参考文献

[1] 曹加恒等. 新一代汇编语言课程设计. 北京:高等教育出版社,2003

[2] 龚尚福等. 微型计算机汇编语言课程设计. 西安:西安电子科技大学出版社,2003

[3] 李珍香等. 汇编语言课程设计案例精编. 北京:中国水利水电出版社,2004

[4] 王爽. 汇编语言. 北京:清华大学出版社,2003                                                

[5] 张维勇. 汇编语言程序设计自考应试指导. 南京:南京大学出版社,2000                                                

[6] 罗万钧. 汇编语言程序设计教学辅导与上机实验指导. 西安:西安电子科技大学出版社,1998                                                

[7] 李兆凤.  8088/8086汇编语言程序设计. 北京:广播大学出版社,1993

[8] 杨路明. 汇编语言程序设计. 长沙:中南大学出版社,2005下载本文

显示全文
专题