Menu
Coddy logo textTech

2ファイルパターン

CoddyのAssemblyジャーニー「基礎」セクションの一部 — レッスン 5/45。

このコースを通して、すべてのプログラムを2つの別々のファイルを使用して作成します:

ファイル目的
data.asmすべてのデータ(文字列、数値、変数)を格納します
main.asmすべてのコード(命令、ロジック、フロー)を格納します

これはアセンブラによって要求されているわけではありません。すべてを1つのファイルにまとめることもできます。しかし、コードとデータを分離することで、プログラムがよりクリーンになり、読みやすく、デバッグしやすくなります。

なぜ2つのファイルに分けるのですか?

  • 整理 — データとコードは目的が異なります。これらを分けておくことで、思考を整理しやすくなります。
  • 再利用性 — 同じ data.asm を異なる main.asm ファイルで使用できます。
  • 可読性 — コードを見つけるために長い文字列をスクロールする必要がなくなります。
  • 業界の慣習 — 実際のプロジェクトでは、コードとデータを分離します(多くの場合、より複雑な方法で行われますが)。

仕組み:

main.asm ファイルは、%include ディレクティブを使用して data.asm ファイルをインクルードします。これはアセンブラに、「アセンブルする前に、ここに data.asm の内容をすべて挿入せよ」と伝えます。

2つのファイルを並べたもの:

data.asmmain.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 .datasection .textglobal _start、または _start: を暗記する必要はありません。これらの各コマンドについては、以降のレッスンで詳しく説明します。今のところは、全体像を見て、2つのファイルの構造を理解するだけで十分です。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン