汇编语言程序设计实验指导书资料

上传人:鲁** 文档编号:504816135 上传时间:2023-09-20 格式:DOC 页数:15 大小:121.01KB
返回 下载 相关 举报
汇编语言程序设计实验指导书资料_第1页
第1页 / 共15页
汇编语言程序设计实验指导书资料_第2页
第2页 / 共15页
汇编语言程序设计实验指导书资料_第3页
第3页 / 共15页
汇编语言程序设计实验指导书资料_第4页
第4页 / 共15页
汇编语言程序设计实验指导书资料_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《汇编语言程序设计实验指导书资料》由会员分享,可在线阅读,更多相关《汇编语言程序设计实验指导书资料(15页珍藏版)》请在金锄头文库上搜索。

1、汇编语言程序设计实验指导书刘淑霞 编青岛理工大学计算机工程学院汇编语言上机环境及基本操作1.汇编语言源程序的上机环境 硬件环境:目前8086汇编语言程序一般多在IBM PCXT及其兼容机上运行,因此要求机器具有一些基本配置就可以了,汇编语言对机器硬件环境没有特殊要求。 软件环境:软件环境是指支持汇编语言程序运行和帮助建立汇编语言源程序的一些软件,主要包括以下几个方面: (1)DOS操作系统:汇编语言程序的建立和运行都是在DOS操作系统的支持下进行的。 目前IBMPCXT上流行的是MS-DOS,因此,要首先进入MS-DOS状态,然后开始汇编语言的操作。 (2)编辑程序:编辑程序是用来输入和建立汇

2、编语言源程序的一种通用的系统软件,通常源程序的修改也是在编辑状态进行的。 常用的编辑程序有: l 行编辑程序:EDLIN.COMl 全屏幕编辑程序:EDIT.COM、WORDSTAR、NE.COM、TC.COM等(3)汇编程序:8086的汇编程序有基本汇编ASM.EXE和宏汇编MASM.EXE两种。.一般选用宏汇编MASM.EXE。 (4)连接程序:8086汇编语言使用的连接程序是LINK.EXE。 (5)调试程序:这类程序作为一种辅助工具,帮助编程者进行程序的调试,通常用动态调试程序DEBUG.COM。 2.运行汇编语言程序的步骤 一般情况下,在计算机上运行汇编语言程序的步骤如下: (1)用

3、编辑程序(例如EDIT.COM)建立扩展名为.ASM的汇编语言源程序文件。 (2)用汇编程序(例如MASM.EXE)将汇编语言源程序文件汇编成用机器码表示的目标程序文件,其扩展名为.OBJ。 (3)如果在汇编过程中出现语法错误,根据错误的信息提示(如错误位置、错误类型、错误说明),用编辑软件重新调入源程序进行修改。没有错误时采用连接程序(例如LINK.EXE)把目标文件转化成可执行文件,其扩展名为.EXE。 (4)生成可执行文件后,在DOS命令状态下直接键入文件名就可执行该文件。3.汇编语言源程序的建立 当启动系统后,进入DOS状态,发出下列命令,就可以进入EDIT屏幕编辑软件,然后输入汇编语

4、言源程序。 C:EDIT 当不指定具体文件名称时,进入EDIT状态,用键激活命令选项,选择NEW命令建立一个新文件,进入编辑状态,开始输入源程序并编辑。 下例给出一个程序,要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。假设源程序的文件名取为ABC。则键入以下命令: C:EDIT ABC.ASM 进入EDIT编辑状态,输入如下源程序: DATA SEGMENT BUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS

5、:DATA, START: MOV 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 MOV AL,BX NEXT: INC BX DEC CX JNZ LP MOV AH,4CH INT 21H CODE ENDS END START程序输入完毕后一定要执行存盘,将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。4.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点: (1)检查源程序中存在的语法错误,

