このドキュメントでは、Natural アプリケーション内でダイナミック再ロード可能 3GL プログラムを呼び出すときに適用されるアドレスモードの選択ルールについて説明します。
以下のトピックについて説明します。
ダイナミック再ロード可能 3GL プログラムが 16 MB 境界より上または下のどちらにロードされるかは、BS2STUB
マクロのキーワードパラメータ PROGMOD
に基づきます。
パラメータ | 説明 |
---|---|
PROGMOD=ANY |
プログラムは 16 MB 境界より上または下にロードされます。
どちらにロードされるかは、アプリケーションのアドレスモードと、ロードされる 3GL プログラム内の |
PROGMOD=24 |
3GL プログラムは常に 16 MB 境界より下にロードされます。 |
Natural ユーザースレッドが 16 MB 境界より上または下のどちらに作成されるかは、NATUTM
マクロのキーワードパラメータ NUAADDR
と、NAMTIAM
および NAMBS2
マクロの REQMLOC
によって決まります。
以下に、ダイナミック再ロード可能 3GL プログラムを呼び出すための生成コンフィグレーションで使用されるアドレスモードの概要を示します。
'ILCS=YES'
または 'ILCS=CRTE'
事例 | アプリケーション生成に使用 | 3GL プログラム呼び出しに使用 |
---|---|---|
1 | PARMOD=31 または PARMOD=(31,ABOVE) |
AMODE=31 |
2 | PARMOD=24 |
AMODE=24 |
'ILCS=NO'
事例 | アプリケーション生成に使用 | 3GL プログラム呼び出しに使用 | |
---|---|---|---|
1 | PARMOD=31
Natural ユーザースレッドは 16 MB 境界より上に配置され、3GL プログラムは 16 MB 境界より上または下にロードされます。 |
AMODE=31 |
|
2 | PARMOD=31
Natural ユーザースレッドと 3GL プログラムは 16 MB 境界より下にロードされます。 |
AMODE=24 |
|
3 | PARMOD=(31,ABOVE)
Natural ユーザースレッドは 16 MB 境界より上に配置され、3GL プログラムは 16 MB 境界より上または下にロードされます。 |
AMODE=31 |
|
4 | PARMOD=(31,ABOVE)
Natural ユーザースレッドは 16 MB 境界より下に配置され、3GL プログラムは 16 MB 境界より下にロードされます。 |
AMODE=24 |
|
1. | モジュール BS2GLUE が、ロードされる 3GL プログラムと同じライブラリにある必要があります。または、モジュール BS2GLUE のロードモジュールライブラリが、STARTJOB で BLSLIB として定義されている必要があります。
|
||
2. | このようなコンフィグレーションが Natural/UTM アプリケーションで存在する場合は、キーワードパラメータ KB を KB=NO として定義する必要があります。
|
||
5 | Natural/UTM アプリケーションが PARMOD=31 を使用して作成されました。
Natural ユーザースレッドは 16 MB 境界より上または下に配置され、 |
AMODE=31 |
アプリケーションは PARMOD=31
を使用して生成され、NATUM
マクロのキーワードパラメータ SWAMODE
は SWAMODE=YES
として定義されています。
Natural は、UTM KDCS インターフェイスの各呼び出しの前に元の 24 ビットアドレスモードに切り替わり、制御が UTM ドライバに返されると、31 ビットアドレスモードに切り替わります。