ADEXIT モジュールを使用するには、SYSADATA 出力を作成するコンパイラー・オプション ADATA と、DD ステートメント SYSADATA が必要です。
| コンパイラーのアクション | 出口モジュールによる結果としてのアクション |
|---|---|
| 初期化時に出口モジュール (mod4) をロードします | |
| OPEN 命令コード (op コード) を使用してこの出口モジュールを呼び出します | 処理のためにその出力宛先を準備します。OPEN 要求の状況をコンパイラーに渡します。 |
| コンパイラーが SYSADATA レコードを書き込んだときに、その SYSADATA のアドレスと長さを与え、PUT 命令コードを使用してこの出口モジュールを呼び出します | PUT 要求の状況を戻りコードによってコンパイラーに渡します |
| データの終わりが存在するときに、CLOSE 命令コードを使用して出口モジュールを呼び出します | すべてのリソースを解放します |
コンパイラーはパラメーター・リストを使用して、出口モジュールと連絡します。パラメーター・リストはアドレスが入っている 10 個のフルワードで構成され、レジスター 1 にはパラメーター・リストのアドレスが入ります。戻りコード、データ長、およびデータ・バッファー・パラメーターは、出口モジュールによってコンパイラーに戻され、他の項目はコンパイラーから出口モジュールに渡されます。
| Offset | 次のもののアドレスが入る | 項目の説明 |
|---|---|---|
| 00 | ユーザー出口タイプ | 操作を実行するユーザー出口を識別するハーフワード。 4=ADEXIT |
| 04 | 命令コード | 操作のタイプを示すハーフワード。 0=OPEN; 1=CLOSE; 3=PUT |
| 08 | 戻りコード | 出口モジュールによって設定されるフルワードで、要求された操作の成功を示します。 0=操作は成功しました; 12=操作は失敗しました |
| 12 | ユーザー出口作業域 | ユーザー出口モジュールで使用できるように、コンパイラーが提供する 4 フルワードの作業域 |
| 16 | データ長 | PUT 操作によって提供されるレコードの長さを指定するフルワード |
| 20 | データ・バッファーまたは str4 | コンパイラーが PUT 操作によって印刷されるレコードを入れたデータ・バッファーのアドレスが含まれているフルワード。 str4 は OPEN にのみ適用されます。最初のハーフワード (ハーフワード境界上の) にストリングの長さが入り、その後にストリングが続きます。 |
| 24 | 未使用 | (LIBEXIT の専用) |
| 28 | 未使用 | (LIBEXIT の専用) |
| 32 | 未使用 | (LIBEXIT の専用) |
| 36 | 未使用 | (LIBEXIT の専用) |
関連参照
LIBEXIT の処理