《汇编语言程序设计》实验环境及操作

2020-05-08 10:01

一 汇编语言上机环境及基本操作

1.汇编语言源程序的建立

本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。设定源程序的文件名为ABC。

DATA DATA STACK STACK CODE START: MOV

SEGMENT

BUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF ENDS

SEGMENT STACK ’STACK’ STA DB 10 DUP(?) TOP EQU $-STA ENDS

SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK PUSH DS XOR AX,AX PUSH AX

AX,DATA

MOV DS,AX MOV BX,OFFSET BUF

MOV CX,CN DEC CX MOV AL,[BX] INC BX LP: CMP AL,[BX]

JBE NEXT NEXT: CODE

MOV AL,[BX] INC BX DEC CX JNZ LP MOV AH,4CH INT 21H ENDS END START

键入以下命令: C:\\>EDIT ABC.ASM

此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口

程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2. 将源程序文件汇编成目标程序文件

一般情况下,MASM汇编程序的主要功能有以下3点: (1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。 (3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

图2 MASM宏汇编程序工作窗口

汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。

3.用连接程序生成可执行程序文件

经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。连接过程如图3所示。

图3 LINK连接程序工作窗口

上述提示行回答以后,连接程序开始连接,如果连接过程中出现错误,则显示出错误信息,根据提示的错误原因,要重新调入编辑程序加以修改,然后重新汇编,再经过连接,直到没有错误为止。连接以后,便可以产生可执行程序文件(.EXE文件)。

4.程序的执行

当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。 如:C:\\>ABC

本程序当中没有用到DOS中断调用指令,所以在屏幕上看不到程序执行的结果。 我们可以采用调试程序DEBUG来进行检查,相关内容请参见实验二。

二 DEBUG调试程序的应用

1.直接启动DEBUG程序

如DEBUG.COM在C盘的根目录下,启动的方法是: C:\\>DEBUG

_

这时屏幕上会出现“_”提示符,等待键入DEBUG命令。 2.启动DEBUG程序的同时装入被调试文件 命令格式如下:

C:\\>DEBUG [d:][PATH]filename[.EXT]

[d:][PATH]是被调试文件所在盘及其路径,filename是被调试文件的文件名,[.EXT]是被调试文件的扩展名。

例如:BCDSUM.EXE可执行文件在A盘,用DEBUG对其进行调试的操作命令如下。 C:\\>DEBUG A:\\BCDSUN.EXE↙

DOS在调用DEBUG程序后,再由DEBUG把被调试文件装入内存,当被调试文件的扩展名为COM时,装入偏移量为100H的位置,当扩展名为EXE时,装入偏移量为0的位置,并建立程序段前缀PSP,为CPU寄存器设置初始值。

3.退出DEBUG

在DEBUG命令提示符“_”下键入Q命令,即可结束DEBUG的运行,返回DOS操作系统。

4.在DEBUG环境下建立和汇编程序

在DEBUG环境下用户可以直接建立汇编语言源程序,并可以进行编辑修改,还可以进行汇编。

比如,在DEBUG下运行如下程序:

MOV DL,33H ;字符3的ASCII码送DL

MOV AH,2 ;使用DOS的2号功能调用 INT 21H ;进入功能调用,输出‘3’

INT 20H ;BIOS中断服务,程序正常结束。

该程序运行结果是在显示器上输出一个字符‘3’。如果要输出其它字符,请改变程序中‘33H’为相应字符的ASCII码。其中涉及DOS和BIOS功能调用。因为我们是在DOS的支持下运行汇编语言程序,所以一般情况下,不能轻易使用输入/输出指令直接通过端口输入/输出,而必须使用DOS内部提供的子程序完成输入/输出。

DOS功能调用就是为诸如此类的目的设置的。DOS功能调用要求在进入INT 21H调用前,首先将功能调用号送AH寄存器,并根据功能调用号准备初始数据。也就是说INT 21H的2号功能调用是输出DL寄存器中的字符。INT 20H是BIOS中断服务,这一软中断用来正常结束程序。

运行步骤:


《汇编语言程序设计》实验环境及操作.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:英文Summary写作方法、范例及常用句式

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: