         SYSTEM   SIG5                                                          
         SYSTEM   OPTIONS                                                       
         TITLE    '       **** DIAG ****'                                       
*                                                                               
*        PURPOSE: TO OUTPUT DIAGNOSTIC MESSAGES ON 'OC',AND IF NOT              
*                 ASSIGNED TO THE SAME DEVICE, ON 'LL'                          
*                                                                               
*        INPUT:   R9=DIAGNOSTIC NUMBER                                          
*                 OTHER REGISTERS SET FOR SPECIFIC MESSAGES                     
*                                                                               
*        CALL:    B    DIAG                                                     
*                                                                               
*        OUTPUT:  V:CCADR=WA OF M:C,IF 'COC' NOT INPUT                          
*                        =WA OF M:OC,IF 'COC' INPUT AFTER WAIT CALL             
*                                                                               
*        RETURN:  RABORT,IF ABORT SPECIFIED IN T:DIAG ENTRY                     
*                 RDIAGX,IF RETURN OR WAITCC OR WAIT SPECIFIED IN               
*                        T:DIAG ENTRY (AND 'X' NOT INPUT ON 'OC')               
*                                                                               
         TITLE    '       **** DEF''S AND REF''S **** '                         
*                                                                               
         DEF      DIAG,OLAYDIAG,PR90                                            
         REF      ADDNXT,ADDX,B:C,B:ROM,B:X,BAP:ROM,BAP:ROO2,BEPROMI            
         REF      BL:ROO2,BOUNDCS,BOUNDRDW,CCDCBV                               
         REF      CCSTACK,CCVALUE,CHKBLANK,CMPZ,COMPBS,CONVROMX,DCBTYPE         
         REF      DWBOUND,EXTEND,F:DEFREF,F:DEVICE,F:EBCDIC,F:MODIR             
         REF      F:MODULE,F:PUBL,FBA:COMN,FBA:DCBT,FBA:INTT,FBA:LIM            
         REF      FBA:OVLO,FBA:ROO2,FBA:TABS,FBA:TEMP,FL:BACK,FL:BOUND          
         REF      FL:COMN,FL:ERROR,FL:GO,FL:LBLD,FL:LBPAS,FL:LIB,FL:MAP         
         REF      FL:MODF,FL:NXTCC,FL:OFLOW,FL:OUTOV,FL:PAS2,FL:PUBL            
         REF      FL:RTYPE,FL:STEP,FL:TASKS,FL:TEMP,FL:UDCB,FL:UNNAM            
         REF      FLTMPTSK,FPT:CCI6,FPT:CCI7,FPT:CC1,FPT:CC2,FPT:CC3            
         REF      FPT:CC4,FPT:CC5,FPT:CC8,FPT:DIAG,FPT:LB1,FPT:LB11             
         REF      FPT:LB10,FPT:LB13,FPT:LB2,FPT:LB3,FPT:LB4,FPT:LB5             
         REF      FPT:LB6,FPT:LB7,FPT:LB8,FPT:LB9,FPT:ONE1,FPT:ONE2             
         REF      FPT:ONE4,FPT:ONE3,FPT:PRLO,FPT:RDG,FPT:RD2,FPT:RD3            
         REF      FPT:WTG,FPT:XN1,FWA:ASSN,GETDECL,LBA:COMN,LBA:DCBT            
         REF      LBA:LIM,LBA:OVLO,LBA:PATH,LBA:ROM,LBA:ROO2,LOADERR            
         REF      LOADSEG,LWA:ASSN,M:C,M:GO,M:LL,M:LO,M:OC,M:OV,M:X1            
         REF      M:X2,M:X3,M:X4,M:X5,M:X6,MOVBYTS,MOVEDW,NBA:SECT              
         REF      NUM1,NUM2,NXTSEG,OLOADPCB,P:GRAN,P:POOL,PATHEND               
         REF      PT:CC6,PT:CC7,PT:DIAG1,PT:LB12,PT:RD1,PT:SCAN,PT:WTGR         
         REF      RABORT,RAREABC,RAX,RDIAG,RDIAGX,READXN,ROMBYTE                
         REF      ROMBYTES,ROMERR,SATREF,SCANEXIT,SCANFLAG,SCANITEM             
         REF      SCAN80,SCAN82,SCAN83,SCAN84,SCAN85,SCAN88,SCAN89              
         REF      SCAN89A,SCAN90,SCAN91,SCAN92,SCAN93,SCAN94,SCAN95             
         REF      SCAN96,SCAN98,SCAN99,SERCHDCB,SERCHFWD,SERCHPUB               
         REF      SERCHSEG,SERCHSYM,SERCHVAL,SKIPX,SOLVEX,STORCBV               
         REF      SYMFBA,T:BDP,T:BZA,T:FBA,T:LBA,T:LDADDR                       
         REF      T:LDINST,T:NBE,T:PL,TBENTRY,V:CCDCB,V:CCTYPE                  
         REF      V:COLAY,V:DECLNO,V:LIBSIZ,V:LINKID,V:MASK,V:MODLOC            
         REF      V:ROMRNO,V:SEGID,V:TOTSIZ,VMODMTB,WDP:ASSN,WORD               
         REF      WRITEXN,XBC,ZERONXT,ZEROX,4BYTES                              
         REF      X:FF,X:FFFF                                              101  
         TITLE    '     **** PROCEDURES ****'                                   
*                                                                               
*                                                                               
PUSH     CNAME    1                                                             
PULL     CNAME    0                                                             
         PROC                                                                   
         DO       (AF(2)=0)|(AF(2)=AF(1))                                       
LF       GEN,8,4,3,17   X'88'+NAME,AF(1),0,PCBPOINT                             
         ELSE                                                                   
         DO       AF(2)>AF(1)                                                   
LF       LCFI     (AF(2)-AF(1)+1)&X'F'                                          
         ELSE                                                                   
LF       LCFI     (16-AF(1)+AF(2)+1)&X'F'                                       
         FIN                                                                    
         GEN,8,4,3,17  X'8A'+NAME,AF(1),0,PCBPOINT                              
         FIN                                                                    
         PEND                                                                   
         TITLE    '  **** SUBROUTINE CALLS ****'                                
*                                                                               
BAL      EQU      X'6A'             BAL OPERATION CODE                          
*                                                                               
*                                                                               
MOVBYTS  COM,8,4,3,17    BAL,15,0,MOVBYTS                                       
BOUNDRDW COM,8,4,3,17    BAL,15,0,BOUNDRDW                                      
SYMFBA   COM,8,4,3,17    BAL,15,0,SYMFBA                                        
PRINT    COM,8,4,3,17    BAL,15,0,PRINT                                         
LJHEX    COM,8,4,3,17    BAL,15,0,LJHEX                                         
LJDEC    COM,8,4,3,17    BAL,15,0,LJDEC                                         
PUTSEG   COM,8,4,3,17    BAL,14,0,PUTSEG                                        
PUTROM   COM,8,4,3,17    BAL,14,0,PUTROM                                        
         REF      GIOOBIT,GIODBIT,GIOFBIT,GIOABIT,GIOFA,GIOBITS                 
         REF      X:FFF                                                         
         REF      FPT:ASN,FPT:GASN,FPT:COR,FPT:REW,FPT:PACK                     
         REF      FPT:OPEN,FPT:CLS                                              
         REF      PT:OPEN,PT:CLS                                                
         REF      B:OPLBNM,B:DEVNM,B:DEVX,B:DEVCON,B:ERRCC                      
         REF      NXTROM,GIOCT                                                  
         REF      FPT:ROM1                                                      
PUTSEQNO COM,8,4,3,17    BAL,14,0,PUTSEQNO                                      
DEVFILE  COM,8,4,3,17    BAL,14,0,DEVFILE                                       
         TITLE    '       **** EQUATES ****'                                    
*                                                                               
SAVE%    SET      %                                                             
         ASECT                                                                  
R0       EQU      %                                                             
R1       EQU      %+1                                                           
R2       EQU      %+2                                                           
R3       EQU      %+3                                                           
R4       EQU      %+4                                                           
R5       EQU      %+5                                                           
R6       EQU      %+6                                                           
R7       EQU      %+7                                                           
R8       EQU      %+8                                                           
R9       EQU      %+9                                                           
R10      EQU      %+10                                                          
R11      EQU      %+11                                                          
R12      EQU      %+12                                                          
R13      EQU      %+13                                                          
R14      EQU      %+14                                                          
R15      EQU      %+15                                                          
         USECT    SAVE%                                                         
