言語環境プログラム OS/390 版 バージョン 2 リリース 9 で行われた変更
は、COBOL プログラムからアセンブラー・プログラムへの戻り時に AMODE に影響を与えます。この変更は、APAR PQ05151 で報告された問題に対処するためのものです。この変更により、言語環境プログラムは VS COBOL II ランタイムと同様に動作し、COBOL プログラムの
コンパイルに使用されたコンパイラーには関係なく、一貫性のある動作を提供します。
動作の変更がアセンブラーから COBOL への呼び出しに影響を与えるの
は、AMODE 31 から AMODE 24 へのモード切り替えまたは AMODE 24 から AMODE 31 への
モード切り替えがあるときだけです。
言語環境プログラム OS/390 版 バージョン 2 リリース 8 以前では、COBOL およびアセンブラー間の
CALL ステートメントの動作は次のとおりです。
- VS COBOL II または COBOL/370 サブプログラムがアセンブラー・プログラム呼び出
し元に戻るときは、AMODE は、アセンブラー・プログラムの保存域の R14 スロットにある
高位ビットに基づいて設定されます。このビットがオンの場合、制御は AMODE 31 で戻されます。オフの場合、制御は AMODE 24 で戻されます。
- OS/VS COBOL、COBOL (MVS および VM 版)、または COBOL (OS/390 および VM 版) サブプログラムがアセンブラー・プログラム呼び出し元に戻るときは、AMODE は、COBOL プログラムに入ったときに有効であったのと同じ AMODE に設定されます。
- COBOL 再使用可能環境 (RTEREUS、IGZERRE、または ILBOSTP0) を使用している場合、アセン
ブラー・ドライバーから呼び出された COBOL プログラムが制御をそのアセンブラー・ドライバー
に戻すとき、AMODE は、アセンブラー・ドライバーの保存域の R14 スロットにある
高位ビットに基づいて設定されます。このビットがオンの場合、制御は AMODE 31 で戻されます。オフの場合、制御は AMODE 24 で戻されます。
言語環境プログラム OS/390 版 バージョン 2 リリース 9 以降では、COBOL およびアセンブラー間の
CALL ステートメントの動作は次のとおりです。
- COBOL サブプログラムがアセンブラー・プログラム呼び出し元に戻るとき
は、AMODE は、COBOL プログラムに入ったときに有効であったのと同じ AMODE に設定されます。この動作は、使用されたコンパイラーには関係なく同じであることに注意してください。
- COBOL 再使用可能環境 (RTEREUS、IGZERRE、または ILBOSTP0) を使用している場合、アセン
ブラー・ドライバーから呼び出された COBOL プログラムが制御をそのアセンブラー・ドライバー
に戻すとき、AMODE は、COBOL プログラムに入ったときに有効であった AMODE に
設定されます。