* WORKFILE I/O                                          HEADER  C:WFIO  0001.000
*                                                                       0002.000
*              WORKFILE I/O                                             0003.000
*                                                                       0004.000
         M.PGM     C:WFIO,MPX-32,3.6.1,00                               0005.000
*                                                                       0006.000
         DEF       C:OPENWF                                             0007.000
         DEF       C:READWF                                             0008.000
         DEF       C:WRYTWF                                             0009.000
         DEF       C:CLOZWF                                             0010.000
*                                                                       0011.000
*        R2 -> FIT                                                      0012.000
*        R3 -> SCB RECORD AREA                                          0013.000
*                                                                       0014.000
LOGFILCD EQU       0                                                    0015.000
TCW      EQU       4                                                    0016.000
CONTSPEC EQU       8                                                    0017.000
*                                                                       0018.000
         M.EQUS                                                         0019.000
C:OPENWF EQU       $              ENTRY POINT FOR OPEN                  0020.000
         STW       4,LOGFILCD,2   LOGICAL FILE CODE                     0021.000
         LW        5,0,3          FETCH CHARACTER COUNT                 0022.000
         ADI       5,3            FORCE TO WORD COUNT                   0023.000
         SRL       5,2                                                  0024.000
         SLL       5,20           SET UP TCW                            0025.000
         ADR       3,5                                                  0026.000
         ADI       5,2W                                                 0027.000
         STW       5,TCW,2                                              0028.000
         LW        5,CONTROL      SET UP CONTROL                        0029.000
         STW       5,CONTSPEC,2                                         0030.000
*        SBR       2,1            TURN ON READ/WRITE BIT                0031.000
         TRR       2,1                                                  0032.000
* THIS IS WHERE THE SVC HAS BEEN CHANGED FOR COMPATABILITY PURPOSES    *0033.000
************************************************************************0034.000
         LA        7,CNP_TMP                                            0035.000
         SVC       2,X'42'                                              0036.000
*        SVC       1,X'30'          OPEN THE FILE                       0037.000
         TRSW      0              RETURN                                0038.000
         BOUND     4                                                    0039.000
C:READWF EQU       $              ENTRY POINT FOR READ                  0040.000
         LW        5,0,3          FETCH CHARACTER COUNT                 0041.000
         ADI       5,3            FORCE TO WORD COUNT                   0042.000
         SRL       5,2                                                  0043.000
         SLL       5,20           SET UP TCW                            0044.000
         ADR       3,5                                                  0045.000
         ADI       5,2W                                                 0046.000
         STW       5,TCW,2                                              0047.000
         LW        5,CONTSPEC,2   SET UP CONTROL WORD                   0048.000
         ANMW      5,MASK                                               0049.000
         ANMW      4,MASK1         MASK RANDOM ADDRESS         S861069  0050.000
         ADR       4,5                                                  0051.000
         STW       5,CONTSPEC,2                                         0052.000
         TRR       2,1                                                  0053.000
         SVC       1,X'31'          READ THE RECORD                     0054.000
         TRSW      0              RETURN                                0055.000
         BOUND     4                                                    0056.000
C:WRYTWF EQU       $              ENTRY POINT FOR WRITE                 0057.000
         LW        5,0,3          FETCH CHARACTER COUNT                 0058.000
         ADI       5,3            FORCE TO WORD COUNT                   0059.000
         SRL       5,2                                                  0060.000
         SLL       5,20           SET UP TCW                            0061.000
         ADR       3,5                                                  0062.000
         ADI       5,2W                                                 0063.000
         STW       5,TCW,2                                              0064.000
         LW        5,CONTSPEC,2   SET UP CONTROL WORD                   0065.000
         ANMW      5,MASK                                               0066.000
         ANMW      4,MASK1         MASK RANDOM ADDRESS         S861069  0067.000
         ADR       4,5                                                  0068.000
         STW       5,CONTSPEC,2                                         0069.000
         TRR       2,1                                                  0070.000
         SVC       1,X'32'          WRITE THE RECORD                    0071.000
         TRSW      0              RETURN                                0072.000
         BOUND     4                                                    0073.000
C:CLOZWF EQU       $              ENTRY POINT FOR CLOSE                 0074.000
         TRR       2,1                                                  0075.000
         SVC       1,X'39'          CLOSE THE FILE                      0076.000
         TRSW      0                                                    0077.000
CONTROL  DATAW     X'8000000'                                           0078.000
MASK     DATAW     X'FFF00000'                                          0079.000
MASK1    DATAW     X'000FFFFF'     MASK TO EXTRACT ADDRESS     S861069  0080.000
CNP_TMP  DATAW     0                                                    0081.000
         DATAW     0                                                    0082.000
         DATAB     4,2,0,0                                              0083.000
         REZ       3W                                                   0084.000
         END                                                            0085.000
