欢迎来到天天文库
浏览记录
ID:15905824
大小:1.05 MB
页数:13页
时间:2018-08-06
《汇编语言编程软件使用指南 》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言编程和调试工具一、汇编语言编程工具学习汇编语言的目的就是要用汇编语言编程来解决实际问题,下面介绍二种常用的汇编语言编程环境:宏汇编MASM6.11和TurboAssember5.0。1.1、宏汇编MASM系统在宏汇编MASM系统中,程序员可用二种方法来处理源程序:命令行和集成环境。1.1.1命令行命令1、编写源程序可用计算机系统中各种能编辑文本文件的编辑器来编辑汇编源程序。常用的编辑器有:EDIT、Q、Word、记事本、写字板、WPS等。源文件的后缀为:.ASM。2、汇编程序当源程序编写好后,可用MASM命令来汇编该源程序。如果源程序没有语
2、法错误,那么,将生成目标文件(.OBJ文件),为最终生成可执行文件作准备,但如果源程序有错误,汇编程序将显示出错误位置和原因,也可用列表文件(.LST文件)来查看出错位置和原因。下面给出一些使用该命令的实例情况。例1.1:查看MASM命令的功能…>masm/?(*)用户输入的命令用“下划线”来表示,系统显示的内容没有“下划线”。以下与此相同。……/ZiGeneratesymbolicinformationforCodeView/ZdGenerateline-numberinformation其中:选项/Zi和/Zd是经常被引用的二个选项,因为它们与
3、符号跟踪有关。例1.2:用MASM命令汇编源程序…>masmtest……Invoking:ML.EXE/I./Zm/ctest.asm……Assembling:test.asm如果MASM命令显示了类似如上的处理结果,那么,表示源文件TEST.ASM已成功汇编,并已生成了其目标文件TEST.OBJ。13例1.3:用MASM命令汇编源程序…>masmtest……Invoking:ML.EXE/I./Zm/ctest.asm……Assembling:test.asmtest.asm(10):errorA2070:invalidinstructionop
4、erands如果MASM命令显示了类似如上的处理结果,那么,表示源文件有错,没有生成其目标文件。在本例中,显示第10行有语法错:非法的指令操作数。这时,要用编辑器阅读源程序的第10行,看看输入指令时是否有误。假如源程序有许多错误,很难记住全部出错位置,那么,可用列表文件来辅助查错。例1.4:在汇编源程序的同时,生成其列表文件。…>masmtest,,test……Assembling:test.asmtest.asm(10):errorA2070:invalidinstructionoperands列表文件TEST.LST是一个文本文件,可用编辑器直
5、接阅读,并可看出其错误的位置和原因。下面是一个列表文件的实例。…>edittest.lstMicrosoft(R)MacroAssemblerVersion6.1108/26/0018:42:57test.asmPage1-1.modelsmall.4860000.data.radix700002A080Fw2db60,11,180003000A0009w1dw10T,1001B0000.code.startupmovdl,7777htest.asm(10):errorA2070:invalidinstructionoperands00108BC2
6、movax,dx00120FA4C201shlddx,ax,10016D1D0rclax,1.exit0end在此后面还有其它内容,但它们对查错没有帮助,所以,在此省略。131、连接程序当由源文件汇编成功后,即可用连接程序(LINK.EXE)生成其可执行文件。例1.5:查看连接程序(LINK.EXE)的具体选项。…>link/?LINK,,,,Validoptionsare:/?/ALIGNMENT/BATCH/CODEVIEW……/STACK/TINY/WARNFIXU
7、P例1.6:用连接程序生成执行文件。方法1:…>linktest……RunFile[test.exe]:ListFile[nul.map]:Libraries[.lib]:DefinitionsFile[nul.def]:LINK:warningL4021:nostacksegment这种方法需要确认连接过程中的各种文件名,如果使用文件名的默认值,那么直接按“回车”键即可。在上面四个文件名中,最重要二个文件名是:执行文件名和库文件名。一般情况下,无需更换最终生成的执行文件名;如果在连接过程中需要其它的库文件,则在显示第三行提示时,输入所需要的库文件
8、名。最后一行显示一个警告信息,提出本程序没有定义堆栈段,该警告信息可以不必理会,因为该执行文件是可运行的,在操作系统装入时
此文档下载收益归作者所有