*********************************************************************** 00050000
**                                                                   ** 00100000
**                           IFCEFBA5                                ** 00150000
**                                                                   ** 00200000
**       THIS EDIT TABLE PROVIDES SUPPORT FOR FB        DASD         ** 00250000
**    DEVICES.  IT IS CALLED BY IFCEEDIT AT THE REQUEST OF IFCEWOD1  ** 00280000
**    WHEN           FORMAT 5 IS INDICATED.  IT PROVIDES THE FORMAT  ** 00310000
**    FOR SENSE BYTES 8-23.                                          ** 00400000
**       THE DETAIL FORMAT OF THE OBR RECORD IS SUPPLIED AS FIGURE   ** 00450000
**    44 IN PART 4 OF "OS/VS ENVIRONMENTAL RECORDING EDITING AND     ** 00500000
**    PRINTING (EREP) PROGRAM" (PUB. NO. GC28-0772).                 ** 00550000
**                                                                   ** 00600000
**-------------------------------------------------------------------** 00650000
**                                                                   ** 00700000
**                      REGISTER ASSIGNMENT                          ** 00750000
**    GPR #                USE                                       ** 00800000
**    2            START OF OBR RECORD                               ** 00850000
**    3            CURRENT CHARACTER POSITION IN PRINT BUFFER        ** 00900000
**    4            @ DATA ITEM SPECIFIED IN ROUTINE MACRO            ** 00950000
**    5-8          WORK REGISTERS FOR SPECIAL ROUTINES               ** 01000000
**    9            BASE REGISTER FOR IFCEFBA5                        ** 01050000
**    14           RETURN POINT FROM SPECIAL ROUTINES                ** 01100000
**    15           SET TO 0 TO SUPPRESS PRINT OF CURRENT LINE        ** 01150000
**                                                                   ** 01200000
*********************************************************************** 01250000
         GBLC  &DSECT,&CSECT                                            01300000
IFCEFBA5 CSECT                                                          01350000
&CSECT   SETC  'IFCEFBA5'                                               01400000
&DSECT   SETC  'FBA5'                                                   01450000
*                                                                       01500000
*        SENSE FORMAT 1                                                 01550000
*                                                                       01600000
FBA5     DSECT                                                          01650000
         DSGEN (CLASRC,8),(SYSREL,8),(SWITCHES,16)                      01700000
         DSGEN (SPARE1,32)                                              01750000
         DSGEN (DAY,32)                                                 01800000
         DSGEN (HOUR,32)                                                01850000
         DSGEN (SPARE2,8),(CPUSERL,24)                                  01900000
         DSGEN (CPUID,16),(SPARE3,16)                                   01950000
         DSGEN (JOBID1,32)                                              02000000
         DSGEN (JOBID2,32)                                              02050000
         DSGEN (FCCWCC,8),(FCCWDA,24)                                   02100000
         DSGEN (FCCWFL,8),(FCCW,8),(FCCWCT,16)                          02150000
         DSGEN (CSWUS1,8),(CSWUS2,24)                                   02200000
         DSGEN (CSWUS3,8),(CSWUS4,8),(CSWUS5,16)                        02250000
         DSGEN (DEVDPD,8),(SECCUA,24)                                   02300000
         DSGEN (DEVTYP1,16),(DEVTYP2,16)                                02350000
         DSGEN (SPARE4,8),(CUA,24)                                      02400000
         DSGEN (IORET,16),(SBCNT,16)                                    02450000
         DSGEN (VOLLAB1,8),(VOLLAB2,16),(VOLLAB3,8)                     02500000
         DSGEN (VOLLAB4,8),(VOLLAB5,8),(SPARE5,16)                      02550000
         DSGEN (LSKAD1,8),(LSKAD2,16),(LSKAD3,8)                        02600000
         DSGEN (LSKAD4,8),(LSKAD5,16),(LSKAD6,8)                        02650000
         DSGEN (AHA1,32)                                                02700000
         DSGEN (AHA2,16),(SPARE6,16)                                    02750000
         DSGEN (SNB,1,0,23,0,7)                                         02800000
         EJECT                                                          02850000
IFCEFBA5 CSECT                                                          02900000
         USING *,R9                                                     02950000
         USING FBA5,R2                                                  03000000
