文章目录
- 前言
- 1. 第一步:编写汇编源程序
- 2. 第二步:对源程序进行编译连接
- 3. 第三步:执行可执行文件中的程序
- 结语
前言
📌
汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深入理解计算机底层工作原理,提升代码效率,尤其在嵌入式系统和性能优化方面有重要作用。此外,它在逆向工程和安全领域不可或缺,帮助分析软件运行机制并增强漏洞修复能力。
本专栏的汇编语言学习章节主要是依据王爽老师的《汇编语言》来写的,和书中一样为了使学习的过程容易展开,我们采用以8086CPU为中央处理器的PC机来进行学习。
在这一章节的内容学习中,我们终于可以编写一个完整的汇编程序了,我们以前都是在Debug中写一些指令,在Debug中执行。现在我们将开始编写完整的汇编语言程序,用编译和连接将它们编译连接成为可执行文件(如:*.exe文件),在操作系统中运行。
一个汇编语言程序从写出到最终执行的简要过程:
1. 第一步:编写汇编源程序
使用文本编辑器(如记事本、Nodepad++、UltraEdit等),用汇编语言编写汇编源程序。
这一步工作的结果是产生了一个存储源程序的文本文件。
2. 第二步:对源程序进行编译连接
使用汇编语言编译程序(MASM.EXE)对源程序文件中的源程序进行编译,产生目标文件;
再用连接程序(LINK.EXE)对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。
可执行文件中包含两部分内容:
- 程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
- 相关的描述信息(比如:程序有多大、要占多少内存空间等)
3. 第三步:执行可执行文件中的程序
在操作系统中,执行可执行文件中的程序。
操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如:设置CS:IP指向第一条要执行的指令),然后由CPU执行程序。
完整的执行过程
结语
今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下。
也可以点点关注,避免以后找不到我哦!
Crossoads主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的动力!