         TITLE 'IFCS0135 MODEL 135 CPU AND CHANNEL SUMMARY'             00100002
*                                                                       00200002
*                                                                       00300002
*  DSGEN MACRO     DSGEN MACRO     DSGEN MACRO     DSGEN MACRO        * 00400002
         SPACE 2                                                        00500002
         MACRO                                                          00600002
&NAME    DSGEN &X1,&X2,&X3,&X4,&X5,&X6,&X7,&X8,&X9,&X10,&X11,&X12,&X13,X00700002
               &X14,&X15,&X16,&X17,&X18,&X19,&X20,&X21,&X22,&X23,&X24, X00800002
               &X25,&X26,&X27,&X28,&X29,&X30,&X31,&X32                  00900002
.*                            THIS MACRO GENERATES ONE DSECT WORD       01000002
.*                                 FORMATTED FOR THE SUBJECT LOG RECORD 01100002
.*                                 EACH OPERAND HAS TWO SUB LISTS. THE  01200002
.*                                 FIRST IS THE NAME OF THE LOG ITEM    01300002
.*                                 WHILE THE SECOND IS THE # OF BITS TO 01400002
.*                                 ALLOCATE FOR THIS ITEM. ITEMS MUST   01500002
.*                                 BE DEFINED CONTIGUOUSLY WITHOUT GAPS 01600002
.*                                 UNUSED BIT GROUPS MUST BE GIVEN      01700002
.*                                 DUMMY NAMES. THE NAMES PROVIDED FOR  01800002
.*                                 THE LOG ITEMS MAY THEN BE USED IN    01900002
.*                                 THE CONVERSION MACRO INSTRUCTIONS.   02000002
         GBLC &ITEM(1000)                                               02100002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000)                         02200002
         LCLC  &SYMBOL                                                  02300002
         LCLA  &OP,&COUNT,&BYTE                                         02400002
.LOOP    ANOP                                                           02500002
&OP      SETA  &OP+1                                                    02600002
&ITEMNBR SETA  &ITEMNBR+1                                               02700002
&SYMBOL  SETC  '&SYSLIST(&OP,1)'                                        02800002
         AIF   ('&SYSLIST(&OP,2)' NE '').OK1                            02900002
         MNOTE *,'NULL BIT COUNT FIELD'                                 03000002
         MEXIT                                                          03100002
.OK1     ANOP                                                           03200002
         AIF   ('&SYMBOL' NE '').OK                                     03300002
         MNOTE 'LOG ITEM SYMBOL NOT PROVIDED'                           03400002
         AGO   .CNT                                                     03500002
