6.3.2 シンボルの処理 / 非公式訳 / two passアセンブラ

p.108

シンボルの処理

アセンブリプログラムはシンボルラベル(goto命令の行き先)が使用できます。シンボルラベルは、シンボル自体の定義される位置より前の位置であっても使用できます。この機能は、アセンブリコード作成者の作業を楽にしてくれる一方で、アセンブラ開発者の作業を難しくします。これを解決するためのよくある手法のひとつは、「two passアセンブラ」を作ることです。「two passアセンブラ」というのは、コードを始めから終わりまで2回読むアセンブラのことです。1回目は、「シンボルテーブル」を作成してすべてのラベルシンボルをシンボルテーブルへ格納します。その際、コードは一切生成しません。2回目に、そのシンボルテーブルを使いながら、変数シンボルを処理してバイナリコードを生成します。