汇编语言源程序的编辑、汇编、连接的方法_第1页
汇编语言源程序的编辑、汇编、连接的方法_第2页
汇编语言源程序的编辑、汇编、连接的方法_第3页
汇编语言源程序的编辑、汇编、连接的方法_第4页
汇编语言源程序的编辑、汇编、连接的方法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言源程序的编辑、汇编、连接的方法 一、编辑源程序 汇编语言源程序:用汇编语句编写的解决应用问题的程序。汇编程序:将汇编语言源程序翻译成机器语言程序的系统。汇编:将汇编语言程序翻译成机器语言程序的过程。在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。(1)编辑软件行编辑软件:EDLIN.COM全屏编辑软件:WPS、EDIT.COM、NE.COM、WORD、PE等。当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。(2)汇编程序有汇编ASM.EXE、宏汇编MA

2、SM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。(3)连接程序(4)辅助工具程序(.EXE)进行汇编语言程序调试和文件格式转换的程序有:DEBUG.COM 动态调试程序EXE2BIN.EXE 文件格式转换程序CREF.EXE 交叉引用程序编辑、汇编、连接、调试过程如图1.1所示。TD(turbo Debugger简称)也是动态调试程序,可在DOS和Windows环境下运行,用户界面十分友好。二、 汇编源程序 用编辑软件建立的源程序.ASM文件,必须经过汇编