R0       EQU   0                                                        03050000
R1       EQU   1                                                        03100000
R2       EQU   2                                                        03150000
R3       EQU   3                                                        03200000
R4       EQU   4                                                        03250000
R5       EQU   5                                                        03300000
R6       EQU   6                                                        03350000
R7       EQU   7                                                        03400000
R8       EQU   8                                                        03450000
R9       EQU   9                                                        03500000
R10      EQU   10                                                       03550000
R11      EQU   11                                                       03600000
R12      EQU   12                                                       03650000
R13      EQU   13                                                       03700000
R14      EQU   14                                                       03750000
R15      EQU   15                                                       03800000
*                                                                       03850000
L0       EQU   0                                                        03900000
L1       EQU   1                                                        03950000
L2       EQU   2                                                        04000000
L3       EQU   3                                                        04050000
L4       EQU   4                                                        04100000
L5       EQU   5                                                        04150000
L6       EQU   6                                                        04200000
L7       EQU   7                                                        04250000
L8       EQU   8                                                        04300000
L9       EQU   9                                                        04350000
L10      EQU   10                                                       04400000
L11      EQU   11                                                       04450000
L12      EQU   12                                                       04500000
L13      EQU   13                                                       04550000
L14      EQU   14                                                       04600000
L15      EQU   15                                                       04650000
L16      EQU   16                                                       04700000
L17      EQU   17                                                       04750000
L18      EQU   18                                                       04800000
L19      EQU   19                                                       04850000
L20      EQU   20                                                       04900000
L23      EQU   23                                                       04950000
L24      EQU   24                                                       05000000
L26      EQU   26                                                       05050000
H0F      EQU   X'0F'                                                    05100000
HE0      EQU   X'E0'                                                    05150000
H80      EQU   X'80'                                                    05200000
H40      EQU   X'40'                                                    05250000
H20      EQU   X'20'                                                    05300000
H10      EQU   X'10'                                                    05350000
H21      EQU   X'21'                                                    05400000
H23      EQU   X'23'                                                    05450000
H25      EQU   X'25'                                                    05500000
H29      EQU   X'29'                                                    05550000
CLRSGN   EQU   X'F0'                                                    05600000
HFF      EQU   X'FF'                                                    05650000
         EJECT                                                          05700000
         DC    A(ENTRIES)                                               05750000
         DC    CL8'IFCEFBA5'                                            05800000
XR9PTR   DC    F'0'                                                     05850000
XLABELP  DC    F'0'                                                     05900000
*********************************************************************** 05950000
**                                                                   ** 06000000
**                        SPECIAL ROUTINES                           ** 06050000
**                                                                   ** 06100000
**===================================================================** 06150000
*                                                                       06200000
*        SET HEX -PRINTS 1 CHAR HEX                                     06250000
*                                                                       06300000
SETHEX   STM   R5,R8,XSAVE             SAVE REGS                        06350000
         LA    R8,CHARS                CHARACTER TABLE POINTER          06400000
         IC    R7,L0(R4)               PICK UP CHARACTER                06450000
         SLL   R7,L24                  MOVE TO HI R7                    06500000
         SR    R6,R6                   CLEAR REGS                       06550000
         SLDL  R6,L4                   MOVE FOUR BITS                   06600000
         AR    R6,R8                   ADD OFFSET AND POINTER           06650000
         MVC   L0(L1,R3),L0(R6)        MOVE CHARACTER TO LINE           06700000
         SR    R6,R6                   CLEAR AGAIN                      06750000
         SLDL  R6,L4                   MOVE LAST 4 BITS                 06800000
         AR    R6,R8                   COMPUTE OFFSET                   06850000
         MVC   L1(L1,R3),L0(R6)        MOVE LAST CHARACTER              06900000
         B     RETURN                                                   06950000
         SPACE 2                                                        07000000
*                                                                       07050000
*        TEST TO SEE IF RECORD IS IN AR-149 FORMAT                      07100000
*                                                                       07150000
SETCONV  TM    L0(R4),HEX02            HAS RECORD BEEN CONVERTED KEY32  07200000
         BCR   ON,R14                  YES RETURN                       07250000
         SR    R15,R15                 NO CLEAR R15 FOR NO PRINT OF     07300000
         BR    R14                     LINE                             07350000
