COBOL / JCLからアセンブラを呼び出す方法。検討すべきトレードオフ。

COBOLとJCLからアセンブラ(アセンブリ言語)を呼び出す方法をご紹介します。

COBOLからアセンブラを呼び出す方法

COBOLプログラムからアセンブリ言語を呼び出すには、CALL文を使用します。他のCOBOLプログラムを呼び出すのと同様です。

サンプルソース

IDENTIFICATION DIVISION.
PROGRAM-ID. COBOLMAIN.
...
PROCEDURE DIVISION.
...
CALL 'MYPROG' USING ARG1, ARG2, ARG3.
...

JCLからアセンブラを呼び出す方法

JCLからアセンブリ言語を呼び出すには、次のように呼び出します。他のCOBOLプログラムを呼び出すのと同様です。

サンプルソース

//RUNJOB JOB 'YOURID',NOTIFY=&SYSUID
//RUN EXEC PGM=MYPROG,PARM='PARAM1,PARAM2'
//STEPLIB DD DSN=YOURID.ASSEMBLY.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=A

アセンブラを呼び出す場合のトレードオフ

COBOLでもJCLでも、COBOLを呼び出すときと同じようにアセンブラを呼び出すことが出来ました。

アセンブラはCPUを直接制御するため、使用することでパフォーマンスが向上したりハードウェア制御の柔軟性が向上することが考えられます。しかし、アセンブラは可読性が低く保守が困難です。また、ハードウェアやオペレーティングシステムに依存するため、他の環境への移植性が低くなります。

これらのメリットとデメリットを考慮し、トレードオフを検討して、COBOLとアセンブリ言語の組み合わせを選択するかどうか、あるいはどのように組み合わせるかを判断することが重要です。