10-4 -A -Rオプション


-A-Rを指定した場合は、INBLOCK属性のセグメントブロックをサイズの大きいものから順に最適な位置に配置された後、連続する2つの4096バイト境界内の後方のセグメントを再配置して前後の空き領域を結合し、そこへFREE属性のセグメントブロックが配置されます。

次のようなオブジェクト群があります。

10080.gif

これを -A-Rを指定してリンクを行うと、D、A、Cの順に配置された後、A、Cをそれぞれ境界内後方に再配置し、D/A間の空き領域にBが配置されます。

10090.gif

また、すべての最適化においてオブジェクト中にORG疑似命令により空き領域が生じる場合、その領域もセグメントブロックの配置対象領域となります。

この場合の例を次に示します。

次のようなオブジェクト群があります

10100.gif

これを最適化をしない通常のリンクを行うと次のようになります。

10110.gif

これを最適化の指定をしてリンクを行うとAなるセグメントブロック中にORGによる空き領域があるので、次のようになります。

10120.gif

また、最適化指定と合わせてローディングアドレス指定(−Cオプション)を行なった場合で、そのファイルの先頭セグメントがFREE指定だった場合は、そのセグメントブロックについてのみローディングアドレス指定にしたがいます(以降のFREE指定ブロックは最適化の対象となります)。


[]   [INDEX]   []

(C)SEGA ENTERPRISES, LTD., 1998