yas80 概要
Last Update: 2026-03-26 11:32
yas80 - Yet Another Assembler for Z80 and R800 - は
Z80/R800 向けアブソリュートアセンブラです。
マルチパスアセンブラ
多くのアセンブラでは、前方参照シンボル等の未解決シンボルが発生するケースの処理のため、 2 パスアセンブル方式が採用されていますが、yas80 はパス数可変としてシンボルを解決する マルチパスアセンブラとしています。
yas80 のアセンブル処理は大きく
の 4 工程に分かれており、評価工程は更に
- シンボル解決
- 未解決シンボルがなくなるまで最大 256 回繰り返し評価
- 生成コード確定
- 生成コードが安定する(評価し生成コードが同一になる)まで、最大 16 回繰り返し評価
の 2 段階で構成しています。
現在のパス番号(1~)はシステム変数$PASSで参照できます。
プリプロセス
yas80 のプリプロセスは C言語のプリプロセスとは異なり構文解析の後、意味解析の前に実行します。
これは-a --auto-procオプションを指定した場合に実行され、
構文解析工程の出力である抽象構文木を処理するauto-proc 処理です。