       TITLE   'IFCETRN1 FOR EREP SUPPORT OF 3705/27RN'                 00090002
         EJECT                                                          00180002
*  DSGEN MACRO     DSGEN MACRO     DSGEN MACRO     DSGEN MACRO        * 00270002
         SPACE 2                                                        00360002
*  DSGEN MACRO     DSGEN MACRO     DSGEN MACRO     DSGEN MACRO        * 00450002
         SPACE 2                                                        00540002
         MACRO                                                          00630002
&NAME    DSGEN                                                          00720002
.*                            THIS MACRO GENERATES ONE DSECT WORD       00810002
.*                                 FORMATTED FOR THE SUBJECT LOG RECORD 00900002
.*                                 EACH OPERAND HAS TWO SUB LISTS. THE  00990002
.*                                 FIRST IS THE NAME OF THE LOG ITEM    01080002
.*                                 WHILE THE SECOND IS THE # OF BITS TO 01170002
.*                                 ALLOCATE FOR THIS ITEM. ITEMS MUST   01260002
.*                                 BE DEFINED CONTIGUOUSLY WITHOUT GAPS 01350002
.*                                 UNUSED BIT GROUPS MUST BE GIVEN      01440002
.*                                 DUMMY NAMES. THE NAMES PROVIDED FOR  01530002
.*                                 THE LOG ITEMS MAY THEN BE USED IN    01620002
.*                                 THE CONVERSION MACRO INSTRUCTIONS.   01710002
         GBLC &ITEM(1000)                                               01800002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000)                         01890002
         LCLB  &ONLY1,&CTIND                                            01980002
         LCLA  &START1,&START2,&END1,&END2                              02070002
         LCLC  &SYMBOL,&EQUSYM                                          02160002
         LCLA  &OP,&COUNT,&BYTE,&EQUCNT                                 02250002
         ACTR  100000                                                   02340002