ON       EQU   1                                                        07400000
HEX02    EQU   X'02'                                                    07450000
         SPACE 2                                                        07500000
*                                                                       07550000
*        NO OP RETURN                                                   07600000
*                                                                       07650000
SKIPPER  BR    R14                                                      07700000
         SPACE 2                                                        07750000
*                                                                       07800000
*        TO ADD SPACES ON LINE                                          07850000
*                                                                       07900000
SPACER2  LA    R3,L4(R3)                                                07950000
         BR    14                                                       08000000
         SPACE 2                                                        08050000
*                                                                       08100000
*        RESTORE REGISTERS USED BY ROUTINES IN THIS MODULE              08150000
*                                                                       08200000
RETURN   LM    R5,R8,XSAVE             RESTORE REGS                     08250000
         BR    R14                     RETURN                           08300000
         SPACE 2                                                        08350000
*                                                                       08400000
*        SET BINARY WITH R4 POINTING TO THE CHAR                        08450000
*                                                                       08500000
SETBIN   STM   R5,R8,XSAVE             SAVE REGS                        08550000
         ICM   R7,X'8',L0(R4)      PICK UP CHAR TO PRINT                08600000
         LR    R8,R3                   PRINT POS POINTER TO REG8        08650000
         LA    R5,L8                   LOOP COUNT                       08700000
SETBINA  SR    R6,R6                   CLEAR REG 6                      08750000
         SLDL  R6,L1                   MOVE BIT TO R6                   08800000
         STC   R6,L0(R8)               PUT IT INTO PRINT LINE           08850000
         MVZ   L0(L1,R8),CHAR0                                          08900000
         LA    R8,L1(R8)               MOVE POINTER TO NEXT POS         08950000
         BCT   R5,SETBINA              LOOP TILL 8 PRINTED              09000000
         B     RETURN                                                   09050000
         SPACE 2                                                        09100000
SETBIN1  STM   R5,R8,XSAVE             SAVE REGS                        09150000
         ICM   R7,X'8',L0(R4)          PICK UP CHAR TO PRINT            09200000
         LR    R8,R3                   PRINT POS POINTER TO REG 8       09250000
         SR    R6,R6                   CLEAR REG 6                      09300000
         SLDL  R6,L1                   MOVE BIT TO REG 6                09350000
         STC   R6,L11(R8)                                               09400000
         OC    L11(L1,R8),CHAR0                                         09450000
         B     RETURN                  RETURN                           09500000
         SPACE 2                                                        09550000
*        CONVERT COUNTERS FROM HEX TO DECIMAL READY FOR PRINT           09600000
*                                                                       09650000
CONV1    STM   R5,R8,XSAVE             SAVE REGISTERS                   09700000
         XC    READYP(L8),READYP       CLEAR UNPACK BUFFER              09750000
         SR    R6,R6                   ZERO REG                         09800000
         LH    R6,L0(R4)               LOAD DATA TO BE CONVERTED        09850000
         CVD   R6,READYP               CONVERT ERROR COUNTER TO DECI    09900000
         UNPK  READYP(L5),READYP+L5(L3)  UNPACK DECI COUNT              09950000
         OI    READYP+L4,CLRSGN        CLEAR SIGN                       10000000
         MVC   L0(L4,R3),READYP+L1     MOVE COUNTER READY TO PRINT      10050000
         B     RETURN                                                   10100000
         SPACE 2                                                        10150000
         DS    0F                                                       10200000
XSAVE    DC    5F'0'                                                    10250000
NONE     DC    CL6'NONE  '                                              10300000
CHARS    DC    C'0123456789ABCDEF'                                      10350000
CHAR0    DC    C'0'                                                     10400000
**-------------------------------------------------------------------** 10450000
**                          PATCH AREA                               ** 10500000
         DC    S(PATCH)                                                 10550000
PATCH    DC    CL50' '                                                  10600000
**-------------------------------------------------------------------** 10650000
         EJECT                                                          10700000
         DS    0D                                                       10750000
