構文 OPTION <アセンブルオプション> ... OPTION OFFSET:SEGMENT OPTION OFFSET:GROUP 例 OPTION /O /T4 OPTION OFFSET:GROUP
アセンブルオプションをソースファイル中で指定するディレクティブです。ソースファイルの先頭部分で指定してください。
<アセンブルオプション>には、コマンドラインで指定できるアセンブルオプションのうち、/A, /D, /E, /L, /Y 以外のものをいくつでも指定することができます。
「OFFSET:SEGMENT」または「OFFSET:GROUP」を指定することもできます。
「OFFSET:GROUP」を指定すると、グループに属しているセグメント内のラベルに対する OFFSET 演算子は、グループからのオフセットを返します。
「OFFSET:SEGMENT」を指定した場合や、何も指定しなかった場合は、OFFSET 演算子はセグメントからのオフセットを返します。ただしいずれの場合も、OFFSET 演算子で明示的にベース(セグメントやグループ)を指定した場合は、そのベースがオフセット計算に使用されます。
「OFFSET:SEGMENT」はアセンブルオプションの「/G0」と同等であり、「OFFSET:GROUP」は「/G1」と同等です。
次に例を示します。ラベル「addr」がセグメント「dseg」内にあり、「dseg」はグループ「dgrp」に属しているものとします。
option offset:group mov ax, offset addr ; dgrp 相対(OPTION 文の効果) mov ax, offset dseg:addr ; dseg 相対 mov ax, offset dgrp:addr ; dgrp 相対
OPTION 文でセグメントを指定した場合は次のようになります。
option offset:segment ; この文はなくても同じ mov ax, offset addr ; dseg 相対(デフォルト) mov ax, offset dseg:addr ; dseg 相対 mov ax, offset dgrp:addr ; dgrp 相対