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"
(variables はここに記述)section .text
 global _start
 _start:
 (instructions はここに記述)

各セクションの役割:

セクション目的どのファイルか?
section .dataプログラムの実行時にメモリ上に存在するデータを保持しますdata.asm
section .text実行可能な命令(コード)を保持しますmain.asm
global _startリンカーからエントリーポイントを参照できるようにしますmain.asm
_start:プログラムの実行が開始されるラベルmain.asm

今は、section .datasection .textglobal _start、または_start:を暗記する必要はありません。これらの各コマンドについては、以降のレッスンで詳しく説明します。今は全体像を確認し、2つのファイルの構造を理解してください。

自分で試してみよう

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

quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Assemblyプレイグラウンド