メインフレームOSをCent OS下で動かす(Hello World)

前回[メインフレームOSをCent OS下で動かす](http://qiita.com/madilloar/items/7966d6191924e13483ec)の続きです。HelloWorldをやるとしていたので。

以下は、MVSが起動している前提で書いています。

#7. MVSでHelloWorld
##7.1. ソケットリーダーからMVSにJOBを投入できるようにする
ウィルスチェックで引っかかり、netcatをいストールしていないので、別のやり方でソケットリーダにJOBを投入できるようにする。
次のURLを参考にする。
[Submitting jobs via a socket reader](http://www.bsp-gmbh.com/turnkey/cookbook/hercules/hercrdr.html)
次のPerlスクリプトを/home/hercules/mvs38j/jcl直下に「hercsub」というファイル名で作る。

```bash:
[hercules@localhost jcl]$ pwd
/home/hercules/mvs38j/jcl
[hercules@localhost jcl]$ vi hercsub
```

```perl:
#!/usr/bin/perl
use Socket;
use IO::Socket::UNIX;
use IO::Socket::INET;

if (@ARGV < 1) {
  print STDERR "Usage: hercsub socket_spec [job]\n";
  exit 2;
}

my $spec = shift @ARGV;
my $sock;

if ($spec =~ m{^/}) {
  $sock = IO::Socket::UNIX->new(Peer => $spec);
} else {
  $sock = IO::Socket::INET->new(PeerAddr => $spec);
}

die "Failed to connect to socket $spec: $!\n" unless defined($sock);

while (<>) {
  print $sock $_;
}
```

##7.2. Hello Worldをマスターコンソールに出力するプログラムを作成します。
次のJCLを/home/hercules/mvs38j/jcl直下に「hellocob.jcl」というファイル名で作る。
各行は可変長で改行文字はLF,CRLFどちらもでOKです。
※カードリーダなら、1レコード80文字で、行末までスペースを埋めないとダメかと思っていましたが、可変長でOKした。

```jcl:hellocob.jcl
//COBOL    JOB ,'MADILLOAR',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
//*********************************************************************
//*        DEFINE COMPILE AND LINK AND EXECUTE PROCEDURE
//*********************************************************************
//CLEXEC   PROC
//*--------------------------------------------------------------------
//*        COMPILE
//*--------------------------------------------------------------------
//COMPILE  EXEC PGM=IKFCBL00,REGION=4096K,
//         PARM='NOSEQ,DMAP,PMAP'
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD SYSOUT=*
//SYSLIB   DD UNIT=SYSDA,SPACE=(TRK,(1,,1))
//SYSUT1   DD UNIT=SYSDA,SPACE=(460,(700,100))
//SYSUT2   DD UNIT=SYSDA,SPACE=(460,(700,100))
//SYSUT3   DD UNIT=SYSDA,SPACE=(460,(700,100))
//SYSUT4   DD UNIT=SYSDA,SPACE=(460,(700,100))
//SYSLIN   DD DISP=(MOD,PASS),UNIT=SYSDA,SPACE=(80,(500,100))
//*--------------------------------------------------------------------
//*        LINK
//*--------------------------------------------------------------------
//LINK     EXEC PGM=IEWL,REGION=2048K,
//         PARM='LIST,LET,MAP,XREF'
//SYSPRINT DD SYSOUT=*
//SYSLIN   DD DISP=(OLD,DELETE),DSNAME=*.COMPILE.SYSLIN
//         DD DDNAME=SYSIN
//SYSLMOD  DD DISP=(,PASS),DSNAME=&GODATA(RUN),
//            UNIT=SYSDA,SPACE=(1024,(50,20,1))
//SYSLIB   DD DISP=SHR,DSNAME=SYS1.COBLIB
//SYSUT1   DD UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)),SPACE=(1024,(50,20))
//*--------------------------------------------------------------------
//*        EXECUTE
//*--------------------------------------------------------------------
//EXECUTE  EXEC PGM=*.LINK.SYSLMOD,COND=((5,LT,COMPILE),(5,LT,LINK))
//SYSPRINT DD SYSOUT=*
//         PEND
//*********************************************************************
//*        LIKE HERE DOCUMENT
//*********************************************************************
//HEREDOC  EXEC CLEXEC
//COMPILE.SYSIN DD *
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID.  'HELLO-WORLD'.
000300 ENVIRONMENT DIVISION.
000400 CONFIGURATION SECTION.
000500 DATA DIVISION.
000600 WORKING-STORAGE SECTION.
000700 77  HELLO-MSG     PIC X(12) VALUE 'Hello World!'.
000800*--1----+----2----+----3----+----4----+----5----+----6----+----7--
000900 PROCEDURE DIVISION.
001000     DISPLAY HELLO-MSG UPON CONSOLE.
001100     GOBACK.
//
//
```

##7.3. hellocob.jclを上記hercsubでMVSに流しSUBMITします。
「./hercsub localhost:3505 hellocob.jc」と入力し、「Enter」を入力します。

```bash:
[hercules@localhost jcl]$ pwd
/home/hercules/mvs38j/jcl
[hercules@localhost jcl]$ ./hercsub localhost:3505 hellocob.jcl
[hercules@localhost jcl]$ 
```

##7.4. 結果確認
マスターコンソールを見ると、次のようになっています。
ちょっとわかりにくいですが、「+Hello World!」と出ています。

```bash:
      JOB   13  $HASP100 COBOL    ON READER1     MADILLOAR
      JOB   13  IEF677I WARNING MESSAGE(S) FOR JOB COBOL    ISSUED
    - JOB   13  $HASP373 COBOL    STARTED - INIT  1 - CLASS A - SYS BSP1
    - JOB   13  IEF403I COBOL - STARTED - TIME=16.28.17
  00- JOB   13  +Hello World!
    - JOB   13  IEF404I COBOL - ENDED - TIME=16.28.18
    - JOB   13  $HASP395 COBOL    ENDED
                $HASP309    INIT  1 INACTIVE ******** C=A
      JOB   13  $HASP150 COBOL    ON PRINTER1       382 LINES
                $HASP160 PRINTER1 INACTIVE - CLASS=A
      JOB   13  $HASP250 COBOL    IS PURGED
```

##7.5. プリンタ出力確認
プリンタ出力イメージも確認できます。

もし、マスタコンソールの上段に太字で

```bash:
0200 14.58.11 STC   26 *$HASP190 MF1      SETUP -- PRINTER1 -- F = 0001 -- C = 6    -- T = QN
```

と表示されていたら、マスタコンソールで「$SPRT1」と入力し、「Enter」を入力します。

```bash:
  IEE152I     ENTER     CANCEL     D C,K
  $SPRT1

  IEE163I MODE= RD
```

これは、プリンタに用紙がセットされていない場合を考慮して、一時保留してくれているとのこと。
Herculesエミュレータではテキストファイルに出力なので、気にならないですが・・・。

```bash:
[hercules@localhost jcl]$ pwd
/home/hercules/mvs38j/prt
[hercules@localhost prt]$ cat prt00e.txt
```

```text:
                                       CCCCCCCCCC   OOOOOOOOOOOO  BBBBBBBBBBB   OOOOOOOOOOOO  LL
                                     CCCCCCCCCCCC  OOOOOOOOOOOO  BBBBBBBBBBBB  OOOOOOOOOOOO  LL
                                    CC        CC  OO        OO  BB        BB  OO        OO  LL
                                   CC            OO        OO  BB        BB  OO        OO  LL
                                  CC            OO        OO  BB       BB   OO        OO  LL
                                 CC            OO        OO  BBBBBBBBBB    OO        OO  LL
                                CC            OO        OO  BBBBBBBBBB    OO        OO  LL
                               CC            OO        OO  BB       BB   OO        OO  LL
                              CC            OO        OO  BB        BB  OO        OO  LL
                             CC        CC  OO        OO  BB        BB  OO        OO  LL
                            CCCCCCCCCCCC  OOOOOOOOOOOO  BBBBBBBBBBBB  OOOOOOOOOOOO  LLLLLLLLLLLL
                            CCCCCCCCCC   OOOOOOOOOOOO  BBBBBBBBBBB   OOOOOOOOOOOO  LLLLLLLLLLLL



                    JJJJJJJJJJ       11        3333333333                                              AAAAAAAAAA
                    JJJJJJJJJJ      111       333333333333                                            AAAAAAAAAAAA
                        JJ         1111       33        33                                            AA        AA
                        JJ           11                 33                                            AA        AA
                        JJ           11                 33                                            AA        AA
                        JJ           11              3333                                             AAAAAAAAAAAA
                        JJ           11              3333                                             AAAAAAAAAAAA
                        JJ           11                 33                                            AA        AA
                  JJ    JJ           11                 33                                            AA        AA
                  JJ    JJ           11       33        33                                            AA        AA
                  JJJJJJJJ       1111111111   333333333333                                            AA        AA
                   JJJJJJ        1111111111    3333333333                                             AA        AA


****A  START  JOB   13  COBOL     MADILLOAR             ROOM        4.28.18 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13  START  A****
****A  START  JOB   13  COBOL     MADILLOAR             ROOM        4.28.18 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13  START  A****
****A  START  JOB   13  COBOL     MADILLOAR             ROOM        4.28.18 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13  START  A****
****A  START  JOB   13  COBOL     MADILLOAR             ROOM        4.28.18 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13  START  A****
                                                J E S 2   J O B   L O G


16.28.17 JOB   13  IEF677I WARNING MESSAGE(S) FOR JOB COBOL    ISSUED
16.28.17 JOB   13  $HASP373 COBOL    STARTED - INIT  1 - CLASS A - SYS BSP1
16.28.17 JOB   13  IEF403I COBOL - STARTED - TIME=16.28.17
16.28.18 JOB   13  IEFACTRT - Stepname  Procstep  Program   Retcode
16.28.18 JOB   13  COBOL      HEREDOC   COMPILE   IKFCBL00  RC= 0000
16.28.18 JOB   13  COBOL      HEREDOC   LINK      IEWL      RC= 0000
16.28.18 JOB   13  +Hello World!
16.28.18 JOB   13  COBOL      HEREDOC   EXECUTE   PGM=*.DD  RC= 0000
16.28.18 JOB   13  IEF404I COBOL - ENDED - TIME=16.28.18
16.28.18 JOB   13  $HASP395 COBOL    ENDED


------ JES2 JOB STATISTICS ------


 16 MAY 16 JOB EXECUTION DATE


        54 CARDS READ


       382 SYSOUT PRINT RECORDS


         0 SYSOUT PUNCH RECORDS


      0.03 MINUTES EXECUTION TIME
    1     //COBOL    JOB ,'MADILLOAR',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)           JOB   13
          ***********************************************************************
          ***        DEFINE COMPILE AND LINK AND EXECUTE PROCEDURE
          ***********************************************************************
          //CLEXEC   PROC
          //*--------------------------------------------------------------------
          //*        COMPILE
          //*--------------------------------------------------------------------
          //COMPILE  EXEC PGM=IKFCBL00,REGION=4096K,
          //         PARM='NOSEQ,DMAP,PMAP'
          //SYSPRINT DD SYSOUT=*
          //SYSPUNCH DD SYSOUT=*
          //SYSLIB   DD UNIT=SYSDA,SPACE=(TRK,(1,,1))
          //SYSUT1   DD UNIT=SYSDA,SPACE=(460,(700,100))
          //SYSUT2   DD UNIT=SYSDA,SPACE=(460,(700,100))
          //SYSUT3   DD UNIT=SYSDA,SPACE=(460,(700,100))
          //SYSUT4   DD UNIT=SYSDA,SPACE=(460,(700,100))
          //SYSLIN   DD DISP=(MOD,PASS),UNIT=SYSDA,SPACE=(80,(500,100))
          //*--------------------------------------------------------------------
          //*        LINK
          //*--------------------------------------------------------------------
          //LINK     EXEC PGM=IEWL,REGION=2048K,
          //         PARM='LIST,LET,MAP,XREF'
          //SYSPRINT DD SYSOUT=*
          //SYSLIN   DD DISP=(OLD,DELETE),DSNAME=*.COMPILE.SYSLIN
          //         DD DDNAME=SYSIN
          //SYSLMOD  DD DISP=(,PASS),DSNAME=&GODATA(RUN),
          //            UNIT=SYSDA,SPACE=(1024,(50,20,1))
          //SYSLIB   DD DISP=SHR,DSNAME=SYS1.COBLIB
          //SYSUT1   DD UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)),SPACE=(1024,(50,20))
          //*--------------------------------------------------------------------
          //*        EXECUTE
          //*--------------------------------------------------------------------
          //EXECUTE  EXEC PGM=*.LINK.SYSLMOD,COND=((5,LT,COMPILE),(5,LT,LINK))
          //SYSPRINT DD SYSOUT=*
          //         PEND
          ***********************************************************************
          ***        LIKE HERE DOCUMENT
          ***********************************************************************
    2     //HEREDOC  EXEC CLEXEC
    3     ++CLEXEC   PROC
          ***--------------------------------------------------------------------
          ***        COMPILE
          ***--------------------------------------------------------------------
    4     ++COMPILE  EXEC PGM=IKFCBL00,REGION=4096K,
          ++         PARM='NOSEQ,DMAP,PMAP'
    5     ++SYSPRINT DD SYSOUT=*
    6     ++SYSPUNCH DD SYSOUT=*
    7     ++SYSLIB   DD UNIT=SYSDA,SPACE=(TRK,(1,,1))
    8     ++SYSUT1   DD UNIT=SYSDA,SPACE=(460,(700,100))
    9     ++SYSUT2   DD UNIT=SYSDA,SPACE=(460,(700,100))
   10     ++SYSUT3   DD UNIT=SYSDA,SPACE=(460,(700,100))
   11     ++SYSUT4   DD UNIT=SYSDA,SPACE=(460,(700,100))
   12     ++SYSLIN   DD DISP=(MOD,PASS),UNIT=SYSDA,SPACE=(80,(500,100))
          ***--------------------------------------------------------------------
          ***        LINK
          ***--------------------------------------------------------------------
   13     //COMPILE.SYSIN DD *
   14     ++LINK     EXEC PGM=IEWL,REGION=2048K,
          ++         PARM='LIST,LET,MAP,XREF'
   15     ++SYSPRINT DD SYSOUT=*
   16     ++SYSLIN   DD DISP=(OLD,DELETE),DSNAME=*.COMPILE.SYSLIN
   17     ++         DD DDNAME=SYSIN
   18     ++SYSLMOD  DD DISP=(,PASS),DSNAME=&GODATA(RUN),
          ++            UNIT=SYSDA,SPACE=(1024,(50,20,1))
   19     ++SYSLIB   DD DISP=SHR,DSNAME=SYS1.COBLIB
   20     ++SYSUT1   DD UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)),SPACE=(1024,(50,20))
          ***--------------------------------------------------------------------
          ***        EXECUTE
          ***--------------------------------------------------------------------
   21     ++EXECUTE  EXEC PGM=*.LINK.SYSLMOD,COND=((5,LT,COMPILE),(5,LT,LINK))
   22     ++SYSPRINT DD SYSOUT=*
          //
STMT NO. MESSAGE
-
   21     IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD IN PRIOR STEP WAS NOT RESOLVED
IEF236I ALLOC. FOR COBOL COMPILE HEREDOC
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I JES2 ALLOCATED TO SYSPUNCH
IEF237I 14C  ALLOCATED TO SYSLIB
IEF237I 14A  ALLOCATED TO SYSUT1
IEF237I 151  ALLOCATED TO SYSUT2
IEF237I 180  ALLOCATED TO SYSUT3
IEF237I 190  ALLOCATED TO SYSUT4
IEF237I 340  ALLOCATED TO SYSLIN
IEF237I JES2 ALLOCATED TO SYSIN
IEF142I COBOL COMPILE HEREDOC - STEP WAS EXECUTED - COND CODE 0000
IEF285I   JES2.JOB00013.SO0102                         SYSOUT
IEF285I   JES2.JOB00013.SO0103                         SYSOUT
IEF285I   SYS16137.T162817.RA000.COBOL.R0000001        DELETED       *--------0
IEF285I   VOL SER NOS= SMP004.
IEF285I   SYS16137.T162817.RA000.COBOL.R0000002        DELETED       *--------6
IEF285I   VOL SER NOS= SMP002.
IEF285I   SYS16137.T162817.RA000.COBOL.R0000003        DELETED       *--------6
IEF285I   VOL SER NOS= SPOOL0.
IEF285I   SYS16137.T162817.RA000.COBOL.R0000004        DELETED       *--------9
IEF285I   VOL SER NOS= WORK02.
IEF285I   SYS16137.T162817.RA000.COBOL.R0000005        DELETED       *--------3
IEF285I   VOL SER NOS= WORK03.
IEF285I   SYS16137.T162817.RA000.COBOL.R0000006        PASSED        *-------22
IEF285I   VOL SER NOS= CBT000.
IEF285I   JES2.JOB00013.SI0101                         SYSIN
IEF373I STEP /COMPILE / START 16137.1628
IEF374I STEP /COMPILE / STOP  16137.1628 CPU    0MIN 00.17SEC SRB    0MIN 00.18SEC VIRT   108K SYS   212K
************************************************************************************************************************************
*     1. Jobstep of job: COBOL       Stepname: COMPILE     Program name: IKFCBL00   Executed on 16.05.16 from 16.28.17 to 16.28.18 *
*         elapsed time  24:00:01,12                      CPU-Identifier:  BSP1           Page-in:      0                           *
*             CPU time  00:00:00,35               Virtual Storage used:    108K         Page-out:      0                           *
*           corr. CPU:  00:00:00,35   CPU time has been corrected by  1 / 1,0  multiplier                                          *
*                                                                                                                                  *
*     I/O Operation                                                                                                                *
*     Number of records read via DD * or DD DATA:     11                                                                           *
*     DMY.......0 DMY.......0 14C.......0 14A.......6 151.......6 180.......9 190.......3 340......22 DMY.......0                  *
*                                                                                                                                  *
*                                          Charge for step (w/o SYSOUT):          0,58                                             *
************************************************************************************************************************************
IEF236I ALLOC. FOR COBOL LINK HEREDOC
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I 340  ALLOCATED TO SYSLIN
IEF237I DMY  ALLOCATED TO
IEF237I 149  ALLOCATED TO SYSLMOD
IEF237I 148  ALLOCATED TO SYSLIB
IEF237I 170  ALLOCATED TO SYSUT1
IEF142I COBOL LINK HEREDOC - STEP WAS EXECUTED - COND CODE 0000
IEF285I   JES2.JOB00013.SO0104                         SYSOUT
IEF285I   SYS16137.T162817.RA000.COBOL.R0000006        DELETED       *-------23
IEF285I   VOL SER NOS= CBT000.
IEF285I   SYS16137.T162817.RA000.COBOL.GODATA          PASSED        *-------10
IEF285I   VOL SER NOS= SMP001.
IEF285I   SYS1.COBLIB                                  KEPT          *-------17
IEF285I   VOL SER NOS= MVSRES.
IEF285I   SYS16137.T162817.RA000.COBOL.R0000007        DELETED       *--------0
IEF285I   VOL SER NOS= WORK01.
IEF373I STEP /LINK    / START 16137.1628
IEF374I STEP /LINK    / STOP  16137.1628 CPU    0MIN 00.10SEC SRB    0MIN 00.03SEC VIRT   196K SYS   200K
************************************************************************************************************************************
*     2. Jobstep of job: COBOL       Stepname: LINK        Program name: IEWL       Executed on 16.05.16 from 16.28.18 to 16.28.18 *
*         elapsed time  24:00:00,43                      CPU-Identifier:  BSP1           Page-in:      0                           *
*             CPU time  00:00:00,13               Virtual Storage used:    196K         Page-out:      0                           *
*           corr. CPU:  00:00:00,13   CPU time has been corrected by  1 / 1,0  multiplier                                          *
*                                                                                                                                  *
*     I/O Operation                                                                                                                *
*     Number of records read via DD * or DD DATA:      0                                                                           *
*     DMY.......0 340......23 DMY.......0 149......10 148......17 170.......0                                                      *
*                                                                                                                                  *
*                                          Charge for step (w/o SYSOUT):          0,21                                             *
************************************************************************************************************************************
IEF236I ALLOC. FOR COBOL EXECUTE HEREDOC
IEF237I 149  ALLOCATED TO PGM=*.DD
IEF237I JES2 ALLOCATED TO SYSPRINT
Hello World!
IEF142I COBOL EXECUTE HEREDOC - STEP WAS EXECUTED - COND CODE 0000
IEF285I   SYS16137.T162817.RA000.COBOL.GODATA          KEPT          *--------0
IEF285I   VOL SER NOS= SMP001.
IEF285I   JES2.JOB00013.SO0105                         SYSOUT
IEF373I STEP /EXECUTE / START 16137.1628
IEF374I STEP /EXECUTE / STOP  16137.1628 CPU    0MIN 00.02SEC SRB    0MIN 00.00SEC VIRT     8K SYS   184K
************************************************************************************************************************************
*     3. Jobstep of job: COBOL       Stepname: EXECUTE     Program name: PGM=*.DD   Executed on 16.05.16 from 16.28.18 to 16.28.18 *
*         elapsed time  24:00:00,05                      CPU-Identifier:  BSP1           Page-in:      0                           *
*             CPU time  00:00:00,02               Virtual Storage used:      8K         Page-out:      0                           *
*           corr. CPU:  00:00:00,02   CPU time has been corrected by  1 / 1,0  multiplier                                          *
*                                                                                                                                  *
*     I/O Operation                                                                                                                *
*     Number of records read via DD * or DD DATA:      0                                                                           *
*     149.......0 DMY.......0                                                                                                      *
*                                                                                                                                  *
*                                          Charge for step (w/o SYSOUT):          0,03                                             *
************************************************************************************************************************************
IEF237I 149  ALLOCATED TO SYS00001
IEF285I   SYS16137.T162818.RA000.COBOL.R0000001        KEPT          *--------0
IEF285I   VOL SER NOS= SMP001.
IEF285I   SYS16137.T162817.RA000.COBOL.GODATA          DELETED
IEF285I   VOL SER NOS= SMP001.
IEF375I  JOB /COBOL   / START 16137.1628
IEF376I  JOB /COBOL   / STOP  16137.1628 CPU    0MIN 00.29SEC SRB    0MIN 00.21SEC
  CB545 V2 LVL78 01MAY72                 IBM OS AMERICAN NATIONAL STANDARD COBOL                       DATE MAY 16,1916


   1


00001   000100 IDENTIFICATION DIVISION.
00002   000200 PROGRAM-ID.  'HELLO-WORLD'.
00003   000300 ENVIRONMENT DIVISION.
00004   000400 CONFIGURATION SECTION.
00005   000500 DATA DIVISION.
00006   000600 WORKING-STORAGE SECTION.
00007   000700 77  HELLO-MSG     PIC X(12) VALUE 'Hello World!'.
00008   000800*--1----+----2----+----3----+----4----+----5----+----6----+----7--
00009   000900 PROCEDURE DIVISION.
00010   001000     DISPLAY HELLO-MSG UPON CONSOLE.
00011   001100     GOBACK.    2


       INTRNL NAME   LVL SOURCE NAME                     BASE   DISPL   INTRNL NAME   DEFINITION   USAGE      R  O  Q  M
       DNM=1-032     77  HELLO-MSG                       BL=1     000   DNM=1-032     DS 12C       DISP    3




                         MEMORY MAP

                    TGT                     00090

               SAVE AREA                    00090
               SWITCH                       000D8
               TALLY                        000DC
               SORT SAVE                    000E0
               ENTRY-SAVE                   000E4
               SORT CORE SIZE               000E8
               RET CODE                     000EC
               SORT RET                     000EE
               WORKING CELLS                000F0
               SORT FILE SIZE               00220
               SORT MODE SIZE               00224
               PGT-VN TBL                   00228
               TGT-VN TBL                   0022C
               VCONPTR                      00230
               LENGTH OF VN TBL             00234
               LABEL RET                    00236
               UNUSED                       00237
               INIT1 ADCON                  00240
               UNUSED                       00244
               OVERFLOW CELLS               0024C
               BL CELLS                     0024C
               DECBADR CELLS                00250
               TEMP STORAGE                 00250
               TEMP STORAGE-2               00250
               TEMP STORAGE-3               00250
               TEMP STORAGE-4               00250
               BLL CELLS                    00250
               VLC CELLS                    00258
               SBL CELLS                    00258
               INDEX CELLS                  00258
               SUBADR CELLS                 00258
               ONCTL CELLS                  00258
               PFMCTL CELLS                 00258
               PFMSAV CELLS                 00258
               VN CELLS                     00258
               SAVE AREA =2                 00258
               SAVE AREA =3                 00258
               XSASW CELLS                  00258
               XSA CELLS                    00258
               PARAM CELLS                  00258
               RPTSAV AREA                  00258
               CHECKPT CTR                  00258
               VCON TBL                     00258    4




                    PGT                     00260

               OVERFLOW CELLS               00260
               VIRTUAL CELLS                00260
               PROCEDURE NAME CELLS         0026C
               GENERATED NAME CELLS         0026C
               DCB ADDRESS CELLS            0026C
               VNI CELLS                    0026C
               LITERALS                     00270
               DISPLAY LITERALS             00270


  REGISTER ASSIGNMENT

   REG 6   BL =1

 10      DISPLAY    000270                     START    EQU   *
                    000270  58 F0 C 004                 L     15,004(0,12)          V(ILBODSP0)
                    000274  05 1F                       BALR  1,15
                    000276  0002                        DC    X'0002'
                    000278  00                          DC    X'00'
                    000279  00000C                      DC    X'00000C'
                    00027C  0D0001BC                    DC    X'0D0001BC'           BL =1
                    000280  0000                        DC    X'0000'
                    000282  FFFF                        DC    X'FFFF'
 11      GOBACK     000284  58 F0 D 1B0                 L     15,1B0(0,13)
                    000288  90 0E F 038                 STM   0,14,038(15)
                    00028C  58 10 D 1C8                 L     1,1C8(0,13)           SAV2
                    000290  05 F0                       BALR  15,0
                    000292  91 10 D 048                 TM    048(13),X'10'         SWT+0
                    000296  47 E0 F 00E                 BC    14,00E(0,15)
                    00029A  58 F0 C 008                 L     15,008(0,12)          V(ILBOSTP1)
                    00029E  07 FF                       BCR   15,15
                    0002A0  48 F0 D 05C                 LH    15,05C(0,13)
                    0002A4  58 D0 D 004                 L     13,004(0,13)
                    0002A8  98 0C D 014                 LM    0,12,014(13)
                    0002AC  58 E0 D 00C                 L     14,00C(0,13)
                    0002B0  07 FE                       BCR   15,14
                    0002B2  50 D0 5 008        INIT2    ST    13,008(0,5)
                    0002B6  50 50 D 004                 ST    5,004(0,13)
                    0002BA  50 E0 D 054                 ST    14,054(0,13)
                    0002BE  94 EF D 048                 NI    048(13),X'EF'         SWT+0
                    0002C2  58 F0 C 000                 L     15,000(0,12)          VIR=1
                    0002C6  05 EF                       BALR  14,15
                    0002C8  50 10 D 1B8                 ST    1,1B8(0,13)
                    0002CC  12 00                       LTR   0,0
                    0002CE  07 89                       BCR   8,9
                    0002D0  96 10 D 048                 OI    048(13),X'10'         SWT+0
                    0002D4  05 F0              INIT3    BALR  15,0
                    0002D6  91 20 D 048                 TM    048(13),X'20'         SWT+0
                    0002DA  47 E0 F 016                 BC    14,016(0,15)
                    0002DE  58 00 B 038                 L     0,038(0,11)
                    0002E2  98 2D B 040                 LM    2,13,040(11)
                    0002E6  58 E0 D 054                 L     14,054(0,13)
                    0002EA  07 FE                       BCR   15,14    5


                    0002EC  96 20 D 048                 OI    048(13),X'20'         SWT+0
                    0002F0  41 60 0 004                 LA    6,004(0,0)
                    0002F4  41 10 C 00C                 LA    1,00C(0,12)           GN=01
                    0002F8  41 70 C 010                 LA    7,010(0,12)           LIT+0
                    0002FC  06 70                       BCTR  7,0
                    0002FE  05 50                       BALR  5,0
                    000300  58 40 1 000                 L     4,000(0,1)
                    000304  1E 4B                       ALR   4,11
                    000306  50 40 1 000                 ST    4,000(0,1)
                    00030A  87 16 5 000                 BXLE  1,6,000(5)
                    00030E  41 80 D 1BC                 LA    8,1BC(0,13)           OVF=1
                    000312  41 70 D 1BF                 LA    7,1BF(0,13)           TS=01-1
                    000316  05 10                       BALR  1,0
                    000318  58 00 8 000                 L     0,000(0,8)
                    00031C  1E 0B                       ALR   0,11
                    00031E  50 00 8 000                 ST    0,000(0,8)
                    000322  87 86 1 000                 BXLE  8,6,000(1)
                    000326  58 60 D 1BC                 L     6,1BC(0,13)           BL =1
                    00032A  58 E0 D 054                 L     14,054(0,13)
                    00032E  07 FE                       BCR   15,14
                    000000  07 00              INIT1    BCR   0,0
                    000002  90 EC D 00C                 STM   14,12,00C(13)
                    000006  18 5D                       LR    5,13
                    000008  05 F0                       BALR  15,0
                    00000A  98 9F F 012                 LM    9,15,012(15)
                    00000E  07 FF                       BCR   15,15
                    000010  96 02 1 034                 OI    034(1),X'02'
                    000014  07 FE                       BCR   15,14
                    000016  41 F0 0 001                 LA    15,001(0,0)
                    00001A  07 FE                       BCR   15,14
                    00001C  000002D4                    ADCON L4(INIT3)
                    000020  00000000                    ADCON L4(INIT1)
                    000024  00000000                    ADCON L4(INIT1)
                    000028  00000260                    ADCON L4(PGT)
                    00002C  00000090                    ADCON L4(TGT)
                    000030  00000270                    ADCON L4(START)
                    000034  000002B2                    ADCON L4(INIT2)
                    000038                              DS    15F
                    000074  FFFFFFFF                    DC    X'FFFFFFFF'
                    000078  C8C5D3D3D6F0E6D6            DC    X'C8C5D3D3D6F0E6D6'



*STATISTICS*     SOURCE RECORDS =    11     DATA DIVISION STATEMENTS =     1     PROCEDURE DIVISION STATEMENTS =     2
*OPTIONS IN EFFECT*     SIZE =   81920  BUF =    2768  LINECNT = 57  SPACE1, FLAGW, NOSEQ,   SOURCE
*OPTIONS IN EFFECT*       DMAP,   PMAP, NOCLIST,   SUPMAP, NOXREF,   LOAD, NODECK, APOST, NOTRUNC, NOLIB,   VERB
*OPTIONS IN EFFECT*       ZWB
 F64-LEVEL LINKAGE EDITOR OPTIONS SPECIFIED LIST,LET,MAP,XREF
          DEFAULT OPTION(S) USED -  SIZE=(165888,55296)



                                                CROSS REFERENCE TABLE


  CONTROL SECTION                       ENTRY

    NAME    ORIGIN  LENGTH                NAME   LOCATION     NAME   LOCATION     NAME   LOCATION     NAME   LOCATION
  HELLO0WO      00     330
  ILBODSP0*    330     700
  ILBOSTP0*    A30      35
                                        ILBOSTP1     A46



  LOCATION  REFERS TO SYMBOL  IN CONTROL SECTION             LOCATION  REFERS TO SYMBOL  IN CONTROL SECTION
      260            ILBOSTP0        ILBOSTP0                     264            ILBODSP0        ILBODSP0
      268            ILBOSTP1        ILBOSTP0
 ENTRY ADDRESS       00

 TOTAL LENGTH       A68
****RUN       DOES NOT EXIST BUT HAS BEEN ADDED TO DATA SET
AUTHORIZATION CODE IS         0.
                                       CCCCCCCCCC   OOOOOOOOOOOO  BBBBBBBBBBB   OOOOOOOOOOOO  LL
                                     CCCCCCCCCCCC  OOOOOOOOOOOO  BBBBBBBBBBBB  OOOOOOOOOOOO  LL
                                    CC        CC  OO        OO  BB        BB  OO        OO  LL
                                   CC            OO        OO  BB        BB  OO        OO  LL
                                  CC            OO        OO  BB       BB   OO        OO  LL
                                 CC            OO        OO  BBBBBBBBBB    OO        OO  LL
                                CC            OO        OO  BBBBBBBBBB    OO        OO  LL
                               CC            OO        OO  BB       BB   OO        OO  LL
                              CC            OO        OO  BB        BB  OO        OO  LL
                             CC        CC  OO        OO  BB        BB  OO        OO  LL
                            CCCCCCCCCCCC  OOOOOOOOOOOO  BBBBBBBBBBBB  OOOOOOOOOOOO  LLLLLLLLLLLL
                            CCCCCCCCCC   OOOOOOOOOOOO  BBBBBBBBBBB   OOOOOOOOOOOO  LLLLLLLLLLLL



                    JJJJJJJJJJ       11        3333333333                                              AAAAAAAAAA
                    JJJJJJJJJJ      111       333333333333                                            AAAAAAAAAAAA
                        JJ         1111       33        33                                            AA        AA
                        JJ           11                 33                                            AA        AA
                        JJ           11                 33                                            AA        AA
                        JJ           11              3333                                             AAAAAAAAAAAA
                        JJ           11              3333                                             AAAAAAAAAAAA
                        JJ           11                 33                                            AA        AA
                  JJ    JJ           11                 33                                            AA        AA
                  JJ    JJ           11       33        33                                            AA        AA
                  JJJJJJJJ       1111111111   333333333333                                            AA        AA
                   JJJJJJ        1111111111    3333333333                                             AA        AA


****A   END   JOB   13  COBOL     MADILLOAR             ROOM        4.28.19 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13   END   A****
****A   END   JOB   13  COBOL     MADILLOAR             ROOM        4.28.19 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13   END   A****
****A   END   JOB   13  COBOL     MADILLOAR             ROOM        4.28.19 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13   END   A****
****A   END   JOB   13  COBOL     MADILLOAR             ROOM        4.28.19 PM 16 MAY 16  PRINTER1  SYS BSP1  JOB   13   END   A****

```