UPTとECTを動的に求める
By 神居 - Posted: 2009/11/14 Last updated: 2009/11/14
- Leave a Comment
ただの備忘録です。バッチやTSOなど、動く環境を固定しないで、呼び出された環境に応じて、メッセージを出力するサブルーチンを作るような場合に使えます。TSOでもTPUTとかで十分ですが、バッチTSO環境でSYSTSPRTにメッセージを出力するなど、PUTLINEを使いたい場合はUPTとECTアドレスが必要になります。
TSOの一部のAPI(PUTLINEやPUTGETなど)で必要とされるUPTとECTは、TSOコマンド・プロセッサー・プログラムであれば、入口点におけるGR1が示すCPPLに入っている。しかし汎用的なサブルーチンとして動くプログラムなどで、CPPLがわからない場合(呼び出し元からCPPLを渡されない場合)、PSCBとLWAから求められる。
ASCB→ASXB→LWA→PSCB→UPT、ASCB→ASXB→LWA→ECT、とたどることができる。
----+----1----+----2----+----3----+----4----+----5----+----6----+----7-- L R1,PSAAOLD-PSA(0,0) LOAD ASCB L R1,ASCBASXB-ASCB(,R1) LOAD ASXB L R1,ASXBLWA-ASXB(,R1) LOAD LWA L R4,LWAPSCB-LWA(,R1) LOAD PSCB L R4,PSCBUPT-PSCB(,R4) LOAD UPT L R5,LWAPECT-LWA(,R1) LOAD ECT L RF,CVTPTR LOAD CVT L RF,CVTPTGT-CVT(,RF) LOAD TSO PUTGET ROUTINE ENTRY PUTGET PARM=IRBPGPB, + UPT=(4),ECT=(5), + ECB=IRBPGECB, + OUTPUT=(IRBOLD,SINGLE,MODE), + TERMPUT=(ASIS,WAIT,NOHOLD,NOBREAK), + TERMGET=(EDIT,WAIT), + ENTRY=(15),MF=(E,IRBIOPL)
Posted in システムプログラマーのための手引きいろいろ • • Top Of Page