段、模块和程序
在初始设计阶段,定义程序要执行的任务,然后划分为子程序。以下是与 Ax51 汇编器和 Lx51 链接器/定位器一起使用的子程序类型的简要介绍。
段是代码块或数据存储器。段可以是可重定位的,也可以是绝对的。可重定位段具有名称、类型和其他属性。来自不同模块的具有相同名称的段被视为同一段的一部分,称为部分段。具有相同名称的几个部分段由 Lx51 链接器/定位器组合成一个段。绝对段不能与其他段组合。
模块包含一个或多个段或部分段。模块是可以独立翻译的源代码单元。它包含模块中使用的所有符号定义。模块可能是由任何标准文本编辑器创建的单个 ASCII 文本文件。但是,您可以使用包含汇编程序指令来合并多个文本文件。Ax51汇编程序将源文件转换为目标文件。每个对象文件都是一个模块。
组装程序的所有模块后,Lx51处理对象模块文件。Lx51 链接器/定位器为所有可重定位段分配绝对内存位置,组合具有相同名称和类型的段。Lx51 还解析模块之间的所有引用。Lx51 输出一个包含已完成程序的绝对对象模块文件,以及一个列出链接/定位过程结果的映射文件。