欢迎来到天天文库
浏览记录
ID:57796198
大小:2.85 MB
页数:91页
时间:2020-03-29
《位微机原理与接口技术实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第1章汇编语言程序设计概述1.1汇编语言开发环境1.1.1实验设备硬件设备PC机一台1.1.2汇编语言开发环境1、DOS环境在计算机的任一逻辑盘上建一目录,把下面四个文件拷贝到该文件夹下。编辑软件EDIT.exe汇编软件MASM.exe连接程序LINK.exe调试程序DEBUG.exe例如在逻辑盘D下建一子目录MASM,把上述文件拷贝到该目录下。该目录在后面的汇编语言上机详细过程中还会用到。2、WINDOWS集成开发环境具体操作见第二章的2.1。1.1.3汇编语言程序上机操作一般过程首先要用编辑软件建立汇编语言的源程序文件。用汇编语言编写的源程序不能由计算机直接执行。须
2、通过具有“翻译”功能的系统程序——汇编程序(Assembler)汇编产生相应的目标代码文件,再通过连接程序生成可执行文件,则可以用DEBUG上机调试或运行程序。编辑、汇编、连接、调试过程如图1-1所示。用汇编语言编写的程序叫源程序,源程序经汇编程序翻译后所得的机器指令代码称为机器语言目标程序,简称目标程序。图1-1汇编语言程序上机过程1、编写汇编语言源程序将要解决的应用问题用汇编语言语句编写成程序,并建立扩展名为.asm的源程序文件。可任选一种编辑软件,来输入、建立或修改源程序。不要用格式控制符,要求编辑完成的文件扩展名必须是.asm。编辑源程序文件可任选下列软件的一款
3、:WORD、写字板、书写器、EDIT.COM、WP、行编辑软件EDLIN.COM等。2、汇编将汇编语言源程序翻译成机器语言程序的过程,即将*.ASM汇编语言源文件转换为*.obj文件。由系统软件汇编程序完成此翻译过程。汇编程序有ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088至Pentium系列CPU指令系统所编写的汇编语言程序,是比较先进的汇编工具。3、连接将不可执行的二进制文件转换为可执行文件,即将*.obj文件转换为*.EXE文件。完成连接的程序有LINK.EXE或TL
4、INK.EXE,将汇编产生的机器代码程序(即.OBJ文件)连接成可执行程序文件(即.EXE文件)。914、程序调试(DEBUG)进行汇编语言程序调试和文件格式转换。常用软件调试工具有:动态调试程序DEBUG.COM、文件格式转换程序EXE2BIN.EXE、交叉引用程序CREF.EXE、动态调试程序TD(turboDebugger简称),可在DOS和Windows环境下运行,用户界面友好。1.2汇编语言实验过程详细步骤1.2.1DOS环境实验过程详细步骤1、建立源程序运行任选一款编辑软件,输入源程序。保存源程序文件,且扩展名为.ASM。2、汇编用编辑软件建立的源程序.AS
5、M文件,必须经过汇编才能产生.OBJ文件。在Windows环境下,点击屏幕左下角的“开始”—“所有程序”—“附件”—“命令提示符”,键入D:并回车,再键入cdmasm并回车,则显示如图1-2所示:图1-2命令提示符窗口在D:masm>提示符下键入MASM并回车,则在屏幕上显示:Microsoft(R)MacroassembleVersion5.00Copyright(C)MicrosoftCorp1981-1985,1987ALLrightsreservedSourcefilename[.ASM]:输入要汇编的汇编语言源程序文件名,并回车,则屏幕显示:OBJfilen
6、ame[.obj]:直接键入回车,则生成中括号中指定文件名的.obj文件;也可以在上述输入自己的文件名后再键入回车,则生成自己指定文件名的.obj文件。然后屏幕显示:Sourcelisting[nul.lst]:直接键入回车,则不生成.lst文件;若要生成.lst文件,则键入一个文件名后键入回车,屏幕显示:Cross-reference[nul.crf]:直接键入回车,则不生成.crf文件;若要生成.crf文件,则键入一个文件名后键入回车,屏幕显示:49748+Bytessymbolspacefree0WarningErrors0SevereErrorsD:
7、masm>91说明:通过上述汇编后生成以下几个文件。(1).OBJ文件.OBJ文件是必须生成的一个目标代码文件,当源程序中无语法错误时,则在当前工作盘上自动存入一个.OBJ文件,供下一步连接用。若源程序有语法错误时,会出现错误信息提示:文件名.ASM(12):errorA2009:Symbolnotdefined:AX1文件名.ASM(15):errorA2009:Symbolnotdefined:BRANCH150824+Bytessymbolspacefree0WarningErrors(警告错误)2SevereErrors(严重错
此文档下载收益归作者所有