学习热线

《汇编语言程序设计》试验指导           ★★★
《汇编语言程序设计》试验指导
学习热线网:http://www.xx988.com    来源:北京自考热线    点击数:    更新时间:2005-5-23

《汇编语言程序设计》的试验考试比较灵活,考生应全面细致的掌握基本理论,充分理解每一条指令,并且能独立编制程序。

北京大学的考试环境:
(1) 操作系统:DOS6.22
(2) 文本编辑器:EDIT.EXE
(3) 汇编程序:MASM.EXE
(4) 连接程序:LINK.EXE
(5) 调试程序:DEBUG.COM

考试的主要内容分三大部分:输入、输出、数制转换

一、 显示字符:“HELLO GOOD MORNING!”

DATA    SEGMENT
NOTE    DB ‘HELLO GOOD MORING!’,’$’
DATA    ENDS
CODE    SEGMENT
         ASSUME  CS:CODE, DS:DATA
BEGIN:   MOV  AX,DATA
         MOV  DS,AX
         MOV  DX,OFFSET NOTE
         MOV  AH,09H
         INT  21H
         MOV  AH,4CH
         INT  21H
CODE    ENDS
END     BEGIN

二、 显示2位BCD码

DATA    SEGMENT
NUM    DB  52
DATA    ENDS
CODE    SEGMENT
         ASSUME  CS:CODE, DS:DATA
START:   MOV  AX,DATA
         MOV  DS,AX
         MOV  BL,NUM
         MOV  CH,2
RO:      MOV  CL,4
         ROL  BL,CL
         MOV  DL,BL
         AND  DL,0FH
         ADD  DL,30H
         MOV  AH,2
         INT  21H
         DEC  CH
         JNE  RO
         MOV  AH,4CH
         INT 21H
CODE    ENDS
END     START

三、 显示4位十六进制

DATA    SEGMENT
NUM    DW  3ATC
DATA    ENDS
CODE    SEGMENT
         ASSUME  CS:CODE, DS:DATA
START:   MOV  AX,DATA
         MOV  DS,AX
         MOV  BX,NUM
         MOV  CH,4
RO:      MOV  CL,4
         ROL  BX,CL
         MOV  DL,BL
         AND  DL,OFH
         CMP  DL,9
         JLE  ADDR
         ADD  DL,7
ADDR:   ADD  DL,30H
         MOV  AH,2
         INT  21H
         DEC  CH
         JNE  RO
         MOV  AH,4CH
         INT  21H
CODE    ENDS
END     START

四、 两个2位十进制数相加,显示和

CODE    SEGMENT
         ASSUME  CS:CODE
START:   MOV  AL,36
          ADD  AL,48
          DAA
          MOV  CH,2
RO:       MOV  CL,4
          ROL  AL,CL
          MOV  DL,AL
          ADD  DL,OFH
          ADD  DL,30H
          MOV  AH,2
          INT  21H
          DEC  CH
          JNE  RO
          MOV  AH,4CH
          INT  21H
CODE    ENDS
END     START

五、 两个4位十六进制数相加,显示和

DATA    SEGMENT
NUM    DW  3A54,648B
DATA    ENDS
CODE    SEGMENT
         ASSUME  CS:CODE, DS:DATA
START:  MOV  AX,DATA
         MOV  DS,AX
         MOV  BX,NUM
         ADD  BX,NUM+2
         MOV  CH,4
RO:     MOV  CL,4
        ROL  BX,CL
        MOV  DL,BL
        AND  DL,0FH
        CMP  DL,9
        JLE  ADDR
        ADD  DL,7
ADDR:  ADD  DL,30H
        MOV  AH,2
        INT  21H
        DEC  CH
        JNE  ROTATE
        MOV  AH,4CH
        INT  21H
CODE   ENDS
END    START

说明:
(1) 以上只是最基础的程序,希望大家一定要掌握,并能举一反三,考试是综合各方面内容的,其程序不会少于100行
(2) 汇编考题范围广,我们不能像《微型计算机及其接口》一样,死抱8255和8253就行,还希望大家能在考前多练习编程才可以
(3) 常用的DOS系统功能调用一定要熟悉,尤其是输入、输出方面的(教科书 P168 ~ P172)

试题举例:
(1) 从键盘输入2个十进制数,其和用二进制显示,其差用八进制显示,其乘积用十六进制显示
(2) 从键盘输入1个字符串,统计其中的字符。大写字母个数用二进制显示,小写字母个数用八进制显示,数字的个数用十进制显示,其他字符用十六进制显示

附:DEBUG的基本用法
DEBUG是个调试软件,能比较方便的找到错误,其功能非常强大,使用也比较复杂。我们只介绍简单的用法(不会用DEBUG调试,并不影响考试)

(1)-a  汇编器,从100H开始
(2)-g  执行,-g[地址断点],执行到[地址断点]结束
(3)-a100  改100H处程序
(4)-e101  改101H地址处的内容
(5)-d100  显示内存中的内容;显示机器指令
(6)-u100  机器指令 〉汇编指令
(7)-q  退出

    预祝大家顺利通过试验考试!

  • 上一篇文章: 自考考场发挥十招

  • 下一篇文章: 怎样掌握应试技巧提高考试成功率