*                                                                               
PCBPOINT EQU      X'4E'             FWA OF BACKGROUND PROGRAM'S PCB             
K:JCP1   EQU      X'150'            BKG STATUS FLAGS                            
K:MASTD  EQU      X'14A'            POINTER TO MASTER DICTIONARY                
K:KEYIN  EQU      X'169'            CONTAINS EBCDIC KEYIN RESPONSE              
K:DCT16  EQU      X'177'            POINTER TO DW WITH DEVICE EBCDIC            
K:OPLBS1 EQU      X'178'                                                        
K:OPLBS3 EQU      X'179'            POINTER TO OPLB'S CURRENT ASSIGNMENT        
K:MDNAME EQU      X'212'            POINTER TO MASTER DIRECTORY NAMES           
*                                                                               
T:SEG    EQU      4                 SEGMENT INFORMATION TABLE                   
FBA:SEG  EQU      T:FBA+T:SEG       FBA OF T:SEG                                
BDP:SEG  EQU      T:BDP+T:SEG       BDP OF CURRENT T:SEG ENTRY                  
T:MODULE EQU      9                 MODULE INFORMATION TABLE                    
FBA:MODL EQU      T:FBA+T:MODULE    FBA OF T:MODULE                             
BDP:MODL EQU      T:BDP+T:MODULE    BDP OF CURRENT T:MODULE ENTRY               
NBE:MODL EQU      T:NBE+T:MODULE    NUMBER-OF-BYTES-PER-ENTRY IN T:MODL         
*                                                                               
OPLB:OC  EQU      2                 OC OPLB INDEX                               
OPLB:LL  EQU      4                 LL OPLB INDEX                               
WRITE    EQU      X'11'             FPT CONSTANT                                
*                                                                               
ABORTX   EQU      0                                                             
RETURNX  EQU      1                                                             
WAITCC   EQU      2                                                             
WAIT     EQU      3                                                             
*                        *DIAGNOSTICS                                           
CCITEM   EQU      1           CC ERR:ITEM XX                                    
OCCITEM  EQU      2           CC ERR:ITEM XX  (OLOAD)                           
CCFITEM  EQU      3                 CC ERR: FOLLOWING ITEM XX                   
OCCFITEM EQU      4                 CC ERR: FOLLOWING ITEM XX (OLOAD)           
CCORDER  EQU      5           CC ERR:ILLEGAL CC SEQUENCE                        
CCIDENT  EQU      6           CC ERR:SEG IDENT NOT 1ST OPTION                   
CCDUPNAM EQU      7           CC ERR:DUP NAME IN ITEM XX                        
CCSEGORD EQU      8           CC ERR:SEG'S ORDERED INCORRECTLY                  
CCDUPSEG EQU      9           CC ERR:DUP SEG IDENT                              
CCUNDSEG EQU      10          CC ERR:ILL SEG IDENT                              
CCUNDSYM EQU      11          CC ERR:UNDEFINED SYMBOL IN ITEM XX                
OCCFORE  EQU      12          CC ERR:NEED (FORE,FWA,LWA) OPT FOR PUBLIB         
OCCTEMP  EQU      13          CC ERR:ILLEGAL OPT FOR PUBLIB (TEMP,VAL)          
OCCLINKS EQU      14          CC ERR:ILLEGAL OPT FOR PUBLIB (GO,LINKS)          
OCCTASKS EQU      15          CC ERR:ILLEGAL OPT FOR PUBLIB (TASKS,VAL)         
OCCPUBL  EQU      16          CC ERR:ILLEGAL OPT FOR PUBLIB (PUBL,NAME)         
CHKSUM   EQU      17          ROM ERR:CHKSUM                                    
SEQERR   EQU      18          ROM ERR:BAD SEQ                                   
LOADITEM EQU      19          ROM ERR:ILL LOAD ITEM                             
OBJFORMT EQU      20          ROM ERR:NOT OBJ LANGUAGE                          
NOTSTBIN EQU      21          ROM ERR:NOT STANDARD BIN                          
NOMODEND EQU      22          ROM ERR:NO MODULE END                             
TEXOFLO  EQU      23          ROM ERR:EXPRESSION SIZE EXCEEDS MAX               
RFUND    EQU      24          CC ERR:UNDEFINED FILE                             
RFUND2   EQU      25          CC ERR:UNDEFINED FILE                             
EOFONCC  EQU      26          UNEXPECTED MONITOR CC ON TTYDD                    
ILLEOD   EQU      27          UNEXPECTED EOD ON DEVICE/FILE                     
ILLEOD2  EQU      28          UNEXPECTED EOD ON DEVICE/FILE                     
BOTERR   EQU      29          BOT ON DEVICE/FILE                                
EOTERR   EQU      30          EOT ON DEVICE/FILE                                
EOTERR2  EQU      31          EOT ON DEVICE/FILE                                
IRRECRD  EQU      32          UNRECOVERABLE RD ERR ON DEVICE/FILE               
IRRECWR  EQU      33          UNRECOVERABLE WR ERR ON DEVICE/FILE               
TINYBUFF EQU      34          BUF SMALLAR THAN DATA RECD                        
RONGDCB  EQU      35          DCB HAS BAD PARAMETERS                            
NORADFIL EQU      36          UNDEFINED FILE AA,XXXXXXXX (IN DCB)               
DCBNODEV EQU      37          DCB NOT ASSIGNED                                  
READOUTP EQU      38          READING AN OUTPUT DEVICE                          
WRITEINP EQU      39          WRITING ON INPUT DEVICE                           
NOOPDCBW EQU      40          DCB HAS INSUFFICIENT INFO                         
NOOPDCBR EQU      41          DCB HAS INSUFFICIENT INFO                         
PROGERR  EQU      42          PROGRAM ERROR,OLAY,ADDR XXXXX                     
DCBCLOSE EQU      43          PROGRAM ERROR,OLAY,SB=XX,ADDR XXXXX               
DCBOPEN  EQU      44          PROGRAM ERROR,OLAY,SB=XX,ADDR XXXXX               
NONREAL  EQU      45          PROGRAM ERROR,OLAY,SB=XX,ADDR XXXXX               
INVBUFF  EQU      46          PROGRAM ERROR,OLAY,SB=XX,ADDR XXXXX               
REREADCC EQU      47          PROGRAM ERROR,OLAY,SB=XX,ADDR XXXXX               
ILLDCB   EQU      48          WARNING:ILL DCB NAME                              
ILLDCB2  EQU      49          WARNING:DCB IN OVERLAY SEG                        
LCOMSIZE EQU      50          LCOM XXX OF SIZE XX GR. THAN ALLOCATED            
DCBADR   EQU      51          WARNING:ILL DCB ADDR                              
PUBLIB5  EQU      52          DSECT'S IN PUBLIB LOAD                            
PLENGTH  EQU      53          BIAS TOO LARGE                                    
BACKSIZE EQU      54          BACKGROUND TOO SMALL                              
TABOFLO  EQU      55          BACKGROUND TOO SMALL                              
MOUNTPT  EQU      56          MOUNT PAPER TAPE ROM                              
FULLRFT  EQU      57          RAD FILE TABLE FULL                               
RADWP    EQU      58          TTYDD WRT PROT                                    
UPREF    EQU      59          WARNING:UNSATISFIED REF'S                         
DUPLDEFS EQU      60          WARNING:DUPLICATE DEF'S                           
UNDEFDEF EQU      61          WARNING:UNDEFINED DEF'S                           
UNDEFORG EQU      62          UNDEFINED ORIGIN                                  
ILLORG   EQU      63          ILLEGAL ORIGIN XXXXX                              
FLDOFLO  EQU      64          WARNING:FIELD OVERFLOW AT ADDR XXXXX              
NOSTART  EQU      65          WARNING:NO ENTRY ADDR FOR ROOT                    
SEGGT8K  EQU      66          WARNING:OVERLAY SEG GREATER THAN 8K               
ABORT    EQU      67          FILE DESTROYED AA,FFFFFFFF                        
ABORT2   EQU      68          FILE UNCHANGED AA,FFFFFFFF                        
EXCLIM   EQU      69          WARNING:PROGRAM EXCEEDS SPEC ADDR LIMITS          
UNDEFRLC EQU      70          PROGRAM ERROR:UNALLOCATED CONTROL SECT            
UNDEFDCB EQU      71          WARNING:UNALLOCATED DEFID DCB                     
OCCAREA  EQU      72          CC ERR:SPECIFIED AREA FOR PUBLIB NOT 'FP'         
UNDEFST  EQU      73          WARNING:UNDEFINED ENTRY ADDR                      
ILLSTRT  EQU      74          WARNING:ENTRY ADDR XXXXX OUTSIDE SEGMENT          
MAXLROM  EQU      75          LIB ROM'S EXCEED MAX                              
DEFALTST EQU      76          DEFAULT ENTRY ADDR XXXXX SUPPLIED FOR ROOT        
DCBCHGED EQU      77          PROGRAM ERROR: OLAY,SB=59,ADDR XXXXX              
SHAREDIN EQU      78          PROGRAM ERROR: OLAY,SB=60,ADDR XXXXX              
ILLMCC   EQU      79          MONITOR CC ENCOUNTERED INSTEAD OF :ROOT           
*                                 OR :PUBLIB                                    
NOATTEND EQU      80          CC ERR: STEP OPTION ILLEGAL WITHOUT ATTEND        
CCMODLOC EQU      81          CC ERR:MODIFY OUTSIDE SEG LIMITS                  
CCOPCODE EQU      82          CC ERR:ILL OPCODE IN ITEM XX                      
CCMODORD EQU      83          ILL SEG IDENT TERMINATED :MODIFY'S                
CCBINORD EQU      84          BINARY CARD ENCOUNTERED INSTEAD OF CC             
INITLCOM EQU      85          INITIALIZING LCOM OUTSIDE SEG                     
DUPREF   EQU      86          WARNING: DUPLICATE REF'S                          
DCBDSECT EQU      87                DCB CANNOT BE A DSECT                  101  
OCCBP    EQU      88                CC ERR: BACKGROUND AND PRIMARY              
DCBSMALL EQU      89                WARNING:  DCB XXXXXXXX TOO SMALL...         
PUBMEMER EQU      90                MEMORY CONFLICT INVOLVING PUBLIBS           
SMMER    EQU      91                SIMPLIFIED MEM MGT WITH FORE OR PUBLIBS     
DSECTDEF EQU      92                DSECT DUPLICATES A DEF                      
OCCACNT  EQU      93                CC ERR: ACNT NAME ILLEGAL FOR PUBLIB        
ILLOVRSZ EQU      94                OV FILE RSIZE .NE. GSIZE                    
NOUDCB   EQU      95                NOT ENUF UDCBS                              
SYM2BIG  EQU      96                SYMBOL TABLE OVERFLOW                       
R2ERROR  EQU      97                ROOT2 EXLOC ERROR                           
MAXDIAG  EQU      97                * * MAXIMUM DIAG NR * *                     
         TITLE    '  **** CELLS ****'                                           
*                                                                               
OLAYDIAG EQU      %                                                             
*                                                                               
X:3F     DATA     X'3F'                                                         
E:COC    TEXT     'COC'                                                         
E:BLANKS TEXT     '    '            4 BLANKS                                    
E:NULL   TEXT     'NULL'                                                        
         TITLE    '    **** DIAGNOSTIC TEXT ****'                               
*                                                                               
MSG1     DATA,1   X'C0'                                                         
         DATA,13  'CC ERR: ITEM '                                               
MSG1X    DATA,2   'XX'                                                          
MSG1%    EQU      %                                                             
*                                                                               
MSG2     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: FOLLOWIN'                                            
         DATA,7   'G ITEM '                                                     
MSG2X    DATA,2   'XX'                                                          
MSG2%    EQU      %                                                             
*                                                                               
MSG3     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: ILLEGAL '                                            
         DATA,11  'CC SEQUENCE'                                                 
MSG3%    EQU      %                                                             
*                                                                               
MSG4     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: SEG IDEN'                                            
         DATA,16  'T NOT 1ST OPTION'                                            
MSG4%    EQU      %                                                             
*                                                                               
MSG5     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: DUP NAME'                                            
         DATA,9   ' IN ITEM '                                                   
MSG5X    DATA,2   'XX'                                                          
MSG5%    EQU      %                                                             
*                                                                               
MSG6     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: SEG''S OR'                                           
         DATA,16  'DERED INCORRECTL'                                            
         DATA,1   'Y'                                                           
MSG6%    EQU      %                                                             
*                                                                               
MSG7     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: DUP SEG '                                            
         DATA,5   'IDENT'                                                       
MSG7%    EQU      %                                                             
*                                                                               
MSG8     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: ILL SEG '                                            
         DATA,5   'IDENT'                                                       
MSG8%    EQU      %                                                             
*                                                                               
MSG9     DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: UNDEFINE'                                            
         DATA,16  'D SYMBOL IN ITEM'                                            
         DATA,1   ' '                                                           