.START   AIF   (N'&SYSLIST(&OP+1) LT 3).LOOP                            02430002
         AIF   ('&SYSLIST(&OP+1,3)' EQ 'EQU').LOOP     TEST FOR EQU     02520002
  AIF   ('&SYSLIST(&OP+1,3)' EQ '' OR '&SYSLIST(&OP+1,4)' EQ '').ERR1   02610002
         AIF   ('&SYSLIST(&OP+1,3)' GT '&SYSLIST(&OP+1,4)').ERR3        02700002
&START1  SETA  &SYSLIST(&OP+1,3)        GET START COUNT OF 1            02790002
&START2  SETA  &SYSLIST(&OP+1,4)        GET FIRST END COUNT             02880002
         AGO   .SET2A                   BRANCH AROUND                   02970002
.ERR1    MNOTE '**FIRST SYMBOL CONCATENATION INCOMPLETE**'              03060002
         MEXIT                                                          03150002
.SET2A   AIF   ('&SYSLIST(&OP+1,5)' EQ ''AND '&SYSLIST(&OP+1,6)' EQ '' X03240002
               ).SET2                   TEST FOR NO SECOND              03330002
  AIF   ('&SYSLIST(&OP+1,5)' EQ '' OR '&SYSLIST(&OP+1,6)' EQ '').ERR2   03420002
         AIF   ('&SYSLIST(&OP+1,5)' GT '&SYSLIST(&OP+1,6)').ERR3        03510002
&END1    SETA  &SYSLIST(&OP+1,5)        GET START COUNT OF 2            03600002
&END2    SETA  &SYSLIST(&OP+1,6)        GET END COUNT OF 2              03690002
         AGO   .LOOP                                                    03780002
.SET2    ANOP                                                           03870002
&ONLY1   SETB  1                        INDICATE ONLY ONE CONCATENATION 03960002
         AGO   .LOOP                                                    04050002
.ERR2    MNOTE '**SECOND SYMBOL CONCATENATION INCOMPLETE**'             04140002
         MEXIT                                                          04230002
.ERR3    MNOTE '**START GREATER THAN END CONCATENATION**'               04320002
         MEXIT                                                          04410002
.LOOP    ANOP                                                           04500002
&OP      SETA  &OP+1                                                    04590002
         AIF   (&OP GT N'&SYSLIST).DONE      TEST IF ALL DONE           04680002
&ITEMNBR SETA  &ITEMNBR+1                                               04770002
         AIF   ('&SYSLIST(&OP,2)' NE '').OK1                            04860002
         MNOTE '**NULL BIT COUNT FIELD**'                               04950002
         MEXIT                                                          05040002
.OK1     ANOP                                                           05130002
&SYMBOL  SETC  '&SYSLIST(&OP,1)'                                        05220002
         AIF   ('&SYMBOL' NE '').OK                                     05310002
*              *****     LOG ITEM SYMBOL NOT PROVIDED     *****         05400002
         AIF   ('&SYSLIST(&OP,3)' NE 'EQU').CNT                         05490002
         AGO   .START                   GET NEXT                        05580002
.OK      AIF   (N'&SYSLIST(&OP) LT 3).NO3    TEST FOR OLD FORMAT        05670002
         AIF   ('&SYSLIST(&OP,3)' EQ 'EQU').EQU   TEST FOR EQU          05760002
         AIF   (&ONLY1).OK2             TEST FOR ONLY ONE CONCAT        05850002
&SYMBOL  SETC  '&SYMBOL.&START1.&END1'       GET 1 AND 2 CONCAT         05940002
         AGO   .NO3                     BRANCH AROUND                   06030002
.OK2     ANOP                                                           06120002
&SYMBOL  SETC  '&SYMBOL.&START1'        GET 1 CONCATENATED              06210002
.NO3     ANOP                                                           06300002
&SYMBOL  EQU   *+&BYTE                                                  06390002
&ITEM(&ITEMNBR) SETC '&SYMBOL'          GET LABEL IN GLOBAL             06480002
&BITS(&ITEMNBR) SETA &SYSLIST(&OP,2)                                    06570002
&SHIFT(&ITEMNBR) SETA &COUNT-&BYTE*8                                    06660002
.CNT     ANOP                                                           06750002
&CTIND   SETB  1                        SET COUNT INDICATOR             06840002
&COUNT   SETA  &COUNT+&SYSLIST(&OP,2)                                   06930002
&BYTE    SETA  &COUNT/8                                                 07020002
         AIF   (N'&SYSLIST(&OP) LT 3).START  TEST FOR OLD FORMAT        07110002
         AIF   (&ONLY1).TSTST           TEST FOR ONLY ONE CONCAT        07200002
         AIF   (&END1 EQ &END2).TSTST   TEST FOR SECOND END             07290002
&END1    SETA  &END1+1                  INCREMENT COUNT                 07380002
&OP      SETA  &OP-1                    DECREMENT INCREMENT             07470002
         AGO   .LOOP                    GENERATE NEXT                   07560002
.TSTST   ANOP                                                           07650002
         AIF   (&START1 EQ &START2).LPDONE   TEST FOR END               07740002
         AIF   (&ONLY1).NSET1           TEST FOR ONLY ONE CONCAT        07830002
&END1    SETA  &SYSLIST(&OP,5)          RE-INIT SECOND START COUNT      07920002
.NSET1   ANOP                                                           08010002
&OP      SETA  &OP-1                    DECREMENT INDEX                 08100002
&START1  SETA  &START1+1                INCREMENT FIRST COUNT           08190002
         AGO   .LOOP                    GO DO NEXT                      08280002
.LPDONE  ANOP                                                           08370002
&ONLY1   SETB  0                        CLEAR INDICATOR                 08460002
         AGO   .START                   GO TEST FOR MORE SUB-LISTS      08550002
.DONE    AIF   (&COUNT-&COUNT/8*8 NE 0).ERR  TEST FOR MULTIPLE OF EIGHT 08640002
         AIF   (&CTIND EQ 0).END        NO DS IF NO COUNT               08730002
&COUNT   SETA  &COUNT/8                 GET NUMBER OF BYTES             08820002
&NAME    DS    &COUNT.C                                                 08910002
.END     MEXIT                                                          09000002
.ERR     MNOTE '**BIT COUNT FLDS DO NOT TOTAL MULTIPLE OF 8**'          09090002
         MEXIT                                                          09180002
.EQU     AIF   ('&SYSLIST(&OP,4)' NE '').EQU1     TEST FOR NULL LABEL   09270002
.ERR4    MNOTE '**EQU OPERAND OMITTED OR NOT FOUND**'                   09360002
         MEXIT                                                          09450002
.EQU1    AIF   (&SYSLIST(&OP,2) LT 16).EQU2  COUNT OVER FIFTEEN         09540002
*****               THE FOLLOWING STATEMENT                *****        09630002
*****     NUMBER OF BITS EXCEED 15 - DO NOT USE AS BIN     *****        09720002
.EQU2    ANOP                                                           09810002
&EQUCNT  SETA  0                        CLEAR COUNTER                   09900002
&EQUSYM  SETC  '&SYSLIST(&OP,4)'        GET EQU OPERAND                 09990002
.EQULOP  ANOP                                                           10080002
&EQUCNT  SETA  &EQUCNT+1                INCREMENT INDEX                 10170002
         AIF   ('&ITEM(&EQUCNT)' EQ '&EQUSYM').EQUOUT  LABEL FOUND?     10260002
         AIF   (&EQUCNT EQ &ITEMNBR).ERR4    ALL TESTED?                10350002
         AGO   .EQULOP                  NO-GET NEXT                     10440002
.EQUOUT  ANOP                                                           10530002
&ITEM(&ITEMNBR) SETC '&SYMBOL'          GET LABEL NAME                  10620002
&BITS(&ITEMNBR) SETA &SYSLIST(&OP,2)    GET NUMBER OF BITS              10710002
&SHIFT(&ITEMNBR) SETA &SHIFT(&EQUCNT)   GET SHIFT COUNT                 10800002
&SYMBOL  EQU   &EQUSYM                  THIS SYMBOL EQUATED             10890002
         AGO   .START                   RETURN FOR NEXT                 10980002
         MEND                                                           11070002
         EJECT                                                          11160002
         MACRO                                                          11250002
         LINEND                                                         11340002
.*                            THIS MACRO IS USED ONLY BY THE LINE       11430002
.*                                 MACRO TO SET THE NUMBER OF ENTRIES   11520002
.*                                 ASSOCIATED WITH EACH LINE.           11610002
         GBLA  &NRENTS                                                  11700002
         GBLC &NRENTSX                                                  11790002
         AIF   (&NRENTS EQ 0).NORENTS   TEST FOR NO COUNT               11880002
         ORG   &NRENTSX                                                 11970002
         DC    FL1'&NRENTS'                                             12060002
         ORG                                                            12150002
&NRENTS  SETA  0                                                        12240002
.NORENTS ANOP                                                           12330002
B&SYSNDX EQU   *                                                        12420002
&NRENTSX SETC  'B&SYSNDX'                                               12510002
         MEND                                                           12600002
         EJECT                                                          12690002
         MACRO                                                          12780002
         BIN                                                            12870002
.*                                 &SYSLIST(&OP,1) - NAME OF LOG ITEM   12960002
.*                                      RECORD DSECT                    13050002
.*                                 $SYSLIST(&OP,2) - NBR OF SPACES      13140002
.*                                      TO SKIP ON MULTIPLE             13230002
.*                                      PRINT OR NBR OF SPACES          13320002
.*                                      TO BACK UP FROM COLUMN FOR      13410002
.*                                      START OF PRINTING. THE LETTER   13500002
.*                                      B PRECEEDS THE NUMBER (B5) IF   13590002
.*                                      THE LATTER IS DESIRED. OMISSION 13680002
.*                                      OF THIS OPERAND FORCES OPTION 2 13770002
.*                                      WITH BACKUP SPACING EQUAL TO    13860002
.*                                 THE NUMBER OF BITS IN THE ITEM       13950002
.*                                 DEFINITION (VIA MACRO 'DSGEN').      14040002
.*                            A LIMIT OF 15 BITS IS IMPOSED FOR THE     14130002
.*                                 TOTAL NUMBER OF BITS TO PRINT.       14220002
         GBLA  &INITIAL                                                 14310002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               14400002
         GBLC &ITEM(1000)                                               14490002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000),&NRENTS                 14580002
         GBLC  &DSECT                                                   14670002
         LCLB  &B,&SUB                                                  14760002
         LCLA  &IBITS,&NDX,&ISHIFT,&K                                   14850002
         LCLA  &TEMP,&T,&OP                                             14940002
         LCLC  &S                                                       15030002
         AIF   (&DIAGTST EQ 0).NOMSG                                    15120002
         AIF   (&INITIAL EQ 0).NOMSG                                    15210002
         AIF   (&DIAGLIN EQ 1).NOMSG                                    15300002
         MNOTE '**NO LINE ASSOCIATED WITH THIS DATA**'                  15390002
*****THE FOLLOWING GENERATED FOR TEST PURPOSES*****                     15480002
*        LINE                                                           15570002
         LINE                                                           15660002
.NOMSG   ANOP                                                           15750002
         AIF   (K'&SYSLIST(1) EQ K'&SYSLIST(1,1)).LOOP                  15840002
&SUB     SETB  1                                                        15930002
.LOOP    ANOP                                                           16020002
&OP      SETA  &OP+1                                                    16110002
.LOOP1   ANOP                                                           16200002
&NDX     SETA  &NDX+1                                                   16290002
         AIF   ('&ITEM(&NDX)' EQ '&SYSLIST(&OP,1)').FOUND               16380002
         AIF   (&NDX LT &ITEMNBR).LOOP1                                 16470002
         MNOTE '**LOG ITEM NOT DEFINED**'                               16560002
         MEXIT                                                          16650002
.FOUND   ANOP                                                           16740002
&ISHIFT  SETA  &SHIFT(&NDX)                                             16830002
&IBITS   SETA  &BITS(&NDX)                                              16920002
&T       SETA  &IBITS-1                                                 17010002
&B       SETB  0                                                        17100002
         AIF   (&IBITS GT 0 AND &IBITS LT 16).SUB0                      17190002
         MNOTE '**NO. OF BITS OUTSIDE RANGE OF 1-15**'                  17280002
         MEXIT                                                          17370002
.SUB0    AIF   (&SUB EQ 1).SUBA                                         17460002
         AIF   ('&SYSLIST(2)' EQ '').BACKUP                             17550002
&K       SETA  K'&SYSLIST(2)                                            17640002
&B       SETB  ('&SYSLIST(2)'(1,1) EQ 'B')                              17730002
&S       SETC  '&SYSLIST(2)'(&B+1,&K-&B)                                17820002
         AGO   .SUBB                                                    17910002
.SUBA    ANOP                                                           18000002
         AIF   ('&SYSLIST(&OP,2)' EQ '').BACKUP                         18090002
&K       SETA  K'&SYSLIST(&OP,2)                                        18180002
&B       SETB  ('&SYSLIST(&OP,2)'(1,1) EQ 'B')                          18270002
&S       SETC  '&SYSLIST(&OP,2)'(&B+1,&K-&B)                            18360002
.SUBB    ANOP                                                           18450002
&T       SETA  &S                                                       18540002
.BACKUP  ANOP                                                           18630002
&NRENTS  SETA  &NRENTS+1                                                18720002
&TEMP    SETA  &ISHIFT                                                  18810002
         AIF   (&IBITS NE 1 OR &B NE 0).BIN2                            18900002
         DC    AL.12(&SYSLIST(&OP,1)-&DSECT),XL.4'&TEMP'                18990002
         AGO   .OUT                                                     19080002
.BIN2    AIF   ('&SYSLIST(&OP,2)' NE '').BIN3                           19170002
&B       SETB  1                                                        19260002
.BIN3    ANOP                                                           19350002
         DC    AL.12(&SYSLIST(&OP,1)-&DSECT),XL.4'C'                    19440002
         DC    BL.1'&B',AL.7(&T),AL.4(&IBITS),FL.4'&ISHIFT'             19530002
.OUT     ANOP                                                           19620002
&NDX     SETA  0                                                        19710002
         AIF   (&SUB EQ 0).OUTA                                         19800002
         AIF   (&OP LT N'&SYSLIST).LOOP                                 19890002
.OUTA    ANOP                                                           19980002
         MEND                                                           20070002
         EJECT                                                          20160002
         MACRO                                                          20250002
         LSTART                                                         20340002
.*                            THIS MACRO IS ISSUED WHEN THE LABEL AREA  20430002
.*                                 OF THE TABLE IS TO BEGIN.            20520002
         GBLA  &LABELNR                                                 20610002
         GBLC  &LBL(100)                                                20700002
         GBLC &LABELS(2000)                                             20790002
         GBLA  &LBLCTR(100)                                             20880002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               20970002
         LCLA  &NDX,&CTR                                                21060002
         AIF   (&DIAGTST EQ 0).NODIAG                                   21150002
         AIF   (&DIAGSET EQ 0).NODIAG                                   21240002
         MNOTE '**NO LABEL ASSOCIATED WITH LAST SET**'                  21330002
***** THE FOLLOWING GENERATED FOR TEST PURPOSES *****                   21420002
*        LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'       21510002
               LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 21600002
.NODIAG  ANOP                                                           21690002
         LINEND                                                         21780002
&CTR     SETA  1                                                        21870002
.LOOP    ANOP                                                           21960002
&NDX     SETA  &NDX+1                                                   22050002
         AIF   (&LBLCTR(&CTR) NE &NDX).NOLBL                            22140002
&LBL(&CTR) DC  C'&LABELS(&NDX)'                                         22230002
&CTR     SETA  &CTR+1                                                   22320002
         AGO   .LOOPCTL                                                 22410002
.NOLBL   ANOP                                                           22500002
         DC    C'&LABELS(&NDX)'                                         22590002
.LOOPCTL AIF   (&NDX LT &LABELNR).LOOP                                  22680002
         MEND                                                           22770002
         EJECT                                                          22860002
         MACRO                                                          22950002
&NAME    ROUTINE &LOGITEM,&RNAME                                        23040002
         GBLA  &NRENTS                                                  23130002
         GBLC  &DSECT,&CSECT                                            23220002
         GBLA  &INITIAL                                                 23310002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               23400002
         AIF   (&DIAGTST EQ 0).NOMSG                                    23490002
         AIF   (&INITIAL EQ 0).NOMSG                                    23580002
         AIF   (&DIAGLIN EQ 1).NOMSG                                    23670002
         MNOTE '**NO LINE ASSOCIATED WITH THIS ROUTINE**'               23760002
*****THE FOLLOWING GENERATED FOR TEST PURPOSES*****                     23850002
*        LINE                                                           23940002
         LINE                                                           24030002
.NOMSG   ANOP                                                           24120002
&NAME    DC    AL.12(&LOGITEM-&DSECT),XL.4'D'                           24210002
         DC    AL2(&RNAME-&CSECT)                                       24300002
&NRENTS  SETA  &NRENTS+1                                                24390002
         MEND                                                           24480002
         EJECT                                                          24570002
         MACRO                                                          24660002
&NAME    LINE  &DATA,&LABEL,&SKIP=                                      24750002
.*                            THIS MACRO ESTABLISHES THE MARGINS OR     24840002
.*                                 COLUMN SETTINGS FOR EACH LINE. IT    24930002
.*                                 GENERATES NECESSARY CARRIAGE CONTROL 25020002
.*                                 ENTRIES. LASTLY IT DETERMINES THE    25110002
.*                                 NUMBER OF ENTRIES ASSOCIATED WITH    25200002
.*                                 THE PREVIOUS LINE AND STORES THAT #  25290002
.*                                 INTO THE APPROPRIATE BYTE.           25380002
.*                            &DATA(1) - CHARACTER POSITION TO BEGIN    25470002
.*                                 DATA.                                25560002
.*                            &DATA(2) - # OF SPACES BETWEEN SUCCESSIVE 25650002
.*                                 DATA COLUMN STARTING CHARACTERS.     25740002
.*                            &LABEL(1) - CHAR. POS. TO BEGIN LABELS.   25830002
.*                            &LABEL(2) - # SPACES BETWEEN LINE'S LABEL 25920002
.*                                 STARTING CHARACTERS.                 26010002
.*                            &SKIP= - # OF LINES TO ADVANCE CARRIAGE   26100002
.*                                 TO BEGIN NEXT PRINTED LINE.          26190002
.*                            NEW ENTRIES ARE GENERATED ONLY WHEN       26280002
.*                                 NECESSARY. OMISSION OF ITEMS MEANS   26370002
.*                                 THEY HAVE NOT CHANGED SINCE PREVIOUS 26460002
.*                                 SETTINGS. A LINE MACRO IS REQUIRED   26550002
.*                                 FOR EACH PRINTED LINE. IF NO SETTING 26640002
.*                                 CHANGES ARE REQUIRED ALL OPERANDS    26730002
.*                                 ARE OMITTED IN WHICH CASE ONLY THE   26820002
.*                                 # OF ENTRIES FOR THE PREVIOUS LINE   26910002
.*                                 IS COMPUTED. THIS MACRO MUST BE THE  27000002
.*                                 FIRST MACRO INSTRUCTION ISSUED FOR   27090002
.*                                 THE SUBJECT LINE                     27180002
         GBLA  &DB,&DT,&LB,&LT,&NRENTS                                  27270002
         GBLA  &LASTCC,&INITIAL                                         27360002
         GBLC  &NRENTSX                                                 27450002
         GBLC  &CARRCON                                                 27540002
         GBLB  &TEST                                                    27630002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               27720002
         LCLA  &S                                                       27810002
         AIF   (&INITIAL EQ 0 OR &DIAGTST EQ 0).DIAGSET                 27900002
         AIF   (&DIAGSET EQ 0).DIAGSET                                  27990002
         MNOTE '**NO LABEL ASSOCIATED WITH LAST SET**'                  28080002
***** THE FOLLOWING GENERATED FOR TEST PURPOSES *****                   28170002
*        LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'       28260002
               LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 28350002
.DIAGSET ANOP                                                           28440002
&DIAGSET SETB  1                                                        28530002
&DIAGLIN SETB  1                                                        28620002
&NAME    DS    0C                                                       28710002
         AIF   (&INITIAL EQ 0).FIRSTLN                                  28800002
         LINEND                                                         28890002
         AGO   .NTFIRST                                                 28980002
.FIRSTLN ANOP                                                           29070002
&NRENTSX SETC  'N&SYSNDX'                                               29160002
&INITIAL SETA  1                                                        29250002
N&SYSNDX EQU   *                                                        29340002
.NTFIRST ANOP                                                           29430002
         DC    AL1(0)                                                   29520002
         AIF   ('&DATA(1)' EQ '').CKDTABS                               29610002
         AIF   (&DATA(1) EQ &DB).CKDTABS                                29700002
&DB      SETA  &DATA(1)                                                 29790002
         AGO   .AA                                                      29880002
.CKDTABS AIF   ('&DATA(2)' EQ '').NCDATA                                29970002
         AIF   (&DATA(2) EQ &DT).NCDATA                                 30060002
         AGO   .CC                                                      30150002
.AA      AIF   ('&DATA(2)' EQ '').BB                                    30240002
         AIF   (&DATA(2) EQ &DT).BB                                     30330002
.CC      ANOP                                                           30420002
&DT      SETA  &DATA(2)                                                 30510002
.BB      DC    XL2'FFFE'                                                30600002
         DC    FL1'&DB'                                                 30690002
         DC    FL1'&DT'                                                 30780002
&NRENTS  SETA  &NRENTS+1                                                30870002
.NCDATA  ANOP                                                           30960002
         AIF   ('&LABEL(1)' EQ '').CKLTABS                              31050002
         AIF   (&LABEL(1) EQ &LB).CKLTABS                               31140002
&LB      SETA  &LABEL(1)                                                31230002
         AGO   .AAA                                                     31320002
.CKLTABS AIF   ('&LABEL(2)' EQ '').NCLABEL                              31410002
         AIF   (&LABEL(2) EQ &LT).NCLABEL                               31500002
         AGO   .CCC                                                     31590002
.AAA     AIF   ('&LABEL(2)' EQ '').BBB                                  31680002
         AIF   (&LABEL(2) EQ &LT).BBB                                   31770002
.CCC     ANOP                                                           31860002
&LT      SETA  &LABEL(2)                                                31950002
.BBB     DC    XL2'FFFF'                                                32040002
         DC    FL1'&LB'                                                 32130002
         DC    FL1'&LT'                                                 32220002
&NRENTS  SETA  &NRENTS+1                                                32310002
.NCLABEL ANOP                                                           32400002
         AIF   ('&SKIP' NE '').CONT                                     32490002
         AIF   (&TEST EQ 0).NOCHANG                                     32580002
         AGO   .DEFALTA                                                 32670002
.CONT    ANOP                                                           32760002
         AIF   (&TEST EQ 0).AB                                          32850002
         AIF   ('&SKIP' EQ 'E').AB                                      32940002
&S       SETA  &SKIP                                                    33030002
.DEFAULT ANOP                                                           33120002
         AIF   (&SKIP EQ &LASTCC).DEFALTA                               33210002
         ORG   &CARRCON+3                                               33300002
         DC    AL.3(0),AL.2(&S),AL.3(1)                                 33390002
         ORG                                                            33480002
&LASTCC  SETA  &S                                                       33570002
.DEFALTA ANOP                                                           33660002
&TEST    SETB  0                                                        33750002
         AGO   .DD                                                      33840002
.AB      AIF   ('&SKIP' NE 'E').ABB                                     33930002
A&SYSNDX DC    X'FFFB8B00'              EJECT                           34020002
         AGO   .ABC                                                     34110002
.ABB     AIF   (&SKIP EQ &LASTCC).NOCHANG                               34200002
A&SYSNDX DC    XL2'FFFB'                                                34290002
         DC    AL.3(0),AL.2(&SKIP),AL.3(1)                              34380002
         DC    AL.3(0),AL.2(&SKIP),AL.3(1)                              34470002
&LASTCC  SETA  &SKIP                                                    34560002
&TEST    SETB  1                                                        34650002
.ABC     ANOP                                                           34740002
&CARRCON SETC  'A&SYSNDX'                                               34830002
&NRENTS  SETA  &NRENTS+1                                                34920002
.DD      ANOP                                                           35010002
.NOCHANG ANOP                                                           35100002
         MEND                                                           35190002
         EJECT                                                          35280002
         MACRO                                                          35370002
         HEX                                                            35460002
.*                            THIS MACRO FACILITATES GENERATION OF THE  35550002
.*                                 TABLE ENTRIES SPECIFYING HEX TYPE    35640002
.*                                 CONVERSIONS.                         35730002
.*                            &SYSLIST(&OP,1) - NAME OF DATA ITEM TO BE 35820002
.*                                 CONVERTED                            35910002
.*                            &SYSLIST(&OP,2) - # OF SPACES TO SKIP ON  36000002
.*                                 MULTIPLE PRINT OR NBR OF SPACES TO   36090002
.*                                 BACK UP FROM COLUMN FOR START OF     36180002
.*                                 PRINTING. THE LETTER B PRECEEDS THE  36270002
.*                                 NUMBER (B8) IF THE LATTER OPTION IS  36360002
.*                                 DESIRED. OMISSION OF THIS OPERAND    36450002
.*                                 FORCES OPTION 2 WITH BACKUP SPACING  36540002
.*                                 EQUAL TO THE NUMBER OF BYTES SPECI-  36630002
.*                                 FIED BY THE NEXT OPERAND (TWICE THIS 36720002
.*                                 NUMBER IF SUFFIX IS EXPLICITLY OR    36810002
.*                                 IMPLICITLY B).                       36900002
.*                            &SYSLIST(&OP,3) - NUMBER OF BYTES TO      36990002
.*                                 PROCESS. THIS NUMBER IS SUFFIXED     37080002
.*                                 WITH AN L,R, OR B TO STIPULATE       37170002
.*                                 PRINTING OF THE LEFT HALF, RIGHT     37260002
.*                                 HALF, OR BOTH HALVES OF THE BYTE     37350002
.*                                 RESPECTIVELY. OMISSION OF THIS       37440002
.*                                 OPERAND DEFAULTS TO B WITH THE NUM-  37530002
.*                                 BER OF BYTES EQUAL TO THE ITEM LNGTH 37620002
.*                            A NEW ENTRY IS GENERATED ONLY WHEN NECES- 37710002
.*                                 SARY. THIS MACRO MUST BE THE FIRST   37800002
.*                                 MACRO INSTRUCTION ISSUED FOR THE     37890002
.*                                 SUBJECT LINE(S).                     37980002
         GBLC &ITEM(1000),&DSECT                                        38070002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000),&NRENTS                 38160002
         GBLA  &INITIAL                                                 38250002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               38340002
         LCLB  &B,&SUB                                                  38430002
         LCLA  &IBITS,&NDX,&ISHIFT,&K,&T,&CODE,&BYTESP,&OP              38520002
         LCLC  &S,&LETTER                                               38610002
         AIF   (&DIAGTST EQ 0).NOMSG                                    38700002
         AIF   (&INITIAL EQ 0).NOMSG                                    38790002
         AIF   (&DIAGLIN EQ 1).NOMSG                                    38880002
         MNOTE '**NO LINE ASSOCIATED WITH THIS DATA**'                  38970002
*****THE FOLLOWING GENERATED FOR TEST PURPOSES*****                     39060002
*        LINE                                                           39150002
         LINE                                                           39240002
.NOMSG   ANOP                                                           39330002
         AIF   (K'&SYSLIST(1) EQ K'&SYSLIST(1,1)).LOOP                  39420002
&SUB     SETB  1                                                        39510002
.LOOP    ANOP                                                           39600002
&OP      SETA  &OP+1                                                    39690002
.LOOP1   ANOP                                                           39780002
&NDX     SETA  &NDX+1                                                   39870002
         AIF   ('&ITEM(&NDX)' EQ '&SYSLIST(&OP,1)').FOUND               39960002
         AIF   (&NDX LT &ITEMNBR).LOOP1                                 40050002
         MNOTE '**LOG ITEM NOT DEFINED**'                               40140002
         MEXIT                                                          40230002
.FOUND   ANOP                                                           40320002
&ISHIFT  SETA  &SHIFT(&NDX)                                             40410002
&IBITS   SETA  &BITS(&NDX)                                              40500002
         AIF   (&ISHIFT EQ 0 OR &ISHIFT EQ 4).ALIGN                     40590002
.ERR     MNOTE '**DATA NOT ALLIGNED ON HEX OR BYTE BOUNDARY**'          40680002
         MEXIT                                                          40770002
.ALIGN   ANOP                                                           40860002
&CODE    SETA  1                                                        40950002
         AIF   (&SUB EQ 1).SUBA                                         41040002
&K       SETA  K'&SYSLIST(3)                                            41130002
         AGO   .SUBB                                                    41220002
.SUBA    ANOP                                                           41310002
&K       SETA  K'&SYSLIST(&OP,3)                                        41400002
.SUBB    ANOP                                                           41490002
         AIF   (&SUB EQ 1).SUBC                                         41580002
         AIF   ('&SYSLIST(3)' EQ '').USEDEFN                            41670002
&LETTER  SETC  '&SYSLIST(3)'(&K,1)                                      41760002
&S       SETC  '&SYSLIST(3)'(1,&K-1)                                    41850002
         AGO   .SUBD                                                    41940002
.SUBC    ANOP                                                           42030002
         AIF   ('&SYSLIST(&OP,3)' EQ '').USEDEFN                        42120002
&LETTER  SETC  '&SYSLIST(&OP,3)'(&K,1)                                  42210002
&S       SETC  '&SYSLIST(&OP,3)'(1,&K-1)                                42300002
.SUBD    ANOP                                                           42390002
&BYTESP  SETA  &S                                                       42480002
         AIF   ('&LETTER' EQ 'B').BOTH                                  42570002
         AIF   ('&LETTER' EQ 'L').LEFT                                  42660002
&CODE    SETA  2                                                        42750002
         AGO   .L                                                       42840002
.LEFT    ANOP                                                           42930002
&CODE    SETA  1                                                        43020002
         AGO   .L                                                       43110002
.USEDEFN ANOP                                                           43200002
         AIF   (&IBITS-(&IBITS/4)*4 EQ 0).OK                            43290002
         MNOTE '**BIT LENGTH SPECIFICATION INCONSISTENT WITH CONTROL**' 43380002
         MEXIT                                                          43470002
.OK      ANOP                                                           43560002
&BYTESP  SETA  &IBITS/8                                                 43650002
.BOTH    AIF   (&ISHIFT NE 0).ERR                                       43740002
&CODE    SETA  3                                                        43830002
&T       SETA  &BYTESP*2-1                                              43920002
&S       SETC  '&T'                                                     44010002
.OK2     AIF   (&ISHIFT EQ 0).L                                         44100002
&CODE    SETA  2                                                        44190002
.L       ANOP                                                           44280002
&B       SETB  1                                                        44370002
         AIF   (&SUB EQ 1).SUBE                                         44460002
         AIF   ('&SYSLIST(2)' EQ '').BACKUP                             44550002
&K       SETA  K'&SYSLIST(2)                                            44640002
&B       SETB  ('&SYSLIST(2)'(1,1) EQ 'B')                              44730002
&S       SETC  '&SYSLIST(2)'(&B+1,&K-&B)                                44820002
         AGO   .SUBF                                                    44910002
.SUBE    ANOP                                                           45000002
         AIF   ('&SYSLIST(&OP,2)' EQ '').BACKUP                         45090002
&K       SETA  K'&SYSLIST(&OP,2)                                        45180002
&B       SETB  ('&SYSLIST(&OP,2)'(1,1) EQ 'B')                          45270002
&S       SETC  '&SYSLIST(&OP,2)'(&B+1,&K-&B)                            45360002
.SUBF    ANOP                                                           45450002
.BACKUP  ANOP                                                           45540002
&NRENTS  SETA  &NRENTS+1                                                45630002
         AIF   (&BYTESP GT 0 AND &BYTESP LT 16).SUB0                    45720002
         MNOTE '**NO. OF BYTES OUTSIDE RANGE OF 1-15**'                 45810002
         MEXIT                                                          45900002
.SUB0    AIF   (&SUB EQ 1).SUBG                                         45990002
         DC    AL.12(&SYSLIST(1)-&DSECT),XL.4'A'                        46080002
         AGO   .SUBH                                                    46170002
.SUBG    ANOP                                                           46260002
         DC    AL.12(&SYSLIST(&OP,1)-&DSECT),XL.4'A'                    46350002
.SUBH    ANOP                                                           46440002
         DC    BL.1'&B',FL.7'&S',AL.4(&BYTESP),FL.4'&CODE'              46530002
.OUT     ANOP                                                           46620002
&NDX     SETA  0                                                        46710002
         AIF   (&SUB EQ 0).OUTA                                         46800002
         AIF   (&OP LT N'&SYSLIST).LOOP                                 46890002
.OUTA    ANOP                                                           46980002
         MEND                                                           47070002
         EJECT                                                          47160002
         MACRO                                                          47250002
&NAME    LABEL &LABEL1,&LABEL2,&LABEL3,&LABEL4,&LABEL5,&LABEL6,        C47340002
               &LABEL7,&LABEL8                                          47430002
.*                                 THIS MACRO ALLOWS LABELS TO          47520002
.*                                 BE SPECIFIED FOR A GIVEN LINE. THE   47610002
.*                                 LABELS SHOULD BE ENCLOSED IN QUOTA-  47700002
.*                                 TION MARKS. THE COLUMN AND LINE END  47790002
.*                                 CONTROLS WILL BE INSERTED BY THE     47880002
.*                                 MACRO. OMITTED OPERANDS MEAN NO      47970002
.*                                 LABEL REQUIRED FOR RESPECTIVE        48060002
.*                                 COLUMN.                              48150002
         GBLC &LABELS(2000)                                             48240002
         GBLC  &LBL(100)                                                48330002
         GBLA  &LBLCTR(100)                                             48420002
         GBLA  &LABELNR                                                 48510002
         GBLA  &NRENTS,&LPTR,&INITIAL                                   48600002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               48690002
         LCLC  &MARGIN,&TACK                                            48780002
         LCLC  &TEXT                                                    48870002
         LCLA  &OP,&K,&START,&NRCHAR,&REMAIN                            48960002
         AIF   (&INITIAL EQ 0).DIAGCLR                                  49050002
         AIF   (&DIAGTST EQ 0).DIAGCLR                                  49140002
         AIF   (&DIAGLIN EQ 1).DIAGCLR                                  49230002
         MNOTE '**NO LINE ASSOCIATED WITH PREVIOUS LABEL**'             49320002
***** THE FOLLOWING GENERATED FOR TEST PURPOSES *****                   49410002
*        LINE                                                           49500002
         LINE                                                           49590002
.DIAGCLR ANOP                                                           49680002
&DIAGSET SETB  0                                                        49770002
&DIAGLIN SETB  0                                                        49860002
&MARGIN  SETC  '*'                                                      49950002
         AIF   ('&NAME' EQ '').LOOPOUT                                  50040002
&LPTR    SETA  &LPTR+1                                                  50130002
&LBL(&LPTR) SETC '&NAME'                                                50220002
&LBLCTR(&LPTR) SETA &LABELNR+1                                          50310002
.LOOPOUT ANOP                                                           50400002
&OP      SETA  &OP+1                                                    50490002
&K       SETA  K'&SYSLIST(&OP)                                          50580002
         AIF (&K GE 2).NORM                                             50670002
&K       SETA  2                                                        50760002
.NORM    ANOP                                                           50850002
&START   SETA  2                                                        50940002
         AIF (&OP LT N'&SYSLIST).NOTLAST                                51030002
&MARGIN  SETC  '$'                                                      51120002
.NOTLAST ANOP                                                           51210002
&NRCHAR  SETA  8                                                        51300002
&TACK    SETC  ''                                                       51390002
.LOOPIN  ANOP                                                           51480002
&REMAIN  SETA  &K-&START                                                51570002
         AIF (&REMAIN GE 8).MORE                                        51660002
&TACK    SETC  '&MARGIN'                                                51750002
&NRCHAR  SETA  &REMAIN                                                  51840002
.MORE    ANOP                                                           51930002
&TEXT    SETC  ''                                                       52020002
         AIF (&REMAIN EQ 0).ENDTEXT                                     52110002
&TEXT    SETC  '&SYSLIST(&OP)'(&START,&NRCHAR)                          52200002
.ENDTEXT ANOP                                                           52290002
&LABELNR SETA  &LABELNR+1                                               52380002
&LABELS(&LABELNR) SETC '&TEXT'.'&TACK'                                  52470002
&START   SETA  &START+8                                                 52560002
         AIF ('&TACK' EQ '').LOOPIN                                     52650002
         AIF ('&TACK' EQ '*').LOOPOUT                                   52740002
         MEND                                                           52830002
         EJECT                                                          52920002
         GBLC  &CSECT,&DSECT                                            53010002
IFCETRN1 CSECT                                                          53100002
&CSECT   SETC  'IFCETRN1'                                               53190002
&DSECT   SETC  'C3705'                                                  53280002
C3705    DSECT                                                          53370002
         DS    0F                                                       53460002
         DSGEN (RECT,8),(OPSYS,8),(SWITCH,24),(RCDID,8),(SPARE1,16)     53550002
         DSGEN (DATE,32),(TIME,32)                                      53640002
         DSGEN (SPARE2,8),(CPUSER,24),(MODEL,16),(SPARE3,16)            53730002
         DSGEN (CUA,16),(TERMN1,16),(TERMN2,32)                         53820002
         DSGEN (TERMN3,16),(RESID,16),(LINEADD,16),(RECMD,8),(RECID,8)  53910002
         DSGEN (ISBOX,8),(BTUMOD,8),(REG100,1),(REG101,1),(REG102,1),  C54000002
               (REG103,1),(REG104,1),(REG105,1),(REG106,1),(REG107,1), C54090002
               (REG108,1),(REG109,1),(REG110,1),(REG111,1),(REG112,1), C54180002
               (REG113,1),(REG114,1),(REG115,1),(REG200,1),(REG201,1), C54270002
               (REG202,1),(REG203,1),(REG204,1),(REG205,1),(REG206,1), C54360002
               (REG207,1),(REG208,1),(REG209,1),(REG210,1),(REG211,1), C54450002
               (REG212,1),(REG213,1),(REG214,1),(REG215,1),(REG300,1), C54540002
               (REG301,1),(REG302,1),(REG303,1),(REG304,1),(REG305,1), C54630002
               (REG306,1),(REG307,1),(REG308,1),(REG309,1),(REG310,1), C54720002
               (REG311,1),(REG312,1),(REG313,1),(REG314,1),(REG315,1)   54810002
         DSGEN (REG400,1),(REG401,1),(REG402,1),(REG403,1),(REG404,1), C54900002
               (REG405,1),(REG406,1),(REG407,1),(REG408,1),(REG409,1), C54990002
               (REG410,1),(REG411,1),(REG412,1),(REG413,1),(REG414,1), C55080002
               (REG415,1),(REG500,1),(REG501,1),(REG502,1),(REG503,1), C55170002
               (REG504,1),(REG505,1),(REG506,1),(REG507,1),(REG508,1), C55260002
               (REG509,1),(REG510,1),(REG511,1),(REG512,1),(REG513,1), C55350002
               (REG514,1),(REG515,1)                                    55440002
         DSGEN (REG600,1),(REG601,1),(REG602,1),(REG603,1),(REG604,1), C55530002
               (REG605,1),(REG606,1),(REG607,1),(REG608,1),(REG609,1), C55620002
               (REG610,1),(REG611,1),(REG612,1),(REG613,1),(REG614,1), C55710002
               (REG615,1),(REG700,1),(REG701,1),(REG702,1),(REG703,1), C55800002
               (REG704,1),(REG705,1),(REG706,1),(REG707,1),(REG708,1), C55890002
               (REG709,1),(REG710,1),(REG711,1),(REG712,1),(REG713,1), C55980002
               (REG714,1),(REG715,1)                                    56070002
         DSGEN (REG800,1),(REG801,1),(REG802,1),(REG803,1),(REG804,1), C56160002
               (REG805,1),(REG806,1),(REG807,1),(REG808,1),(REG809,1), C56250002
               (REG810,1),(REG811,1),(REG812,1),(REG813,1),(REG814,1), C56340002
               (REG815,1),(REG900,1),(REG901,1),(REG902,1),(REG903,1), C56430002
               (REG904,1),(REG905,1),(REG906,1),(REG907,1),(REG908,1), C56520002
               (REG909,1),(REG910,1),(REG911,1),(REG912,1),(REG913,1), C56610002
               (REG914,1),(REG915,1)                                    56700002
*                                                                       56790002
IFCETRN1 CSECT                                                          56880002
         USING *,R9                                                     56970002
         USING C3705,R2                                                 57060002
*                                                                       57150002
*       CONSTANTS                                                       57240002
*                                                                       57330002
R1       EQU   1                                                        57420002
R2       EQU   2                                                        57510002
R3       EQU   3                                                        57600002
R4       EQU   4                                                        57690002
R5       EQU   5                                                        57780002
R6       EQU   6                                                        57870002
R7       EQU   7                                                        57960002
R8       EQU   8                                                        58050002
R9       EQU   9                                                        58140002
R10      EQU   10                                                       58230002
R12      EQU   12                                                       58320002
R13      EQU   13                                                       58410002
R14      EQU   14                                                       58500002
R15      EQU   15                                                       58590002
*                                                                       58680002
L0       EQU   0                                                        58770002
L6       EQU   6                                                        58860002
L4       EQU   4                                                        58950001
L8       EQU   8                                                        58960001
L19      EQU   19                                                       58970001
L17      EQU   17                                                       58980001
L3       EQU   3                                                        58990001
L11      EQU   11                                                       59040002
*                                                                       59130002
         DC    A(ENTRIES)                                               59220002
         DC    CL8'IFCETRN1'                                            59310002
XR9PTR   DC    F'0'                                                     59400002
XLABELP  DC    F'0'                                                     59490002
XSAVE    DC    F'0'                                                     59580001
*                                                                       59670002
H00      EQU   X'00'                                                    59760002
H01      EQU   X'01'                                                    59850002
H08      EQU   X'08'                                                    59940002
H10      EQU   X'10'                                                    60030002
H20      EQU   X'20'                                                    60120002
H40      EQU   X'40'                                                    60210002
H09      EQU   X'09'                                                    60300002
H11      EQU   X'11'                                                    60390002
H21      EQU   X'21'                                                    60480002
H41      EQU   X'41'                                           @Z40BICF 60570002
HC0      EQU   X'C0'                                                    60660002
         EJECT                                                          60750001
*********************************************************************** 60790001
**                           SPECIAL ROUTINES                        ** 60830001
*********************************************************************** 60870001
*                               DETERMINE SCANNER TYPE                  60930002
TYPE     NI    TYPFLAG,0                CLEAR FLAGS                     61020001
         CLI   ISBOX,HC0               IS IT A TYPE 1 SCANNER?          61290002
         BE    BOXC0                   YES                              61380002
         CLI   ISBOX,H40               IS IT A TYPE 2 CSB1?             61470002
         BE    BOX40                   YES                              61560002
         CLI   ISBOX,H20               IS IT A TYPE 2 CSB2?             61650002
         BE    BOX20                   YES                              61740002
         CLI   ISBOX,H10               IS IT A TYPE 2 CSB3?             61830002
         BE    BOX10                   YES                              61920002
         CLI   ISBOX,H09               IS IT A TYPE 3 CSB4     @Z40BICF 62010002
         BE    BOX09                                           @Z40BICF 62100002
         CLI   ISBOX,H11               IS IT A TYPE 3 CSB3?    @Z40BICF 62190002
         BE    BOX11                   YES                     @Z40BICF 62280002
         CLI   ISBOX,H21               IS IT A TYPE 3 CSB2?    @Z40BICF 62370002
         BE    BOX21                   YES                     @Z40BICF 62460002
         CLI   ISBOX,H41               IS IT A TYPE 3 CSB1?    @Z40BICF 62550002
         BE    BOX41                   YES                     @Z40BICF 62640002
         CLI   ISBOX,H08               IS IT A TYPE 2 CSB4?             62730002
         BE    BOX08                   YES                              62820002
         MVC   XR9PTR(L8),LINEC                                         62910001
         XR    R15,R15                                                  63010001
BOX08    MVC   L0(L11,R3),MSGA         MESS.- TYPE 2 CSB4               63270002
         B     RETURN1                                                  63360002
BOX10    MVC   L0(L11,R3),MSGB         MESS.- TYPE 2 CSB3               63450002
         B     RETURN1                                                  63540002
BOX20    MVC   L0(L11,R3),MSGC         MESS. TYPE 2 CSB2                63630002
         B     RETURN1                                                  63720002
BOX09    MVC   L0(L11,R3),MSGF         MESS.- TYPE 3 CSB4      @Z40BICF 63810002
         B     RETURN2                                         @Z40BICF 63900002
BOX11    MVC   L0(L11,R3),MSGG         MESS.- TYPE 3 CSB3      @Z40BICF 63990002
         B     RETURN2                                         @Z40BICF 64080002
BOX21    MVC   L0(L11,R3),MSGH         MESS.- TYPE 3 CSB2      @Z40BICF 64170002
         B     RETURN2                                         @Z40BICF 64260002
BOX41    MVC   L0(L11,R3),MSGI         MESS. TYPE 3 CSB1       @Z40BICF 64350002
         B     RETURN2                                         @Z40BICF 64440002
BOXC0    MVC   L0(L6,R3),MSGE          MESS. TYPE 1                     64530002
         BR    R14                                                      64620001
RETURN2  OI    TYPFLAG,2                SET FLAG FOR TYPE 3             64710001
         BR    R14                                                      64800001
BOX40    MVC   L0(L11,R3),MSGD         MESS  TYPE 2 CSB1                64890002
RETURN1  OI    TYPFLAG,1                SET FLAG FOR TYPE 2             64980001
         BR    R14                                                      65180001
         SPACE 3                                                        65430001
DIREC    XR    R15,R15                  DON'T PRINT THIS LINE           65530001
         TM    TYPFLAG,1                CHECK TYPE                      65630001
         BO    GOAHD                                                    65730001
         TM    TYPFLAG,2                CHECK TYPE                      65830001
         BZR   R14                      RETURN                          65930001
         MVC   XR9PTR(L8),LINED         MOVE POINTER                    66030001
         BR    R14                      RETURN                          66130001
GOAHD    MVC   XR9PTR(L8),LINEB         MOVE POINTER                    66230001
         BR    R14                      RETURN                          66330001
         SPACE 3                                                        66430001
BRANCH   XR    R15,R15                  DON'T PRINT THIS LINE           66530001
         MVC   XR9PTR(L4),LINEA         MOVE POINTER                    66630001
         BR    R14                      RETURN                          66730001
         SPACE 3                                                        66830001
CHKREC   MVC   L0(L19,R3),CHKMSG   MOVE MESSAGE INTO LINE               66930001
         ST    R6,XSAVE            SAVE REGS                            67030001
         XR    R6,R6               CLEAR REG 6                          67130001
         IC    R6,BTUMOD           GET LOST CK REC CNT                  67230001
         CVD   R6,LCRCNT           CONVERT COUNT TO DECIMAL             67330001
         UNPK  L17(L3,R3),LCRCNT   UNPACK LOST CK REC CNT               67430001
         OI    L19(R3),X'F0'       SET ZONE FOR LAST DIGIT              67530001
         L     R6,XSAVE            RESTORE REG 6                        67630001
         BR    R14                                                      67730001
CHKMSG   DC    C'LOST CK REC CNT    '                                   67830001
LCRCNT   DS    D                                                        67930001
         SPACE 3                                                        68030001
MSGA     DC    C'TYPE 2 CSB4'                                           69030002
MSGB     DC    C'TYPE 2 CSB3'                                           69120002
MSGC     DC    C'TYPE 2 CSB2'                                           69210002
MSGD     DC    C'TYPE 2 CSB1'                                           69300002
MSGE     DC    C'TYPE 1'                                                69390002
MSGF     DC    C'TYPE 3 CSB4'                                           69480002
MSGG     DC    C'TYPE 3 CSB3'                                  @Z40BICF 69570002
MSGH     DC    C'TYPE 3 CSB2'                                  @Z40BICF 69660002
MSGI     DC    C'TYPE 3 CSB1'                                  @Z40BICF 69750002
TYPFLAG  DC    X'00'                                                    69840001
LINEA    DC    A(LINC-4)                                                69940001
LINEB    DC    A(LINETY2-4)                                             70200002
LABB     DC    A(LABTY2-1)                                              70290002
LINEC    DC    A(ERRLINE-4)                                             70380001
LABC     DC    A(ERRLBL-1)                                              70420001
LINED    DC    A(LINETY3-4)                                    @Z40BICF 70470002
LABD     DC    A(LABTY3-1)                                     @Z40BICF 70560002
*                                                                       70650002
ENTRIES  DS    0F                                                       70740002
         DC    XL4'00010001'                                            70830002
         DC    XL4'00010001'                                            70920002
         DC    A(LABELS)                                                71010002
         DC    H'0'                                                     71100002
         DC    X'01'                                                    71190002
         DC    X'000B0B00'                                              71280002
         SPACE 3                                                        71370001
         LINE  (38,28),(2,53),SKIP=2                                    72180002
         ROUTINE   ISBOX,TYPE                                           72270002
         LABEL ''                                              @XA21840 72300001
         LINE  ,                                               @XA21840 72330001
         HEX   (LINEADD,0,2B)                                           72360002
         ROUTINE BTUMOD,CHKREC                                          72400001
         LABEL 'RECORD TYPE - COMMUNICATION SCANNER TYPE','ABEND CODE'  72450002
*                                                                       72540002
         LINE  (31,49),(5,44),SKIP=1                                    72630002
         HEX   (REG200,0,4B),(REG400,0,4B)                              72720002
         LABEL 'LAGGING ADDRESS REG 74','INTERRUPTED LEVEL IAR'         72810002
*                                                                       72900002
         LINE  (31),(5),SKIP=2                                          72990002
         HEX   (REG600,0,2B)                                            73080002
         LABEL 'EXTERNAL REGISTER 79'                                   73170002
         SPACE 3                                                        73260001
         LINE  (46,16),(11,46)                                 X12811CG 74250002
         ROUTINE   REG100,DIREC                                         74340002
         LABEL  ''                                                      74430002
         SPACE 3                                                        74520001
         LINE  (45),(9),SKIP=2                                          74530001
         HEX   (REG100,0,2B)                                            74540001
         LABEL 'COMMUNICATIONS SCANNER STATUS 44='                      74550001
         SPACE 3                                                        74560001
         LINE  (46),(11),SKIP=1                                         74610002
         BIN   (REG100)                                                 74700002
         LABEL 'MODE BIT OVERRIDE'                                      74790001
         SPACE 3                                                        74880001
         LINE                                                           74970002
         BIN   (REG101)                                                 75060002
         LABEL 'UNUSED'                                                 75150002
*                                                                       75240002
         LINE                                                           75330002
         BIN   (REG102)                                                 75420002
         LABEL 'OVERRIDE REMEMBER'                                      75510001
         SPACE 3                                                        75600001
         LINE                                                           75690002
         BIN   (REG103)                                                 75780002
         LABEL 'SCANNER ENABLED'                                        75870002
*                                                                       75960002
         LINE                                                           76050002
         BIN   (REG104)                                                 76140002
         LABEL 'CHARACTER SERVICE PENDING'                              76230002
*                                                                       76320002
         LINE                                                           76410002
         BIN   (REG105)                                                 76500002
         LABEL 'UNUSED'                                                 76590002
*                                                                       76680002
         LINE                                                           76770002
         BIN   (REG106)                                                 76860002
         LABEL 'UNUSED'                                                 76950002
*                                                                       77040002
         LINE                                                           77130002
         BIN   (REG107)                                                 77220002
         LABEL 'UNUSED'                                                 77310002
*                                                                       77400002
         LINE                                                           77490002
         BIN   (REG108)                                                 77580002
         LABEL 'UNUSED'                                                 77670002
*                                                                       77760002
         LINE                                                           77850002
         BIN   (REG109)                                                 77940002
         LABEL 'UNUSED'                                                 78030002
*                                                                       78120002
         LINE                                                           78210002
         BIN   (REG110)                                                 78300002
         LABEL 'LIB POS 1 BIT CLOCK CHECK'                              78390002
*                                                                       78480002
         LINE                                                           78570002
         BIN   (REG111)                                                 78660002
         LABEL 'LIB POS 2 BIT CLOCK CHECK'                              78750002
*                                                                       78840002
         LINE                                                           78930002
         BIN   (REG112)                                                 79020002
         LABEL 'LIB POS 3 BIT CLOCK CHECK'                              79110002
*                                                                       79200002
         LINE                                                           79290002
         BIN   (REG113)                                                 79380002
         LABEL 'LIB POS 4 BIT CLOCK CHECK'                              79470002
*                                                                       79560002
         LINE                                                           79650002
         BIN   (REG114)                                                 79740002
         LABEL 'LIB SELECT CHECK'                                       79830002
*                                                                       79920002
         LINE                                                           80010002
         BIN   (REG115)                                                 80100002
         LABEL 'CCU OUTBUS CHECK'                                       80190002
*                                                                       80280002
         LINE                                                           80370002
         ROUTINE   REG100,BRANCH                                        80460002
         LABEL ''                                                       80550002
         SPACE 3                                                        80640001
LINETY2  LINE  (45),(9),SKIP=2                                          80720001
         HEX   (REG100,0,2B)                                            80800001
LABTY2   LABEL 'COMMUNICATIONS SCANNER STATUS 43='                      80880001
         SPACE 3                                                        80960001
         LINE  (46),(11),SKIP=1                                         81040001
         BIN   (REG100)                                                 81120001
         LABEL 'LIB POS 1 BIT CLOCK CHECK'                              81200001
         SPACE 3                                                        81280001
         LINE                                                           81360002
         BIN   (REG101)                                                 81450002
         LABEL 'LIB POS 2 BIT CLOCK CHECK'                              81540002
*                                                                       81630002
         LINE                                                           81720002
         BIN   (REG102)                                                 81810002
         LABEL 'LIB POS 3 BIT CLOCK CHECK'                              81900002
*                                                                       81990002
         LINE                                                           82080002
         BIN   (REG103)                                                 82170002
         LABEL 'LIB POS 4 BIT CLOCK CHECK'                              82260002
*                                                                       82350002
         LINE                                                           82440002
         BIN   (REG104)                                                 82530002
         LABEL 'LIB POS 5 BIT CLOCK CHECK'                              82620002
*                                                                       82710002
         LINE                                                           82800002
         BIN   (REG105)                                                 82890002
         LABEL 'LIB POS 6 BIT CLOCK CHECK'                              82980002
*                                                                       83070002
         LINE                                                           83160002
         BIN   (REG106)                                                 83250002
         LABEL 'LIB SELECT CHECK'                                       83340002
*                                                                       83430002
         LINE                                                           83520002
         BIN   (REG107)                                                 83610002
         LABEL 'ICW IN REGISTER CHECK'                                  83700002
*                                                                       83790002
         LINE                                                           83880002
         BIN   (REG108)                                                 83970002
         LABEL 'ICW WORK REGISTER CHECK'                                84060002
*                                                                       84150002
         LINE                                                           84240002
         BIN   (REG109)                                                 84330002
         LABEL 'PRIORITY REGISTER AVAILABLE CHECK'                      84420002
*                                                                       84510002
         LINE                                                           84600002
         BIN   (REG110)                                                 84690002
         LABEL 'CCU OUTBUS CHECK'                              X12811CG 84780002
*                                                                       84870002
         LINE                                                           84960002
         BIN   (REG111)                                                 85050002
         LABEL 'LINE ADBUS CHECK'                              X12811CG 85140002
*                                                                       85230002
         LINE                                                           85320002
         BIN   (REG112)                                                 85410002
         LABEL 'UNUSED'                                                 85500002
*                                                                       85590002
         LINE                                                           85680002
         BIN   (REG113)                                                 85770002
         LABEL 'UNUSED'                                                 85860002
*                                                                       85950002
         LINE                                                           86040002
         BIN   (REG114)                                                 86130002
         LABEL 'UNUSED'                                                 86220002
*                                                                       86310002
         LINE                                                           86400002
         BIN   (REG115)                                                 86490002
         LABEL 'UNUSED'                                                 86580002
*                                                                       86670002
         LINE                                                           86760002
         ROUTINE  REG100,BRANCH                                @Z40BICF 86850002
         LABEL ''                                              @Z40BICF 86940002
         SPACE 3                                                        87030001
LINETY3  LINE  (45,31),(9,46),SKIP=2                                    87070001
         HEX   (REG100,0,2B),(REG700,0,2B)                              87110001
LABTY3   LABEL 'COMMUNICATIONS SCANNER STATUS 43=','CHECK REGISTER 42=' 87150001
         SPACE 3                                                        87190001
         LINE   (46,45),(11,46),SKIP=1                                  87230001
         BIN    (REG100),(REG700)                                       87270001
         LABEL 'LIB POS 1 BIT CLOCK CHECK','ICW WORK REG CK 2 BYTE 3 OR*87310001
                13'                                                     87350001
         SPACE 3                                                        87390001
         LINE                                                           87480002
         BIN   (REG101),(REG701)                               @Z40BICF 87570002
         LABEL 'LIB POS 2 BIT CLOCK CHECK','ICW WORK REG CK 3 BYTE 4 ORC87660002
                12'                                            @XA14316 87700002
*                                                                       87750002
         LINE                                                           87840002
         BIN   (REG102),(REG702)                               @Z40BICF 87930002
         LABEL 'LIB POS 3 BIT CLOCK CHECK','ICW WORK REG CK 4 BYTE 5 ORC88020002
                11'                                            @XA14316 88060002
*                                                                       88110002
         LINE                                                           88200002
         BIN   (REG103),(REG703)                               @Z40BICF 88290002
         LABEL 'LIB POS 4 BIT CLOCK CHECK','ICW WORK REG CK 5 BYTE 6 ORC88380002
                8'                                             @XA14316 88420002
*                                                                       88470002
         LINE                                                           88560002
         BIN   (REG104),(REG704)                               @Z40BICF 88650002
         LABEL 'UNUSED','ICW WORK REG CK 6 BYTE 7 OR 9'        @XA14316 88740002
*                                                                       88830002
         LINE                                                           88920002
         BIN   (REG105),(REG705)                               @Z40BICF 89010002
         LABEL 'UNUSED','ICW WORK REG CK 7 BYTE 15 OR 16'      @XA14316 89100002
*                                                                       89190002
         LINE                                                           89280002
         BIN   (REG106),(REG706)                               @Z40BICF 89370002
         LABEL 'LIB SELECT CHECK','ARRAY PARITY ERROR'                  89460001
         SPACE 3                                                        89550001
         LINE                                                           89640002
         BIN   (REG107),(REG707)                               @Z40BICF 89730002
         LABEL 'ICW IN REGISTER CHECK','UNUSED'                @Z40BICF 89820002
*                                                                       89910002
         LINE                                                           90000002
         BIN   (REG108),(REG708)                               @Z40BICF 90090002
         LABEL 'ICW WORK REG CK 1 BYTE 2 OR 10','DBAR   2    5'         90180001
*                                                                       90270002
         LINE                                                           90360002
         BIN   (REG109),(REG709)                               @Z40BICF 90450002
         LABEL 'PRIORITY REGISTER AVAILABLE CHECK','DBAR   2    4'      90540002
*                                                                       90630002
         LINE                                                           90720002
         BIN   (REG110),(REG710)                               @Z40BICF 90810002
         LABEL 'CCU OTBUS CHECK','DBAR   2    3'               X12811CG 90900002
*                                                                       90990002
         LINE                                                           91080002
         BIN   (REG111),(REG711)                               @Z40BICF 91170002
         LABEL 'LINE ADBUS CHECK','DBAR   2    2'              X12811CG 91260002
*                                                                       91350002
         LINE                                                           91440002
         BIN   (REG112),(REG712)                               @Z40BICF 91530002
         LABEL 'CYCLE STEAL ERROR INBOUND','DBAR   2    1'     @Z40BICF 91620002
*                                                                       91710002
         LINE                                                           91800002
         BIN   (REG113),(REG713)                               @Z40BICF 91890002
         LABEL 'CSAR CHECK','DBAR   2    0'                    @Z40BICF 91980002
*                                                                       92070002
         LINE                                                           92160002
         BIN   (REG114),(REG714)                               @Z40BICF 92250002
         LABEL 'ADDRESSING EXCEPTION','SCAN LIMIT SELECT BIT 0'         92340001
         SPACE 3                                                        92430001
         LINE                                                           92520002
         BIN   (REG115),(REG715)                               @Z40BICF 92610002
         LABEL 'ICW WORK REG CK 0 BYTE 0 OR 14','SCAN LIMIT SELECT BIT *92700001
                1'                                                      92740001
         SPACE 3                                                        92780001
         DC    X'FF'                                                    92820001
         DC    XL2'0038'                                                92860001
         DC    XL2'0018'                                                92900001
         DC    XL2'0018'                                                92940001
         SPACE 3                                                        92980001
ERRLINE  LINE  ,(10),SKIP=1                                             93020001
ERRLBL   LABEL 'RECORD TYPE UNKNOWN - IFCETRN1'                         93060001
         SPACE 3                                                        93100001
LINC     DC    X'FF'                                                    93240002
         DC    XL2'0038'                                                93330002
         DC    XL2'0018'                                                93420002
         DC    XL2'0018'                                                93510002
LABELS   DS    0F                                                       93600002
         DC    C'$'                                                     93690002
         LSTART                                                         93780002
         END                                                            93870002
