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