2022年2022年汇编语言上机操作及程序调试的方法 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年汇编语言上机操作及程序调试的方法 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言上机操作及程序调试的方法 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微型计算机原理及应用8 汇编语言上机操作及程序调试的方法第一节在 IBM-PC机上运行汇编源程序所必备的软件为了在 IBM-PC机上运行汇编源程序,机器上必须有DOS 操作系统环境,DOS 系统盘上应有下列文件:EDIT 文件编辑程序MASM 宏汇编程序CREF 交叉引用文件处理程序LINK 链接程序LIB 库管理程序DEBUG 调试程序第二节在 IBM-PC机上运行汇编源程序的步骤当用户编制好汇编语言源程序之后,要在机器上运行,必须经过以下几个步骤:1 用 EDIT命令建立与修改汇编源程序文件(ASM 文件)源程序就是用汇编语言的语句编写的程序,它不能被机器识别。源程序必须以 ASM 为附加
2、文件名。至于EDIT的使用方法可以查阅手册。2 用 MASM 命令汇编源文件以产生相应的目标文件(OBJ文件)源程序建立以后,必须经过汇编,转换成用二进制代码表示的目标文件,机器才可运行。汇编是通过调用PC DOS 下的宏汇编程序MASM 实现的。汇编过程中,汇编程序对源文件进行二次扫描,如果源程序中有语法错误, 则汇编过程结束后, 汇编程序会指出源程序中的错误,这时,用户可以再用编辑程序来修改源程序中的错误,最后,得到没有语法错误的OBJ文件。3 用 LINK 命令连接目标文件以产生可执行文件(EXE文件)由于汇编之后所得到的目标代码的存放地址并不是可执行的绝对地址,而是浮动的相对地址,因而
3、,必须经过连接,把程序的各个模块连接在一起,或把要调用的子程序与主程序连接在一起,把相对地址变成绝对地址, 形成可执行的文件。连接是由调用PC DOS 下的 LINK 程序来实现的。4 调试、运行可执行文件。经过以上过程,在盘上有了可执行文件,则可在DOS 提示符下,直接打入文件名 (不用扩展名 ) , 就可以把执行文件从盘上装入内存, 且立即执行此程序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - 微型计算机原理及应用9
4、然而通常一个较复杂、较长的汇编语言源程序,希望一点错误也没有的可能性是很小的, 这样就需要调用PC DOS 支持下的 DEBUG 程序,来调试我们的目标程序。 被调试程序在 DEBUG 的管理下,可以单步执行程序, 也可以设置断点,可以显示和修改 CPU 内部寄存器和标志位的内容等, 这样就便于寻找程序中的错误。在发现了错误以后,通常还要重复上述的编辑、汇编,连接和调试程序的全过程,直至程序运行正确为止。已调试的目标程序,任何时候都可在PC DOS下,通过打入文件名即可运行它。上机过程示意图如下:汇编语言程序编辑程序汇编程序连接程序调试程序有错吗?运行程序YN图2-1 汇编语言程序上机过程流程
5、为了便于操作,下面将上机操作全过程中的主要部分分别加以介绍,编辑程序因为使用普遍,在此不做介绍。第三节宏汇编程序经过编辑命令建立和修改后存盘的汇编语言源程序( 扩展名为 ASM) ,要在机器上运行,必须先由汇编程序把它汇编为机器码的目标程序。经过IBM汇编程序汇编后的程序在盘上建立三个文件:一个是扩展名为OBJ的目标程序。在此程序中, 操作码部分已变为机器码, 但操作数地址只是一个可浮动的相对地址,而不是内存中的绝对地址。第二个是扩展名为LST的汇编列表文名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
6、- - - - 第 2 页,共 13 页 - - - - - - - - - 微型计算机原理及应用10 件,它把源程序 ( 包括注释 ) 和汇编后的目标程序都制表, 可以打印出来供检查用。第三个是扩展名为 CRF的符号交叉列表文件, 可以对符号进行前后对照。在汇编时,汇编程序对要不要建立这些文件,有如下提示:例如对 exam asm文件进行汇编:在DOS 状态下,打入 MASM 调用宏汇编程序,屏幕显示与操作如下: CMASM 此时,屏幕上出现如下信息: The IBM Personal Comporter MACRO Assemble, 100(C)Copyright 。IBM Corp 1
7、981 Source filenameASM :exam Object filenameexamObj : Source ListingNul1st :exam Cross referenceNulcrf :exam Warning Severes Errors Errors 0 0 从上面操作过程中可以见到, 汇编程序的输入文件就是: 用户编写的源程序,它必须以 ASM 为文件扩展名,在汇编调入后,先显示版本号,然后出现第一行提示,询问要汇编的源文件名。用户输入文件名,则出现第二个提示,询问目标程序的文件名,括号内的为机器规定默认的(default)文件名,通常直接按回车, 表示采用默认文件
8、名, 接着出现第三个提示, 问是否要建立可打印文件,若要,打入文件名,若不要,可直接回车。最后出现第四个提示,询问是否要建立交叉索引文件, 若需要则打入文件名, 若不要直接回车。 在回答了第四个询问后, 汇编程序就对源程序进行汇编。汇编过程结束时, 如果程序有错 误 会给 出 源 程 序 的 警 告性 错误 (warning errors)和严 重错 误 (severs errors) 。前者指出一般性错误, 后者指出语法性错误。 当存在这两类错误时,屏幕上除指出错误个数外, 还给出错误信息代号。 程序员可以通过查代码手册弄清楚错误的性质。如果汇编过程中,发现有错误,则程序员应该重新用编辑命令
9、修改错误,再进行汇编,最终直到汇编正确通过。 要指出的是汇编过程只能指出源程序中的语法错误,并不能指出算法错误和其他错误。注意:汇编后建立的 .CRF文件是不能单独使用的, 若需要了解源程序中的符号(包括变量)在定义和引用时的情况,还要调用CREF 文件对 CRF文件进行处理,生成 .REF文件后 , 才能打印 ( 或显示 ) 输出. 其过程如下 : C CREF Cref filename .CRF: exam 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页
10、- - - - - - - - - 微型计算机原理及应用11 List filename exam.REF: 在 DOS 状态下,打入 CREF ,就会调入交叉引用文件处理程序CREF 。CREF运行时,首先询问要处理的文件名。在键入文件名后,出现第二个提示,询问.REF文件名,可用回车承认默认的.REF文件名。于是就建立了一个扩展名为.REF的文件,然后返回DOS 状态。在 DOS 状态,用 TYPE 命令打印此文件,得如下显示信息:Symbol Cross_Reference (# is definition) Cref_1 BUF * * * * * * * * * * * 8# 16
11、CODE * * * * * * * * * * 12# 13 21 DATA * * * * * * * * * * 7# 11 13 14 STACK * * * * * * * * * * 1# 6 13 START * * * * * * * * * * 14# 22 其中,有#号者是此符号被定义时的语句行号,后面是引用此符号的语句行号。第四节连接程序 (Link) 由汇编程序建立的目标码文件必须经过连接以后,才能成为可执行文件。连接程序并不是专为汇编语言设计的。利用它可以把若干个模块连接在一起,这些模块可以是汇编程序产生的目标码文件,也可以是其它高级语言编译程序产生的目标文件。在连接
12、过程中,又建立了几个文件。具体操作如下( 以exam obj 进行连接为例 ):CLINK 此时,屏幕上出现如下信息:IBM 5552 multistation Linker 200(C)Copyright IBM Corp1985 Corp1985 Object modules.OBJexam Run Fileexam.EXE: List FileNUL.MAP:exam Libraries.LIB: Warning: NOSTACK Segment 首先询问要连接的目标文件, 操作员键入文件名作为回答 (此处是 exam ) 。如果有多个要连接的目标文件,应一次键入。各目标文件名之间用“+
13、”号隔开。第二个提示询问要产生的可执行文件的文件名,一般直接回车就采用了括号内规定的默认文件名。 第三个提示询问是否要建立地址分配文件。键入文件名再回车表示要建立, 直接按回车键表示不要建立。 最后询问是否用到库文件,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 微型计算机原理及应用12 如果没有库文件, 则直接键入回车即可 (如果用户用到库文件, 则键入库文件名。建立库文件的方法见第五节) 。回答以上问题后,连接程序便开始
14、进行连接。若连接过程有错,则显示错误信息。若有错误就要重新调用编辑程序修改源文件,然后重新汇编、连接,直至无错。LINK 过程产生两个输出文件, 一个是扩展名为 EXE的执行文件产生此文件当然是 LINK 过程的主要目的,另一个是扩展名为MAP 列表分配文件,有人也称它为映象文件, 它给出每个段在内存中的分配情况。比如某个列表分配文件为如下内容:CTYPE exam Map Warning:No STACK Segment Start Stop Length Name 00000H 0015H 0016H CODE 00020H 0045H 0026H DATA 00050H 0061H 00
15、12H EXTRA Programe Entry point at 0002:0000 由上面看出,变量 CODE 的起始地址是 0000H ,结束地址是 0015H ,字节数是 16H ,以此类推。另外从 LINK 过程提示信息中,可看到最后给出一个“无堆栈段”的警告性错误,这并不影响程序的执行。 当源程序中设置了堆栈段, 则无此提示信息。第五节子程序库的建立方法在处理比较复杂的问题时, 往往需要把某些经常被反复调用的子程序汇编成目标模块,集合在一起组成一个“子程序库”(.LIB ) ,以方便调用。建立子程序库是调用DOS 的库管理程序 LIB 来实现的。库管理程序 LIB 的启动方式分为提
16、问方式、命令方式、文件方式三种,此处仅介绍提问方式。在 DOS 状态,键入“ LIB”之后, DOS 把 LIB 装入主存并向用户提问,用户根据要求键入相应的回答。LIB 的提问信息及其回答如表1 所示,回答时可用的命令字符如表2 所示。表 1 LIB的提示信息及回答提示信息回答Library name: 欲进行操作的库名(缺省文件扩展名为.LIB )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 微型计算机原理及应用13 O
17、peration: List file: 命令字符及模块名或目标文件名交叉参考列表文件名( 缺省:NUL, 无交叉参考列表文件) 表 2 库管理命令字符命令字符功能 + - * ; & CTRL_C 把目标代码文件作为最后一个模块加入库中从库中删除一个模块从库中取出模块, 写入目标文件中( 库中仍保留 ) 剩下的提示取缺省值提示信息在一行内回答不下时, 键入此字符将另起一行终止库管理操作下面举例说明子程序库的建立方法. 建立一子程序库 WAN.LIB ,将子模块 QUEUE、F10T2、F2T10放入该库中,其操作步骤如下: 建立它们的源文件QUEUE.ASM、F10T2.ASM 、F2T10
18、.ASM 。 将这三个源文件模块分别汇编, 生成目标文件 QUEUE.OBJ、 F10T2.OBJ 、F2T10.OBJ 。 调用库管理程序 LIB 建立子程序库 WAN.LIB , 并将三个目标文件加入库中,既可逐个加入,也可一次加入。如果逐个加入,可用以下方法(一): C LIBMicrosoft (R) Library Manager Version 3.04 Copyright (C) Microsoft Corp 1983,1984,1985,1986. All rights reserved. Library name: WAN Library does not exist. Cr
19、eate? YOperations: +QUEUEList file: C LIBMicrosoft (R) Library Manager Version 3.04 Copyright (C) Microsoft Corp 1983,1984,1985,1986. All rights reserved. Library name: WAN Library does not exist. Create? YOperations: +F10T2 List file: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
20、- - - - - - - 第 6 页,共 13 页 - - - - - - - - - 微型计算机原理及应用14 C LIBMicrosoft (R) Library Manager Version 3.04 Copyright (C) Microsoft Corp 1983,1984,1985,1986. All rights reserved. Library name: WAN Library does not exist. Create? YOperations: +F2T10 List file: 如果一次加入,可用如下方法( 二) :C LIBMicrosoft (R) Libr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年汇编语言上机操作及程序调试的方法 2022 汇编语言 上机 操作 程序 调试 方法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内