当前位置: 首页 > article >正文

【汇编语言】第一个程序(一)—— 一个源程序从写出到执行的过程

在这里插入图片描述

文章目录

  • 前言
  • 1. 第一步:编写汇编源程序
  • 2. 第二步:对源程序进行编译连接
  • 3. 第三步:执行可执行文件中的程序
  • 结语

前言

📌

汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深入理解计算机底层工作原理,提升代码效率,尤其在嵌入式系统和性能优化方面有重要作用。此外,它在逆向工程和安全领域不可或缺,帮助分析软件运行机制并增强漏洞修复能力。

本专栏的汇编语言学习章节主要是依据王爽老师的《汇编语言》来写的,和书中一样为了使学习的过程容易展开,我们采用以8086CPU为中央处理器的PC机来进行学习。

在这一章节的内容学习中,我们终于可以编写一个完整的汇编程序了,我们以前都是在Debug中写一些指令,在Debug中执行。现在我们将开始编写完整的汇编语言程序,用编译和连接将它们编译连接成为可执行文件(如:*.exe文件),在操作系统中运行。

一个汇编语言程序从写出到最终执行的简要过程:

在这里插入图片描述

1. 第一步:编写汇编源程序

使用文本编辑器(如记事本、Nodepad++、UltraEdit等),用汇编语言编写汇编源程序。

在这里插入图片描述

这一步工作的结果是产生了一个存储源程序的文本文件。

2. 第二步:对源程序进行编译连接

使用汇编语言编译程序(MASM.EXE)对源程序文件中的源程序进行编译,产生目标文件;

再用连接程序(LINK.EXE)对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。

可执行文件中包含两部分内容:

  • 程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
  • 相关的描述信息(比如:程序有多大、要占多少内存空间等)

3. 第三步:执行可执行文件中的程序

在操作系统中,执行可执行文件中的程序。

操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如:设置CS:IP指向第一条要执行的指令),然后由CPU执行程序。

完整的执行过程

在这里插入图片描述

结语

今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下。

也可以点点关注,避免以后找不到我哦!

Crossoads主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的动力!
在这里插入图片描述


http://www.kler.cn/news/361507.html

相关文章:

  • 华为原生鸿蒙操作系统正式发布,为开发者开启的全新机遇与挑战
  • 32.第二阶段x86游戏实战2-遍历技能2(技能二叉树基址)
  • 【网络原理】HTTP协议
  • qiankun 应用之间数据传递
  • [枚举坤坤]二进制枚举基础
  • [Unity]内存优化
  • C# Linq常用方法
  • CSS3 动画相关属性实例大全(四)(font、height、left、letter-spacing、line-height 属性)
  • Web Service
  • 【力扣刷题实战】用队列实现栈
  • Vue3集成axios实现ajax请求
  • linux—基础命令及相关知识
  • Mysql同步数据库异常
  • 使用InternVL、LMDeploy和GTE搭建多模态RAG系统
  • 界面耻辱纪念堂--可视元素03
  • Python 曲线绘制
  • C++ 红黑树
  • 鸿蒙--页面跳转
  • 【鸿蒙NEXT】SaveButton保存图片
  • 无需扩散,下一个token预测直达AGI!
  • kubeadm部署的k8s证书过期解决
  • AWD的复现
  • ECharts饼图-饼图34,附视频讲解与代码下载
  • 480p 720p 1080p 2k 4k 8k 12k分辨率视频分别占用多大带宽?
  • TikTok运营对IP有什么要求?
  • 修改el-table默认滚动条样式