パラーメータをプログラムに渡すには、CALL 文の USING 指定でパラメータを指定します。 次に例を示します。
CALL "program-name" USING parameter-1, ..., parameter-n
同様に、呼ばれるプログラムでは、手続き部の見出しの USING 指定、または ENTRY 文でパラメータを指定します。 パラメータの名前は、呼ばれるプログラムと呼び出し側プログラムで同じである必要はありませんが、パラメータの順序は同じにする必要があります。 各パラメータは、呼ばれるプログラムと呼び出し側プログラムの両方で、同じデータ型とサイズを宣言する必要があります。
パラメータは次の形式で渡すことができます。 次のパラメータを渡すことができます。
たとえば、次の文は parameter-1 のアドレスを渡します。
CALL "program-name" USING BY CONTENT parameter-1
各バイナリの計算項目 (COMP、BINARY、COMP-4、COMP-5、および COMP-X) は、COMP-5 データ項目として渡されます。 つまり、データ項目へのポインタとしてではなく、データ項目としてマシンの順序で表されます。 COMP-5 項目のサイズは、USING BY VALUE 指定の SIZE 修飾子が使用されるかどうかにより異なります。 使用される場合は、COMP-5 データ項目のサイズは、もとの項目のサイズに応じて 4 バイトまたは 8 バイトのどちらかになります。 SIZE 修飾子が指定されない場合は、デフォルトのサイズの 4 バイトが使用されます。
浮動小数点および小数部の計算項目 (COMP-1、COMP-2、COMP-3、および PACKED DECIMAL) は、変換されずにそのままスタックにコピーされます。
たとえば、次の文は 2 バイトの値「5」を渡します。
CALL "program-name" USING BY VALUE 5 SIZE 2.
渡されるすべてのパラメータのサイズ合計は 1020 バイトを越えてはなりません。各 BY REFERENCE および BY CONTENT パラメータは 4 バイトを使用します。