Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, コンパイラーおよびランタイム 移行ガイド

アセンブラーおよび言語環境プログラムに準拠したアセンブラーからの PL/I の呼び出し

言語環境プログラムの環境で、PL/I ルーチンを呼び出すアセンブラー・プログラム は、言語環境プログラムによって定義される呼び出し規則に準拠している必要があります。 例えば、レジスター 13 が保管域を指していること、 保管域の反復チェーニングが正しく行われていること、 保管域の最初のワードが 0 であることなどが必要です。 詳細は、「z/OS 言語環境プログラム プログラミング・ガイド」を参照してください。

PL/I メインプログラムがアセンブラー・プログラムによって呼び出される 場合に、言語環境プログラムに準拠したアセンブラーを使用するためにアセンブラー・プロ グラムを変換するには、次のどちらかを実行する必要があります。

どちらの場合にも、呼び出し先の PL/I プログラムはサブルーチンとして扱われます。 両方の場合とも、呼び出し先のプログラムは同じ言語環境プログラムの別プログラムの下で 実行されます。この別プログラムでは、アセンブラー・プログラムがメインプログラムで、 呼び出し先の PL/I プログラムがサブルーチンです。

言語環境プログラム準拠のアセンブラーが Enterprise PL/I サブルーチンに制御を渡すには、次の 3 つの方法があります。

  1. 静的にリンクされた PL/I サブルーチンに分岐する。
  2. 言語環境プログラムのマクロ CEEFETCH を使用して、別個にリンクした Enterprise PL/I サブルー チンにブランチする。
  3. LOAD や BALR などのアセンブラー命令を使用して、 別個にリンクした Enterprise PL/I サブルーチンにブランチする。

1 つ目または 2 つ目の方法を使用するサブルーチンを Enterprise PL/I で再コ ンパイルする場合は、アセンブラー・プログラムに CEESG011 をインクルー ドする必要はありません。 アセンブラー・プログラムが 3 つ目の方法の命令を使用する場合は、 Enterprise PL/I で PL/I サブルーチンを再コンパイルする場合でも、必ずア センブラー・プログラムに CEESG011 をインクルードする必要があります。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)