READYP   DC    CL8' '                                                   10800000
ENTRIES  DS    0F                                                       10850000
         DC    XL4'00010001'       FORMAT 1                             10900000
         DC    XL4'00010001'       FORMAT 2                             10950000
         DC    A(LABELS)           LABEL POINTER                        11000000
         DC    H'0'                DISP                                 11050000
*                                                                       11100000
*        SKIP TO CHANNEL 1                                              11150000
*                                                                       11200000
         DC    X'01'                                                    11250000
         DC    X'000B0B00'                                              11300000
         SPACE 5                                                        11350000
         LINE  (12,15),(3,15),SKIP=1                                    11400000
         ROUTINE   SNB80,SETHEX                                         11450000
         ROUTINE   SNB90,SETHEX                                         11500000
         ROUTINE   SNB100,SETHEX                                        11550000
         ROUTINE   SNB110,SETHEX                                        11600000
         ROUTINE   SNB120,SETHEX                                        11650000
         ROUTINE   SNB130,SETHEX                                        11700000
         ROUTINE   SNB140,SETHEX                                        11750000
         ROUTINE   SNB150,SETHEX                                        11800000
         LABEL 'BYTE 8','BYTE 9','BYTE 10','BYTE 11','BYTE 12','BYTE 13C11850000
               ','BYTE 14','BYTE 15'                                    11900000
         SPACE 2                                                        11950000
         LINE  ,(1,15),SKIP=2                                           12000000
         LABEL '------------------------------------------------LOCATE *12050000
               PARAMETERS----------------------------------------------*12100000
               -------'                                                 12150000
         SPACE 2                                                        12200000
         LINE  (2,15),(1,15),SKIP=3                                     12250000
         ROUTINE SNB80,SETBIN                                           12300000
         ROUTINE SNB90,SETBIN                                           12350000
         ROUTINE SNB100,SETBIN                                          12400000
         ROUTINE SNB110,SETBIN                                          12450000
         ROUTINE SNB120,SETBIN                                          12500000
         ROUTINE SNB130,SETBIN                                          12550000
         ROUTINE SNB140,SETBIN                                          12600000
         ROUTINE SNB150,SETBIN                                          12650000
         LABEL ''                                                       12700000
         SPACE 2                                                        12750000
         LINE  (12,15),(3,15),SKIP=1                                    12800000
         ROUTINE   SNB160,SETHEX                                        12850000
         ROUTINE   SNB170,SETHEX                                        12900000
         ROUTINE   SNB180,SETHEX                                        12950000
         ROUTINE   SNB190,SETHEX                                        13000000
         ROUTINE   SNB200,SETHEX                                        13050000
         ROUTINE   SNB210,SETHEX                                        13100000
         ROUTINE   SNB220,SETHEX                                        13150000
         ROUTINE   SNB230,SETHEX                                        13200000
         LABEL 'BYTE 16','BYTE 17','BYTE 18','BYTE 19','BYTE 20','BYTE C13250000
               21','BYTE 22','BYTE 23'                                  13300000
         SPACE 2                                                        13350000
         LINE  ,(1,1),SKIP=2                                            13400000
         LABEL '----# BLOCKS TRANSFERRED----  -----ERROR DISPLACEMENT--*13450000
               ---  ----------------------ERROR PATTERN----------------*13500000
               -------'                                                 13550000
         SPACE 2                                                        13600000
         LINE  (2,15),(1,15),SKIP=3                                     13650000
         ROUTINE SNB160,SETBIN                                          13700000
         ROUTINE SNB170,SETBIN                                          13750000
         ROUTINE SNB180,SETBIN                                          13800000
         ROUTINE SNB190,SETBIN                                          13850000
         ROUTINE SNB200,SETBIN                                          13900000
         ROUTINE SNB210,SETBIN                                          13950000
         ROUTINE SNB220,SETBIN                                          14000000
         ROUTINE SNB230,SETBIN                                          14050000
         LABEL ''                                                       14100000
         SPACE 2                                                        14150000
HEXDUMP  DC    X'FF'                                                    14200000
         DC    XL2'0070'                                                14250000
         DC    XL2'0018'                                                14300000
         DC    XL2'0000'                                                14350000
         EJECT                                                          14400000
LABELS   DS    0F                                                       14450000
         DC    C'$'                                                     14500000
         LSTART                                                         14550000
         END                                                            14600000
