双文件模式
本课属于 Coddy Assembly 学习旅程的“基础知识”单元。第 5 课,共 45 课。
在整个课程中,你编写的每个程序都会使用两个独立的文件:
| 文件 | 用途 |
|---|---|
data.asm | 存储所有数据(字符串、数字、变量) |
main.asm | 存储所有代码(指令、逻辑、流程) |
汇编器并不要求这样做。你可以把所有内容放在一个文件中。但将代码和数据分开,可以让程序更整洁、更易读,也更容易调试。
为什么要用两个文件?
- 便于整理:数据和代码的用途不同。把它们分开,能让你思路更清晰。
- 可重复使用:你可以在不同的
main.asm文件中使用同一个data.asm。
- 可读性:你不必滚动浏览很长的字符串来查找代码。
- 行业惯例:实际项目会将代码和数据分开(尽管通常会采用更复杂的方式)。
工作原理:
main.asm 文件使用 %include 指令包含 data.asm 文件。这会告诉汇编器:“在汇编之前,将 data.asm 的全部内容插入到这里。”
两个文件并排显示:
| data.asm | main.asm |
|---|---|
section .data | %include "data.asm" |
| (变量写在这里) | section .text |
global _start | |
_start: | |
| (指令写在这里) |
各单元的作用:
| 单元 | 作用 | 文件? |
|---|---|---|
section .data | 存放程序运行时存在于内存中的数据 | data.asm |
section .text | 存放可执行指令(代码) | main.asm |
global _start | 使链接器能够访问入口点 | main.asm |
_start: | 程序开始执行的标签 | main.asm |
你现在不需要记住
section .data、section .text、global _start或_start:。我们会在接下来的课中详细讲解这些指令。现在只要先了解整体情况,并理解这两个文件的结构即可。
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Assembly 在线编辑器