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

段、模块和程序

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

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

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

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

相关推荐
Lzh编程小栈8 小时前
数据结构与算法之队列深度解析:循环队列+C 语言硬核实现 + 面试考点全梳理
c语言·开发语言·汇编·数据结构·后端·算法·面试
cch89181 天前
汇编与C语言:底层对话VS高效指挥
c语言·开发语言·汇编
jwn9992 天前
PHP vs 汇编:编程语言的两极对决
开发语言·汇编·php
cch89182 天前
汇编vs易语言:底层与中文编程终极对决
汇编
cch89183 天前
汇编VS高级语言:从硬件操控到高效开发
汇编
cch89183 天前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
cch89183 天前
汇编 vs Python:编程世界的两极对决
开发语言·汇编·python
cch89183 天前
汇编与Go:底层到高层的编程差异
java·汇编·golang
山峰哥3 天前
告别“点点点”:AI 如何重构我们的测试体系与质量防线
服务器·汇编·数据库·人工智能·性能优化·重构
披着羊皮不是狼3 天前
ARM 汇编核心语法速查
汇编·arm开发