         TITLE 'I F C E M E R 4 - I F C E M E R 4 - I F C E M E R 4'    00060002
*  DSGEN MACRO     DSGEN MACRO     DSGEN MACRO     DSGEN MACRO        * 00120002
         SPACE 2                                                        00240002
         MACRO                                                          00360002
&NAME    DSGEN &X1,&X2,&X3,&X4,&X5,&X6,&X7,&X8,&X9,&X10,&X11,&X12,&X13,X00480002
               &X14,&X15,&X16,&X17,&X18,&X19,&X20,&X21,&X22,&X23,&X24, X00600002
               &X25,&X26,&X27,&X28,&X29,&X30,&X31,&X32                  00720002
.*                            THIS MACRO GENERATES ONE DSECT WORD       00840002
.*                                 FORMATTED FOR THE SUBJECT LOG RECORD 00960002
.*                                 EACH OPERAND HAS TWO SUB LISTS. THE  01080002
.*                                 FIRST IS THE NAME OF THE LOG ITEM    01200002
.*                                 WHILE THE SECOND IS THE # OF BITS TO 01320002
.*                                 ALLOCATE FOR THIS ITEM. ITEMS MUST   01440002
.*                                 BE DEFINED CONTIGUOUSLY WITHOUT GAPS 01560002
.*                                 UNUSED BIT GROUPS MUST BE GIVEN      01680002
.*                                 DUMMY NAMES. THE NAMES PROVIDED FOR  01800002
.*                                 THE LOG ITEMS MAY THEN BE USED IN    01920002
.*                                 THE CONVERSION MACRO INSTRUCTIONS.   02040002
         GBLC &ITEM(1000)                                               02160002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000)                         02280002
         LCLC  &SYMBOL                                                  02400002
         LCLA  &OP,&COUNT,&BYTE                                         02520002
.LOOP    ANOP                                                           02640002
&OP      SETA  &OP+1                                                    02760002
&ITEMNBR SETA  &ITEMNBR+1                                               02880002
&SYMBOL  SETC  '&SYSLIST(&OP,1)'                                        03000002
         AIF   ('&SYSLIST(&OP,2)' NE '').OK1                            03120002
         MNOTE *,'NULL BIT COUNT FIELD'                                 03240002
         MEXIT                                                          03360002
.OK1     ANOP                                                           03480002
         AIF   ('&SYMBOL' NE '').OK                                     03600002
         MNOTE 'LOG ITEM SYMBOL NOT PROVIDED'                           03720002
         AGO   .CNT                                                     03840002