.OK      ANOP                                                           03600002
         AIF   ('&SYMBOL'(1,1) EQ '''').CNT                *TEMP*       03700002
&SYMBOL  EQU   *+&BYTE                                                  03800002
&ITEM(&ITEMNBR)  SETC '&SYSLIST(&OP,1)'                                 03900002
&BITS(&ITEMNBR) SETA &SYSLIST(&OP,2)                                    04000002
&SHIFT(&ITEMNBR) SETA &COUNT-&BYTE*8                                    04100002
.CNT     ANOP                                                           04200002
&COUNT   SETA  &COUNT+&SYSLIST(&OP,2)                                   04300002
&BYTE    SETA  &COUNT/8                                                 04400002
         AIF (&OP LT N'&SYSLIST).LOOP                                   04500002
         AIF   (&COUNT NE 32).NOT32                                     04600002
&NAME    DS    4C                                                       04700002
         MEXIT                                                          04800002
.NOT32   AIF   (&COUNT NE 64).ERR                                       04900002
&NAME    DS    8C                                                       05000002
         MEXIT                                                          05100002
.ERR     MNOTE '**BIT COUNT FIELDS DO NOT TOTAL 32 OR 64**'             05200002
         MEND                                                           05300002
         MACRO                                                          05400002
&NAME    LINE  &DATA,&LABEL,&SKIP=                                      05500002
.*                            THIS MACRO ESTABLISHES THE MARGINS OR     05600002
.*                                 COLUMN SETTINGS FOR EACH LINE. IT    05700002
.*                                 GENERATES NECESSARY CARRIAGE CONTROL 05800002
.*                                 ENTRIES. LASTLY IT DETERMINES THE    05900002
.*                                 NUMBER OF ENTRIES ASSOCIATED WITH    06000002
.*                                 THE PREVIOUS LINE AND STORES THAT #  06100002
.*                                 INTO THE APPROPRIATE BYTE.           06200002
.*                            &DATA(1) - CHARACTER POSITION TO BEGIN    06300002
.*                                 DATA.                                06400002
.*                            &DATA(2) - # OF SPACES BETWEEN SUCCESSIVE 06500002
.*                                 DATA COLUMN STARTING CHARACTERS.     06600002
.*                            &LABEL(1) - CHAR. POS. TO BEGIN LABELS.   06700002
.*                            &LABEL(2) - # SPACES BETWEEN LINE'S LABEL 06800002
.*                                 STARTING CHARACTERS.                 06900002
.*                            &SKIP= - # OF LINES TO ADVANCE CARRIAGE   07000002
.*                                 TO BEGIN NEXT PRINTED LINE.          07100002
.*                            NEW ENTRIES ARE GENERATED ONLY WHEN       07200002
.*                                 NECESSARY. OMISSION OF ITEMS MEANS   07300002
.*                                 THEY HAVE NOT CHANGED SINCE PREVIOUS 07400002
.*                                 SETTINGS. A LINE MACRO IS REQUIRED   07500002
.*                                 FOR EACH PRINTED LINE. IF NO SETTING 07600002
.*                                 CHANGES ARE REQUIRED ALL OPERANDS    07700002
.*                                 ARE OMITTED IN WHICH CASE ONLY THE   07800002
.*                                 # OF ENTRIES FOR THE PREVIOUS LINE   07900002
.*                                 IS COMPUTED. THIS MACRO MUST BE THE  08000002
.*                                 FIRST MACRO INSTRUCTION ISSUED FOR   08100002
.*                                 THE SUBJECT LINE                     08200002
         GBLA  &DB,&DT,&LB,&LT,&NRENTS                                  08300002
         GBLA  &LASTCC,&INITIAL                                         08400002
         GBLC  &NRENTSX                                                 08500002
         GBLC  &CARRCON                                                 08600002
         GBLB  &TEST                                                    08700002
         LCLA  &S                                                       08800002
&NAME    DS    0C                                                       08900002
         AIF   (&INITIAL EQ 0).FIRSTLN                                  09000002
         LINEND                                                         09100002
         AGO   .NTFIRST                                                 09200002
.FIRSTLN ANOP                                                           09300002
&NRENTSX SETC  'N&SYSNDX'                                               09400002
&INITIAL SETA  1                                                        09500002
N&SYSNDX EQU   *                                                        09600002
.NTFIRST ANOP                                                           09700002
         DC    AL1(0)                                                   09800002
         AIF   ('&DATA(1)' EQ '').CKDTABS                               09900002
         AIF   (&DATA(1) EQ &DB).CKDTABS                                10000002
&DB      SETA  &DATA(1)                                                 10100002
         AGO   .AA                                                      10200002
.CKDTABS AIF   ('&DATA(2)' EQ '').NCDATA                                10300002
         AIF   (&DATA(2) EQ &DT).NCDATA                                 10400002
         AGO   .CC                                                      10500002
.AA      AIF   ('&DATA(2)' EQ '').BB                                    10600002
         AIF   (&DATA(2) EQ &DT).BB                                     10700002
.CC      ANOP                                                           10800002
&DT      SETA  &DATA(2)                                                 10900002
.BB      DC    XL2'FFFE'                                                11000002
         DC    FL1'&DB'                                                 11100002
         DC    FL1'&DT'                                                 11200002
&NRENTS  SETA  &NRENTS+1                                                11300002
.NCDATA  ANOP                                                           11400002
         AIF   ('&LABEL(1)' EQ '').CKLTABS                              11500002
         AIF   (&LABEL(1) EQ &LB).CKLTABS                               11600002
&LB      SETA  &LABEL(1)                                                11700002
         AGO   .AAA                                                     11800002
.CKLTABS AIF   ('&LABEL(2)' EQ '').NCLABEL                              11900002
         AIF   (&LABEL(2) EQ &LT).NCLABEL                               12000002
         AGO   .CCC                                                     12100002
.AAA     AIF   ('&LABEL(2)' EQ '').BBB                                  12200002
         AIF   (&LABEL(2) EQ &LT).BBB                                   12300002
.CCC     ANOP                                                           12400002
&LT      SETA  &LABEL(2)                                                12500002
.BBB     DC    XL2'FFFF'                                                12600002
         DC    FL1'&LB'                                                 12700002
         DC    FL1'&LT'                                                 12800002
&NRENTS  SETA  &NRENTS+1                                                12900002
.NCLABEL ANOP                                                           13000002
         AIF   ('&SKIP' NE '').CONT                                     13100002
         AIF   (&TEST EQ 0).NOCHANG                                     13200002
&S       SETA  &LASTCC                                                  13300002
         AGO   .DEFAULT                                                 13400002
.CONT    ANOP                                                           13500002
         AIF   (&TEST EQ 0).AB                                          13600002
&S       SETA  &SKIP                                                    13700002
.DEFAULT ANOP                                                           13800002
         ORG   &CARRCON+3                                               13900002
         DC    AL.3(0),AL.2(&S),AL.3(1)                                 14000002
         ORG                                                            14100002
&LASTCC  SETA  &S                                                       14200002
&TEST    SETB  0                                                        14300002
         AGO   .DD                                                      14400002
.AB      AIF   (&SKIP EQ &LASTCC).NOCHANG                               14500002
A&SYSNDX DC    XL2'FFFB'                                                14600002
         DC    AL.3(0),AL.2(&SKIP),AL.3(1)                              14700002
         DC    FL1'9'                                                   14800002
&LASTCC  SETA  &SKIP                                                    14900002
&TEST    SETB  1                                                        15000002
&CARRCON SETC  'A&SYSNDX'                                               15100002
&NRENTS  SETA  &NRENTS+1                                                15200002
.DD      ANOP                                                           15300002
.NOCHANG ANOP                                                           15400002
         MEND                                                           15500002
         MACRO                                                          15600002
         BIN   &LOGITEM,&SKIP$OR                                        15700002
.*                                 &LOGITEM - NAME OF ITEM IN LOG       15800002
.*                                      RECORD DSECT                    15900002
.*                                 &SKIP$OR - NBR OF SPACES TO SKIP ON  16000002
.*                                 MULTIPLE PRINT OR NBR OF SPACES      16100002
.*                                      TO BACK UP FROM COLUMN FOR      16200002
.*                                      START OF PRINTING. THE LETTER   16300002
.*                                      B PRECEEDS THE NUMBER (B5) IF   16400002
.*                                      THE LATTER IS DESIRED. OMISSION 16500002
.*                                      OF THIS OPERAND FORCES OPTION 2 16600002
.*                                      WITH BACKUP SPACING EQUAL TO    16700002
.*                                 THE NUMBER OF BITS IN THE ITEM       16800002
.*                                 DEFINITION (VIA MACRO 'DSGEN').      16900002
.*                            A LIMIT OF 15 BITS IS IMPOSED FOR THE     17000002
.*                                 TOTAL NUMBER OF BITS TO PRINT.       17100002
         GBLC &ITEM(1000)                                               17200002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000),&NRENTS                 17300002
         GBLC  &DSECT                                                   17400002
         LCLB  &B                                                       17500002
         LCLA  &IBITS,&NDX,&ISHIFT,&K                                   17600002
         LCLA  &TEMP                                                    17700002
         LCLC  &S                                                       17800002
.LOOP    ANOP                                                           17900002
&NDX     SETA  &NDX+1                                                   18000002
         AIF   ('&ITEM(&NDX)' EQ '&LOGITEM').FOUND                      18100002
         AIF   (&NDX LT &ITEMNBR).LOOP                                  18200002
         MNOTE *,'YOU BLEW IT'                                          18300002
         ROUTINE DUM,SKIPPER                                            18400002
         MEXIT                                                          18500002
.FOUND   ANOP                                                           18600002
&ISHIFT  SETA  &SHIFT(&NDX)                                             18700002
&IBITS   SETA  &BITS(&NDX)                                              18800002
&S       SETC  '&IBITS'                                                 18900002
&B       SETB  1                                                        19000002
         AIF   ('&SKIP$OR' EQ '').BACKUP                                19100002
&K       SETA  K'&SKIP$OR                                               19200002
&B       SETB  ('&SKIP$OR'(1,1) EQ 'B')                                 19300002
&S       SETC  '&SKIP$OR'(&B+1,&K-&B)                                   19400002
.BACKUP  ANOP                                                           19500002
&NRENTS  SETA  &NRENTS+1                                                19600002
&TEMP    SETA  &ISHIFT+1                                                19700002
A&SYSNDX DC    AL.12(&LOGITEM-&DSECT),XL.4'&TEMP'                       19800002
         AIF (&IBITS EQ 1 AND &B EQ 0).OUT                              19900002
         ORG   A&SYSNDX                                                 20000002
         DC    AL.12(&LOGITEM-&DSECT),XL.4'C'                           20100002
         DC    BL.1'&B',AL.7(&S),AL.4(&IBITS),FL.4'&ISHIFT'             20200002
.OUT     ANOP                                                           20300002
         MEND                                                           20400002
         MACRO                                                          20500002
         HEX   &LOGITEM,&SKIP$OR,&BYTES                                 20600002
.*                            THIS MACRO FACILITATES GENERATION OF THE  20700002
.*                                 TABLE ENTRIES SPECIFYING HEX TYPE    20800002
.*                                 CONVERSIONS.                         20900002
.*                            &LOGITEM - NAME OF DATA ITEM TO BE        21000002
.*                                 CONVERTED                            21100002
.*                            &SKIP$OR - NUMBER OF SPACES TO SKIP ON    21200002
.*                                 MULTIPLE PRINT OR NBR OF SPACES TO   21300002
.*                                 BACK UP FROM COLUMN FOR START OF     21400002
.*                                 PRINTING. THE LETTER B PRECEEDS THE  21500002
.*                                 NUMBER (B8) IF THE LATTER OPTION IS  21600002
.*                                 DESIRED. OMISSION OF THIS OPERAND    21700002
.*                                 FORCES OPTION 2 WITH BACKUP SPACING  21800002
.*                                 EQUAL TO THE NUMBER OF BYTES SPECI-  21900002
.*                                 FIED BY THE NEXT OPERAND (TWICE THIS 22000002
.*                                 NUMBER IF SUFFIX IS EXPLICITLY OR    22100002
.*                                 IMPLICITLY B).                       22200002
.*                            &BYTES - NUMBER OF TOTAL INPUT BYTES TO   22300002
.*                                 PROCESS. THIS NUMBER IS SUFFIXED     22400002
.*                                 WITH AN L,R, OR B TO STIPULATE       22500002
.*                                 PRINTING OF THE LEFT HALF, RIGHT     22600002
.*                                 HALF, OR BOTH HALVES OF THE BYTE     22700002
.*                                 RESPECTIVELY. OMISSION OF THIS       22800002
.*                                 OPERAND DEFAULTS TO B WITH THE NUM-  22900002
.*                                 BER OF BYTES EQUAL TO THE ITEM LNGTH 23000002
.*                            A NEW ENTRY IS GENERATED ONLY WHEN NECES- 23100002
.*                                 SARY. THIS MACRO MUST BE THE FIRST   23200002
.*                                 MACRO INSTRUCTION ISSUED FOR THE     23300002
.*                                 SUBJECT LINE(S).                     23400002
         GBLC &ITEM(1000),&DSECT                                        23500002
         GBLA &ITEMNBR,&BITS(1000),&SHIFT(1000),&NRENTS                 23600002
         LCLB  &B                                                       23700002
         LCLA  &IBITS,&NDX,&ISHIFT,&K,&T,&CODE,&BYTESP                  23800002
         LCLC  &S,&LETTER                                               23900002
.LOOP    ANOP                                                           24000002
&NDX     SETA  &NDX+1                                                   24100002
         AIF   ('&ITEM(&NDX)' EQ '&LOGITEM').FOUND                      24200002
         AIF   (&NDX LT &ITEMNBR).LOOP                                  24300002
         MNOTE *,'LOG ITEM NOT DEFINED'                                 24400002
         MEXIT                                                          24500002
.FOUND   ANOP                                                           24600002
&ISHIFT  SETA  &SHIFT(&NDX)                                             24700002
&IBITS   SETA  &BITS(&NDX)                                              24800002
&CODE    SETA  1                                                        24900002
&K       SETA  K'&BYTES                                                 25000002
         AIF   (&IBITS-(&IBITS/4)*4 EQ 0).OK                            25100002
         MNOTE *,'BIT LENGTH SPECIFICATION INCONSISTENT WITH CONTROL'   25200002
         MEXIT                                                          25300002
.OK      AIF   ('&BYTES' EQ '').USEDEFN                                 25400002
&LETTER  SETC  '&BYTES'(&K,1)                                           25500002
&S       SETC  '&BYTES'(1,&K-1)                                         25600002
&BYTESP  SETA  &S                                                       25700002
         AIF   ('&LETTER' EQ 'B').BOTH                                  25800002
         AIF   (&ISHIFT EQ 0 OR &ISHIFT EQ 4).OK2                       25900002
.ERR     MNOTE *,'DATA NOT ALLIGNED ON HEX OR BYTE BOUNDARY'            26000002
         MEXIT                                                          26100002
.USEDEFN ANOP                                                           26200002
&BYTESP  SETA  &IBITS/8                                                 26300002
.BOTH    AIF   (&ISHIFT NE 0).ERR                                       26400002
&CODE    SETA  3                                                        26500002
&T       SETA  &BYTESP*2                                                26600002
&S       SETC  '&T'                                                     26700002
.OK2     AIF   (&ISHIFT EQ 0).L                                         26800002
&CODE    SETA  2                                                        26900002
.L       ANOP                                                           27000002
&B       SETB  1                                                        27100002
         AIF   ('&SKIP$OR' EQ '').BACKUP                                27200002
&K       SETA  K'&SKIP$OR                                               27300002
&B       SETB  ('&SKIP$OR'(1,1) EQ 'B')                                 27400002
&S       SETC  '&SKIP$OR'(&B+1,&K-&B)                                   27500002
.BACKUP  ANOP                                                           27600002
&NRENTS  SETA  &NRENTS+1                                                27700002
         DC    AL.12(&LOGITEM-&DSECT),XL.4'A'                           27800002
         DC    BL.1'&B',FL.7'&S',FL.4'&BYTESP',FL.4'&CODE'              27900002
.OUT     ANOP                                                           28000002
         MEND                                                           28100002
         MACRO                                                          28200002
&NAME    ROUTINE &LOGITEM,&RNAME                                        28300002
         GBLA  &NRENTS                                                  28400002
         GBLC  &DSECT,&CSECT                                            28500002
&NAME    DC    AL.12(&LOGITEM-&DSECT),XL.4'D'                           28600002
         DC    AL2(&RNAME-&CSECT)                                       28700002
&NRENTS  SETA  &NRENTS+1                                                28800002
         MEND                                                           28900002
         MACRO                                                          29000002
         LABEL &LABEL1,&LABEL2,&LABEL3,&LABEL4                          29100002
.*                            THIS MACRO ALLOWS UP TO FOUR LABELS TO    29200002
.*                                 BE SPECIFIED FOR A GIVEN LINE. THE   29300002
.*                                 LABELS SHOULD BE ENCLOSED IN QUOTA-  29400002
.*                                 TION MARKS. THE COLUMN AND LINE END  29500002
.*                                 CONTROLS WILL BE INSERTED BY THE     29600002
.*                                 MACRO. OMITTED OPERANDS MEAN NO      29700002
.*                                 LABEL REQUIRED FOR RESPECTIVE        29800002
.*                                 COLUMN. THIS MACRO WILL ALSO ALERT   29900002
.*                                 THE PROGRAMMER TO EXACTLY WHERE THE  30000002
.*                                 TABLE MUST BE BROKEN IF NECESSARY    30100002
.*                                 TO AVOID EXCEEDING THE MAXIMUM LIMIT 30200002
         GBLC &LABELS(1000)                                             30300002
         GBLA  &LABELNR                                                 30400002
         GBLA  &NRENTS                                                  30500002
         LCLC  &MARGIN,&TACK                                            30600002
         LCLC  &TEXT                                                    30700002
         LCLA  &OP,&K,&START,&NRCHAR,&REMAIN                            30800002
&MARGIN  SETC  '*'                                                      30900002
.LOOPOUT ANOP                                                           31000002
&OP      SETA  &OP+1                                                    31100002
&K       SETA  K'&SYSLIST(&OP)                                          31200002
         AIF (&K GE 2).NORM                                             31300002
&K       SETA  2                                                        31400002
.NORM    ANOP                                                           31500002
&START   SETA  2                                                        31600002
         AIF (&OP LT N'&SYSLIST).NOTLAST                                31700002
&MARGIN  SETC  '$'                                                      31800002
.NOTLAST ANOP                                                           31900002
&NRCHAR  SETA  8                                                        32000002
&TACK    SETC  ''                                                       32100002
.LOOPIN  ANOP                                                           32200002
&REMAIN  SETA  &K-&START                                                32300002
         AIF (&REMAIN GE 8).MORE                                        32400002
&TACK    SETC  '&MARGIN'                                                32500002
&NRCHAR  SETA  &REMAIN                                                  32600002
.MORE    ANOP                                                           32700002
&TEXT    SETC  ''                                                       32800002
         AIF (&REMAIN EQ 0).ENDTEXT                                     32900002
&TEXT    SETC  '&SYSLIST(&OP)'(&START,&NRCHAR)                          33000002
.ENDTEXT ANOP                                                           33100002
&LABELNR SETA  &LABELNR+1                                               33200002
&LABELS(&LABELNR) SETC '&TEXT'.'&TACK'                                  33300002
&START   SETA  &START+8                                                 33400002
         AIF ('&TACK' EQ '').LOOPIN                                     33500002
         AIF ('&TACK' EQ '*').LOOPOUT                                   33600002
         MEND                                                           33700002
         MACRO                                                          33800002
         LSTART                                                         33900002
.*                            THIS MACRO IS ISSUED WHEN THE LABEL AREA  34000002
.*                                 OF THE TABLE IS TO BEGIN.            34100002
         GBLC &LABELS(1000)                                             34200002
         GBLA  &LABELNR                                                 34300002
         LCLA  &NDX                                                     34400002
         LINEND                                                         34500002
.LOOP    ANOP                                                           34600002
&NDX     SETA  &NDX+1                                                   34700002
         DC    C'&LABELS(&NDX)'                                         34800002
         AIF   (&NDX LT &LABELNR).LOOP                                  34900002
         MEND                                                           35000002
         MACRO                                                          35100002
         LINEND                                                         35200002
.*                            THIS MACRO IS USED ONLY BY THE LINE       35300002
.*                                 MACRO TO SET THE NUMBER OF ENTRIES   35400002
.*                                 ASSOCIATED WITH EACH LINE.           35500002
         GBLA  &NRENTS                                                  35600002
         GBLC &NRENTSX                                                  35700002
         ORG   &NRENTSX                                                 35800002
         DC    FL1'&NRENTS'                                             35900002
         ORG                                                            36000002
&NRENTS  SETA  0                                                        36100002
B&SYSNDX EQU   *                                                        36200002
&NRENTSX SETC  'B&SYSNDX'                                               36300002
         MEND                                                           36400002
         MACRO                                                          36500002
         SUM   &LOGITEM,&MASK                                           36600002
.*                            THIS MACRO GENERATES A NORMAL EDIT ENTRY  36700002
.*                                 FOR PROCESSING BY THE SUMMARY MODULE 36800002
.*                            &LOGITEM - NAME OF DATA ITEM TO BE SUMMED 36900002
.*                            &MASK - BYTE MASK FOR BITS TO BE TESTED.  37000002
.*                                 THIS OPERAND SHOULD BE OMITTED FOR   37100002
.*                                 SINGLE BIT ITEMS IN WHICH CASE THE   37200002
.*                                 MASK WILL BE SET ACCORDING TO THE    37300002
.*                                 OFF BYTE BIT DISPLACEMENT OF THE     37400002
.*                                ITEM AS DEFINED BY THE MACRO 'DSGEN'  37500002
         GBLA  &COUNTR,&ITEMNBR,&BITS(1000),&SHIFT(1000)                37600002
         GBLC  &ITEM(1000),&DSECT                                       37700002
         LCLA  &IBITS,&NDX,&ISHIFT,&M,&BITNBR                           37800002
.LOOP    ANOP                                                           37900002
&NDX     SETA  &NDX+1                                                   38000002
         AIF   ('&ITEM(&NDX)' EQ '&LOGITEM').FOUND                      38100002
         AIF   (&NDX LT &ITEMNBR).LOOP                                  38200002
         MNOTE *,'LOGITEM NOT FOUND'                                    38300002
         MEXIT                                                          38400002
.FOUND   ANOP                                                           38500002
         DC    AL1(0)                                                   38600002
&ISHIFT  SETA  &SHIFT(&NDX)                                             38700002
&IBITS   SETA  &BITS(&NDX)                                              38800002
         AIF   ('&MASK' EQ '').FORM                                     38900002
         DC    B'&MASK'                                                 39000002
         AGO   .ITEM                                                    39100002
.FORM    ANOP                                                           39200002
&BITNBR  SETA  &ISHIFT-7                                                39300002
&BITNBR  SETA  0-&BITNBR                                                39400002
&M       SETA  1                                                        39500002
.LOOP2   ANOP                                                           39600002
         AIF   (&BITNBR EQ 0).GOTIT                                     39700002
&M       SETA  &M*2                                                     39800002
&BITNBR  SETA  &BITNBR-1                                                39900002
         AGO   .LOOP2                                                   40000002
.GOTIT   ANOP                                                           40100002
         DC    AL1(&M)                                                  40200002
.ITEM    DC    AL2(&LOGITEM-&DSECT)                                     40300002
         DC    AL2(&COUNTR)                                             40400002
&COUNTR  SETA  &COUNTR+1                                                40500002
         MEND                                                           40600002
         MACRO                                                          40700002
         SPECIAL  &ROUTINE,&PARAM,&SPACE=                               40800002
.*                            THIS MACRO GENERATES A SPECIAL ROUTINE    40900002
.*                                 ENTRY TO BE PROCESSED BY THE SUM. M. 41000002
.*                            &ROUTINE - SYMBOL ON SPECIAL ROUTINE EWT. 41100002
.*                            &PARAM - AN 8 BIT BINARY REPRESENTATION   41200002
.*                                 TO OCCUPY THE 'MASK' FIELD BUT TO BE 41300002
.*                                 INTERPRETED AS AN ARGUMENT OF THE    41400002
.*                                 SPECIAL ROUTINE.                     41500002
.*                            &SPACE - THE NUMBER OF 2BYTE COUNTERS TO  41600002
.*                                 ALLOCATE FOR REQUIRED PROCESSING.    41700002
         GBLC  &CSECT                                                   41800002
         GBLA  &COUNTR                                                  41900002
         LCLA  &ADD                                                     42000002
         DC    AL1(128)                                                 42100002
         DC    BL.8'&PARAM'                                             42200002
         DC    AL2(&ROUTINE-&CSECT)                                     42300002
         DC    AL2(&COUNTR)                                             42400002
&ADD     SETA  1                                                        42500002
         AIF   ('&SPACE' EQ '').NORM                                    42600002
&ADD     SETA  &SPACE                                                   42700002
.NORM    ANOP                                                           42800002
&COUNTR  SETA  &COUNTR+&ADD                                             42900002
         MEND                                                           43000002
         GBLC  &DSECT,&CSECT                                            43100002
&CSECT   SETC  'IFCS0135'                                               43200002
&DSECT   SETC  'COMMON'                                                 43300002
IFCS0135 CSECT                                                          43400002
*                                                                       43500002
         USING *,R9                                                     43600002
         USING COMMON,R2                                                43700002
*                                                                       43800002
*                                                                       43900002
COMMON   DSECT                                                          44000002
         DSGEN (CLASS,8),(DUM,24)                                       44100002
IFCS0135 CSECT                                                          44200002
*                                                                       44300002
         DC    A(SUM)                                                   44400002
         DC    A(EDIT)                                                  44500002
         DS    F                                                        44600002
SCSIZE   DC    H'1'                                                     44700002
SUM      DS    0F                                                       44800002
*                                                                       44900002
         DC    X'FF'                                                    45000002
&DSECT   SETC  'SUMDSECT'                                               45100002
&CSECT   SETC  'EDIT'                                                   45200002
SUMDSECT DSECT                                                          45300002
         DSGEN (TBLPTR,32),(FWDPTR,32)                                  45400002
         DSGEN (NOREC,16),(TYPE,8),(YCHAN,8)                            45500002
         DSGEN (YCUA,24),(YSER,24),(YCPU,16)                            45600002
         DSGEN (DUMM,16),(MCH,16)                                       45700002
         DSGEN (CCH,16),(DUM2,16)                                       45800002
IFCS0135 CSECT                                                          45900002
EDIT     DS    0F                                                       46000002
         USING EDIT,R9                                                  46100002
         USING SUMDSECT,R2                                              46200002
         DC    A(ENTRIES)                                               46300002
         DC    C'IFCS0135'                                              46400002
R9PTR    DS    2F                                                       46500002
*                                                                       46600002
AD1      EQU   1                                                        46700002
K1       EQU   1                                                        46800002
R0       EQU   0                                                        46900002
R1       EQU   1                                                        47000002
R2       EQU   2                                                        47100002
R3       EQU   3                                                        47200002
R4       EQU   4                                                        47300002
R5       EQU   5                                                        47400002
R6       EQU   6                                                        47500002
R7       EQU   7                                                        47600002
R8       EQU   8                                                        47700002
R9       EQU   9                                                        47800002
R10      EQU   10                                                       47900002
R11      EQU   11                                                       48000002
R12      EQU   12                                                       48100002
R13      EQU   13                                                       48200002
R14      EQU   14                                                       48300002
R15      EQU   15                                                       48400002
L0       EQU   0                                                        48500002
L1       EQU   1                                                        48600002
L2       EQU   2                                                        48700002
L3       EQU   3                                                        48800002
L4       EQU   4                                                        48900002
L5       EQU   5                                                        49000002
L6       EQU   6                                                        49100002
L7       EQU   7                                                        49200002
L8       EQU   8                                                        49300002
L9       EQU   9                                                        49400002
L10      EQU   10                                                       49500002
L11      EQU   11                                                       49600002
L12      EQU   12                                                       49700002
L24      EQU   24                                                       49800002
L28      EQU   28                                                       49900002
HEX10    EQU   X'10'                                                    50000002
*                                                                       50100002
*        SPECIAL  ROUTINES EDIT  SECTION                                50200002
*                                                                       50300002
CONVERT  ST    R5,SAVE5                                                 50400002
         LH    R5,NOREC                 PICK UP NUMBER OF RECS          50500002
         CVD   R5,WORK                  CONVERT IT                      50600002
         UNPK  L0(L4,R3),WORK+L4(L4)    UNPACK IT INTO PRINT LINE       50700002
         MVZ   L3(L1,R3),L0(R3)         MOVE ON PROPER ZONE             50800002
         L     R5,SAVE5                 RESET REG                       50900002
SKIPPER  BR         R14                                                 51000002
*                                                                       51100002
CHANO    TM    TYPE,HEX10               TYPE OF RECORD                  51200002
         BO    NXTLIN                   YES                             51300002
         B     RETN                                                     51400002
NXTLIN   SR    R15,R15                                                  51500002
RETN     BR    R14                                                      51600002
RECTYP   TM    TYPE,HEX10               IS IT A CHANNEL RECORD          51700002
         BZ    CHNTYP2                  NO IT IS A CHANNEL              51800002
         MVC   AD1(L3,R3),CPUMSG        MOVE CPU LABEL                  51900002
         BR    R14                      RETURN                          52000002
CHNTYP2  MVC   AD1(L3,R3),CCHMSG        MOVE CCH LABEL                  52100002
         BR    R14                     RETURN                           52200002
CPUMSG   DC    C'CPU'                                                   52300002
CCHMSG   DC    C'CCH'                                                   52400002
FREECORE STM   R14,R12,L12(R13)                                         52500002
         LR    R12,R13                                                  52600002
         LA    R13,FSAVE                                                52700002
         ST    R12,L4(R13)                                              52800002
         ST    R13,L8(R12)                                              52900002
         L     R3,FWDPTR                PICK UP FORWARD PTR             53000002
         ST    R3,L28(R12)              SET IT IN SAVED REG 2           53100002
         LH    R0,SIZE                  PICK UP SIZE                    53200002
         LR    R1,R2                    SET POINTER                     53300002
         FREEMAIN R,LV=(0),A=(1)                                        53400002
         LTR   R3,R3                    ANY MORE AREAS TO PRINT         53500002
         BZ    RETURN                   BR-NO                           53600002
         LA    R5,ENTRIES+L10           SET POINTERS                    53700002
         LA    R6,LABELS-L1             TO RELLOOP                      53800002
         STM   R5,R6,R9PTR              SET THEM                        53900002
RETURN   LR    R13,R12                                                  54000002
         LM    R14,R12,L12(R13)         RESET REGS                      54100002
         BR    R14                                                      54200002
ENTRIES  DS    0F                                                       54300002
         DC    X'00010001'                                              54400002
         DC    X'00010001'                                              54500002
         DC    A(LABELS)                                                54600002
         DC    H'0'                                                     54700002
*                                                                       54800002
         DC    X'01'                                                    54900002
         DC    X'000B8B00'                                              55000002
         LABEL ''                                                       55100002
*                                                                       55200002
         LINE  (14,19),(1,20),SKIP=2                                    55300002
         ROUTINE    TYPE,RECTYP                                         55400002
         HEX   YCPU,0,2B                                                55500004
         HEX   YSER,0,3B                                                55600002
         LABEL 'RECORD TYPE','MODEL NO','SERIAL NO'                     55700004
         LINE  (9,1),(1,1)                                              55800002
         HEX   YCHAN,0,1B                                               55900002
         ROUTINE    YCHAN,CHANO                                         56000002
         LABEL 'CHANNEL'                                                56100002
         LINE  (25,1)                                                   56200002
         ROUTINE    NOREC,CONVERT                                       56300002
         LABEL      'TOTAL NUMBER OF RECORDS='                          56400002
         LINE  (24,1),(1,1)                                             56500004
         HEX   YCPU,0,2B                                                56560004
         LABEL 'NO SUMMARY FOR MODEL'                                   56620004
         LINE                                                           56700002
         ROUTINE    TBLPTR,FREECORE                                     56800002
         LABEL      ''                                                  56900002
         DC         X'FF'                                               57000002
         DC         X'000000000000'                                     57100002
*                                                                       57200002
WORK     DS         D                                                   57300002
FSAVE    DS         18F                                                 57400002
SAVE5    DS         F                                                   57500002
SIZE     DC         H'24'                                               57600002
SAVETYP  DC         H'0'                                                57700002
         DC         C'$'                                                57800002
LABELS   EQU   *                                                        57900002
         LSTART                                                         58000002
         END                                                            58100002
