基于Keil a51汇编 —— Segments, Modules, and Programs

段、模块和程序

在初始设计阶段,定义程序要执行的任务,然后划分为子程序。以下是与 Ax51 汇编器和 Lx51 链接器/定位器一起使用的子程序类型的简要介绍。

是代码块或数据存储器。段可以是可重定位的,也可以是绝对的。可重定位段具有名称、类型和其他属性。来自不同模块的具有相同名称的段被视为同一段的一部分,称为部分段。具有相同名称的几个部分段由 Lx51 链接器/定位器组合成一个段。绝对段不能与其他段组合。

模块包含一个或多个段或部分段。模块是可以独立翻译的源代码单元。它包含模块中使用的所有符号定义。模块可能是由任何标准文本编辑器创建的单个 ASCII 文本文件。但是,您可以使用包含汇编程序指令来合并多个文本文件。Ax51汇编程序将源文件转换为目标文件。每个对象文件都是一个模块。

组装程序的所有模块后,Lx51处理对象模块文件。Lx51 链接器/定位器为所有可重定位段分配绝对内存位置,组合具有相同名称和类型的段。Lx51 还解析模块之间的所有引用。Lx51 输出一个包含已完成程序的绝对对象模块文件,以及一个列出链接/定位过程结果的映射文件。

相关推荐
询问QQ6882388612 小时前
探索多虚拟电厂联合调度优化模型:集中式算法的实践
汇编
草莓熊Lotso15 小时前
C++11 核心特性实战:列表初始化 + 右值引用与移动语义(附完整代码)
java·服务器·开发语言·汇编·c++·人工智能·经验分享
西西弗Sisyphus1 天前
读第三方程序的变量的原理
汇编
西西弗Sisyphus1 天前
一个程序点击事件的汇编指令与解析 - 目标变量的真实虚拟地址 = 逐级解引用并叠加偏移后的结果
汇编
2501_918126912 天前
nes游戏语言是6502,有没有一种方法可以实现,开发另一种更高效的汇编语言,替代6052,并本土化,弯道超过nes的底层语言?
汇编·硬件工程·个人开发
啊森要自信2 天前
【C语言】 C语言文件操作
c语言·开发语言·汇编·stm32·单片机
云qq2 天前
x86操作系统19——键盘驱动
linux·c语言·汇编
_Voosk2 天前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
天途小编3 天前
融合空域相关法规核心条款汇编
汇编·无人机
天途小编3 天前
无人机相关国家根本条例核心汇编
汇编·无人机