第7章 リストファイルの書式 |
M86Kが生成するリストファイルは、次に示すような形式をしています。これは基本的にソースファイルの内容をそのままに、左側に行番号や機械語のコードを表示したものです。また、行や桁の配置は、紙に印刷されることを念頭に置いた書式設計になっています。すなわち、1ページは60行(ヘッダ部を含みます)、1行は132文字(ソース行がそれより長い場合は折り返します)で構成され、左半分には桁位置を固定して各種の情報が表示されるようになっています。また、ソース行に含まれている水平タブは、スペースに変換されて見掛け上の位置が変化しないようになっています。
各ページごとにその先頭に現われ、とじ代のための空白行とページ番号、ソースファイル名、およびリスト本体の各桁位置の見出しからなっています。
1から始まる通し番号です。
アセンブルすることを指定されたソースファイルの名前が表示されます。指定時にドライブ名やパス名が付随していた場合には、それらも含めて表示されます。
ソースファイルの内容、マクロ呼び出しがあってリスト出力が抑制されていない場合にはその展開結果、インクルードファイルが読み込まれている場合はその展開結果を表示します。
ソースファイルにおける行番号(10進)です。コード部が複数行に渡る場合など、ソースファイルの1行がリストファイルの2行以上になる場合には、同一の行番号が繰り返されることになります。
インクルードファイルのネストレベルを表示します。ソースファイルの内容を表示している行では、この部分は現われません。ソースファイルから直接インクルードされているファイルの内容を表示している行ではこのレベルは1になります。そのファイルからさらにインクルードされているファイルではこの数字が2になります。行番号との間の/は区切り記号です。
シンボルに値が設定されるときには、設定された値がアセンブル時点で確定するものであればその値が16進8桁で表示されます。値が確定しない場合には表示しません。
マクロ呼び出し(繰り返しマクロを含む)の結果生成された、元々のソースファイルにはない行であることを示す番号です。展開された順番に1からの通し番号が割り当てられます。1つのマクロ呼び出しが終り、別のマクロ呼び出しが現われると再び1からの通し番号が割り当てられます。
対応する行がCSEGまたはDSEGにコードを発生する場合、セグメントの種別を表す1文字が表示されます。C(大文字のC)がCSEG INBLOCK、c(小文字のc)がCSEG FREE、DがDSEGを表します。
対応する行がCSEGまたはDSEGにコードを発生する場合、そのコードの第1バイト目が位置するアドレスを16進4桁で表示します。ただし、ここでのアドレスとは、該当セグメントの先頭からのオフセットです。