アセンブラー サポートには、多数のマクロと SVC (Supervisor 呼び出し) が組み込まれています。 サポート対象のマクロと SVC は、メインフレームの相当するマクロおよび SVC と互換性があるため、PC 環境に対してコードを変更する必要はありません。
ただし、一部のマクロ オプションはサポートされていません。つまり、これらのオプションはコンパイルしますが、実行時の効果はありません。スタブ形式でサポートされているマクロもあります。これは、マクロ コードは存在しますが、単に制御を呼び出し元のプログラムに戻すだけです。これらのスタブは、PC 上で機能しないタスクを実行するマクロ用に用意されています。スタブ マクロの例は、 %ProgramFiles%\Micro Focus\Visual COBOLinclude\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 はありません。 |