MSG9X    DATA,2   'XX'                                                          
MSG9%    EQU      %                                                             
*                                                                               
MSG10    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: NEED (FO'                                            
         DATA,16  'RE,FWA,LWA) OPTI'                                            
         DATA,16  'ON FOR PUBLIB LO'                                            
         DATA,2   'AD'                                                          
MSG10%   EQU      %                                                             
*                                                                               
MSG11    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: ILLEGAL '                                            
         DATA,16  'OPTION FOR PUBLI'                                            
         DATA,8   'B LOAD ('                                                    
MSG11X   DATA,12  'XXXXXXXXXXXX'                                                
MSG11%   EQU      %                                                             
*                                                                               
MSG12    DATA,1   X'C0'                                                         
         DATA,15  'ROM ERR: CHKSUM'                                             
MSG12%   EQU      %                                                             
*                                                                               
MSG13    DATA,1   X'C0'                                                         
         DATA,16  'ROM ERR: BAD SEQ'                                            
MSG13%   EQU      %                                                             
*                                                                               
MSG14    DATA,1   X'C0'                                                         
         DATA,16  'ROM ERR: ILLEGAL'                                            
         DATA,10  ' LOAD ITEM'                                                  
MSG14%   EQU      %                                                             
*                                                                               
MSG15    DATA,1   X'C0'                                                         
         DATA,16  'ROM ERR: NOT OBJ'                                            
         DATA,9   ' LANGUAGE'                                                   
MSG15%   EQU      %                                                             
*                                                                               
MSG16    DATA,1   X'C0'                                                         
         DATA,16  'ROM ERR: NOT STA'                                            
         DATA,9   'NDARD BIN'                                                   
MSG16%   EQU      %                                                             
*                                                                               
MSG17    DATA,1   X'C0'                                                         
         DATA,16  'ROM ERR: NO MODU'                                            
         DATA,6   'LE END'                                                      
MSG17%   EQU      %                                                             
*                                                                               
MSG18    DATA,1   X'C0'                                                         
         DATA,16  'ROM ERR: EXPRESS'                                            
         DATA,16  'ION SIZE EXCEEDS'                                            
         DATA,4   ' MAX'                                                        
MSG18%   EQU      %                                                             
*                                                                               
MSG19    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: UNDEFINE'                                            
         DATA,7   'D FILE '                                                     
MSG19X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG19%   EQU      %                                                             
*                                                                               
MSG20    DATA,1   X'C0'                                                         
         DATA,13  'PROGRAM ERR: '                                               
MSG20X1  DATA,9   'XXX,ADDR '                                                   
MSG20X2  DATA,5   'XXXXX'                                                       
MSG20%   EQU      %                                                             
*                                                                               
MSG21    DATA,1   X'C0'                                                         
         DATA,13  'PROGRAM ERR: '                                               
MSG21X1  DATA,7   'XXX,SB='                                                     
MSG21X2  DATA,8   'XX,ADDR '                                                    
MSG21X3  DATA,5   'XXXXX'                                                       
MSG21%   EQU      %                                                             
*                                                                               
MSG22    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: ILLEGAL'                                            
         DATA,9   ' DCB NAME'                                                   
MSG22%   EQU      %                                                             
*                                                                               
MSG23    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: DCB IN '                                            
         DATA,11  'OVERLAY SEG'                                                 
MSG23%   EQU      %                                                             
*                                                                               
MSG24    DATA,1   X'C0'                                                         
         DATA,14  'WARNING: LCOM '                                              
MSG24X1  RES,63                                                                 
         DATA,9   ' OF SIZE '                                                   
         DATA,5   'XXXXX'                                                       
         DATA,16  ' GREATER THAN AL'                                            
         DATA,7   'LOCATED'                                                     
MSG24%   EQU      %                                                             
*                                                                               
MSG25    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: ILLEGAL'                                            
         DATA,9   ' DCB ADDR'                                                   
MSG25%   EQU      %                                                             
*                                                                               
MSG26    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: UNSATIS'                                            
         DATA,10  'FIED REF''S'                                                 
MSG26%   EQU      %                                                             
*                                                                               
MSG27    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: DUPLICA'                                            
         DATA,8   'TE DEF''S'                                                   
MSG27%   EQU      %                                                             
*                                                                               
MSG28    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: FIELD O'                                            
         DATA,16  'VERFLOW AT ADDR '                                            
MSG28X   DATA,5   'XXXXX'                                                       
MSG28%   EQU      %                                                             
*                                                                               
MSG29    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: UNDEFIN'                                            
         DATA,8   'ED DEF''S'                                                   
MSG29%   EQU      %                                                             
*                                                                               
MSG30    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: NO ENTR'                                            
         DATA,15  'Y ADDR FOR ROOT'                                             
MSG30%   EQU      %                                                             
*                                                                               
MSG31    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: OVERLAY'                                            
         DATA,16  ' SEG GREATER THA'                                            
         DATA,7   'N 16K-1'                                                     
MSG31%   EQU      %                                                             
*                                                                               
MSG32    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: PROGRAM'                                            
         DATA,16  ' EXCEEDS SPECIFI'                                            
         DATA,14  'ED ADDR LIMITS'                                              
MSG32%   EQU      %                                                             
*                                                                               
MSG33    DATA,1   X'C0'                                                         
         DATA,16  'UNEXPECTED MONIT'                                            
         DATA,9   'OR CC ON '                                                   
MSG33X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG33%   EQU      %                                                             
*                                                                               
MSG34    DATA,1   X'C0'                                                         
         DATA,16  'UNEXPECTED EOD O'                                            
         DATA,2   'N '                                                          
MSG34X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG34%   EQU      %                                                             
*                                                                               
MSG35    DATA,1   X'C0'                                                         
         DATA,7   'BOT ON '                                                     
MSG35X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG35%   EQU      %                                                             
*                                                                               
MSG36    DATA,1   X'C0'                                                         
         DATA,7   'EOT ON '                                                     
MSG36X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG36%   EQU      %                                                             
*                                                                               
MSG37    DATA,1   X'C0'                                                         
         DATA,14  'UNRECOVERABLE '                                              
MSG37X1  DATA,10  'XX ERR ON '                                                  
MSG37X2  DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG37%   EQU      %                                                             
*                                                                               
MSG38    DATA,1   X'C0'                                                         
MSG38X   DATA,5   'XXXXX'                                                       
         DATA,10  ' WRT RESTR'                                                  
MSG38%   EQU      %                                                             
*                                                                               
MSG39    DATA,1   X'C0'                                                         
         DATA,16  'BUF SMALLER THAN'                                            
         DATA,12  ' DATA RECORD'                                                
MSG39%   EQU      %                                                             
*                                                                               
MSG40    DATA,1   X'C0'                                                         
         DATA,16  'DCB HAS BAD PARA'                                            
         DATA,6   'METERS'                                                      
MSG40%   EQU      %                                                             
*                                                                               
MSG41    DATA,1   X'C0'                                                         
         DATA,15  'UNDEFINED FILE '                                             
MSG41X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG41%   EQU      %                                                             
*                                                                               
MSG42    DATA,1   X'C0'                                                         
         DATA,16  'DCB NOT ASSIGNED'                                            
MSG42%   EQU      %                                                             
*                                                                               
MSG43    DATA,1   X'C0'                                                         
         DATA,16  'READING AN OUTPU'                                            
         DATA,8   'T DEVICE'                                                    
MSG43%   EQU      %                                                             
*                                                                               
MSG44    DATA,1   X'C0'                                                         
         DATA,16  'WRITING ON INPUT'                                            
         DATA,7   ' DEVICE'                                                     
MSG44%   EQU      %                                                             
*                                                                               
MSG45    DATA,1   X'C0'                                                         
         DATA,16  'DCB HAS INSUFFIC'                                            
         DATA,9   'IENT INFO'                                                   
MSG45%   EQU      %                                                             
*                                                                               
MSG46    DATA,1   X'C0'                                                         
         DATA,8   'RFT FULL'                                                    
MSG46%   EQU      %                                                             
*                                                                               
MSG47    DATA,1   X'C0'                                                         
         DATA,16  'MOUNT PAPER TAPE'                                            
         DATA,4   ' ROM'                                                        
MSG47%   EQU      %                                                             
*                                                                               
MSG48    DATA,1   X'C0'                                                         
         DATA,16  'DSECT''S IN PUBLI'                                           
         DATA,6   'B LOAD'                                                      
MSG48%   EQU      %                                                             
*                                                                               
MSG49    DATA,1   X'C0'                                                         
         DATA,15  'EXLOC TOO LARGE'                                             
MSG49%   EQU      %                                                             
*                                                                               
MSG50    DATA,1   X'C0'                                                         
         DATA,16  'BACKGROUND TOO S'                                            
         DATA,4   'MALL'                                                        
MSG50%   EQU      %                                                             
*                                                                               
MSG51    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: DEF''D D'                                           
         DATA,14  'CB NOT DEFINED'                                              
MSG51%   EQU      %                                                             
*                                                                               
MSG52    DATA,1   X'C0'                                                         
         DATA,16  'UNDEFINED ORIGIN'                                            
MSG52%   EQU      %                                                             
*                                                                               
MSG53    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: ILLEGAL'                                            
         DATA,15  ' LOAD LOCATION '                                             
MSG53X   DATA,5   'XXXXX'                                                       
MSG53%   EQU      %                                                             
*                                                                               
MSG54    DATA,1   X'C0'                                                         
         DATA,16  'ROM ERR: ILLEGAL'                                            
         DATA,11  ' EXPRESSION'                                                 
MSG54%   EQU      %                                                             
*                                                                               
MSG55    DATA,1   X'C0'                                                         
         DATA,15  'FILE DESTROYED '                                             
MSG55X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG55%   EQU      %                                                             
*                                                                               
MSG56    DATA,1   X'C0'                                                         
         DATA,15  'FILE UNCHANGED '                                             
MSG56X   DATA,10  'UNKNOWN   ','UNKNOWN   '                                     
MSG56%   EQU      %                                                             
MSG57    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: SPECIFIE'                                            
         DATA,16  'D AREA FOR PUBLI'                                            
         DATA,15  'B LOAD NOT ''FP'''                                           
MSG57%   EQU      %                                                             
MSG58    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: UNDEFIN'                                            
         DATA,13  'ED ENTRY ADDR'                                               
MSG58%   EQU      %                                                             
MSG59    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: ENTRY A'                                            
         DATA,4   'DDR '                                                        
MSG59X   DATA,5   'XXXXX'                                                       
         DATA,16  ' OUTSIDE SEGMENT'                                            
MSG59%   EQU      %                                                             
MSG60    DATA,1   X'C0'                                                         
         DATA,3   'SEG'                                                         
MSG60X   RES,1    28                                                            
MSG60%   EQU      %                                                             
MSG61    DATA,1   X'C0'                                                         
         DATA,4   'DCB '                                                        
MSG61X   RES,1    63                                                            
MSG61%   EQU      %                                                             
MSG62    DATA,1   X'C0'                                                         
         DATA,16  'LIB ROM''S EXCEED'                                           
         DATA,4   ' MAX'                                                        
MSG62%   EQU      %                                                             
MSG63    DATA,1   X'C0'                                                         
         DATA,16  'DEFAULT ENTRY AD'                                            
         DATA,3   'DR '                                                         
MSG63X   DATA,5   'XXXXX'                                                       
         DATA,16  ' SUPPLIED FOR RO'                                            
         DATA,2   'OT'                                                          
MSG63%   EQU      %                                                             
MSG64    DATA,1   X'C0'                                                         
         DATA,16  'MONITOR CC ENCOU'                                            
         DATA,16  'NTERED INSTEAD O'                                            
         DATA,16  'F :ROOT OR :PUBL'                                            
         DATA,5   'IB CC'                                                       
MSG64%   EQU      %                                                             
MSG65    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: STEP OPT'                                            
         DATA,16  'ION ILLEGAL WITH'                                            
         DATA,10  'OUT ATTEND'                                                  
MSG65%   EQU      %                                                             
MSG66    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: MODIFY O'                                            
         DATA,16  'UTSIDE SEG LIMIT'                                            
         DATA,1   'S'                                                           
MSG66%   EQU      %                                                             
MSG67    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: ILL OPCO'                                            
         DATA,11  'DE IN ITEM '                                                 
MSG67X   DATA,2   'XX'                                                          
MSG67%   EQU      %                                                             
MSG68    DATA,1   X'C0'                                                         
         DATA,16  'ILL SEG IDENT TE'                                            
         DATA,16  'RMINATED :MODIFY'                                            
         DATA,2   '''S'                                                         
MSG68%   EQU      %                                                             
MSG69    DATA,1   X'C0'                                                         
         DATA,16  'BINARY CARD ENCO'                                            
         DATA,16  'UNTERED INSTEAD '                                            
         DATA,5   'OF CC'                                                       
MSG69%   EQU      %                                                             
MSG70    DATA,1   X'C0'                                                         
         DATA,16  'INITIALIZING LCO'                                            
         DATA,13  'M OUTSIDE SEG'                                               
MSG70%   EQU      %                                                             
MSG71    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: DUPLICA'                                            
         DATA,8   'TE REF''S'                                                   
MSG71%   EQU      %                                                             
MSG72    DATA,1   X'C0'                                                         
         DATA,16  'DCB CANNOT BE A '                                       101  
         DATA,5   'DSECT'                                                  101  
MSG72%   EQU      %                                                        101  
MSG73    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR:  BACKGRO'                                            
         DATA,15  'UND AND PRIMARY'                                             
MSG73%   EQU      %                                                             
MSG74    DATA,1   X'C0'                                                         
         DATA,10  'WARNING:  '                                                  
         DATA,4   'DCB '                                                        
MSG74X1  DATA,9   'XXXXXXXX '                                                   
         DATA,14  'TOO SMALL FOR '                                              
         DATA,10  'ASSIGNMENT'                                                  
MSG74%   EQU      %                                                             
MSG75    DATA,1   X'C0'                                                         
         DATA,16  'MEMORY CONFLICT '                                            
         DATA,16  'INVOLVING PUBLIB'                                            
         DATA,6   'S USED'                                                      
MSG75%   EQU      %                                                             
MSG76    DATA,1   X'C0'                                                         
         DATA,16  'SMM OPTION ILLEG'                                            
         DATA,16  'AL WITH PRI OR P'                                            
         DATA,6   'UBLIBS'                                                      
MSG76%   EQU      %                                                             
MSG77    DATA,1   X'C0'                                                         
         DATA,16  'SYMBOL DECLARED '                                            
         DATA,16  'BOTH AS DEF AND '                                            
         DATA,8   'DSECT:  '                                                    
MSG77%   EQU      %                                                             
MSG78    DATA,1   X'C0'                                                         
         DATA,16  'CC ERR: ACNT NAM'                                            
         DATA,16  'E ILLEGAL FOR PU'                                            
         DATA,4   'BLIB'                                                        
MSG78%   EQU      %                                                             
MSG79    DATA,1   X'C0'                                                         
         DATA,16  'WARNING: PROGRAM'                                            
         DATA,16  ' FILE RSIZE NOT '                                            
         DATA,14  'EQUAL TO GSIZE'                                              
MSG79%   EQU      %                                                             
MSG80    DATA,1   X'C0'                                                         
         DATA,14  'NOT ENUF UDCBS'                                              
MSG80%   EQU      %                                                             
MSG81    DATA,1   X'C0'                                                         
         DATA,12  'SYMBOL TABLE'                                                
         DATA,9   ' OVERFLOW'                                                   
MSG81%   EQU      %                                                             
MSG82    DATA,1   X'C0'                                                         
         DATA,16  'ROOT2 EXLOC ERR:'                                            
         DATA,16  'OVERLAPS SEGMENT'                                            
MSG82%   EQU               %                                                    
MSG%     EQU      %                 END OF MSG TABLE                            
         TITLE    '       **** TABLES ****'                                     
*                                                                               
*                *T:DIAG HAS ONE WORD PER ENTRY;EACH ENTRY CORRESPONDES         
*                 TO A DIAGNOSTIC NUMBER. (THERE IS NO ENTRY ZERO)              
*                 ENTRY FORMAT:BYTE 0=0,OUTPUT DIAG AND ABORT                   
*                                     1,OUTPUT DIAG AND RETURN                  
*                                     2,OUTPUT DIAG AND WAIT (CC ERR)           
*                                     3,OUTPUT DIAG AND WAIT (NOT CC ER)        
*                              BITS 15-31=WA OF ROUTINE TO PROCESS DIAG         
*                                                                               
*                                                                               
         BOUND    4                                                             
T:DIAG   EQU      %-1                                                           
         GEN,8,24 WAITCC,DG150      CCITEM                                      
         GEN,8,24 ABORTX,DG150      OCCITEM                                     
         GEN,8,24 WAITCC,DG160      CCFITEM                                     
         GEN,8,24 ABORTX,DG160      OCCFITEM                                    
         GEN,8,24 WAITCC,DG120      CCORDER                                     
         GEN,8,24 WAITCC,DG120      CCIDENT                                     
         GEN,8,24 WAITCC,DG170      CCDUPNAM                                    
         GEN,8,24 WAITCC,DG120      CCSEGORD                                    
         GEN,8,24 WAITCC,DG120      CCDUPSEG                                    
         GEN,8,24 WAITCC,DG120      CCUNDSEG                                    
         GEN,8,24 WAITCC,DG180      CCUNDSYM                                    
         GEN,8,24 ABORTX,DG120      OCCFORE                                     
         GEN,8,24 ABORTX,DG190      OCCTEMP                                     
         GEN,8,24 ABORTX,DG190      OCCLINKS                                    
         GEN,8,24 ABORTX,DG190      OCCTASKS                                    
         GEN,8,24 ABORTX,DG190      OCCPUBL                                     
         GEN,8,24 WAIT,DG140        CHKSUM                                      
         GEN,8,24 WAIT,DG140        SEQERR                                      
         GEN,8,24 ABORTX,DG140      LOADITEM                                    
         GEN,8,24 WAIT,DG140        OBJFORMT                                    
         GEN,8,24 WAIT,DG140        NOTSTBIN                                    
         GEN,8,24 ABORTX,DG140      NOMODEND                                    
         GEN,8,24 ABORTX,DG140      TEXOFLO                                     
         GEN,8,24 WAIT,DG200        RFUND                                       
         GEN,8,24 ABORTX,DG200      RFUND2                                      
         GEN,8,24 RETURNX,DG230     EOFONCC                                     
         GEN,8,24 WAIT,DG240        ILLEOD                                      
         GEN,8,24 RETURNX,DG240     ILLEOD2                                     
         GEN,8,24 RETURNX,DG250     BOTERR                                      
         GEN,8,24 WAIT,DG260        EOTERR                                      
         GEN,8,24 RETURNX,DG260     EOTERR2                                     
         GEN,8,24 RETURNX,DG270     IRRECRD                                     
         GEN,8,24 RETURNX,DG280     IRRECWR                                     
         GEN,8,24 RETURNX,DG330     TINYBUFF                                    
         GEN,8,24 RETURNX,DG330     RONGDCB                                     
         GEN,8,24 RETURNX,DG290     NORADFIL                                    
         GEN,8,24 RETURNX,DG330     DCBNODEV                                    
         GEN,8,24 RETURNX,DG330     READOUTP                                    
         GEN,8,24 RETURNX,DG330     WRITEINP                                    
         GEN,8,24 RETURNX,DG330     NOOPDCBW                                    
         GEN,8,24 RETURNX,DG330     NOOPDCBR                                    
         GEN,8,24 ABORTX,DG220      PROGERR                                     
         GEN,8,24 RETURNX,DG210     DCBCLOSE                                    
         GEN,8,24 RETURNX,DG210     DCBOPEN                                     
         GEN,8,24 RETURNX,DG210     NONREAL                                     
         GEN,8,24 RETURNX,DG210     INVBUFF                                     
         GEN,8,24 RETURNX,DG210     REREADCC                                    
         GEN,8,24 RETURNX,DG360     ILLDCB                                      
         GEN,8,24 RETURNX,DG360     ILLDCB2                                     
         GEN,8,24 RETURNX,DG400     LCOMSIZE                                    
         GEN,8,24 RETURNX,DG370     DCBADR                                      
         GEN,8,24 ABORTX,DG130      PUBLIB5                                     
         GEN,8,24 ABORTX,DG100      PLENGTH                                     
         GEN,8,24 ABORTX,DG120      BACKSIZE                                    
         GEN,8,24 ABORTX,DG130      TABOFLO                                     
         GEN,8,24 WAIT,DG120        MOUNTPT                                     
         GEN,8,24 RETURNX,DG120     FULLRFT                                     
         GEN,8,24 WAIT,DG380        RADWP                                       
         GEN,8,24 RETURNX,DG120     UPREF                                       
         GEN,8,24 RETURNX,DG120     DUPLDEFS                                    
         GEN,8,24 RETURNX,DG120     UNDEFDEF                                    
         GEN,8,24 ABORTX,DG130      UNDEFORG                                    
         GEN,8,24 RETURNX,DG390     ILLORG                                      
         GEN,8,24 RETURNX,DG395     FLDOFLO                                     
         GEN,8,24 RETURNX,DG120     NOSTART                                     
         GEN,8,24 RETURNX,DG100     SEGGT16K                                    
         GEN,8,24 RETURNX,DG300     ABORT                                       
         GEN,8,24 RETURNX,DG310     ABORT2                                      
         GEN,8,24 RETURNX,DG120     EXCLIM                                      
         GEN,8,24 RETURNX,DG130     UNDEFRLC                                    
         GEN,8,24 RETURNX,DG370     UNDEFDCB                                    
         GEN,8,24 ABORTX,DG120      OCCAREA                                     
         GEN,8,24 RETURNX,DG100     UNDEFST                                     
         GEN,8,24 RETURNX,DG440     ILLSTRT                                     
         GEN,8,24 ABORTX,DG100      MAXLROM                                     
         GEN,8,24 RETURNX,DG450     DEFALTST                                    
         GEN,8,24 RETURNX,DG210     DCBCHGED                                    
         GEN,8,24 RETURNX,DG210     SHAREDIN                                    
         GEN,8,24 ABORTX,DG120      ILLMCC                                      
         GEN,8,24 ABORTX,DG120      NOATTEND                                    
         GEN,8,24 WAIT,DG120        CCMODLOC                                    
         GEN,8,24 WAIT,DG165        CCOPCODE                                    
         GEN,8,24 WAIT,DG120        CCMODORD                                    
         GEN,8,24 WAIT,DG120        CCBINORD                                    
         GEN,8,24 RETURNX,DG100     INITLCOM                                    
         GEN,8,24 RETURNX,DG120     DUPREF                                      
         GEN,8,24 ABORTX,DG130      DCBDSECT                               101  
         GEN,8,24 ABORTX,DG120      OERBP                                       
         GEN,8,24 RETURNX,DG480     DCBSMALL                                    
         GEN,8,24 ABORTX,DG120      PUBMEMER                                    
         GEN,8,24 ABORTX,DG120      SMMER                                       
         GEN,8,24 ABORTX,DG470      DSECTDEF                                    
         GEN,8,24 ABORTX,DG120      OCCACNT                                     
         GEN,8,24 RETURNX,DG120     ILLOVRSZ                                    
         GEN,8,24 RETURNX,DG120     NOUDCB                                      
         GEN,8,24 ABORTX,DG120      SYM2BIG                                     
         GEN,8,24 RETURNX,DG120      ROOT 2 EXLOC ERROR                         
         PAGE                                                                   
*                                                                               
*                *T:MSG HAS ONE WORD PER ENTRY;EACH ENTRY CORRESPONDES          
*                 TO A DIAGNOSTIC NUMBER. (THERE IS NO ENTRY ZERO)              
*                 ENTRY FORMAT: BYTE 0=BYTE LENGTH OF MSG                       
*                               BITS 13-31=BA OF THE MESSAGE ASSOCIATED         
*                                          WITH THE DIAGNOSTIC                  
*                                                                               
         BOUND    4                                                             
T:MSG    EQU      %-1                                                           
         GEN,8,24 BA(MSG1%)-BA(MSG1),BA(MSG1)               CCITEM              
         GEN,8,24 BA(MSG1%)-BA(MSG1),BA(MSG1)               OCCITEM             
         GEN,8,24 BA(MSG2%)-BA(MSG2),BA(MSG2)               CCFITEM             
         GEN,8,24 BA(MSG2%)-BA(MSG2),BA(MSG2)               OCCFITEM            
         GEN,8,24 BA(MSG3%)-BA(MSG3),BA(MSG3)               CCORDER             
         GEN,8,24 BA(MSG4%)-BA(MSG4),BA(MSG4)               CCIDENT             
         GEN,8,24 BA(MSG5%)-BA(MSG5),BA(MSG5)               CCDUPNAM            
         GEN,8,24 BA(MSG6%)-BA(MSG6),BA(MSG6)               CCSEGORG            
         GEN,8,24 BA(MSG7%)-BA(MSG7),BA(MSG7)               CCDUPSEG            
         GEN,8,24 BA(MSG8%)-BA(MSG8),BA(MSG8)               CCUNDSEG            
         GEN,8,24 BA(MSG9%)-BA(MSG9),BA(MSG9)               CCUNDSYM            
         GEN,8,24 BA(MSG10%)-BA(MSG10),BA(MSG10)            OCCFORE             
         GEN,8,24 BA(MSG11%)-BA(MSG11),BA(MSG11)            OCCTEMP             
         GEN,8,24 BA(MSG11%)-BA(MSG11),BA(MSG11)            OCCLINKS            
         GEN,8,24 BA(MSG11%)-BA(MSG11),BA(MSG11)            OCCTASKS            
         GEN,8,24 BA(MSG11%)-BA(MSG11),BA(MSG11)            OCCPUBL             
         GEN,8,24 BA(MSG12%)-BA(MSG12),BA(MSG12)            CHKSUM              
         GEN,8,24 BA(MSG13%)-BA(MSG13),BA(MSG13)            SEQERR              
         GEN,8,24 BA(MSG14%)-BA(MSG14),BA(MSG14)            LOADITEM            
         GEN,8,24 BA(MSG15%)-BA(MSG15),BA(MSG15)            OBJFORMT            
         GEN,8,24 BA(MSG16%)-BA(MSG16),BA(MSG16)            NOTSTBIN            
         GEN,8,24 BA(MSG17%)-BA(MSG17),BA(MSG17)            NOMODEND            
         GEN,8,24 BA(MSG18%)-BA(MSG18),BA(MSG18)            TEXOFLO             
         GEN,8,24 BA(MSG19%)-BA(MSG19),BA(MSG19)            RFUND               
         GEN,8,24 BA(MSG19%)-BA(MSG19),BA(MSG19)            RFUND2              
         GEN,8,24 BA(MSG33%)-BA(MSG33),BA(MSG33)            EOFONCC             
         GEN,8,24 BA(MSG34%)-BA(MSG34),BA(MSG34)            ILLEOD              
         GEN,8,24 BA(MSG34%)-BA(MSG34),BA(MSG34)            ILLEOD2             
         GEN,8,24 BA(MSG35%)-BA(MSG35),BA(MSG35)            BOTERR              
         GEN,8,24 BA(MSG36%)-BA(MSG36),BA(MSG36)            EOTERR              
         GEN,8,24 BA(MSG36%)-BA(MSG36),BA(MSG36)            EOTERR2             
         GEN,8,24 BA(MSG37%)-BA(MSG37),BA(MSG37)            IRRECRD             
         GEN,8,24 BA(MSG37%)-BA(MSG37),BA(MSG37)            IRRECWR             
         GEN,8,24 BA(MSG39%)-BA(MSG39),BA(MSG39)            TINYBUFF            
         GEN,8,24 BA(MSG40%)-BA(MSG40),BA(MSG40)            RONGDCB             
         GEN,8,24 BA(MSG41%)-BA(MSG41),BA(MSG41)            NORADFIL            
         GEN,8,24 BA(MSG42%)-BA(MSG42),BA(MSG42)            DCBNODEV            
         GEN,8,24 BA(MSG43%)-BA(MSG43),BA(MSG43)            READOUTP            
         GEN,8,24 BA(MSG44%)-BA(MSG44),BA(MSG44)            WRITEINP            
         GEN,8,24 BA(MSG45%)-BA(MSG45),BA(MSG45)            NOOPDCBW            
         GEN,8,24 BA(MSG45%)-BA(MSG45),BA(MSG45)            NOOPDCBR            
         GEN,8,24 BA(MSG20%)-BA(MSG20),BA(MSG20)            PROGERR             
         GEN,8,24 BA(MSG21%)-BA(MSG21),BA(MSG21)            DCBCLOSE            
         GEN,8,24 BA(MSG21%)-BA(MSG21),BA(MSG21)            DCBOPEN             
         GEN,8,24 BA(MSG21%)-BA(MSG21),BA(MSG21)            NONREAL             
         GEN,8,24 BA(MSG21%)-BA(MSG21),BA(MSG21)            INVBUFF             
         GEN,8,24 BA(MSG21%)-BA(MSG21),BA(MSG21)            REREADCC            
         GEN,8,24 BA(MSG22%)-BA(MSG22),BA(MSG22)            ILLDCB              
         GEN,8,24 BA(MSG23%)-BA(MSG23),BA(MSG23)            ILLDCB2             
         GEN,8,24 BA(MSG24%)-BA(MSG24),BA(MSG24)            LCOMSIZE            
         GEN,8,24 BA(MSG25%)-BA(MSG25),BA(MSG25)            DCBADR              
         GEN,8,24 BA(MSG48%)-BA(MSG48),BA(MSG48)            PUBLIB5             
         GEN,8,24 BA(MSG49%)-BA(MSG49),BA(MSG49)            PLENGTH             
         GEN,8,24 BA(MSG50%)-BA(MSG50),BA(MSG50)            BACKSIZE            
         GEN,8,24 BA(MSG50%)-BA(MSG50),BA(MSG50)            TABOFLO             
         GEN,8,24 BA(MSG47%)-BA(MSG47),BA(MSG47)            MOUNTPT             
         GEN,8,24 BA(MSG46%)-BA(MSG46),BA(MSG46)            FULLRFT             
         GEN,8,24 BA(MSG38%)-BA(MSG38),BA(MSG38)            RADWP               
         GEN,8,24 BA(MSG26%)-BA(MSG26),BA(MSG26)            UPREF               
         GEN,8,24 BA(MSG27%)-BA(MSG27),BA(MSG27)            DUPLDEFS            
         GEN,8,24 BA(MSG29%)-BA(MSG29),BA(MSG29)            UNDEFDEF            
         GEN,8,24 BA(MSG52%)-BA(MSG52),BA(MSG52)            UNDEFORG            
         GEN,8,24 BA(MSG53%)-BA(MSG53),BA(MSG53)            ILLORG              
         GEN,8,24 BA(MSG28%)-BA(MSG28),BA(MSG28)            FLDOFLO             
         GEN,8,24 BA(MSG30%)-BA(MSG30),BA(MSG30)            NOSTART             
         GEN,8,24 BA(MSG31%)-BA(MSG31),BA(MSG31)            SEGGT16K            
         GEN,8,24 BA(MSG55%)-BA(MSG55),BA(MSG55)            ABORT               
         GEN,8,24 BA(MSG56%)-BA(MSG56),BA(MSG56)            ABORT2              
         GEN,8,24 BA(MSG32%)-BA(MSG32),BA(MSG32)            EXCLIM              
         GEN,8,24 BA(MSG54%)-BA(MSG54),BA(MSG54)            UNDEFRLC            
         GEN,8,24 BA(MSG51%)-BA(MSG51),BA(MSG51)            UNDEFDCB            
         GEN,8,24 BA(MSG57%)-BA(MSG57),BA(MSG57)            OCCAREA             
         GEN,8,24 BA(MSG58%)-BA(MSG58),BA(MSG58)            UNDEFST             
         GEN,8,24 BA(MSG59%)-BA(MSG59),BA(MSG59)            ILLSTART            
         GEN,8,24 BA(MSG62%)-BA(MSG62),BA(MSG62)            MAXLROM             
         GEN,8,24 BA(MSG63%)-BA(MSG63),BA(MSG63)            DEFALTST            
         GEN,8,24 BA(MSG21%)-BA(MSG21),BA(MSG21)            DCBCHGED            
         GEN,8,24 BA(MSG21%)-BA(MSG21),BA(MSG21)            SHAREDIN            
         GEN,8,24 BA(MSG64%)-BA(MSG64),BA(MSG64)            ILLMCC              
         GEN,8,24 BA(MSG65%)-BA(MSG65),BA(MSG65)            NOATTEND            
         GEN,8,24 BA(MSG66%)-BA(MSG66),BA(MSG66)                                
         GEN,8,24 BA(MSG67%)-BA(MSG67),BA(MSG67)                                
         GEN,8,24 BA(MSG68%)-BA(MSG68),BA(MSG68)                                
         GEN,8,24 BA(MSG69%)-BA(MSG69),BA(MSG69)            CCBINORD            
         GEN,8,24 BA(MSG70%)-BA(MSG70),BA(MSG70)            INITLCOM            
         GEN,8,24 BA(MSG71%)-BA(MSG71),BA(MSG71)       DUPREF                   
         GEN,8,24 BA(MSG72%)-BA(MSG72),BA(MSG72)            DCBDSECT       101  
         GEN,8,24  BA(MSG73%)-BA(MSG73),BA(MSG73)                               
         GEN,8,24 BA(MSG74%)-BA(MSG74),BA(MSG74)    DCBSMALL                    
         GEN,8,24  BA(MSG75%)-BA(MSG75),BA(MSG75)                               
         GEN,8,24  BA(MSG76%)-BA(MSG76),BA(MSG76)    SMMER                      
         GEN,8,24 BA(MSG77%)-BA(MSG77),BA(MSG77)    DCBDSECT                    
         GEN,8,24 BA(MSG78%)-BA(MSG78),BA(MSG78)    OCCACNT                     
         GEN,8,24 BA(MSG79%)-BA(MSG79),BA(MSG79)    ILLOVRSZ                    
         GEN,8,24 BA(MSG80%)-BA(MSG80),BA(MSG80)    NOUDCB                      
         GEN,8,24 BA(MSG81%)-BA(MSG81),BA(MSG81)    SYM2BIG                     
         GEN,8,24 BA(MSG82%)-BA(MSG82),BA(MSG82)   ROOT2 ERROR                  
         TITLE    '      **** DIAG CODE ****'                                   
DIAG     RES      0                                                             
         PUSH     15                                                     879.010
         LI,R2    BA(E:BLANKS)      BYTE ADDR OF BLANK LINE              879.020
         LI,R4    4                 BYTE LENGTH OF BLANK LINE            879.030
         PRINT                                                           879.040
         LI,R2    BA(B:ERRCC)       BYTE ADDR OF CMND BEING PROCESSED           
         LI,R4    81                BYTE LENGTH OF CMND BEING PRCESSED          
         PRINT                      LOG TO OC IF ATTENDED                       
         PULL     15                                                            
         LW,R7    R9                                                            
         BLEZ     DG5                                                           
         CI,R7    MAXDIAG                                                       
         BLE      DG10                 *YES                                     
DG5      LI,R7    PROGERR              *NO,OUTPUT 'PROGRAM ERROR'               
DG10     LI,R3    X'7FFFF'                                                      
         LI,R2    0                                                             
         LS,R2    T:MSG,R7          R2=FBA OF MESSAGE                           
         LW,R4    T:MSG,R7                                                      
         LB,R4    R4                R4=BYTE LENGTH OF MESSAGE                   
         LW,R3    T:DIAG,R7                                                     
         LB,R1    R3                R1=EXIT CODE (ABORT,RETURN,WAIT)            
         B        *R3              *BRANCH TO OUTPUT DIAGNOSTIC AND             
*                                   RETURN TO DG20,R1                           
DG20     EQU      %                                                             
         B        DG30                  ABORT                                   
         B        RDIAGX                RETURN                                  
         B        DG40                  WAIT (CC ERROR)                         
         B        DG40                  WAIT                                    
*                                                                               
DG30     PULL     0,15             *RESTORE REGISTERS BEFORE CALLING            
         B        RABORT            ABORT ROUTINE                               
*                                                                               
DG40     CAL1,9   9                *WAIT FOR OPERATOR RESPONSE                  
         LI,R9    WA(M:C)                                                       
         CI,R1    WAITCC                WAS A CC DIAG OUTPUT                    
         BNE      DG50                     *NO                                  
         LW,R0    K:KEYIN+2         YES.  IF KEYIN IS 'COC'                     
         LI,R11   0                             REREAD CC FROM 'OC'             
         SCD,R10  8                                                             
         CI,R11   X'5A'                 (ELIMINATE 'EXCLAMATION',IF ANY)        
         BE       DG45                                                          
         SCD,R10  -8                                                            
DG45     CW,R10   E:COC                                                         
         BNE      DG50                                                          
         LI,R9    WA(M:OC)                                                      
DG50     STW,R9   V:CCDCB                                                       
         B        RDIAGX                                                        
         PAGE                                                                   
DG100    PRINT                     *PRINT DIAGNOSTIC MSG AND SEG IDENT          
         PUTSEG                                                                 
DG110    SW,R4    R2                    (CALCULATE BYTE LENGTH OF MSG)          
DG120    PRINT                     *PRINT DIAGNOSTIC AND EXIT                   
         LI,R2    BA(E:BLANKS)                                                  
         LI,R4    4                                                             
         PRINT                      PRINT A BLANK LINE                          
         B        DG20,R1           ACCORDING TO RETURN CODE                    
DG130    PRINT                     *PRINT DIAGNOSTIC MSG,SEG IDENT, AND         
         PUTSEG                     ROM NUMBER (OR LIB RECORD NO)               
         PUTROM                                                                 
         B        DG110                                                         
DG140    PRINT                     *PRINT DIAGNOSTIC MSG,SEG IDENT,             
         PUTSEG                     ROM NUMBER,AND RECORD SEQUENCE NO.          
         PUTROM                                                                 
         PUTSEQNO                                                               
         B        DG110                                                         
DG150    LI,R6    BA(MSG1X)         CC ERR: ITEM XX                             
         B        DG182                                                         
DG160    LI,R6    BA(MSG2X)         CC ERR: FOLLOWING ITEM XX                   
         B        DG182                                                         
DG165    LI,R6    BA(MSG67X)        CC ERR: ILL OPCODE IN ITEM XX               
         B        DG182                                                         
DG170    LI,R6    BA(MSG5X)         CC ERR: DUP NAME IN ITEM XX                 
         B        DG182                                                         
DG180    LI,R6    BA(MSG9X)        *CC ERR: UNDEFINED SYMBOL IN ITEM XX         
DG182    LI,R5    BA(R12)+1        *BYTES 1,2 OF R12=ITEM NO. IN EBCDIC         
         LI,R8    2                                                             
         B        DG192                                                         
DG190    LI,R6    BA(MSG11X)        CC ERR: ILLEGAL OPT FOR PUBLIB LOAD         
         LW,R5    R7                    CALCULATE BA OF OPTION                  
         AI,R5    -OCCTEMP                                                      
         MI,R5    12                                                            
         AI,R5    BA(DG195)                                                     
         LI,R8    12                    BYTE LENGTH                             
DG192    MOVBYTS                                                                
         LW,R4    R6                CALCULATE LBA+1 OF MESSAGE                  
         AW,R4    R8                                                            
         B        DG110                                                         
*                                                                               
DG195    DATA,12  'TEMP,VALUE) '                                                
         DATA,12  'GO,LINKS)   '                                                
         DATA,12  'TASKS,VALUE)'                                                
         DATA,12  'PUBL,NAME)  '                                                
*                                                                               
DG200    LI,R4    BA(MSG19X)        CC ERR: UNDEFINED FILE AA,FFFFFFFF          
         B        DG320                                                         
DG210    LI,R6    BA(MSG21X1)       PROGRAM ERR: XXX,SB=XX,ADDR XXXXX           
         LW,R5    V:COLAY              *STORE OVERLAY SEGMENT NAME              
         MI,R5    3                                                             
         AI,R5    BA(DG225)                                                     
         LW,R12   R8                    (SAVE ADDR FOLLOWING I/O CAL)           
         LI,R8    3                                                             
         MOVBYTS                                                                
         LI,R4    BA(MSG21X2)           STORE I/O STATUS BYTE                   
         LB,R8    R10                                                           
         CI,R8    16                                                            
         BGE      DG215                                                         
         LI,R9    X'F0'                                                         
         STB,R9   0,R4                                                          
         AI,R4    1                                                             
DG215    LJHEX                                                                  
         LI,R9    ','                                                           
         STB,R9   0,R4                                                          
         LI,R4    BA(MSG21X3)           STORE ADDR OF I/O CAL                   
         LW,R8    R12                                                           
         AI,R8    -1                                                            
         LJHEX                                                                  
         SW,R4    R2                                                            
         B        DG330                 PRINT MSG AND DCB NAME                  
DG220    LI,R6    BA(MSG20X1)       PROGRAM ERR: XXX,ADDR XXXXX                 
         LW,R5    V:COLAY              *STORE OVERLAY SEGMENT NAME              
         MI,R5    3                                                             
         AI,R5    BA(DG225)                                                     
         LI,R8    3                                                             
         LW,R12   R15                   (SAVE ADDR OF 'RDIAG' CALL)             
         MOVBYTS                                                                
         LI,R4    BA(MSG20X2)           STORE ADDR OF RDIAG CALL                
         LW,R8    R12                                                           
         LJHEX                                                                  
         SW,R4    R2                                                            
         B        DG130                 PRINT MSG AND SEG,ROM NOS.              
*                                                                               
DG225    DATA,3   'RT '             ROOT (SHOULD NOT OCCUR)                     
         DATA,3   'CCI'             CCI                                         
         DATA,3   'ONE'             PASSONE                                     
         DATA,3   'TWO'             PASSTWO                                     
         DATA,3   'MAP'             MAP                                         
         DATA,3   'DG '             DIAG  (SHOULD NOT OCCUR)                    
         DATA,3   'LIB'             LIB                                         
         BOUND    4                                                             
*                                                                               
DG230    LI,R4    BA(MSG33X)        UNEXPECTED MONITOR CC ON DEV/FILE           
         B        DG320                                                         
DG240    LI,R4    BA(MSG34X)        UNEXPECTED EOD ON DEVICE/FILE               
         B        DG320                                                         
DG250    LI,R4    BA(MSG35X)        BOT ON DEVICE/FILE                          
         B        DG320                                                         
DG260    LI,R4    BA(MSG36X)        EOT ON DEVICE/FILE                          
         B        DG320                                                         
DG270    LI,R9    'RD'              UNRECOVERABLE RD ERR ON DEV/FILE            
         B        DG282                                                         
DG280    LI,R9    'WR'              UNRECOVERABLE WR ERR ON DEV/FILE            
DG282    LI,R6    BA(MSG37X1)                                                   
         LI,R5    BA(R9)+2                                                      
         LI,R8    2                     PUT 'RD' OR 'WR' IN MSG                 
         MOVBYTS                                                                
         LI,R4    BA(MSG37X2)                                                   
         B        DG320                                                         
DG290    LI,R4    BA(MSG41X)        UNDEFINED FILE AA,FFFFFFFF                  
         DEVFILE                       *PUT AREA,FILE NAME IN MSG               
         SW,R4    R2                   *CALCULATE BL                            
         B        DG330                                                         
DG300    LI,R4    BA(MSG55X)        FILE DESTROYED AA,FFFFFFFF                  
         B        DG315                                                         
DG310    LI,R4    BA(MSG56X)        FILE UNCHANGED AA,FFFFFFFF                  
DG315    LI,R10   WA(M:OV)                                                      
DG320    DEVFILE                    R10=WA  OF DCB                              
         B        DG110                                                         
DG330    PRINT                     *PRINT DIAGNOSTIC AND SEARCH DCBTAB          
         LW,R5    PCBPOINT          FOR MATCHING ENTRY                          
         AI,R5    10                                                            
         LW,R5    0,R5                                                          
         LW,R7    0,R5             *CALCULATE LWA+1 OF DCBTAB                   
         MI,R7    3                                                             
         AI,R5    1                                                             
         AW,R7    R5                                                            
DG340    CW,R5    R7                                                            
         BGE      DG20,R1           SKIP DCB NAME IF NOT IN DCBTAB              
*                                             NOT IN DCBTAB                     
         LW,R12   0,R5                                                          
         AI,R5    1                                                             
         LW,R13   0,R5              R12,R13=EBCDIC NAME OF DCB                  
         AI,R5    1                                                             
         LI,R11   X'1FFFF'                                                      
         CS,R10   0,R5              DOES DCB ADDR IN R10 EQUAL DCB ENTRY        
         BE       DG350                                                         
         AI,R5    1                    *NO                                      
         B        DG340                                                         
DG350    LI,R5    BA(R12)              *YES                                     
         LI,R6    BA(MSG61X)                                                    
         LI,R8    8                                                             
         LI,R2    BA(MSG61)             (DCB X:XXXXXX)                          
         B        DG192            *PUT DCB NAME IN MSG AND PRINT               
DG360    PRINT                     *WARNING:ILLEGAL DCB NAME,OR                 
*                                   WARNING:DCB IN OVERLAY SEG                  
         PUTSEG                        *PRINT DIAG MSG,SEG IDENT AND            
         PUTROM                         ROM NO.,AND DCB NAME                    
         SW,R4    R2                                                            
         PRINT                                                                  
         LI,R5    BA(B:X)       (DCB NAME IS IN B:X IN T:SYMBOL FORMAT)         
         LB,R8    0,R5                                                          
         AI,R5    1                                                             
         AI,R8    -1               *R8=BYTE COUNT OF EBCDIC                     
DG362    LI,R6    BA(MSG61X)       *STORE EBCDIC NAME IN MSG61 AND PRINT        
         LI,R2    BA(MSG61)                                                     
         B        DG192                                                         
DG370    PRINT                     *WARNING: ILLEGAL DCB ADDR,OR                
*                                   WARNING: DEF1D DCB NOT DEFINED              
         LW,R5    R10                   R10=FBA OF T:DCB ENTRY                  
         AI,R5    4                     R5=FBA OF EBCDIC NAME                   
         LI,R8    8                     R8=BYTE COUNT                           
         B        DG362                                                         
DG380    RES      0                 DCNDD WRT RESTR (DCB ADDR IN R10)           
         LW,R7    R10               SET DCB ADDRESS                             
         CAL1,1   FPT:GASN          GET DCB ASSIGNMENT                          
         LI,R5    BA(B:DEVNM)       POINT TO DEVICE NAME                        
         LI,R8    5                                                             
         LI,R6    BA(MSG38X)                                                    
         MOVBYTS                                                                
         B        DG120                                                         
DG390    LI,R4    BA(MSG53X)       *ILLEGAL LOAD LOCATION XXXXX                 
         B        DG397                 R8=ORIGIN                               
DG395    LI,R4    BA(MSG28X)       *WARNING:FIELD OVERFLOW AT ADDR XXXXX        
*                                       R8=ADDR                                 
DG397    LJHEX                      CONVERT TO HEX AND PUT IN MSG               
         SW,R4    R2                                                            
         B        DG130                                                         
DG400    LW,R11   R8               *WARNING:LCOM XXXXXXXX OF SIZE XXXXX         
*                                           IS GREATER THAN ALLOCATED           
*                                       R10=BA OF T:SYMBOL ENTRY                
*                                       R8=SIZE OF DSECT                        
         LI,R6    BA(MSG24X1)                                                   
         LW,R5    R10                                                           
         LB,R8    0,R5                                                          
         AI,R5    1                     (BA OF EBCDIC)                          
         AI,R8    -1                    (BYTE COUNT)                            
         MOVBYTS                    PUT LCOM NAME IN MSG                        
         AW,R6    R8                                                            
         LI,R8    BA(DG420)-BA(DG410)                                           
         LI,R5    BA(DG410)                                                     
         MOVBYTS                    ADD '-OF SIZE ' TO MSG                      
         AW,R6    R8                                                            
         LW,R4    R6                                                            
         LW,R8    R11                                                           
         BOUNDRDW                  *BOUND DSECT SIZE TO A DOUBLEWORD,           
         SLS,R8   -2                CONVERT TO WORDS, AND PUT IN                
         LJDEC                      SIZE XXXXX FIELD                            
         LW,R6    R4                                                            
         LI,R5    BA(DG420)                                                     
         LI,R8    BA(DG430)-BA(DG420)                                           
         MOVBYTS                    ADD 'GREATER THAN ALLOCATED ' TO MSG        
         LW,R4    R6                                                            
         AW,R4    R8                                                            
         SW,R4    R2                                                            
         B        DG130             PRINT MSG AND SEG,ROM NOS.                  
*                                                                               
DG410    DATA,9   ' OF SIZE '                                                   
DG420    DATA,16  ' GREATER THAN AL'                                            
         DATA,7   'LOCATED'                                                     
DG430    EQU      %                                                             
         BOUND    4                                                             
*                                                                               
DG440    LI,R4    BA(MSG59X)        WARNING:START ADDR XXXXX OUTSIDE SEG        
         LJHEX                          R8=ADDR,CONVERT TO HEX AND              
         LI,R4    BA(MSG59%)        BA OF MESSAGE END+1                         
         B        DG110                                                         
*                                                                               
DG450    LI,R4    BA(MSG63X)        DEFAULT ADDR XXXXX SUPPLIED FOR ROOT        
         LJHEX                          R8=ADDR                                 
         LI,R4    BA(MSG63%)        BA OF MESSAGE END+1                         
         B        DG110                                                         
*                                                                               
DG470    RES      0                 SYMBOL BOTH DEF AND DSECT                   
         LW,R5    R2                BA OF MESSAGE TEXT                          
         LW,R8    R4                BL OF MESSAGE TEXT                          
         LI,R6    BA(B:X)           DESTINATION FOR TEXT                        
         MOVBYTS                    MOVE MESSAGE                                
         LW,R9    R10               SYMBOL NUMBER                               
         SYMFBA                     GET SYMBOL TABLE ENTRY BA                   
         AW,R6    R4                POINT PAST MESSAGE IN B:X                   
         LB,R8    0,R5              SYMBOL TABLE ENTRY BL                       
         AI,R8    -1                SYMBOL BL                                   
         AI,R5    1                 SYMBOL BA                                   
         MOVBYTS                    MOVE SYMBOL INTO MESSAGE                    
         AW,R4    R8                ADD SYMBOL BL TO MESSAGE BL                 
         LI,R2    BA(B:X)           BA OF EXTENDED MESSAGE                      
         B        DG130             B TO OUTPUT MESSAGE                         
*                                                                               
DG480    RES      0                 WARNING:  DCB XXXXXXXX TOO SMALL ..         
         LW,R5    R10               GET T:ASSN POINTER                          
         LW,R5    1,R5              GET T:DCB POINTER                           
         AI,R5    1                 GET DCB NAME ADDRESS                        
         SLS,R5   2                 CHANGE TO BYTE ADDRESS                      
         LI,R6    BA(MSG74X1)       BA OF INSERTION POINT                       
         LI,R8    8                 NR BYTES TO MOVE                            
         MOVBYTS                    MOVE DCB NAME INTO MESSAGE                  
         B        DG120                                                         
*                                                                               
         TITLE    '       **** PRINT ****'                                      
*                                                                               
*        PURPOSE: TO OUTPUT DIAGNOSTIC MESSAGES TO LL OPLABEL,                  
*                 AND ALSO TO OC, IF IN ATTENDED MODE.                          
*                                                                               
*        INPUT:   R2=FBA OF OUTPUT BUFFER                                       
*                 R4=NUMBER OF BYTES TO OUTPUT                                  
*                                                                               
*        CALL:    BAL,R15  PRINT                                                
*                                                                               
*        OUTPUT:  ALL REGISTERS RESTORED                                        
*                                                                               
*                                                                               
PRINT    PUSH     2,10                                                          
         STW,R4   FPT:DIAG+5        BYTE COUNT                                  
         LI,R3    3                                                             
         STS,R2   FPT:DIAG+6        BTD                                         
         SLS,R2   -2                                                            
         STW,R2   FPT:DIAG+4        BUF ADDR                                    
         LI,R9    PT:DIAG1                                                      
         LW,R2    PR110                                                         
         STW,R2   FPT:DIAG                                                      
         CAL1,1   FPT:DIAG          OUTPUT ON LL                                
         LI,R3    2                                                             
         CW,R3    K:JCP1                                                        
         BAZ      PR90              B IF NOT ATTENDED MODE                      
         LW,R2    PR120                                                         
         STW,R2   FPT:DIAG                                                      
         CAL1,1   FPT:DIAG          OUTPUT ON OC                                
PR90     PULL     2,10              EXIT                                        
         B        *R15                                                          
*                                                                               
*                                                                               
PR110    GEN,8,24 WRITE,M:LL                                                    
PR120    GEN,8,24 WRITE,M:OC                                                    
         TITLE    '  **** LJHEX ****    **** LJDEC ****'                        
*                                                                               
*        PURPOSE: TO CONVERT A BINARY NUMBER TO HEX/DECIMAL AND TO              
*                 STORE THE EBCDIC CHARACTERS LEFT JUSTIFIED INTO               
*                 THE SPECIFIED FIELD (WITHOUT LEADING ZERO'S)                  
*                                                                               
*        INPUT:   R8=BINARY NUMBER                                              
*                 R4=BA OF FIELD                                                
*                                                                               
*        CALL:    BAL,R15  LJHEX/LJDEC                                          
*                                                                               
*        OUTPUT:  R8=CHANGED                                                    
*                 R4=LBA+1 OF THE FIELD (BLANK STORED AT LBA+1)                 
*                                                                               
*        USES:    R3,R6,R8,R9                                                   
*                                                                               
*        CALLS:   NO SUBROUTINES                                                
*                                                                               
*                                                                               
LJHEX    LI,R3    16                                                            
         LI,R6    16                                                            
         B        LJ10                                                          
LJDEC    LI,R3    10                                                            
         LI,R6    10                                                            
LJ10     CW,R8    R3                                                            
         BL       LJ30                                                          
         MW,R3    R6                                                            
         B        LJ10                                                          
LJ20     LW,R9    R8                                                            
         LI,R8    0                                                             
         DW,R8    R3                                                            
         CI,R9    10                CONVERT TO EBCDIC                           
         BL       LJ25                                                          
         AI,R9    X'B7'                                                         
         B        LJ26                                                          
LJ25     AI,R9    X'F0'                                                         
LJ26     STB,R9   0,R4                                                          
         AI,R4    1                                                             
LJ30     DW,R3    R6                                                            
         BCS,3    LJ20                                                          
         LI,R9    X'40'                                                         
         STB,R9   0,R4                                                          
         B        *R15                                                          
         TITLE    '       **** PUTSEG ****'                                     
*                                                                               
*        PURPOSE: TO PUT SEG IDENT IN MSG60                                     
*                                                                               
*        INPUT:   BDP:SEG=BYTE DISPLACEMENT OF CURRENT SEG'S ENTRY              
*                 FBA:SEG=FBA OF T:SEG ENTRY                                    
*                                                                               
*        CALL:    BAL,R14  PUTSEG                                               
*                                                                               
*        OUTPUT:  R2=FBA OF MSG60                                               
*                 R4=LBA+1 OF SEG IDENT FIELD                                   
*                                                                               
*        CALLS:   LJHEX                                                         
*                                                                               
*                                                                               
PUTSEG   LW,R5    FBA:SEG                                                       
         AW,R5    BDP:SEG                                                       
         SLS,R5   -1                                                            
         LH,R8    0,R5              SEG IDENT                                   
         LI,R4    BA(MSG60X)                                                    
         LJDEC                                                                  
         LI,R2    BA(MSG60)                                                     
         B        *R14                                                          
         TITLE    '      **** PUTROM ****'                                      
*                                                                               
*        PURPOSE: TO PUT 'ROMXXX' OR 'ULIBXXX' OR 'SLIBXXX' IN NEXT             
*                 FIELD OF MSG60                                                
*                                                                               
*        INPUT:   R2=FBA OF MSG60                                               
*                 R4=LBA+1 OF PREVIOUS FIELD                                    
*                                                                               
*        CALL:    BAL,R14  PUTROM                                               
*                                                                               
*        OUTPUT:  R2=UNCHANGED                                                  
*                 R4=LBA+1 OF FIELD                                             
*                                                                               
*        CALLS:   MOVBYTS,LJDEC                                                 
*                                                                               
*                                                                               
PUTROM   AI,R4    1                 (SKIP OVER BLANK)                           
         LW,R3    FBA:MODL                                                      
         AW,R3    BDP:MODL                                                      
         SLS,R3   -2                R3=WA OF T:MODULE ENTRY                     
         LI,R7    X'30000'                                                      
         LS,R7    0,R3                                                          
         LH,R7    R7                R7=LB,IN BITS 30,31                         
         LW,R9    ROM100,R7                                                     
         LI,R5    BA(R9)                                                        
         LW,R6    R4                                                            
         LI,R8    4                                                             
         MOVBYTS                    STORE 'ROM' OR 'SLIB' OR 'ULIB'             
         CI,R7    0                                                             
         BNE      ROM20                                                         
         AI,R4    3                 NOT LIBRARY ROM,CALCULATE  ROM              
         LW,R9    BDP:MODL                          NUMBER FROM                 
         AW,R9    NBE:MODL                          T:MODULE ENTRY              
         DW,R9    NBE:MODL                          POINTER  AND CONVERT        
         LW,R8    R9                                TO DECIMAL                  
         B        ROM30                                                         
ROM20    AI,R4    4                 LIBRARY ROM,GET RECORD NUMBER               
         LW,R8    0,R3                           FROM T:MODULE ENTRY            
         AND,R8   X:FFFF                         AND CONVERT TO DECIMAL         
ROM30    LJDEC                                                                  
         B        *R14                                                          
*                                                                               
*                                                                               
ROM100   TEXT     'ROM '                                                        
         TEXT     'SLIB'                                                        
         TEXT     'ULIB'                                                        
         TITLE    '      **** PUTSEQNO ****'                                    
*                                                                               
*        PURPOSE: TO PUT ROM SEQUENCE NUMBER IN NEXT FIELD OF MSG60             
*                                                                               
*        INPUT:   R2=FBA OF MSG60                                               
*                 R4=LBA+1 OF PREVIOUS FIELD                                    
*                                                                               
*        CALL:    BAL,R14  PUTSEQNO                                             
*                                                                               
*        OUTPUT:  R2=UNCHANGED                                                  
*                 R4=LBA+1 OF SEQUENCE NO. FIELD                                
*                                                                               
*        CALLS:   MOUBYTS,LJDEC                                                 
*                                                                               
*                                                                               
PUTSEQNO AI,R4    1                 (SKIP  OVER BLANK)                          
         LI,R5    BA(SEQ100)                                                    
         LI,R8    5                                                             
         LW,R6    R4                                                            
         MOVBYTS                    PUT 'SEQNO' IN  FIELD                       
         AW,R4    R8                                                            
         LB,R8    V:ROMRNO         *CONVERT ROM RECORD NO. TO BINARY AND        
         LJDEC                      STORE IN FIELD                              
         B        *R14                                                          
*                                                                               
*                                                                               
SEQ100   TEXT     'SEQNO'                                                       
         BOUND    4                                                             
         TITLE    '       **** DEVFILE ****'                                    
*                                                                               
*        PURPOSE: TO STORE DCB ASSIGNMENT (DEVICE/FIE), LEFT JUSTIFIED          
*                 WITHIN THE FIELD, IN THE PRINT BUFFER                         
*                                                                               
*        INPUT:   R4=FBA OF FIELD                                               
*                 R10=WORD ADDR OF DCB                                          
*                                                                               
*        CALL:    BAL,R14  DEVFILE                                              
*                                                                               
*        OUTPUT:  R4=LBA+1 OF THE FIELD                                         
*                 R10=UNCHANGED                                                 
*                                                                               
*        CALLS:   MOVBYTS                                                       
*                                                                               
DEVFILE  RES      0                                                             
         PUSH     14                                                            
         LW,R7    R10               GET DCB ADDR MORE CONVENIENTLY              
         LI,R0    3                                                             
         AND,R0   0,R7                                                          
         CI,R0    1                                                             
         BNE      DF30              B IF NOT FILE ASSIGNMENT                    
         LCI      2                                                             
         LM,R10   5,R7              GET FILE NAME                               
         LI,R0    X'80'                                                         
         CW,R0    0,R7                                                          
         BAZ      DF15              B IF AREA BY INDEX                          
*                                                                               
         LI,R12   '  '              DEFAULT NO AREA NAME                        
         LB,R0    *R7                                                           
         CI,R0    9                                                             
         BL       DF20              B IF AREA NAME WONT FIT IN DCB              
         LW,R0    7,R7              GET DCB P-BITS                              
         BGEZ     DF20              B IF AREA P-BIT NOT SET                     
         LW,R12   8,R7              GET AREA NAME                               
         B        DF20                                                          
*                                                                               
DF15     RES      0                                                             
         LW,R5    1,R7                                                          
         SLS,R5   -8                                                            
         AND,R5   X:3F              GET AREA INDEX                              
         LH,R12   *K:MDNAME,R5      GET AREA NAME                               
*                                                                               
DF20     RES      0                                                             
         DO       #DFACNT                                                       
         LW,R13   E:BLANKS                                                      
         LW,R14   R13               DEFAULT ACNT NAME IS BLANKS                 
         LB,R0    *R7                                                           
         LI,R5    7                                                             
         CW,R5    R0                                                            
         BGE      DF25              PAST DCB END                                
         LW,R6    *R5,R7            GET P-BIT WORD                              
         AI,R5    1                                                             
         SLS,R6   1                                                             
         BEV      %+2               B IF AREA P-BIT RESET                       
         AI,R5    1                 SKIP AREA NAME WORD                         
         CW,R5    R0                                                            
         BGE      DF25              B IF PAST DCB END                           
         SLS,R6   1                                                             
         BEV      DF25              B IF NO ACNT NAME                           
         LW,R13   *R5,R7                                                        
         AI,R5    1                                                             
         CW,R5    R0                                                            
         BGE      DF25              B IF PAST DCB END                           
         SLS,R6   1                                                             
         BEV      DF25              B IF NO ACNT NAME WORD 2                    
         LW,R14   *R5,R7            GET WORD 2                                  
         FIN                        #DFACNT                                     
DF25     RES      0                                                             
         LI,R7    7                 LIMIT ON SHIFT                              
         CB,R11   E:BLANKS                                                      
         BNE      %+3               B IF NON-BLANK                              
         SCD,R10  -8                RIGHT-ALIGN FILE NAME                       
         BDR,R7   %-3                                                           
         SLS,R12  16                FORMAT THE AREA NAME                        
         AI,R12   '..'                                                          
         SCS,R12  -8                '.SP.', FOR EXAMPLE                         
         DO       #DFACNT                                                       
         LI,R8    20                NR BYTES INTO MSG                           
         ELSE                       #DFACNT                                     
         LI,R8    11                NR BYTES INTO MSG                           
         FIN                        #DFACNT                                     
         B        DF90                                                          
*                                                                               
DF30     RES      0                                                             
         CI,R0    0                                                             
         BE       DF50              B IF NULL ASSIGNMENT                        
         LW,R5    1,R7              GET DCB WORD 1                              
         CI,R5    X'8000'                                                       
         BAZ      DF40              B IF OPLABEL ASSIGNMENT                     
         LW,R0    0,R7                                                          
         CI,R0    X'40'                                                         
         BAZ      DF35              B IF DEVICE BY INDEX                        
         LCI      2                                                             
         LM,R10   5,R7              GET DEVICE NAME                             
         B        DF39                                                          
*                                                                               
DF35     RES      0                                                             
         AND,R5   X:FF              TRIM DCT INDEX                              
         LD,R10   *K:DCT16,R5       GET DEVICE NAME                             
         SLD,R10  24                LEFT-ALIGN IT                               
DF39     RES      0                                                             
         LI,R8    5                 BYTES TO MOVE INTO MSG                      
         B        DF90                                                          
*                                                                               
DF40     RES      0                                                             
         LW,R0    0,R7              DCB WORD 1                                  
         CI,R0    X'40'                                                         
         BAZ      DF45              B IF OPLB BY INDEX                          
         LW,R10   5,R7              GET OPLB NAME                               
         B        DF49                                                          
*                                                                               
DF45     RES      0                                                             
         AND,R5   X:FF              TRIM OPLB INDEX                             
         LH,R10   *K:OPLBS1,R5      GET OPLB NAME                               
DF49     RES      0                                                             
         SLS,R10  16                LEFT-ALIGN OPLB NAME                        
         LI,R8    2                 NR BYTES INTO MSG                           
         B        DF90                                                          
*                                                                               
DF50     RES      0                                                             
         LW,R10   E:NULL                                                        
         LI,R8    4                 NR BYTES INTO MSG                           
*                                                                               
DF90     RES      0                                                             
         LI,R5    BA(R10)           SOURCE BYTE ADDRESS                         
         LW,R6    R4                DESTINATION BYTE ADDRESS                    
         MOVBYTS                    MOVE IO ID INTO MSG                         
         AW,R4    R8                ADJUST MSG POINTER FOR INSERTION            
         LW,R10   R7                RESTORE DCB ADDR TO R10                     
         PULL     14                                                            
         B        *R14                                                          
*                                                                               
*                                                                               
*                                                                               
*                                                                               
         END                                                                    
