マクロおよび SVC

アセンブラー サポートには、多数のマクロおよび SVC (Supervisor 呼び出し) が組み込まれています。サポート対象のマクロおよび SVC は、一般に、メインフレームの同等のマクロおよび SVC とは互換性がないため、可能な限り、マクロを使用して目的の SVC 機能を実現してください。

一部のマクロ オプションは、完全にはサポートされていないため、コンパイルはできますが、実行しても効果はありません。スタブ形式でサポートされているマクロもあります。これは、マクロ コードは存在しますが、単に制御を呼び出し元のプログラムに戻すだけです。これらのスタブは、PC 上で機能しないタスクを実行するマクロ用に用意されています。スタブ マクロの例は、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\include\stub.mac にあります。この例を使用して、独自のスタブ マクロを作成できます。

マクロは次の 2 つのカテゴリに分類されます。

多くのアセンブラー サービス マクロは SVC と同じです。マクロとそれに相当する SVC のどちらをコード化するかを選択できますが、通常はマクロを使用する方が簡単です。次の表は、SVC とサービス マクロの関係を示しています。

SVC マクロ 説明
4 GETMAIN L LC LU E EC EU、VC、VU メモリを取得します (リスト、要素および変数の要求)。
5 FREEMAIN L LC LU E EC EU、VC、VU メモリを解放します (リスト、要素および変数の要求)。
6 LINK 別のアセンブラー プログラムにリンクします。
8 LOAD 別のアセンブラー プログラムまたは COBOL プログラムをロードします。
9 DELETE ロードしたモジュールを削除します。
10 GETMAIN R メモリを取得します (R タイプ レジスタ要求)。
11 TIME 時刻と日付を取得します。
13 ABEND プログラムを終了し、可能な場合、アセンブラー デバッガーを開きます。または、異常終了時のプログラムの状態に関する情報を表示します。
14 SPIE 実行中のモジュール内でプログラム例外を処理します。
26 CATALOG および LOCATE データ セットをアンカタログして、データ セットのボリューム リストを戻します。
29 SCRATCH データ セットを削除します。
35 WTO WTOR 画面にメッセージを表示します。画面にメッセージを表示して、応答を待機します。
39 LINKC2 COBOL プログラムにリンクします。
41 IDENTIFY 指定した名前と、すでにロードされたプログラムを関連付けます。
62 実行中のプログラムを削除します。対応するマクロはありません。
99 DYNALLOC 実行時にリソースの割り当てまたは割り当て解除を行います。
103 XLATE ANSI と EBCDIC の間で変換します。
120 GETMAIN (RU、RC、VRC、VRU)、FREEMAIN (R、RU、RC、VRC、VRU)、STORAGE メモリを取得します (RU および RC タイプ レジスタ要求)。メモリを解放します (すべてのタイプのレジスタ要求)。メモリを取得するか、メモリを解放します。
CALL 静的にリンクされたモジュールに制御を移します。対応する SVC はありません。
CAMLST CATALOG、LOCATE または SCRATCH のパラメーター リストを作成します。対応する SVC はありません。
DEQ 連続で再利用可能な 1 つ以上のリソースの制御を放棄します。対応する SVC はありません。
ENQ 連続で再利用可能な 1 つ以上のリソースの制御を要求します。対応する SVC はありません。
EXTRACT 制御ブロックから情報を取得します。対応する SVC はありません。
RETURN レジスタを復元し、戻り先のアドレスを設定します。対応する SVC はありません。
SAVE レジスタを保存します。対応する SVC はありません。
SPLEVEL MVS マクロ互換性のレベルをテストまたは設定します。対応する SVC はありません。
WAIT イベントの完了を待機します。対応する SVC はありません。