汇编程序设计上机步骤
上机操作是从课本到实践的一步跨越,这是的必须要的一步。汇编语言程序设计同样需要上机,而且很重要。下面是我根据上课情况简单概括的汇编语言程序设计上机步骤,当然本文所面对的是和我一样的初学者。
本文谈到的DOS即为windows下的命令提示符(cmd.exe)
工具MASM5.00、一个源程序(hello.asm)放在c盘根目录,为方便讲解,下载后解压缩到c盘根目录,路径为:c:\masm
执行汇编和链接命令时,需要将DOS当前路径切换到c:\masm
汇编语言源程序的上机步骤包括编辑、汇编、链接、调试等几个过程,如下图所示。
1.编辑
编辑无非就是创建一个源程序并编辑代码。具体实现也有好几种:可新建记事本,然后保存扩展名为.asm,然后再输入代码;或者可用notepad++编辑代码,这个可以有,而且相当方便,支持代码高亮,缩进等;又或者打开开始->运行->cmd->edit,然后打代码。方法众多,不一一介绍。
2.汇编
汇编过程是将源程序(.ASM)翻译为等价的二进制机器语言的过程,所产生的文件称为目标程序,其后缀为.OBJ。在这个阶段中,将对源程序的语法进行检验,如果发现错误将给予提示。错误提示分为严重错误和警告错误两种。严重错误指示某些指令存在语法错误,不能形成对应的二进制机器指令。而警告错误指示某些指令含义不够明确,需要提醒程序员注意。程序员可以根据提示对源程序进行修改,直到得到正确的结果为止。
当前目录:c:\masm
汇编命令:masm c:\hello.asm;(这条命令默认将源程序汇编到c:\masm,如果想将.OBJ文件存在其它地方,则需在后面再添加一个路径名,如:masm c:\hello.asm c:\test;则汇编后生成的OBJ文件将在c:\test)
3.链接
在汇编过程中形成了目标文件(.OBJ),但是在该文件中,只是将源程序的操作码部分变成了机器码,而地址操作数还是可浮动的相对地址,不是实际地址,浮动地址需要再定位。只有经过链接过程才能形成最后的可执行文件。链接程序的功能就是把一个或多个目标文件合并成一个可执行文件,其后缀为.EXE。其实在链接过程中一共形成两个文件:第一个是可执行文件(.EXE)。默认的可执行文件名字与源程序文件相同,也可以根据用户要求进行修改可执行文件的名字;链接过程中形成的第二个文件是内存映像文件(.MAP),它给出了每个段的地址分配情况和长度。如果不需要该文件则可以在链接命令执行时直接输入Enter键。在链接过程中还与一个库文件(.LIB文件)相关。一般的汇编程序不需要库文件。但是当汇编语言与高级语言(如C语言)接口时需要用到库文件。此时输入相应的库文件名字即可。
当前目录:c:\masm
链接命令:link hello.obj;(或者放在其它你想放的地方,与汇编命令的用法相似,link c:\hello.asm c:\test;即在c:\test目录下生成hello.exe)
4.运行
通过汇编和链接,最终形成的可执行文件已经排出了程序中的语法错误,可以直接执行。但是可能还存在一些算法错误,这样的错误则要通过调试过程来修正。常用的调试工具软件有DEBUG等。
当前目录:c:\masm
运行:直接输入hello即显示“hello,world!”
MASM5.00下载地址:
百度网盘:http://pan.baidu.com/disk/home 路径:全部文件 > mq > mq-开发工具 > 汇编工具
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/5043052.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
posted on 2015-12-13 16:45 jack_Meng 阅读(5978) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2013-12-13 BatSendMail