2019年10月19日土曜日

XOUTフォーマット 3

つづき

再配置情報 6 byte

コードとデータ中にあるアドレス参照している箇所の情報 (x_rel) の配列。
リンカは、コードが配置されるアドレスとシンボルテーブルをもとに、そのアドレスを書き換える。

 x_rl_sgn (1 byte)

 アドレス参照箇所が含まれるセグメント番号 
 Z8001のセグメントではなく、セグメント情報のインデックスなので注意

 x_rl_flg (1 byte)

 アドレスの形式

 1 - 16 bit アドレス 
 2 - 16 bit ショート型アドレス 
 3 - 32 bit セグメント + オフセットのアドレス
 5 - 外部参照 16 bit アドレス 
 6 - 外部参照 16 bit ショート型アドレス
 7 - 外部参照 32 bit セグメント + オフセットのアドレス

 x_rl_loc (2 byte)

 アドレス参照している箇所
 セグメントの先頭からのオフセットになっている。

 x_rl_bas (2 byte) 

 ローカル参照の場合は、参照先があるセグメント番号
 外部参照の場合は、シンボルテーブルへのインデックス

ローカル参照の場合は、参照先があるセグメントの先頭アドレスと、参照箇所に書かれている値を足した値がアドレスになる。シンボルがローカルな場合はシンボルテーブルに存在しない。

0 件のコメント:

コメントを投稿