引数に BYVALUE が渡されない限り、引数の値は別として、引数への参照は、一般的にサブルーチンか関数に渡されます。 これは、参照または BYADDR によって引数を渡すことによって認識されます。 プロシージャー内のパラメーターへの参照は、対応する引数への参照になります。 パラメーターの値への変更は、実際には、対応する引数の値への変更になります。 ただし、これは常に可能ではなく、好ましいものではありません。 例えば、定数は呼び出されたプロシージャーによって 変更されるべきではありません。 変更すべきではない引数には、 元の引数の値を含む仮引数 が渡されます。 パラメーターへの参照は、仮引数への参照であり、元の引数に対するものではありません。
BYADDR を指定すると、コンパイラーによって、パラメーター・リストに対応する 引数のアドレスが書き込まれます。BYVALUE を指定すると、パラメーター・リストに 引数の値が書き込まれます。
BYVALUE を指定すると、仮引数は作成されません が、呼び出された ルーチンで対応するパラメーターに行われたすべての変更は、呼び出しルーチンでは 不可視になります。これは、仮引数の場合も同様です。
BYVALUE は、コンパイル時に既知の長さとサイズを持つスカラー引数および スカラー・パラメーターに対してのみ指定できます。