動的起動で ATTACH または LINK マクロを使用して、アセンブラー・プログラム内から Enterprise COBOL コンパイラーを開始することができます。 コンパイラー・オプションおよび処理時に使用するデータ・セットの DD 名を指定する必要があります。
以下に例を示します。
symbol {LINK|ATTACH} EP=IGYCRCTL,PARAM=(optionlist[,ddnamelist]),VL=1
アドレス・パラメーター・リストの最初のフルワードには、COBOLoptionlist のアドレスが入っています。2 番目のフルワードには、ddnamelist のアドレスが入っています。3 番目と 4 番目のフルワードには、NULL パラメーターまたは 0 が入っています。
optionlist はハーフワード境界から始めなければなりません。高位の 2 バイトには、このリストの残りの部分にあるバイト数のカウントが含まれます。オプションが指定されない場合、このカウントは 0 でなければなりません。optionlist は、各フィールドが次のフィールドとコンマで区切られて、自由形式です。ブランクまたはゼロは使用できません。 コンパイラーは最初の 100 文字のみを認識します。
ddnamelist はハーフワード境界から始めなければなりません。高位の 2 バイトには、このリストの残りの部分にあるバイト数のカウントが含まれます。8 バイト未満の名前は、左寄せにしてブランクで埋め込む必要があります。代替 DD 名がリストから省略されている場合、標準名が想定されます。名前が省略されている場合、8 バイトの記入項目には 2 進数 0 が入っていなければなりません。リストを短縮して、終わりから名前を省略することができます。
指定された SYSUTn データ・セットはすべて直接アクセス記憶装置上になければならず、物理順次編成をもっていなければなりません。これらのデータ・セットが HFS に常駐していてはなりません。
次の表に、ddnamelist 内の 8 バイトの記入項目のシーケンスを示します。
| 代替 DD 名 8 バイト項目 | 代替 DD 名が置き換えられる名前 |
|---|---|
| 1 | SYSLIN |
| 2 | 適用されない |
| 3 | 適用されない |
| 4 | SYSLIB |
| 5 | SYSIN |
| 6 | SYSPRINT |
| 7 | SYSPUNCH |
| 8 | SYSUT1 |
| 9 | SYSUT2 |
| 10 | SYSUT3 |
| 11 | SYSUT4 |
| 12 | SYSTERM |
| 13 | SYSUT5 |
| 14 | SYSUT6 |
| 15 | SYSUT7 |
| 16 | SYSADATA |
| 17 | SYSJAVA |
| 18 | SYSDEBUG |
| 19 | SYSMDECK |
| 20 | SYSOPTF |
| 21 | DBRMLIB |
コンパイラーは、処理を完了すると、レジスター 15 に戻りコードを書き込みます。
関連タスク
コンパイラー入出力の定義