6、并给出错误信息。 (2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。 (3)若程序中使用了宏指令,则汇编程序将展开宏指令。 源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程为键入命令:C:MASM ABC.ASM 汇编程序调入后,首先显示软件版本号,然后出现三个提示行:第1个提示行是询问目标程序文件名,方括号内为机器规定的默认文件名,通常直接键入回车,表示采用默认的文件名,也可以键入指定文件名。 第2个提示行是询问是否建立列表文件,若不建立,可直接键入回车;若要建立,则输入文件名再键入回车。列表文件中同时列出源程序和机器语言程序清单,并给

7、出符号表,有利于程序的调试。 第3个提示行是询问是否要建立交叉索引文件,若不要建立,直接键入回车;如果要建立,则输入文件名,就建立了扩展名为.CRF的文件。为了建立交叉索引文件,必须调用CREF.EXE程序。 调入汇编程序以后,当逐条回答了上述各提示行的询问之后,汇编程序就对源程序进行汇编。如果汇编过程中发现源程序有语法错误,则列出有错误的语句和错误代码。 汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进

8、行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。5.用连接程序生成可执行程序文件 经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。连接过程为键入命令:C:LINK ABC.OBJ 在连接程序调入后,首先显示版本号,然后出现三个提示行。 第1个提示行是询问要产生的可执行文件的文件名,一般直接键入回车,采用方括号内规定的隐含文件名就可以了。 第2个提示行是询问是否要建立连接映像文件。若不建立,则直接回车;如果要建立,则键入文件名再回车。第3个提示行是询问是否用到库文件,若

9、无特殊需要,则直接键入回车就可以了。 上述提示行回答以后,连接程序开始连接,如果连接过程中出现错误,则显示出错误信息,根据提示的错误原因,要重新调入编辑程序加以修改,然后重新汇编,再经过连接,直到没有错误为止。连接以后,便可以产生可执行程序文件(.EXE文件)。 通常情况下,汇编程序连接以后,可以产生以下三个文件: (1).EXE文件:这是可以直接在DOS操作系统下运行的文件。 (2).MAP文件:这是连接程序的列表文件,又称为连接映像文件。它给出每个段在存储器中的分配情况。 (3).LIB文件:这是指明程序在运行时所需要的库文件。6.程序的执行当我们建立了正确的可执行文件以后,就可以直接在D

10、OS状态下执行该程序。键入命令: C: ABC 本程序当中没有用到DOS中断调用指令,所以在屏幕上看不到程序执行的结果。我们可以采用调试程序DEBUG来进行检查,相关内容请见教材第4章。实 验 一 顺序结构程序设计一、实验学时2学时二、实验内容1. 编制程序,对存于数据段中DATA单元的双字数据求相反数,并将结果存放于RLT开始的单元;2. 使用DEBUG工具调试程序,查看程序运行结果。三、实验目的及要求 1. 掌握汇编语言程序的编写、调试步骤;2. 熟悉8086的指令系统;3. 熟悉DEBUG工具。四、实验报告要求按照青岛理工大学实验报告格式撰写实验报告。五、DEBUG工具的使用DEBUG调

11、试程序是以DOS外部命令程序的形式提供的,它的文件名是DEBUG.COM。DEBUG的命令是具有规定格式的特殊字符串。命令是单个字母,通常后面还有1个或1 个以上的参数。DEBUG支持基本的80868088汇编语言语法,DEBUG下的汇编语言有下面一些特点和规则: (1)数值都是十六进制数,并且不加尾缀“H”。 (2)不能使用符号常量和符号地址。 (3)不能使用绝大部分伪指令,但两个最常用的伪指令DB和DW能被使用,用于直接把字节和字数据置人相应存储单元。如: DB 1,2,3,4,“ABCD” DW 1234,5678 (4)可以使用属性操作符“PTR”对DEBUG不能明确类型的操作数进行说

12、明。如:INC BYTE PTR BX。 (5)DEBUG的A命令汇编程序能根据转移目标地址的距离自动地汇编出短、近或远的转移或调用指令。当然,这也能由“SHORT”、“NEAR PTR”或FAR PTR”对转移目标地址进行说明来实现。 (6)远返回指令的助记符在DEBUG中为RETF。 (7)指令前缀助记符必须在相关的指令之前输入,也可以分别放在不同的行。(8)串操作指令只能用其字节型或字型的助记符形式,如:MOVSB、CMPSW等。(9)可以使用段超越前缀助记符CS:、DS:、ES:和SS:。DEBUG常用命令如下: (1)汇编命令(Assemble) 用途:键人汇编指令,并把它们汇编成机

13、器代码,相继存放在从指定地址开始的存储区中。 格式:Aaddress 说明:输入给本命令的所有数字都是十六进制的。将输人的指令从指定的地址address开始装入内存的连续单元。如果不指定地址,则把语句装人CS:0100确定的区域中;如果已用过A命令,那么就在前一个A命令所装入的最后一条指令的后继单元中,接着输入指令。当所有要求的指令已输人完成,在提示继续输人下一条指令时,直接按ENTER就退回DEBUG提示符下。 DEBUG对不可用语句的响应是显示信息: error并显示当前的装人地址。(2)显示内存命令(Dump) 用途:显示存储器的内容。 格式:Daddress 或者 Drange 说明:用两个部分来显示内存内容: 十六进制部分。用十六进制显示每个字节。 ASCII部分。把字节显示成ASCII字符。句点“.”表示非显示打印的字符。(3)修改内存命令(Enter) 用途:该命令有两种工作方式:用清单中包含的值替换从指定地址开始的一个或一个以上的字节内容;显示和允许顺序方式修改字节。 格式:E address (list) 说明:如果只输入偏移值作为地址,那么E命令认为是包含在DS寄存器内的那个段。(4)执行命令(GO) 用途:执行正在调试的程序。当达到所指定的断点地址处时,就停止执行,并显示寄存器、标志位以及下一条要执行的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号