3、才能产生.OBJ文件。为此,需键入:C:>MASM <源文件名>或 C:>MASM按前一种格式键入,屏幕上显示:Microsoft(R Macro assemble Version 5.00Copyright(C Microsoft Corp 1981-1985,1987 ALL rights reservedOBJ filename .obj: Source listingnul.lst:Cross-referencenul.crf:以上信息中方括中为该项提示的缺省回答值,冒号后面等待用户输入信息,若不改变缺省值则直接按回车键。汇编后生成以下几个文件:(1).OBJ文

4、件.OBJ文件是必须生成的一个目标代码文件,当源程序中无语法错误时,则在当前工作盘上自动存入一个.OBJ文件,供下一步连接用。若源程序有语法错误时,会出现错误信息提示:源程序文件行 错误信息代码 错误说明信息最后信息提示:×× Warning errors (警告错误)×× Severe errors (严重错误)若严重错误总数不为0,则.OBJ文件没有生成,需回到编辑状态下修改源程序直到无错为止。(2).LST文件(列表文件).LST文件对调试程序有帮助,它是将源程序中各语句及其对应的目标代码和符号表以清单方式列出,如果需要,在屏幕显示的第二个提问的冒

5、号后输入文件名即可,如果不需要,直接按回车键。(3).CRF文件(交叉引用文件)若按后一种格式输入,系统会依次出现四个提示信息,比第一种格式多了一项源程序文件名的输入。应答方式与第一种格式相同。三、 连接目标程序 汇编后生成的.OBJ文件,其所有目标代码的地址都是浮动的偏移地址,机器不能直接运行。必须用连接程序(LINK.EXE)对其进行连接装配定位,产生.EXE可执行文件,方可运行。在系统提示符下键入:LINK <源程序文件名> 或 LINK屏幕上出现以下提示信息:Microsoft(R Macro assemble Version 5.00Copyright(C Microso

6、ft Corp 1981-1985,1987 ALL rights reservedRun file .EXE: List File nul.map:Libraries .lib:连接后,可生成两种文件:.EXE和.MAP(1).EXE文件(可执行文件)若采用方括号中的默认值,直接按回车键,否则需重新输入一文件名。若连接过程中无错误,则自动在当前工作盘生成.EXE文件。若有错误,则会给出错误信息提示,这时必须重新修改源程序,再汇编、连接。(2).MAP(连接映像文件)(3).LIB库文件连接程序询问是否使用某种库文件,不需使用库文件直接按回车键。(4)若要连接多个模块目标程序,可用“+”把它们

7、连接起来。如:LINK files1+files2+files3若直接键入:LINK会依次出现四个提示信息,应答方式应与LINK<源程序文件>相同,仅增加了一项输出,询问被连接的目标文件名字:Object Modeules.OBJ:格式:LINK ; 多了一个分号,表示结束后续询问。四、 运行程序 经过汇编、连接后生成的.EXE文件,可在DOS系统直接运行,只要键入相应的文件名即可。如:C:MASM><文件名>DOS的COMMAND.COM模块将该程序装配到内存,并设置和分配启动地址。也可在DEBUG调试程序下运行。如何用DEBUG程序来运行和调试程序将在DEBU

8、G调试程序中详细讨论。五、 DEBUG调试程序 DEBUG.EXE程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80X86CPU的心灵窗口,也是我们学习汇编语言必须掌握的调试工具。1)DEBUG程序使用在DOS提示符下键入命令:C>DEBUG 盘符:路径文件名.EXE参数1参数2 这时屏幕上出现DEBUG的提示符“-”,表示系统在DEBUG管理之下,此时可以用DEBUG进行程序调试。若所有选项省略,仅把DEBUG装入内存,可对当前内存中的内容

9、进行调试,或者再用N和L命令,从指定盘上装入要调试的程序;若命令行中有文件名,则DOS把DEBUG程序调入内存后,再由DEBUG将指定的文件名装入内存。2)DEBUG的常用命令(1)汇编命令 A格式:A起始地址功能:将输入源程序的指令汇编成目标代码并从指定地址单元开始存放。若缺省起始地址,则从当前CS:100地址开始存放。A命令按行汇编,主要是用于小段程序的汇编或对目标程序的修改。(2)反汇编命令 U格式1:U起始地址格式2:U起始地址结束地址|字节数功能:格式1从指定起始地址处开始将32个字节的目标代码转换成汇编指令形式,缺省起始地址,则从当前地址CS:IP开始。格式2将指定范围的内存单元中

10、的目标代码转换成汇编指令。(3)显示、修改寄存器命令 R格式:R寄存器名功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,则按以下格式显示所有寄存器的内容及当前值(不能修改)。AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000DI=0000 DS=3000 ES=23A0 CS=138E IP=0000NV UP DI PL NZ NA PO NC138E:0000 MOV AX,1234-R AX ;输入命令AX 0014 ;显示AX的内容: ;供修改,不修改按回车。   若对标志寄存器进行修

11、改,输入:-RF屏幕显示如下信息,分别表示OF、DF、IF、SF、ZF、AF、PF、CF的状态。NV UP DI PL NZ NA PO NC不修改按回车键。要修改需个别输入一个或多个此标志的相反值,再按回车键。R命令只能显示、修改16位寄存器。(4)显示存储单元命令 D格式1:D起始地址格式2:D起始地址结束地址|字节数功能:格式1从起始地址开始按十六进制显示80H个单元的内容,每行16个单元,共8行,每行右边显示16个单元的ASCII码,不可显示的ASCII码则显示“·”。格式2显示指定范围内存储单元的内容,其他显示方式与格式1一样。如果缺省起始地址或地址范围,则从当前的地址开始

12、按格式1显示。例如: -D 200 ;表示从DS:0200H开始显示128个单元内容-D 100 120 ;表示显示DS:0100-DS:0120单元的内容说明:在DEBUG中,地址表示方式有如下形式:段寄存器名:相对地址,如:DS:100段基值:偏移地址(相对地址),如:23A0:1500(5)修改存储单元命令 E格式1:E起始地址 内容表格式2:E地址功能:格式1按内容表的内容修改从起始地址开始的多个存储单元内容,即用内容表指定的内容来代替存储单元当前内容。例如:E DS:0100 'VAR' 12 34表示从DS:0100 为起始单元的连续五个字节单元内容依次被修改为&#

13、39;V'、'A'、'R'、12H、34H。格式2是逐个修改指定地址单元的当前内容。如:E DS:0010156F:0010 41.5F其中156F:0010单元原来的值是41H,5FH为输入的修改值。若只修改一个单元的内容,这时按回车键即可;若还想继续修改下一个单元内容,此时应按空格键,就显示下一个单元的内容,需修改就键入新的内容,不修改再按空格跳过,如此重复直到修改完毕,按回车键返回DEBUG“-”提示符。如果在修改过程中,将空格键换成按“-”键,则表示可以修改前一个单元的内容。(6)运行命令 G格式:G=起始地址第一断点地址第二断点地址功能:CPU

14、从指定起始地址开始执行,依次在第一、第二等断点处中断。若缺省起始地址,则从当前CS:IP指示地址开始执行一条指令。最多可设置10个断点。(7)跟踪命令 T格式:T起始地址正整数功能:从指定地址开始执行正整数条指令,若缺省正整数,表示执行一条指令,若两项都缺省,表示从当前CS:IP指示地址开始执行一条指令。(8)指定文件命令 N格式:N<文件名或扩展名>功能:指定即将调入内存或从内存写入磁盘的文件名。该命令应该用在L命令和W命令之前。(9)装入命令 L格式1:L起始地址盘符号扇区号扇区数格式2:L起始地址功能:格式1根据盘符号,将指定扇区的内容装入到指定起始地址的存储区中。格式2将N命令指出的文件装入到指定起始地址的存储区中,若省略起始地址,则装入到CS:100处或按原来文件定位约定装入到相应位置。(10)写磁盘命令 W格式1:W<起始地址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论