.OK      ANOP                                                           03960002
         AIF   ('&SYMBOL'(1,1) EQ '''').CNT                *TEMP*       04080002
&SYMBOL  EQU   *+&BYTE                                                  04200002
&ITEM(&ITEMNBR)  SETC '&SYSLIST(&OP,1)'                                 04320002
&BITS(&ITEMNBR) SETA &SYSLIST(&OP,2)                                    04440002
&SHIFT(&ITEMNBR) SETA &COUNT-&BYTE*8                                    04560002
.CNT     ANOP                                                           04680002
&COUNT   SETA  &COUNT+&SYSLIST(&OP,2)                                   04800002
&BYTE    SETA  &COUNT/8                                                 04920002
         AIF (&OP LT N'&SYSLIST).LOOP                                   05040002
         AIF   (&COUNT NE 32).NOT32                                     05160002
&NAME    DS    4C                                                       05280002
         MEXIT                                                          05400002
.NOT32   AIF   (&COUNT NE 64).ERR                                       05520002
&NAME    DS    8C                                                       05640002
         MEXIT                                                          05760002
.ERR     MNOTE '**BIT COUNT FIELDS DO NOT TOTAL 32 OR 64**'             05880002
         MEND                                                           06000002
         EJECT                                                          06120002
*  LINE MACRO     LINE MACRO     LINE MACRO     LINE MACRO            * 06240002
         SPACE 2                                                        06360002
         MACRO                                                          06480002
&NAME    LINE  &DATA,&LABEL,&SKIP=                                      06580002
.*                            THIS MACRO ESTABLISHES THE MARGINS OR     06680002
.*                                 COLUMN SETTINGS FOR EACH LINE. IT    06780002
.*                                 GENERATES NECESSARY CARRIAGE CONTROL 06880002
.*                                 ENTRIES. LASTLY IT DETERMINES THE    06980002
.*                                 NUMBER OF ENTRIES ASSOCIATED WITH    07080002
.*                                 THE PREVIOUS LINE AND STORES THAT #  07180002
.*                                 INTO THE APPROPRIATE BYTE.           07280002
.*                            &DATA(1) - CHARACTER POSITION TO BEGIN    07380002
.*                                 DATA.                                07480002
.*                            &DATA(2) - # OF SPACES BETWEEN SUCCESSIVE 07580002
.*                                 DATA COLUMN STARTING CHARACTERS.     07680002
.*                            &LABEL(1) - CHAR. POS. TO BEGIN LABELS.   07780002
.*                            &LABEL(2) - # SPACES BETWEEN LINE'S LABEL 07880002
.*                                 STARTING CHARACTERS.                 07980002
.*                            &SKIP= - # OF LINES TO ADVANCE CARRIAGE   08080002
.*                                 TO BEGIN NEXT PRINTED LINE.          08180002
.*                            NEW ENTRIES ARE GENERATED ONLY WHEN       08280002
.*                                 NECESSARY. OMISSION OF ITEMS MEANS   08380002
.*                                 THEY HAVE NOT CHANGED SINCE PREVIOUS 08480002
.*                                 SETTINGS. A LINE MACRO IS REQUIRED   08580002
.*                                 FOR EACH PRINTED LINE. IF NO SETTING 08680002
.*                                 CHANGES ARE REQUIRED ALL OPERANDS    08780002
.*                                 ARE OMITTED IN WHICH CASE ONLY THE   08880002
.*                                 # OF ENTRIES FOR THE PREVIOUS LINE   08980002
.*                                 IS COMPUTED. THIS MACRO MUST BE THE  09080002
.*                                 FIRST MACRO INSTRUCTION ISSUED FOR   09180002
.*                                 THE SUBJECT LINE                     09280002
         GBLA  &DB,&DT,&LB,&LT,&NRENTS                                  09380002
         GBLA  &LASTCC,&INITIAL                                         09480002
         GBLC  &NRENTSX                                                 09580002
         GBLC  &CARRCON                                                 09680002
         GBLB  &TEST                                                    09780002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               09880002
         LCLA  &S                                                       09980002
         AIF   (&INITIAL EQ 0 OR &DIAGTST EQ 0).DIAGSET                 10080002
         AIF   (&DIAGSET EQ 0).DIAGSET                                  10180002
         MNOTE '**NO LABEL ASSOCIATED WITH LAST SET**'                  10280002
***** THE FOLLOWING GENERATED FOR TEST PURPOSES *****                   10380002
*        LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'       10480002
               LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 10580002
.DIAGSET ANOP                                                           10680002
&DIAGSET SETB  1                                                        10780002
&DIAGLIN SETB  1                                                        10880002
&NAME    DS    0C                                                       10980002
         AIF   (&INITIAL EQ 0).FIRSTLN                                  11080002
         LINEND                                                         11180002
         AGO   .NTFIRST                                                 11280002
.FIRSTLN ANOP                                                           11380002
&NRENTSX SETC  'N&SYSNDX'                                               11480002
&INITIAL SETA  1                                                        11580002
N&SYSNDX EQU   *                                                        11680002
.NTFIRST ANOP                                                           11780002
         DC    AL1(0)                                                   11880002
         AIF   ('&DATA(1)' EQ '').CKDTABS                               11980002
         AIF   (&DATA(1) EQ &DB).CKDTABS                                12080002
&DB      SETA  &DATA(1)                                                 12180002
         AGO   .AA                                                      12280002
.CKDTABS AIF   ('&DATA(2)' EQ '').NCDATA                                12380002
         AIF   (&DATA(2) EQ &DT).NCDATA                                 12480002
         AGO   .CC                                                      12580002
.AA      AIF   ('&DATA(2)' EQ '').BB                                    12680002
         AIF   (&DATA(2) EQ &DT).BB                                     12780002
.CC      ANOP                                                           12880002
&DT      SETA  &DATA(2)                                                 12980002
.BB      DC    XL2'FFFE'                                                13080002
         DC    FL1'&DB'                                                 13180002
         DC    FL1'&DT'                                                 13280002
&NRENTS  SETA  &NRENTS+1                                                13380002
.NCDATA  ANOP                                                           13480002
         AIF   ('&LABEL(1)' EQ '').CKLTABS                              13580002
         AIF   (&LABEL(1) EQ &LB).CKLTABS                               13680002
&LB      SETA  &LABEL(1)                                                13780002
         AGO   .AAA                                                     13880002
.CKLTABS AIF   ('&LABEL(2)' EQ '').NCLABEL                              13980002
         AIF   (&LABEL(2) EQ &LT).NCLABEL                               14080002
         AGO   .CCC                                                     14180002
.AAA     AIF   ('&LABEL(2)' EQ '').BBB                                  14280002
         AIF   (&LABEL(2) EQ &LT).BBB                                   14380002
.CCC     ANOP                                                           14480002
&LT      SETA  &LABEL(2)                                                14580002
.BBB     DC    XL2'FFFF'                                                14680002
         DC    FL1'&LB'                                                 14780002
         DC    FL1'&LT'                                                 14880002
&NRENTS  SETA  &NRENTS+1                                                14980002
.NCLABEL ANOP                                                           15080002
         AIF   ('&SKIP' NE '').CONT                                     15180002
         AIF   (&TEST EQ 0).NOCHANG                                     15280002
         AGO   .DEFALTA                                                 15380002
.CONT    ANOP                                                           15480002
         AIF   (&TEST EQ 0).AB                                          15580002
         AIF   ('&SKIP' EQ 'E').AB                                      15680002
&S       SETA  &SKIP                                                    15780002
.DEFAULT ANOP                                                           15880002
         AIF   (&SKIP EQ &LASTCC).DEFALTA                               15980002
         ORG   &CARRCON+3                                               16080002
         DC    AL.3(0),AL.2(&S),AL.3(1)                                 16180002
         ORG                                                            16280002
&LASTCC  SETA  &S                                                       16380002
.DEFALTA ANOP                                                           16480002
&TEST    SETB  0                                                        16580002
         AGO   .DD                                                      16680002
.AB      AIF   ('&SKIP' NE 'E').ABB                                     16780002
A&SYSNDX DC    X'FFFB8B00'              EJECT                           16880002
         AGO   .ABC                                                     16980002
.ABB     AIF   (&SKIP EQ &LASTCC).NOCHANG                               17080002
A&SYSNDX DC    XL2'FFFB'                                                17180002
         DC    AL.3(0),AL.2(&SKIP),AL.3(1)                              17280002
         DC    AL.3(0),AL.2(&SKIP),AL.3(1)                              17380002
&LASTCC  SETA  &SKIP                                                    17480002
&TEST    SETB  1                                                        17580002
.ABC     ANOP                                                           17680002
&CARRCON SETC  'A&SYSNDX'                                               17780002
&NRENTS  SETA  &NRENTS+1                                                17880002
.DD      ANOP                                                           17980002
.NOCHANG ANOP                                                           18080002
         MEND                                                           18180002
         EJECT                                                          18720002
*  BIN MACRO     BIN MACRO     BIN MACRO     BIN MACRO     BIN MACRO  * 18840002
         SPACE 2                                                        18960002
         MACRO                                                          19080002
         BIN                                                            19140002
.*                                 &SYSLIST(&OP,1) - NAME OF LOG ITEM   19200002
.*                                      RECORD DSECT                    19260002
.*                                 $SYSLIST(&OP,2) - NBR OF SPACES      19320002
.*                                      TO SKIP ON MULTIPLE             19380002
.*                                      PRINT OR NBR OF SPACES          19440002
.*                                      TO BACK UP FROM COLUMN FOR      19500002
.*                                      START OF PRINTING. THE LETTER   19560002
.*                                      B PRECEEDS THE NUMBER (B5) IF   19620002
.*                                      THE LATTER IS DESIRED. OMISSION 19680002
.*                                      OF THIS OPERAND FORCES OPTION 2 19740002
.*                                      WITH BACKUP SPACING EQUAL TO    19800002
.*                                 THE NUMBER OF BITS IN THE ITEM       19860002
.*                                 DEFINITION (VIA MACRO 'DSGEN').      19920002
.*                            A LIMIT OF 15 BITS IS IMPOSED FOR THE     19980002
.*                                 TOTAL NUMBER OF BITS TO PRINT.       20040002
         GBLA  &INITIAL                                                 20100002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               20160002
         GBLC  &ITEM(1000),&DSECT                                       20220002
         GBLA  &BITS(1000),&ITEMNBR,&SHIFT(1000),&NRENTS                20280002
         LCLB  &B,&SUB                                                  20340002
         LCLA  &IBITS,&NDX,&ISHIFT,&K                                   20400002
         LCLA  &TEMP,&T,&OP                                             20460002
         LCLC  &S                                                       20520002
         ACTR  500000                                                   20580002
         AIF   (&DIAGTST EQ 0).NOMSG                                    20640002
         AIF   (&INITIAL EQ 0).NOMSG                                    20700002
         AIF   (&DIAGLIN EQ 1).NOMSG                                    20760002
         MNOTE '**NO LINE ASSOCIATED WITH THIS DATA**'                  20820002
*****THE FOLLOWING GENERATED FOR TEST PURPOSES*****                     20880002
*        LINE                                                           20940002
         LINE                                                           21000002
.NOMSG   ANOP                                                           21060002
         AIF   (K'&SYSLIST(1) EQ K'&SYSLIST(1,1)).LOOP                  21120002
&SUB     SETB  1                                                        21180002
.LOOP    ANOP                                                           21240002
&OP      SETA  &OP+1                                                    21300002
.LOOP1   ANOP                                                           21360002
&NDX     SETA  &NDX+1                                                   21420002
         AIF   ('&ITEM(&NDX)' EQ '&SYSLIST(&OP,1)').FOUND               21480002
         AIF   (&NDX LT &ITEMNBR).LOOP1                                 21540002
         MNOTE '**LOG ITEM NOT DEFINED**'                               21600002
         MEXIT                                                          21660002
.FOUND   ANOP                                                           21720002
&ISHIFT  SETA  &SHIFT(&NDX)                                             21780002
&IBITS   SETA  &BITS(&NDX)                                              21840002
         AIF   (&SUB EQ 1).SUB00                                        21900002
         AIF   ('&SYSLIST(3)' EQ '').SETT                               21960002
&IBITS   SETA  &SYSLIST(3)                                              22020002
         AGO   .SETT                                                    22080002
.SUB00   AIF   ('&SYSLIST(&OP,3)' EQ '').SETT                           22140002
&IBITS   SETA  &SYSLIST(&OP,3)                                          22200002
.SETT    ANOP                                                           22260002
&T       SETA  &IBITS-1                                                 22320002
&B       SETB  0                                                        22380002
         AIF   (&IBITS GT 0 AND &IBITS LT 16).SUB0                      22440002
         MNOTE '**NO. OF BITS OUTSIDE RANGE OF 1-15**'                  22500002
         MEXIT                                                          22560002
.SUB0    AIF   (&SUB EQ 1).SUBA                                         22620002
         AIF   ('&SYSLIST(2)' EQ '').BACKUP                             22680002
&K       SETA  K'&SYSLIST(2)                                            22740002
&B       SETB  ('&SYSLIST(2)'(1,1) EQ 'B')                              22800002
&S       SETC  '&SYSLIST(2)'(&B+1,&K-&B)                                22860002
         AGO   .SUBB                                                    22920002
.SUBA    ANOP                                                           22980002
         AIF   ('&SYSLIST(&OP,2)' EQ '').BACKUP                         23040002
&K       SETA  K'&SYSLIST(&OP,2)                                        23100002
&B       SETB  ('&SYSLIST(&OP,2)'(1,1) EQ 'B')                          23160002
&S       SETC  '&SYSLIST(&OP,2)'(&B+1,&K-&B)                            23220002
.SUBB    ANOP                                                           23280002
&T       SETA  &S                                                       23340002
.BACKUP  ANOP                                                           23400002
&NRENTS  SETA  &NRENTS+1                                                23460002
&TEMP    SETA  &ISHIFT                                                  23520002
         AIF   (&IBITS NE 1 OR &B NE 0).BIN2                            23580002
         DC    AL.12(&SYSLIST(&OP,1)-&DSECT),XL.4'&TEMP'                23640002
         AGO   .OUT                                                     23700002
.BIN2    AIF   (&SUB EQ 1).BIN2A                                        23760002
         AIF   ('&SYSLIST(2)' NE '').BIN3                               23820002
         AGO   .BIN2B                                                   23880002
.BIN2A   AIF   ('&SYSLIST(&OP,2)' NE '').BIN3                           23940002
.BIN2B   ANOP                                                           24000002
&B       SETB  1                                                        24060002
.BIN3    ANOP                                                           24120002
         DC    AL.12(&SYSLIST(&OP,1)-&DSECT),XL.4'C'                    24180002
         DC    BL.1'&B',AL.7(&T),AL.4(&IBITS),FL.4'&ISHIFT'             24240002
.OUT     ANOP                                                           24300002
&NDX     SETA  0                                                        24360002
         AIF   (&SUB EQ 0).OUTA                                         24420002
         AIF   (&OP LT N'&SYSLIST).LOOP                                 24480002
.OUTA    ANOP                                                           24540002
         MEND                                                           24600002
         EJECT                                                          25200002
*  HEX MACRO     HEX MACRO     HEX MACRO    HEXN MACRO     HEX MACRO  * 25320002
         SPACE 2                                                        25440002
         MACRO                                                          25560002
         HEX   &LOGITEM,&SKIP$OR,&BYTES                                 25680002
.*                            THIS MACRO FACILITATES GENERATION OF THE  25800002
.*                                 TABLE ENTRIES SPECIFYING HEX TYPE    25920002
.*                                 CONVERSIONS.                         26040002
.*                            &LOGITEM - NAME OF DATA ITEM TO BE        26160002
.*                                 CONVERTED                            26280002
.*                            &SKIP$OR - NUMBER OF SPACES TO SKIP ON    26400002
.*                                 MULTIPLE PRINT OR NBR OF SPACES TO   26520002
.*                                 BACK UP FROM COLUMN FOR START OF     26640002
.*                                 PRINTING. THE LETTER B PRECEEDS THE  26760002
.*                                 NUMBER (B8) IF THE LATTER OPTION IS  26880002
.*                                 DESIRED. OMISSION OF THIS OPERAND    27000002
.*                                 FORCES OPTION 2 WITH BACKUP SPACING  27120002
.*                                 EQUAL TO THE NUMBER OF BYTES SPECI-  27240002
.*                                 FIED BY THE NEXT OPERAND (TWICE THIS 27360002
.*                                 NUMBER IF SUFFIX IS EXPLICITLY OR    27480002
.*                                 IMPLICITLY B).                       27600002
.*                            &BYTES - NUMBER OF TOTAL INPUT BYTES TO   27720002
.*                                 PROCESS. THIS NUMBER IS SUFFIXED     27840002
.*                                 WITH AN L,R, OR B TO STIPULATE       27960002
.*                                 PRINTING OF THE LEFT HALF, RIGHT     28080002
.*                                 HALF, OR BOTH HALVES OF THE BYTE     28200002
.*                                 RESPECTIVELY. OMISSION OF THIS       28320002
.*                                 OPERAND DEFAULTS TO B WITH THE NUM-  28440002
.*                                 BER OF BYTES EQUAL TO THE ITEM LNGTH 28560002
.*                            A NEW ENTRY IS GENERATED ONLY WHEN NECES- 28680002
.*                                 SARY. THIS MACRO MUST BE THE FIRST   28800002
.*                                 MACRO INSTRUCTION ISSUED FOR THE     28920002
.*                                 SUBJECT LINE(S).                     29040002
         GBLC &ITEM(1000),&DSECT                                        29160002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000),&NRENTS                 29280002
         LCLB  &B                                                       29400002
         LCLA  &IBITS,&NDX,&ISHIFT,&K,&T,&CODE,&BYTESP                  29520002
         LCLC  &S,&LETTER                                               29640002
.LOOP    ANOP                                                           29760002
&NDX     SETA  &NDX+1                                                   29880002
         AIF   ('&ITEM(&NDX)' EQ '&LOGITEM').FOUND                      30000002
         AIF   (&NDX LT &ITEMNBR).LOOP                                  30120002
         MNOTE *,'LOG ITEM NOT DEFINED'                                 30240002
         MEXIT                                                          30360002
.FOUND   ANOP                                                           30480002
&ISHIFT  SETA  &SHIFT(&NDX)                                             30600002
&IBITS   SETA  &BITS(&NDX)                                              30720002
&CODE    SETA  1                                                        30840002
&K       SETA  K'&BYTES                                                 30960002
         AIF   (&IBITS-(&IBITS/4)*4 EQ 0).OK                            31080002
         MNOTE *,'BIT LENGTH SPECIFICATION INCONSISTENT WITH CONTROL'   31200002
         MEXIT                                                          31320002
.OK      AIF   ('&BYTES' EQ '').USEDEFN                                 31440002
&LETTER  SETC  '&BYTES'(&K,1)                                           31560002
&S       SETC  '&BYTES'(1,&K-1)                                         31680002
&BYTESP  SETA  &S                                                       31800002
         AIF   ('&LETTER' EQ 'B').BOTH                                  31920002
         AIF   (&ISHIFT EQ 0 OR &ISHIFT EQ 4).OK2                       32040002
.ERR     MNOTE *,'DATA NOT ALLIGNED ON HEX OR BYTE BOUNDARY'            32160002
         MEXIT                                                          32280002
.USEDEFN ANOP                                                           32400002
&BYTESP  SETA  &IBITS/8                                                 32520002
.BOTH    AIF   (&ISHIFT NE 0).ERR                                       32640002
&CODE    SETA  3                                                        32760002
&T       SETA  &BYTESP*2-1                                              32880002
&S       SETC  '&T'                                                     33000002
.OK2     AIF   (&ISHIFT EQ 0).L                                         33120002
&CODE    SETA  2                                                        33240002
.L       ANOP                                                           33360002
&B       SETB  1                                                        33480002
         AIF   ('&SKIP$OR' EQ '').BACKUP                                33600002
&K       SETA  K'&SKIP$OR                                               33720002
&B       SETB  ('&SKIP$OR'(1,1) EQ 'B')                                 33840002
&S       SETC  '&SKIP$OR'(&B+1,&K-&B)                                   33960002
.BACKUP  ANOP                                                           34080002
&NRENTS  SETA  &NRENTS+1                                                34200002
         DC    AL.12(&LOGITEM-&DSECT),XL.4'A'                           34320002
         DC    BL.1'&B',FL.7'&S',FL.4'&BYTESP',FL.4'&CODE'              34440002
.OUT     ANOP                                                           34560002
         MEND                                                           34680002
         SPACE 2                                                        34800002
*  ROUTINE MACRO     ROUTINE MACRO     ROUTINE MACRO     ROUTINE MACRO* 34920002
         SPACE 2                                                        35040002
         MACRO                                                          35160002
&NAME    ROUTINE &LOGITEM,&RNAME                                        35280002
         GBLC  &DSECT,&CSECT                                            35400002
         GBLC  &ITEM(1000)                                              35520002
         GBLA  &SHIFT(1000),&ITEMNBR                                    35640002
         GBLA  &NRENTS                                                  35760002
         LCLA  &ISHIFT,&NDX                                             35880002
.LOOP    ANOP                                                           36000002
&NDX     SETA  &NDX+1                                                   36120002
         AIF   ('&ITEM(&NDX)' EQ '&LOGITEM').FOUND                      36240002
         AIF   (&NDX LT &ITEMNBR).LOOP                                  36360002
         MNOTE *,'LOG ITEM NOT DEFINED'                                 36480002
         MEXIT                                                          36600002
.FOUND   ANOP                                                           36720002
&ISHIFT  SETA  &SHIFT(&NDX)                                             36840002
&NAME    DC    AL.12(&LOGITEM-&DSECT),XL.4'D'                           36960002
         DC    AL.4(&ISHIFT),AL.12(&RNAME-&CSECT)                       37080002
&NRENTS  SETA  &NRENTS+1                                                37200002
         MEND                                                           37320002
         EJECT                                                          37440002
*  LABEL MACRO     LABEL MACRO     LABEL MACRO     LABEL MACRO        * 37560002
         SPACE 2                                                        37680002
         MACRO                                                          37800002
&NAME    LABEL &LABEL1,&LABEL2,&LABEL3,&LABEL4,&LABEL5,&LABEL6,        C37870002
               &LABEL7,&LABEL8                                          37940002
.*                                 THIS MACRO ALLOWS LABELS TO          38010002
.*                                 BE SPECIFIED FOR A GIVEN LINE. THE   38080002
.*                                 LABELS SHOULD BE ENCLOSED IN QUOTA-  38150002
.*                                 TION MARKS. THE COLUMN AND LINE END  38220002
.*                                 CONTROLS WILL BE INSERTED BY THE     38290002
.*                                 MACRO. OMITTED OPERANDS MEAN NO      38360002
.*                                 LABEL REQUIRED FOR RESPECTIVE        38430002
.*                                 COLUMN.                              38500002
         GBLC &LABELS(2000)                                             38570002
         GBLC  &LBL(100)                                                38640002
         GBLA  &LBLCTR(100)                                             38710002
         GBLA  &LABELNR                                                 38780002
         GBLA  &NRENTS,&LPTR,&INITIAL                                   38850002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               38920002
         LCLC  &MARGIN,&TACK                                            38990002
         LCLC  &TEXT                                                    39060002
         LCLA  &OP,&K,&START,&NRCHAR,&REMAIN                            39130002
         AIF   (&INITIAL EQ 0).DIAGCLR                                  39200002
         AIF   (&DIAGTST EQ 0).DIAGCLR                                  39270002
         AIF   (&DIAGLIN EQ 1).DIAGCLR                                  39340002
         MNOTE '**NO LINE ASSOCIATED WITH PREVIOUS LABEL**'             39410002
***** THE FOLLOWING GENERATED FOR TEST PURPOSES *****                   39480002
*        LINE                                                           39550002
         LINE                                                           39620002
.DIAGCLR ANOP                                                           39690002
&DIAGSET SETB  0                                                        39760002
&DIAGLIN SETB  0                                                        39830002
&MARGIN  SETC  '*'                                                      39900002
         AIF   ('&NAME' EQ '').LOOPOUT                                  39970002
&LPTR    SETA  &LPTR+1                                                  40040002
&LBL(&LPTR) SETC '&NAME'                                                40110002
&LBLCTR(&LPTR) SETA &LABELNR+1                                          40180002
.LOOPOUT ANOP                                                           40250002
&OP      SETA  &OP+1                                                    40320002
&K       SETA  K'&SYSLIST(&OP)                                          40390002
         AIF (&K GE 2).NORM                                             40460002
&K       SETA  2                                                        40530002
.NORM    ANOP                                                           40600002
&START   SETA  2                                                        40670002
         AIF (&OP LT N'&SYSLIST).NOTLAST                                40740002
&MARGIN  SETC  '$'                                                      40810002
.NOTLAST ANOP                                                           40880002
&NRCHAR  SETA  8                                                        40950002
&TACK    SETC  ''                                                       41020002
.LOOPIN  ANOP                                                           41090002
&REMAIN  SETA  &K-&START                                                41160002
         AIF (&REMAIN GE 8).MORE                                        41230002
&TACK    SETC  '&MARGIN'                                                41300002
&NRCHAR  SETA  &REMAIN                                                  41370002
.MORE    ANOP                                                           41440002
&TEXT    SETC  ''                                                       41510002
         AIF (&REMAIN EQ 0).ENDTEXT                                     41580002
&TEXT    SETC  '&SYSLIST(&OP)'(&START,&NRCHAR)                          41650002
.ENDTEXT ANOP                                                           41720002
&LABELNR SETA  &LABELNR+1                                               41790002
&LABELS(&LABELNR) SETC '&TEXT'.'&TACK'                                  41860002
&START   SETA  &START+8                                                 41930002
         AIF ('&TACK' EQ '').LOOPIN                                     42000002
         AIF ('&TACK' EQ '*').LOOPOUT                                   42070002
         MEND                                                           42140002
         EJECT                                                          42210002
         MACRO                                                          42280002
         LSTART                                                         42350002
.*                            THIS MACRO IS ISSUED WHEN THE LABEL AREA  42420002
.*                                 OF THE TABLE IS TO BEGIN.            42490002
         GBLA  &LABELNR                                                 42560002
         GBLC  &LBL(100)                                                42630002
         GBLC &LABELS(2000)                                             42700002
         GBLA  &LBLCTR(100)                                             42770002
         GBLB  &DIAGTST,&DIAGSET,&DIAGLIN                               42840002
         LCLA  &NDX,&CTR                                                42910002
         AIF   (&DIAGTST EQ 0).NODIAG                                   42980002
         AIF   (&DIAGSET EQ 0).NODIAG                                   43050002
         MNOTE '**NO LABEL ASSOCIATED WITH LAST SET**'                  43120002
***** THE FOLLOWING GENERATED FOR TEST PURPOSES *****                   43190002
*        LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'       43260002
               LABEL '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 43330002
.NODIAG  ANOP                                                           43400002
         LINEND                                                         43470002
&CTR     SETA  1                                                        43540002
.LOOP    ANOP                                                           43610002
&NDX     SETA  &NDX+1                                                   43680002
         AIF   (&LBLCTR(&CTR) NE &NDX).NOLBL                            43750002
&LBL(&CTR) DC  C'&LABELS(&NDX)'                                         43820002
&CTR     SETA  &CTR+1                                                   43890002
         AGO   .LOOPCTL                                                 43960002
.NOLBL   ANOP                                                           44030002
         DC    C'&LABELS(&NDX)'                                         44100002
.LOOPCTL AIF   (&NDX LT &LABELNR).LOOP                                  44170002
         MEND                                                           44240002
         SPACE 3                                                        44310002
         MACRO                                                          45240002
         LINEND                                                         45360002
.*                            THIS MACRO IS USED ONLY BY THE LINE       45480002
.*                                 MACRO TO SET THE NUMBER OF ENTRIES   45600002
.*                                 ASSOCIATED WITH EACH LINE.           45720002
         GBLA  &NRENTS                                                  45840002
         GBLC &NRENTSX                                                  45960002
         ORG   &NRENTSX                                                 46080002
         DC    FL1'&NRENTS'                                             46200002
         ORG                                                            46320002
&NRENTS  SETA  0                                                        46440002
B&SYSNDX EQU   *                                                        46560002
&NRENTSX SETC  'B&SYSNDX'                                               46680002
         MEND                                                           46800002
         EJECT                                                          46920002
         GBLC  &DSECT,&CSECT                                            47040002
IFCEMER4 CSECT                                                          47160002
&CSECT   SETC  'IFCEMER4'                                               47280002
&DSECT   SETC  'MER4'                                                   47400002
*                                                                       47520002
*        SENSE FORMAT 4                                                 47640002
*                                                                       47760002
MER4     DSECT                                                          47880002
         DSGEN (CLASRC,8),(SYSREL,8),(SWITCHES,16)                      48000002
         DSGEN (SPARE1,32)                                              48120002
         DSGEN (DAY,32)                                                 48240002
         DSGEN (HOUR,32)                                                48360002
         DSGEN (SPARE2,8),(CPUSERL,24)                                  48480002
         DSGEN (CPUID,16),(SPARE3,16)                                   48600002
         DSGEN (JOBID1,32)                                              48720002
         DSGEN (JOBID2,32)                                              48840002
         DSGEN (FCCWCC,8),(FCCWDA,24)                                   48960002
         DSGEN (FCCWFL,8),(FCCW,8),(FCCWCT,16)                          49080002
         DSGEN (CSWUS1,8),(CSWUS2,24)                                   49200002
         DSGEN (CSWUS3,8),(CSWUS4,8),(CSWUS5,16)                        49320002
         DSGEN (DEVDPD,8),(SECCUA,24)                            S21021 49440002
         DSGEN (DEVTYP1,16),(DEVTYP2,16)                                49560002
         DSGEN (SPARE4,8),(CUA,24)                                      49680002
         DSGEN (IORET,16),(SBCNT,16)                           @Y30LPDS 49800002
         DSGEN (VOLLAB1,8),(VOLLAB2,16),(VOLLAB3,8)                     49920002
         DSGEN (VOLLAB4,8),(VOLLAB5,8),(SPARE5,16)                      50040002
         DSGEN (LSKAD1,8),(LSKAD2,16),(LSKAD3,8)                        50160002
         DSGEN (LSKAD4,8),(LSKAD5,16),(LSKAD6,8)                        50280002
         DSGEN (AHA1,32)                                                50400002
         DSGEN (AHA2,16),(SPARE6,16)                                    50520002
         DSGEN (SNB00,1),(SNB01,1),(SNB02,1),(SNB03,1),(SNB04,1),      C50640002
               (SNB05,1),(SNB06,1),(SNB07,1),(SNB10,1),(SNB11,1),      C50760002
               (SNB12,1),(SNB13,1),(SNB14,1),(SNB15,1),(SNB16,1),      C50880002
               (SNB17,1),(SNB20,1),(SNB21,1),(SNB22,1),(SNB23,1),      C51000002
               (SNB24,1),(SNB25,1),(SNB26,1),(SNB27,1),(SNB30,1),      C51120002
               (SNB31,1),(SNB32,1),(SNB33,1),(SNB34,1),(SNB35,1),      C51240002
               (SNB36,1),(SNB37,1)                                      51360002
         DSGEN (SNB40,1),(SNB41,1),(SNB42,1),(SNB43,1),(SNB44,1),      C51480002
               (SNB45,1),(SNB46,1),(SNB47,1),(SNB50,1),(SNB51,1),      C51600002
               (SNB52,1),(SNB53,1),(SNB54,1),(SNB55,1),(SNB56,1),      C51720002
               (SNB57,1),(SNB60,1),(SNB61,1),(SNB62,1),(SNB63,1),      C51840002
               (SNB64,1),(SNB65,1),(SNB66,1),(SNB67,1),(SNB70,1),      C51960002
               (SNB71,1),(SNB72,1),(SNB73,1),(SNB74,1),(SNB75,1),      C52080002
               (SNB76,1),(SNB77,1)                                      52200002
         DSGEN (SNB80,1),(SNB81,1),(SNB82,1),(SNB83,1),(SNB84,1),      C52320002
               (SNB85,1),(SNB86,1),(SNB87,1),(SNB90,1),(SNB91,1),      C52440002
               (SNB92,1),(SNB93,1),(SNB94,1),(SNB95,1),(SNB96,1),      C52560002
               (SNB97,1),(SNB100,1),(SNB101,1),(SNB102,1),(SNB103,1),  C52680002
               (SNB104,1),(SNB105,1),(SNB106,1),(SNB107,1),(SNB110,1), C52800002
               (SNB111,1),(SNB112,1),(SNB113,1),(SNB114,1),(SNB115,1), C52920002
               (SNB116,1),(SNB117,1)                                    53040002
         DSGEN (SNB120,1),(SNB121,1),(SNB122,1),(SNB123,1),(SNB124,1), C53160002
               (SNB125,1),(SNB126,1),(SNB127,1),(SNB130,1),(SNB131,1), C53280002
               (SNB132,1),(SNB133,1),(SNB134,1),(SNB135,1),(SNB136,1), C53400002
               (SNB137,1),(SNB140,1),(SNB141,1),(SNB142,1),(SNB143,1), C53520002
               (SNB144,1),(SNB145,1),(SNB146,1),(SNB147,1),(SNB150,1), C53640002
               (SNB151,1),(SNB152,1),(SNB153,1),(SNB154,1),(SNB155,1), C53760002
               (SNB156,1),(SNB157,1)                                    53880002
         DSGEN (SNB160,1),(SNB161,1),(SNB162,1),(SNB163,1),(SNB164,1), C54000002
               (SNB165,1),(SNB166,1),(SNB167,1),(SNB170,1),(SNB171,1), C54120002
               (SNB172,1),(SNB173,1),(SNB174,1),(SNB175,1),(SNB176,1), C54240002
               (SNB177,1),(SNB180,1),(SNB181,1),(SNB182,1),(SNB183,1), C54360002
               (SNB184,1),(SNB185,1),(SNB186,1),(SNB187,1),(SNB190,1), C54480002
               (SNB191,1),(SNB192,1),(SNB193,1),(SNB194,1),(SNB195,1), C54600002
               (SNB196,1),(SNB197,1)                                    54720002
         DSGEN (SNB200,1),(SNB201,1),(SNB202,1),(SNB203,1),(SNB204,1), C54840002
               (SNB205,1),(SNB206,1),(SNB207,1),(SNB210,1),(SNB211,1), C54960002
               (SNB212,1),(SNB213,1),(SNB214,1),(SNB215,1),(SNB216,1), C55080002
               (SNB217,1),(SNB220,1),(SNB221,1),(SNB222,1),(SNB223,1), C55200002
               (SNB224,1),(SNB225,1),(SNB226,1),(SNB227,1),(SNB230,1), C55320002
               (SNB231,1),(SNB232,1),(SNB233,1),(SNB234,1),(SNB235,1), C55440002
               (SNB236,1),(SNB237,1)                                    55560002
*********************************************************************** 55680002
*                                                                     * 55800002
*              THIS ENTIRE MODULE IS IN SUPPORT OF  S20201            * 55920002
*              EXCEPT WHERE OTHERWISE INDICATED                       * 55980002
*                                                                     * 56040002
*********************************************************************** 56160002
IFCEMER4 CSECT                                                          56280002
         USING *,R9                                                     56400002
         USING MER4,R2                                         @Y30LPDS 56460002
R0       EQU   0                                                        56520002
R1       EQU   1                                                        56640002
R2       EQU   2                                                        56760002
R3       EQU   3                                                        56880002
R4       EQU   4                                                        57000002
R5       EQU   5                                                        57120002
R6       EQU   6                                                        57240002
R7       EQU   7                                                        57360002
R8       EQU   8                                                        57480002
R9       EQU   9                                                        57600002
R10      EQU   10                                                       57720002
R11      EQU   11                                                       57840002
R12      EQU   12                                                       57960002
R13      EQU   13                                                       58080002
R14      EQU   14                                                       58200002
R15      EQU   15                                                       58320002
*                                                                       58440002
L0       EQU   0                                                        58560002
L1       EQU   1                                                        58680002
L2       EQU   2                                                        58800002
L3       EQU   3                                                        58920002
L4       EQU   4                                                        59040002
L5       EQU   5                                                        59160002
L6       EQU   6                                                        59280002
L7       EQU   7                                                        59400002
L8       EQU   8                                                        59520002
L9       EQU   9                                                        59640002
L10      EQU   10                                                       59760002
L11      EQU   11                                                       59880002
L12      EQU   12                                                       60000002
L13      EQU   13                                                       60120002
L14      EQU   14                                                       60240002
L15      EQU   15                                                       60360002
L16      EQU   16                                                       60480002
L17      EQU   17                                                       60600002
L18      EQU   18                                                       60720002
L19      EQU   19                                                       60840002
L20      EQU   20                                                       60960002
L23      EQU   23                                                       61080002
L24      EQU   24                                                       61200002
L26      EQU   26                                                       61320002
H0F      EQU   X'0F'                                                    61440002
HE0      EQU   X'E0'                                                    61560002
H80      EQU   X'80'                                                    61680002
H40      EQU   X'40'                                                    61800002
H20      EQU   X'20'                                                    61920002
H10      EQU   X'10'                                                    62040002
H21      EQU   X'21'                                                    62160002
H23      EQU   X'23'                                                    62280002
H25      EQU   X'25'                                                    62400002
H29      EQU   X'29'                                                    62520002
CLRSGN   EQU   X'F0'                                                    62640002
SS1CNT   EQU   28                      # OF SENSE BYTES IF 3330         62660002
*                                       IS ATTACHED TO 3850    @Y30LPDS 62680002
HFF      EQU   X'FF'                                           @Y30LPDS 62700002
EMU      EQU   X'08'                 EMULATION BIT                      62710002
         EJECT                                                 @Y30LPDS 62720002
         DC    A(ENTRIES)                                               62760002
         DC    CL8'IFCEMER4'                                            62880002
XR9PTR   DC    F'0'                                                     63000002
XLABELP  DC    F'0'                                                     63120002
*                                                                       63240002
*        SET HEX -PRINTS 1 CHAR HEX                                     63360002
*                                                                       63480002
SETHEX   STM   R5,R8,XSAVE             SAVE REGS                        63600002
         LA    R8,CHARS                CHARACTER TABLE POINTER          63720002
         IC    R7,L0(R4)               PICK UP CHARACTER                63840002
         SLL   R7,L24                  MOVE TO HI R7                    63960002
         SR    R6,R6                   CLEAR REGS                       64080002
         SLDL  R6,L4                   MOVE FOUR BITS                   64200002
         AR    R6,R8                   ADD OFFSET AND POINTER           64320002
         MVC   L0(L1,R3),L0(R6)        MOVE CHARACTER TO LINE           64440002
         SR    R6,R6                   CLEAR AGAIN                      64560002
         SLDL  R6,L4                   MOVE LAST 4 BITS                 64680002
         AR    R6,R8                   COMPUTE OFFSET                   64800002
         MVC   L1(L1,R3),L0(R6)        MOVE LAST CHARACTER              64920002
         B     RETURN                                                   65040002
*                                                                       65160002
*        TEST TO SEE IF RECORD IS IN AR-149 FORMAT                      65280002
*                                                                       65400002
SETCONV  TM    L0(R4),HEX02            HAS RECORD BEEN CONVERTED KEY32  65520002
         BCR   ON,R14                  YES RETURN                       65640002
         SR    R15,R15                 NO CLEAR R15 FOR NO PRINT OF     65760002
         BR    R14                     LINE                             65880002
ON       EQU   1                                                        66000002
HEX02    EQU   X'02'                                                    66120002
*                                                                       66240002
*        NO OP RETURN                                                   66360002
*                                                                       66480002
SKIPPER  BR    R14                                                      66600002
*                                                                       66720002
*        TO ADD SPACES ON LINE                                          66840002
*                                                                       66960002
SPACER2  LA    R3,L4(R3)                                                67080002
         BR    14                                                       67200002
*                                                                       67320002
*        RESTORE REGISTERS USED BY ROUTINES IN THIS MODULE              67440002
*                                                                       67560002
RETURN   LM    R5,R8,XSAVE             RESTORE REGS                     67680002
         BR    R14                     RETURN                           67800002
*                                                                       67920002
*        SET THE DATE READY FOR PRINT                                   68040002
*                                                                       68160002
SETDATE  UNPK  XSAVE(L8),L1(L3,R4)     UNPACK THE DATE                  68280002
         MVC   L0(L3,R3),XSAVE+L5      MOVE DAY                         68400002
         MVC   L6(L2,R3),XSAVE+L3      MOVE YEAR                        68520002
         BR    R14                                                      68640002
*                                                                       68760002
*        SET THE DEVICE TYPE READY FOR PRINT                            68880002
*                                                                       69000002
SETDEVT  STM   R5,R8,XSAVE             SAVE REGS                        69120002
         LA    R5,L1                    LOAD NO. OF POSSIBLE DEVICE TPS 69240002
         LA    R6,DEVTABLE             POIT TO DEVICE TYPES             69360002
SETDEVLP CLC   L0(L2,R4),L0(R6)        COMPARE TYPES                    69480002
         BE    SDEVFND                 FOUND ONE SO BRANCH              69600002
         LA    R6,L6(R6)               MOVE POINTER TO LOOK AT NEXT T   69720002
         BCT   R5,SETDEVLP             BRANCH IF THERE ARE MORE         69840002
         MVC   L0(L4,R3),NONE          NO DEV TYPE MOVE IN NONE         69960002
         B     RETURN                                                   70080002
SDEVFND  MVC   L0(L4,R3),L2(R6)        MOVE DEV NAME TO PRINT LINE      70200002
         B     RETURN                                                   70320002
*                                                                       70440002
*        CHECK FOR CPU AND SERIAL NUMBER                                70560002
*                                                                       70680002
SETCPUNO STM   R5,R8,XSAVE             SAVE REGS                        70800002
         SR    R5,R5                   CLEAR R5                         70920002
         IC    R5,L0(R4)               PICK UP MODEL NO                 71040002
         SLL   R5,L8                   IN TO                            71160002
         IC    R5,L1(R4)               R5                               71280002
         LTR   R5,R5                   TEST FOR ZERO                    71400002
         BNZ   RETURN                  NONE ZERO BR                     71520002
         LR    R5,R3                   PUT LINE ADDRESS IN R5           71640002
         MVC   L0(L9,R5),UNIVERS       PUT IN UNIVERSAL                 71760002
         MVC   L11(L6,R5),NONE         PUT IN NONE                      71880002
         B     RETURN                                                   72000002
*                                                                       72120002
*        SET PROGRAM NAME TO PRINT LINE                                 72240002
*                                                                       72360002
SETPGMN  MVC   L0(L8,R3),L0(R4)        MOVE 8 CHARS TO LINE             72480002
         BR    R14                     RETURN                           72600002
*                                                                       72720002
*        SET BINARY WITH R4 POINTING TO THE CHAR                        72840002
*                                                                       72960002
SETBIN   STM   R5,R8,XSAVE             SAVE REGS                        73080002
         IC    R7,L0(R4)               PICK UP CHAR TO PRINT            73200002
         SLL   R7,L24                  MOVE IT TO HI OF R7              73320002
         LR    R8,R3                   PRINT POS POINTER TO REG8        73440002
         LA    R5,L8                   LOOP COUNT                       73560002
SETBINA  SR    R6,R6                   CLEAR REG 6                      73680002
         SLDL  R6,L1                   MOVE BIT TO R6                   73800002
         STC   R6,L0(R8)               PUT IT INTO PRINT LINE           73920002
         MVZ   L0(L1,R8),CHAR0                                          74040002
         LA    R8,L1(R8)               MOVE POINTER TO NEXT POS         74160002
         BCT   R5,SETBINA              LOOP TILL 8 PRINTED              74280002
         B     RETURN                                                   74400002
SETBIN1  STM   R5,R8,XSAVE             SAVE REGS                        74520002
         IC    R7,L0(R4)               PICK UP CHAR TO PRINT            74640002
         SLL   R7,L24                  MOVE IT TO HI OF R7              74760002
         LR    R8,R3                   PRINT POS POINTER TO REG 8       74880002
         SR    R6,R6                   CLEAR REG 6                      75000002
         SLDL  R6,L1                   MOVE BIT TO REG 6                75120002
         STC   R6,L11(R8)                                               75240002
         OC    L11(L1,R8),CHAR0                                         75360002
         B     RETURN                  RETURN                           75480002
SETBIN2  STM   R5,R8,XSAVE             SAVE REGS                XL03130 75490002
         IC    R7,L0(R4)               INSERT CHARACTER         XL03130 75500002
         SLL   R7,L24                  SHIFT TO HIGH-ORDER BYTE XL03130 75510002
         LR    R8,R3                   LOAD ADDR OF PRINT POS.  XL03130 75520002
         LA    R5,L8                   LOAD LOOP COUNT          XL03130 75530002
         S     R8,ELEVEN               SUBTRACT FROM PRINT POS  XL03130 75540002
         B     SETBINA                 BRANCH TO CONTINUE       XL03130 75550002
*        CONVERT COUNTERS FROM HEX TO DECIMAL READY FOR PRINT           75600002
*                                                                       75720002
CONV1    STM   R5,R8,XSAVE             SAVE REGISTERS                   75840002
         XC    READYP(L8),READYP       CLEAR UNPACK BUFFER              75960002
         SR    R6,R6                   ZERO REG                         76080002
         LH    R6,L0(R4)               LOAD DATA TO BE CONVERTED        76200002
         CVD   R6,READYP               CONVERT ERROR COUNTER TO DECI    76320002
         UNPK  READYP(L5),READYP+L5(L3)  UNPACK DECI COUNT              76440002
         OI    READYP+L4,CLRSGN        CLEAR SIGN                       76560002
         MVC   L0(L4,R3),READYP+L1     MOVE COUNTER READY TO PRINT      76680002
         B     RETURN                                                   76800002
CHK3340  CLC   L0(L2,R4),DEV3340       IS THIS A 3340           XL03130 76806002
         BE    CHKGOOD               YES - CONTINUE                     76812002
         CLC   L0(L2,R4),DEV3350     IS THIS IS 3350?                   76814002
         BE    CHKGOOD               YES, BRANCH                        76816002
         TM    SNB24,EMU             THIS IS AN EMULATED DEVICE?        76818002
         BNO   SKIPPER               NO, EXIT                           76820002
CHKGOOD  STM   R5,R8,XSAVE           STORE REGS                         76822002
         LA    R5,LAB3340-1            LOAD ADDR OF 3340 LABELS XL03130 76824002
         ST    R5,XLABELP              STORE ADDR FOR EREP0     XL03130 76830002
         LA    R5,LIN3340-4            LOAD ADDR OFFRST LINE    XL03130 76836002
         ST    R5,XR9PTR               STORE LINE ADDR          XL03130 76842002
         SR    R15,R15                 DON'T PRINT THIS LINE    XL03130 76848002
         B     RETURN                  RETURN                   XL03130 76854002
         SPACE 2                                                        76860002
*                                                              @Y30LPDS 76866002
*      THE FOLLOWING CHECKS THE RECORD FOR EXTRA SENSE(28 BYTES).       76866502
*        IF THE RECORD DOES CONTAIN SS1(3850) SENSE,THIS ROUTINE        76867002
*        WILL SET PTRS TO PASS CONTROL TO IFCEMER0.            @Y30LPDS 76867502
*                                                              @Y30LPDS 76868002
*        IF RECORD IS REGULAR 3330,SET PTRS TO END NOW         @Y30LPDS 76868502
*                                                              @Y30LPDS 76869002
ENDNOW   STM   R5,R8,XSAVE             SAVE REGS               @Y30LPDS 76869502
         CLI   SBCNT+1,SS1CNT          EXTRA 3850 SENSE BYTES? @Y30LPDS 76870002
         BE    PTMER0                  YES - BR TO LOAD MER0   @Y30LPDS 76870502
         SPACE 1                                               @Y30LPDS 76871002
         L     R5,ENDLINE              LOAD ADDR OF LAST LINE   XL03130 76872002
         ST    R5,XR9PTR               STORE ADDR FOR EREP0     XL03130 76878002
         L     R5,ENDLABEL             LOAD ADDR OF LAST LABEL  XL03130 76884002
         ST    R5,XLABELP              STORE ADDR FOR EREP0     XL03130 76890002
         SR    R15,R15                 DONT PRINT THIS LINE     XL03130 76896002
         B     RETURN                  RETURN                   XL03130 76902002
         SPACE 1                                               @Y30LPDS 76902702
PTMER0   DS    0H                                              @Y30LPDS 76903402
         LA    R5,FEMER0-L4            LOAD PARM & MOD NAME ADDR        76904102
         ST    R5,XR9PTR               STORE FOR EREP0         @Y30LPDS 76904802
         SR    R15,R15                 DONT PRINT THIS LINE    @Y30LPDS 76905502
         MVI   CLASRC,HFF              SET INDICATOR FOR MER0  @Y30LPDS 76906202
         B     RETURN                  BR TO RETURN            @Y30LPDS 76906902
         SPACE                                                          76908002
         DS    0F                                                       76920002
XSAVE    DC    5F'0'                                                    77040002
NONE     DC    CL6'NONE  '                                              77160002
CHARS    DC    C'0123456789ABCDEF'                                      77280002
CHAR0    DC    C'0'                                                     77400002
ELEVEN   DC    F'11'                                                    77430002
ENDLABEL DC    A(LASTLABL-1)                                            77460002
ENDLINE  DC    A(LASTLINE-4)                                            77490002
UNIVERS  DC    C'UNIVERSAL'                                             77520002
DEVTABLE DC    X'2009'                                                  77640002
         DC    C'3330'                                                  77760002
DEV3340  DC    X'200A'                 DEVICE TYPE CODE         XL03130 77800002
         DC    C'3340'                           FOR WINCHESTER XL03130 77840002
DEV3350  DC    X'200B'                 DEVICE TYPE CODE        @Z40RIVS 77842002
         DC    C'3350'                           FOR MADRID    @Z40RIVS 77844002
         SPACE 2                                               @Y30LPDS 77848002
FEMER0   DC    X'FE'                   CODE TO EREP0 TO CALL MOD        77856002
         DC    CL8'IFCEMER0'           MOD TO CALL             @Y30LPDS 77864002
         SPACE 2                                               @Y30LPDS 77872002
         DS    0D                                                       77880002
READYP   DC    CL8' '                                                   78000002
ENTRIES  DS    0F                                                       78120002
         DC    XL4'00010001'       FORMAT 1                             78240002
         DC    XL4'00010001'       FORMAT 2                             78360002
         DC    A(LABELS)           LABEL POINTER                        78480002
         DC    H'0'                DISP                                 78600002
*                                                                       78720002
*        SKIP TO CHANNEL 1                                              78840002
*                                                                       78960002
         DC    X'01'                                                    79080002
         DC    X'000B0B00'                                              79200002
*                                                                       79320002
         LINE  (12,15),(3,15),SKIP=1                                    79440002
         ROUTINE   SNB80,SETHEX                                         79560002
         ROUTINE   SNB90,SETHEX                                         79680002
         ROUTINE   SNB100,SETHEX                                        79800002
         ROUTINE   SNB110,SETHEX                                        79920002
         ROUTINE   SNB120,SETHEX                                        80040002
         ROUTINE   SNB130,SETHEX                                        80160002
         ROUTINE   SNB140,SETHEX                                        80280002
         ROUTINE   SNB150,SETHEX                                        80400002
         LABEL 'BYTE 8','BYTE 9','BYTE 10','BYTE 11','BYTE 12','BYTE 13C80520002
               ','BYTE 14','BYTE 15'                                    80640002
         LINE  ,(1,1),SKIP=2                                            80760002
         ROUTINE   DEVTYP2,CHK3340                              XL03130 80820002
         LABEL '-----------------------CCHHR READ FROM COUNT-----------C80880002
               ------------------  SECTOR NUMBER  ACCESS OFFSET  RETRY X81000002
               COUNT'                                                   81120002
         LINE  (13,15),(1,15),SKIP=1                                    81240002
         BIN   SNB80                                                    81360002
         BIN   SNB90                                                    81480002
         BIN   SNB100                                                   81600002
         BIN   SNB110                                                   81720002
         BIN   SNB120                                                   81840002
         BIN   SNB130                                                   81960002
         BIN   SNB140                                                   82080002
         BIN   SNB150                                                   82200002
         LABEL 'CYL  -','CYL 128','HEAD -','HEAD -','RECORD -','SECTOR C82320002
               -','REVERSE','RETRY -'                                   82440002
         LINE  (13,15),(1,15)                                           82560002
         BIN   SNB81                                                    82680002
         BIN   SNB91                                                    82800002
         BIN   SNB101                                                   82920002
         BIN   SNB111                                                   83040002
         BIN   SNB121                                                   83160002
         BIN   SNB131                                                   83280002
         BIN   SNB141                                                   83400002
         BIN   SNB151                                                   83520002
         LABEL 'CYL  -','CYL  64','HEAD -','HEAD -','RECORD 64','SECTORC83640002
                64','OFFSET -','RETRY -'                                83760002
         LINE  (13,15),(1,15)                                           83880002
         BIN   SNB82                                                    84000002
         BIN   SNB92                                                    84120002
         BIN   SNB102                                                   84240002
         BIN   SNB112                                                   84360002
         BIN   SNB122                                                   84480002
         BIN   SNB132                                                   84600002
         BIN   SNB142                                                   84720002
         BIN   SNB152                                                   84840002
         LABEL 'CYL  -','CYL  32','HEAD -','HEAD -','RECORD 32','SECTORC84960002
                32','OFFSET 32','RETRY -'                               85080002
         LINE  (13,15),(1,15)                                           85200002
         BIN   SNB83                                                    85320002
         BIN   SNB93                                                    85440002
         BIN   SNB103                                                   85560002
         BIN   SNB113                                                   85680002
         BIN   SNB123                                                   85800002
         BIN   SNB133                                                   85920002
         BIN   SNB143                                                   86040002
         BIN   SNB153                                                   86160002
         LABEL 'CYL  -','CYL  16','HEAD -','HEAD 16','RECORD 16','SECTOC86280002
               R 16','OFFSET 16','RETRY 16'                             86400002
         LINE  (13,15),(1,15)                                           86520002
         BIN   SNB84                                                    86640002
         BIN   SNB94                                                    86760002
         BIN   SNB104                                                   86880002
         BIN   SNB114                                                   87000002
         BIN   SNB124                                                   87120002
         BIN   SNB134                                                   87240002
         BIN   SNB144                                                   87360002
         BIN   SNB154                                                   87480002
         LABEL 'CYL  -','CYL   8','HEAD -','HEAD  8','RECORD  8','SECTOC87600002
               R  8','OFFSET  8','RETRY  8'                             87720002
         LINE  (13,15),(1,15)                                           87840002
         BIN   SNB85                                                    87960002
         BIN   SNB95                                                    88080002
         BIN   SNB105                                                   88200002
         BIN   SNB115                                                   88320002
         BIN   SNB125                                                   88440002
         BIN   SNB135                                                   88560002
         BIN   SNB145                                                   88680002
         BIN   SNB155                                                   88800002
         LABEL 'CYL  -','CYL   4','HEAD -','HEAD  4','RECORD  4','SECTOC88920002
               R  4','OFFSET  4','RETRY  4'                             89040002
         LINE  (13,15),(1,15)                                           89160002
         BIN   SNB86                                                    89280002
         BIN   SNB96                                                    89400002
         BIN   SNB106                                                   89520002
         BIN   SNB116                                                   89640002
         BIN   SNB126                                                   89760002
         BIN   SNB136                                                   89880002
         BIN   SNB146                                                   90000002
         BIN   SNB156                                                   90120002
         LABEL 'CYL 512','CYL   2','HEAD - ','HEAD  2','RECORD  2','SECC90240002
               TOR  2','OFFSET  2','RETRY  2'                   XL03145 90340002
         LINE  (13,15),(1,15),SKIP=3                                    90480002
         BIN   SNB87                                                    90600002
         BIN   SNB97                                                    90720002
         BIN   SNB107                                                   90840002
         BIN   SNB117                                                   90960002
         BIN   SNB127                                                   91080002
         BIN   SNB137                                                   91200002
         BIN   SNB147                                                   91320002
         BIN   SNB157                                                   91440002
         LABEL 'CYL 256','CYL   1','HEAD -','HEAD  1','RECORD  1','SECTX91560002
               OR  1','OFFSET  1','RETRY  1'                            91680002
         LINE  (12,15),(3,15),SKIP=1                                    91800002
         ROUTINE   SNB160,SETHEX                                        91920002
         ROUTINE   SNB170,SETHEX                                        92040002
         ROUTINE   SNB180,SETHEX                                        92160002
         ROUTINE   SNB190,SETHEX                                        92280002
         ROUTINE   SNB200,SETHEX                                        92400002
         ROUTINE   SNB210,SETHEX                                        92520002
         ROUTINE   SNB220,SETHEX                                        92640002
         ROUTINE   SNB230,SETHEX                                        92760002
         LABEL 'BYTE 16','BYTE 17','BYTE 18','BYTE 19','BYTE 20','BYTE C92880002
                21','BYTE 22','BYTE 23'                                 93000002
         LINE  ,(1,90),SKIP=2                                           93120002
         LABEL 'SOURCE ID','-----ERROR SYMPTOM CODE----'                93240002
         LINE  (2,15),(1,15),SKIP=1                                     93360002
         ROUTINE   SNB160,SETBIN1                                       93480002
         ROUTINE   SNB170,SETBIN                                        93600002
         ROUTINE   SNB180,SETBIN                                        93720002
         ROUTINE   SNB190,SETBIN                                        93840002
         ROUTINE   SNB200,SETBIN                                        93960002
         ROUTINE   SNB210,SETBIN                                        94080002
         ROUTINE   SNB220,SETBIN                                        94200002
         ROUTINE   SNB230,SETBIN                                        94320002
         LABEL 'CONTRL UNIT'                                            94440002
         LINE  (13,1),(1,1)                                             94560002
         BIN   SNB161                                                   94680002
         LABEL 'CONTRL UNIT'                                            94800002
         LINE  (13,1),(1,1)                                             94920002
         BIN   SNB162                                                   95040002
         LABEL 'DRIVE 3/6'                                              95160002
         LINE                                                           95280002
         BIN   SNB163                                                   95400002
         LABEL 'DRIVE 3/6'                                              95520002
         LINE                                                           95640002
         BIN   SNB164                                                   95760002
         LABEL 'DRIVE 3/6'                                              95880002
         LINE                                                           96000002
         BIN   SNB165                                                   96120002
         LABEL 'DRIVE 3/6'                                              96240002
         LINE                                                           96360002
         BIN   SNB166                                                   96480002
         LABEL 'DRIVE 3/6'                                              96600002
         LINE  (13,1),(1,1),SKIP=3                                      96720002
         BIN   SNB167                                                   96840002
         LABEL 'DRIVE 3/6'                                      XL03130 96960002
         LINE  ,,SKIP=1                                         XL03130 96962002
         ROUTINE   DEVTYP2,ENDNOW                               XL03130 96964002
         LABEL ' '                                              XL03130 96966002
         EJECT                                                          96968002
*                                                          *            96970002
*    W I N C H E S T E R ( 3 3 4 0 )  E D I T  T A B E L   *            96972002
*                                                          *            96974002
         SPACE                                                          96976002
LIN3340  LINE  (12,15),(1,1),SKIP=2                             XL03130 96978002
         ROUTINE   SPARE1,SKIPPER                               XL03130 96980002
LAB3340  LABEL '-----------------------CCHHR READ FROM COUNT-----------C96982002
               ------------------  SECTOR NUMBER '              XL03130 96984002
         LINE  (13,15),(1,15),SKIP=1                            XL03130 96986002
         BIN   (SNB80),(SNB90),(SNB100),(SNB110),(SNB120)       XL03130 96988002
         BIN   SNB130                                           XL03130 96990002
         ROUTINE   SNB140,SETBIN2                               XL03130 96992002
         ROUTINE   SNB150,SETBIN2                               XL03130 96994002
         LABEL 'CYL   - ','CYL 128','HEAD -','HEAD  - ','RECORD  - ','SC96996002
               ECTOR  - '                                       XL03130 96998002
         LINE  (13,15),(1,15)                                   XL03130 97000002
         BIN   (SNB81),(SNB91),(SNB101),(SNB111),(SNB121)       XL03130 97002002
         BIN   SNB131                                           XL03130 97004002
         LABEL 'CYL   - ','CYL  64','HEAD -','HEAD  - ','RECORD  64','SC97006002
               ECTOR  - '                                       XL03130 97008002
         LINE  (13,15),(1,15)                                   XL03130 97010002
         BIN   (SNB82),(SNB92),(SNB102),(SNB112),(SNB122)       XL03130 97012002
         BIN   SNB132                                           XL03130 97014002
         LABEL 'CYL   - ','CYL  32','HEAD -','HEAD  - ','RECORD  32','SC97016002
               ECTOR  32'                                       XL03130 97018002
         LINE  (13,15),(1,15)                                   XL03130 97020002
         BIN   (SNB83),(SNB93),(SNB103),(SNB113),(SNB123)       XL03130 97022002
         BIN   SNB133                                           XL03130 97024002
         LABEL 'CYL   - ','CYL  16','HEAD -','HEAD  16','RECORD  16','SC97026002
               ECTOR  16'                                       XL03130 97028002
         LINE  (13,15),(1,15)                                   XL03130 97030002
         BIN   (SNB84),(SNB94),(SNB104),(SNB114),(SNB124)       XL03130 97032002
         BIN   SNB134                                           XL03130 97034002
         LABEL 'CYL   - ','CYL   8','HEAD -','HEAD   8','RECORD   8','SC97036002
               ECTOR   8'                                       XL03130 97038002
         LINE  (13,15),(1,15)                                   XL03130 97040002
         BIN   (SNB85),(SNB95),(SNB105),(SNB115),(SNB125)       XL03130 97042002
         BIN   SNB135                                           XL03130 97044002
         LABEL 'CYL   - ','CYL   4','HEAD -','HEAD   4','RECORD   4','SC97046002
               ECTOR   4'                                       XL03130 97048002
         LINE  (13,15),(1,15)                                   XL03130 97050002
         BIN   (SNB86),(SNB96),(SNB106),(SNB116),(SNB126)       XL03130 97052002
         BIN   SNB136                                           XL03130 97054002
         LABEL 'CYL  512','CYL   2','HEAD -','HEAD   2','RECORD   2','SC97056002
               ECTOR   2'                                       XL03130 97058002
         LINE  (13,15),(1,15),SKIP=3                            XL03130 97060002
         BIN   (SNB87),(SNB97),(SNB107),(SNB117),(SNB127)       XL03130 97062002
         BIN   SNB137                                           XL03130 97064002
         LABEL 'CYL  256','CYL   1','HEAD -','HEAD   1','RECORD   1','SC97066002
               ECTOR   1'                                       XL03130 97068002
         LINE  (12,15),(3,15),SKIP=1                            XL03130 97070002
         ROUTINE   SNB160,SETHEX                                XL03130 97072002
         ROUTINE   SNB170,SETHEX                                XL03130 97074002
         ROUTINE   SNB180,SETHEX                                XL03130 97076002
         ROUTINE   SNB190,SETHEX                                XL03130 97078002
         ROUTINE   SNB200,SETHEX                                XL03130 97080002
         ROUTINE   SNB210,SETHEX                                XL03130 97082002
         ROUTINE   SNB220,SETHEX                                XL03130 97084002
         ROUTINE   SNB230,SETHEX                                XL03130 97086002
         LABEL 'BYTE 16','BYTE 17','BYTE 18','BYTE 19','BYTE 20','BYTE C97088002
               21','BYTE 22','BYTE 23'                          XL03130 97090002
         LINE  ,(91,26),SKIP=2                                  XL03130 97092002
         ROUTINE   SPARE1,SKIPPER                               XL03130 97094002
         LABEL '-----ERROR SYMPTOM CODE----'                    XL03130 97096002
         LINE  (2,15),(1,1),SKIP=3                              XL03130 97098002
         ROUTINE   SNB160,SETBIN                                XL03130 97100002
         ROUTINE   SNB170,SETBIN                                XL03130 97102002
         ROUTINE   SNB180,SETBIN                                XL03130 97104002
         ROUTINE   SNB190,SETBIN                                XL03130 97106002
         ROUTINE   SNB200,SETBIN                                XL03130 97108002
         ROUTINE   SNB210,SETBIN                                XL03130 97110002
         ROUTINE   SNB220,SETBIN                                XL03130 97112002
         ROUTINE   SNB230,SETBIN                                XL03130 97114002
         LABEL ' '                                              XL03130 97116002
LASTLINE LINE  ,,SKIP=1                                         XL03130 97118002
         ROUTINE   SPARE1,SKIPPER                               XL03130 97120002
LASTLABL LABEL ' '                                              XL03130 97122002
         DC    X'FF'                                            XL03130 97124002
         DC    XL2'0070'                                         S21021 97200002
         DC    XL2'0018'                                                97320002
         DC    XL2'0000'                                                97440002
LABELS   DS    0F                                                       97560002
         DC    C'$'                                                     97680002
         LSTART                                                         97800002
         END                                                            97920002
