汇编与执行一个程序

汇编与执行一个程序

ID:27717983

大小:360.01 KB

页数:78页

时间:2018-12-03

汇编与执行一个程序_第1页
汇编与执行一个程序_第2页
汇编与执行一个程序_第3页
汇编与执行一个程序_第4页
汇编与执行一个程序_第5页
资源描述:

《汇编与执行一个程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编与执行一个程序4.1汇编与执行一个程序4.2COM文件4.3汇编语言程序的编辑、汇编、链接与调试4.1汇编与执行一个程序当你编写好一个汇编语言源程序后,需要进行以下的处理过程,计算机才能执行。首先用编辑程序DOSEDIT或其他的编辑程序,将其输入到计算机中。然后,存入磁盘生成汇编语言源程序文件(ASM文件)。源程序不能被计算机直接执行,所以要经过汇编程序加以翻译,这个翻译过程称为编译过程或汇编过程,就是把源程序文件翻译成二进制代码所表示的目标文件——OBJ文件。在汇编过程中,汇编程序将会对源程序进行扫描,若源程序中有语法错误,则汇编结束后,汇编程序将指出

2、源文件中的语法错误,你可以重新使用编辑程序来修正源程序中的语法错误,直至得到无误的ASM文件和OBJ文件。OBJ文件虽然已是二进制机器指令码的形式,但计算机仍不能直接执行。还必须用链接程序(LINK.EXE),把目标文件与库文件或其它目标文件进行链接和在内存中重新定位,生成可直接执行文件(EXE文件)。这时的EXE文件才可以由DOS装入内存储器并运行。汇编过程如图4-1所示。图4-1汇编语言的汇编过程4.1.1键入与编辑一个源程序例4.1两个十六进制数0123、0025相加,将结果存入BX寄存器中。源程序清单如下:;filename:L41.ASMSTACKSGS

3、EGMENTPARASTACK‘STACK’DB12DUP(‘STACKSEG’)STACKSGENDS;—————————————————————CODESGSEGMENTPARA‘CODE’BEGINPROCFARASSUMESS:STACKSG,CS:CODESG,DS:NOTHINGPUSHDSSUBAX,AXPUSHAXMOVAX,0123HADDAX,0025HMOVBX,AXRETBEGINENDPCODESGENDSENDBEGIN(1)程序中有一个代码段和一个堆栈段,因为不需要数据段和附加段,所以未设定。(2)用全屏幕编辑程序EDIT.COM建立

4、源程序,文件名取L41.ASM。在DOS状态键入EDIT即可。如:C:>EDITL41.ASM[并按下Enter键](3)回车后,屏幕上出现EDIT的全屏幕窗口,此时就可以输入或编辑源程序了。当输入、编辑完源程序后,用EDIT的下拉菜单项:“FILE”中的“SAVE”项将源文件L41.ASM存入磁盘,这时你的磁盘上就建立了一个名为L41.ASM的汇编语言源程序文件。(有关EDIT.COM的使用和操作,请读者参考本章4.3节。)4.1.2汇编一个程序当你把源程序键入并以名称L41.ASM存入磁盘后,在执行它之前还有两个重要步骤——汇编和链接。1.汇编L41.ASM

5、源程序文件建立后,用汇编程序将该文件翻译为二进制机器指令码,并产生一个OBJ目标文件(L41.OBJ),这个翻译过程称为汇编。常用的汇编程序是宏汇编MASM.EXE或小汇编ASM.EXE。它的主要功能是:(1)检测源程序中的语法错误,并在屏幕上显示出错信息。(2)展开宏指令(将在第14章中介绍)。(3)产生目标文件,并同时产生列表文件LST和交叉参考表文件CRF。注意:在DOS状态下键入MASML41,即可实现对L41.ASM的汇编。操作和汇编过程如图4-2所示。(1)C:>MASML41(2) Microsoft(R)MacroAssemblerVersion5

6、.00Copyright(C)MicrosoftCorp1981-1985,1987.Allrightsreserved.(3) Objectfilename[L41.OBJ]:Sourcelisting[NUL.LST]:L41Cross-reference[NUL.CRF]:L41图4-2L41.ASM的汇编过程图中,(1)是汇编命令输入;(2)是版本说明以及出版时间;(3)提示你默认使用相同的文件名(但你可以改变它),按Enter键即可。再提示你默认不要汇编后程序的列表文件。若不需要只需按Enter键。若要此列表文件,可以键入:L41[按下Enter键]最后

7、提示你默认不要汇编后程序的交叉参考表文件。若不需要只需按Enter键。若要此参考表文件,可以键入:L41[按下Enter键]L41.LST是列表文件,这个文件可同时列出源程序和机器语言程序清单并给出符号表,帮助你调试程序。这时在你的磁盘上就建立了L41.LST文件,可以在DOS状态下,用TYPE命令显示或打印它的内容,如:C:>TYPEL41.LST结果显示在屏幕上,如图4-3所示。若想打印此显示,按Ctrl+P键将打印机连接即可。1;filenamel41.asm20000STACKSGSEGMENTPARASTACK‘STACK’30000000C[DB12

8、DUP(‘

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。