ソースファイル
- ソースファイルは複数指定可能です。
- 複数のソースファイルを指定した場合、それらを結合した1つのファイルとしてアセンブルします。
- ただし
PROC/ENDPのように複数の文を 1 つの単位とするものを、ソースファイルをまたがって定義することはできません。 - アセンブル中、トップレベルに
END文があった場合、アセンブル中のソースファイルと以降のソースファイルのアセンブルを終了します。
エンコーディング
- 利用可能なエンコーディングは UTF-8 および Shift_JIS です。
- UTF-8 の場合、BOM の有無は問いません(あってもなくても可)
- UTF-8 としてとして不正な文字を検出した場合、Shift_JIS から UTF-8 へのエンコディーング変換を試みます。
- UTF-8 への変換に失敗した場合、アセンブルを中止します。
行
- アセンブルは行単位で処理します。
- 通常、物理行(行頭から行末改行記号)と論理行(アセンブラの処理単位)は同じですが、1 物理行に複数の論理行行を記述するマルチステートメント、逆に 1 論理行に複数の物理行が対応する継続行が可能です。
マルチステートメント
"\"で区切ることで 1物理行の中に複数の論理行を記載することができます。- エラー、警告等の表示は物理行単位になります。
ld a, (hl) \ inc hlld a, (hl)
inc hl継続行
- 行末が
"\"の場合("\"の直後が改行) の場合、次行と合わせて1行として扱います。 "\"の直後に改行以外の文字がある場合は継続行になりません。
msg db "hello, " \
"world" \
"!"
継続行
msg db "hello, " "world" "!"
msg db "hello, world!"
行の種類
- 空白行
- コメント行(コメントのみ含む)
- Z80 / R800 命令行
- 疑似命令行