         SYSTEM   OPTIONS                                                       
OLAYFLAG EQU      'DBDW'                                                        
         DO       #DEBUG                                                        
         DEF      A:DBDW            DATA-WORKSPACE OVERLAY                      
         DEF      DEBUG             DEBUG CAL PROCESSING                        
         DEF      DBUGCALX          EXIT FROM DEBUG CAL                         
         DEF      DBUGINTX          EXIT FROM DEBUG INITIALIZATION              
         DEF      :#ALTENT          ENTRY FROM ALT-PSD DISPATCH                 
         DEF      :#CALENT          ENTRY FROM CAL EXITING                      
*        REF      :#DOINIT          OVERLAY-S2                                  
*        REF      :#DOSNAP          OVERLAY-S2                                  
*        REF      :#DOTRAP          OVERLAY-S2                                  
*        REF      :#RERCHK          OVERLAY-C2                                  
*************************************                                           
**                                                                              
**       REFS FOUND IN OTHER DEBUG OVERLAYS                                     
**                                                                              
*        REF      :#DMPRET          (C1),C3                                     
*        REF      :#DUMP,:#INSRT    (C1),S2                                     
*        REF      :#NAME,:#SNAP     (C1),S2                                     
*        REF      :#LOOK,:#SNAPIT   (C1),S2                                     
*        REF      :#CONSG,:#ASSGN   (C2),S2                                     
*        REF      :#EXCT,:#TINIT    (C2),S2                                     
*        REF      :#PATCH,:#QUIT    (C2),S2                                     
*        REF      :#REMOV,:#TRAPIN  (C2),S2                                     
*        REF      :#MODFY,:#SCNDR   (C3),C1                                     
*        REF      :#DODMP,:#DOVAL   (C3),C1                                     
*        REF      :#SCAN            (S1),C1,C2,C3,S2,S3                         
*        REF      CSEARCH,OSEARCH   (S2),S1                                     
*        REF      USEARCH           (S2),S1                                     
*        REF      :#DORET           (S2),C1                                     
*        REF      :#SCNLCX          (S3),C1,C2,C3,S2                            
*        REF      :#SCNLWX,:#SCNWDX (S3),C1,C3                                  
*************************************                                           
*        REF      DBC1,DBC2,DBC3                                                
*        REF      DBS1,DBS2,DBS3                                                
DBTEST   EQU      0                                                             
         SYSTEM   CPRMON                                                        
         PSYS     1                                                             
         SYSTEM   OLAYBASE                                                      
         DO1      UTS=1                                                         
         REF      M:UC                                                          
         PAGE                                                                   
Q        EQU      256                                                           
BEGINLST RES        0                                                           
         DATA,1   :#SBLPT                                                       
         DATA,1   :#SNAPIN                                                      
         DATA,1   :#SNAPIN+1                                                    
         DATA,1   :#SNPOUT                                                      
         DATA,1   :#SNPOUT+1                                                    
         DATA,1   :#SNPOUT+2                                                    
         DATA,1   :#SNPOUT+3                                                    
         DATA,1   :#SNPOUT+4                                                    
         DATA,1   :#SNPOUT+5                                                    
         DATA,1   :#SNPOUT+6                                                    
         DATA,1   :#TRAP                                                        
         DATA,1   :#RDFPT+4                                                     
         DATA,1   :#DPFPT+4                                                     
         DATA,1   :#STDNM           SPECIAL DEVICE ADDRESS                      
         DATA,1   :#FDP+3                                                       
         DATA,1   :#FDP+4                                                       
         DATA,1   :#FDI+3                                                       
         DATA,1   :#FDI+4                                                       
         DATA,1   :#WRER+1                                                      
         DATA,1   :#DPER+1                                                      
         DATA,1   :#SDER+1                                                      
         DO1      UTS=0                                                         
         DATA,1   :#WRFPT                                                       
         DATA,1   :#WRFPT+2                                                     
         DATA,1   :#WRFPT+3                                                     
         DO1      UTS=0                                                         
         DATA,1   :#RDFPT                                                       
         DATA,1   :#RDFPT+2                                                     
         DATA,1   :#RDFPT+3                                                     
         DO1      UTS=0                                                         
         DATA,1   :#DPFPT                                                       
         DATA,1   :#DPFPT+2                                                     
         DATA,1   :#DPFPT+3                                                     
         DATA,1   :#STDLB+2                                                     
         BOUND    4                                                             
ENDP1    RES      0                 END - IN D, REF D                           
         DATA,1   :#CUSYM                                                       
         DATA,1   :#WTAB                                                        
         DATA,1   :#PCBVPT                                                      
         DATA,1   :#FRSYM                                                       
         BOUND    4                                                             
ENDP2    RES      0                 END - IN D, REF W                           
         BOUND    4                                                             
ENDP3    RES      0                 END - IN W,REF D                            
         DATA,1   ABSVAL(WORK-Q)                                                
         DATA,1   ABSVAL(WORK+1-Q)                                              
         DATA,1   ABSVAL(PCBSYM+1-Q)                                            
         DATA,1   ABSVAL(PCBSYM+2-Q)                                            
         DATA,1   ABSVAL(BLKSYM+1-Q)                                            
         DATA,1   ABSVAL(DBGSYM+2-Q)                                            
         BOUND    4                                                             
ENDP4    RES      0                 END - IN W, REF W                           
PARTSZ   LI,R6    BA(ENDP4)-BA(ENDP3)                                           
         LI,R6    BA(ENDP3)-BA(ENDP2)                                           
         LI,R6    BA(ENDP2)-BA(ENDP1)                                           
         LI,R6    BA(ENDP1)-BA(BEGINLST)                                        
AREADD   AW,R0    R3                                                            
         AW,R0    R3                                                            
         AW,R0    R2                                                            
         AW,R0    R2                                                            
ADJUSTMT AW,R15   R4                                                            
         AW,R15   R2                                                            
         AW,R15   R4                                                            
         AW,R15   R2                                                            
HALFPAGE DATA     256                                                           
         PAGE                                                                   
:#ALTENT RES      0                 ENTER FROM ALT-PSD DISPATCH                 
         DISABLE                                                                
         LW,R0    TCBPOINT                                                      
         AI,R0    STCBREG           PICK UP ALL REGISTERS                       
         LCFI     0                 FROM TCB AND SVE IN THE                     
         LM,R0    *R0               RBM TEMP STACK                              
         PUSH     0,R0                                                          
         LI,R1    STCBAPSD          PICK UP ALTERNATE PSD                       
         LD,R14   *TCBPOINT,R1      AND SAVE IN THE                             
         B        CALENT1           RBM TEMP STACK                              
:#CALENT DISABLE                    ENTER FROM CAL EXITING                      
         PUSH     0,R0                                                          
         LCFI     2                                                             
         PLM,R14  *PCBPOINT         GET PSD FROM USER STACK                     
CALENT1  PUSH     2,R14                                                         
         LB,R1    TCBPOINT                                                      
         LB,R2    STILMID,R1        PICK UP TASK NAME                           
         LD,R10   LMINAME,R2        AND SAVE FOR LATER IN R10,11                
         LB,R1    STIJID,R1                                                     
         LW,R1    SJI1,R1                                                       
         LW,R12   JCBDBUG,R1        SAVE DEVICE TYPE UNTIL                      
         LW,R13   JCBDBUG+1,R1      DATA AREA SHIFTED                           
         LI,R15   0                                                             
         STW,R15  JCBDBUG,R1        CLEAR UNTIL BB FOUND                        
         STW,R15  JCBDBUG+1,R1                                                  
         LW,R15   *R1               INDICATE IN INITIALIZATION                  
         AND,R15  CMASK67                                                       
         OR,R15   XJCBDB6                                                       
         STW,R15  *R1                                                           
         ENABLE                                                                 
         BAL,R5   FINDBB            GET FIRST BUFFER                            
         B        ERROR                                                         
         LW,R6    R15               SAVE IN CASE RELEASE REQUIRED               
         BAL,R5   FINDBB            GET SECOND BUFFER                           
         B        ERROR1                                                        
         LW,R2    *R6               DATA AREA                                   
         AND,R2   :#M17                                                         
         LW,R3    *R15              WORKING AREA                                
         AND,R3   :#M17                                                         
         STW,R6   JCBDBUG,R1        SAVE BLOCK ADR. POINTERS                    
         STW,R15  JCBDBUG+1,R1      IN THE JCB                                  
         LW,R0    *R1                INDICATE INITIALIZED WITH                  
         OR,R0    XJCBDB7           BLOCKING BUFFERS                            
         STW,R0   *R1                                                           
         PAGE                                                                   
SHFT0    RES      0                                                             
         LI,R1    255               SHIFT DATA AREA                             
         LW,R0    BEGINLOC,R1                                                   
         STW,R0   *R2,R1                                                        
         BDR,R1   %-2                                                           
         LW,R0    BEGINLOC                                                      
         STW,R0   *R2                                                           
         LI,R4    255               CLEAR ALL OF WORK AREA                      
         STW,R1   *R3,R4                                                        
         BDR,R4   %-1                                                           
         LI,R1    WORKS-WKAREA-1                                                
         LW,R0    WKAREA,R1         SHIFT WORK AREA STUFF                       
         STW,R0   *R3,R1                                                        
         BDR,R1   %-2                                                           
         LW,R0    WKAREA                                                        
         STW,R0   *R3                                                           
         LW,R4    R3                                                            
         SW,R4    HALFPAGE                                                      
         LI,R1    0                 ADJUST TEMPLATE REFS                        
         LI,R7    4                 ADJSTMENT TPYE INDEX                        
SHFT1    EXU      PARTSZ-1,R7       COUNT WITHIN ADJ. TYPE                      
         BEZ      SHFT4             SKIP IF NULL                                
SHFT2    LB,R0    BEGINLST,R1       LOAD ADJ. POINTER                           
         BEZ      SHFT3             OUT ON NULL ADDRESS                         
         EXU      AREADD-1,R7       ADD AREA ADDRESS                            
         LW,R15   *R0               PICK UP DATA WORD                           
         EXU      ADJUSTMT-1,R7     ADJUST REF ADDRESS                          
         STW,R15  *R0               AND RESTORE                                 
SHFT3    AI,R1    1                                                             
         BDR,R6   SHFT2                                                         
SHFT4    BDR,R7   SHFT1                                                         
         STW,R2   :#BASEAD,R2                                                   
         STW,R4   :#WKAREA,R2                                                   
         DO1      UTS=1                                                         
         B        :#DOINIT                                                      
         DO1      DBTEST=1                                                      
         B        :#DOINIT                                                      
         PAGE                                                                   
         STW,R10  :#TSNAM,R2        SAVE TASK NAME                              
         STW,R11  :#TSNAM+1,R2                                                  
         STW,R12  :#DVTYPE,R2       SAVE DEBUG DEVICE TYPE                      
         STW,R13  :#DVTYPE+1,R2                                                 
         PULL     10,R8             GET REGISTERS & PSD FROM                    
         LCFI     8                 RBM TEMP STACK                              
         STM,R8   :#REG0+8,R2       AND SAVE IN DEBUG DATA                      
         PULL     8,R8              AREA FOR RETURN AFTER                       
         LCFI     8                 INITIALIZATION PHSASE OF DEBUG              
         STM,R8   :#REG0,R2                                                     
         LW,R6    R0                SET PSD ADDRESS LINK AS                     
         AND,R6   :#M17             USER PROGRAM ENTRY                          
         STW,R6   :#SNPSV,R2                                                    
         STW,R6   :#OLSNP,R2                                                    
         LB,R14   R0                SAVE CONDITION CODES                        
         SLD,R14  -4                                                            
         STW,R14  :#CCSV,R2                                                     
         AND,R0   ADRMASK           SET DEBUG CONTROL ON FIRST                  
         OR,R0    BEGINADR          ENTRY INTO USER REALM                       
DBUGINTX LPSD,0   R0                EXIT INITIALIZATION                         
BEGINADR DATA     :#DOINIT          TRAP INITIALIZATION                         
         PAGE                                                                   
******************************                                                  
*                                                                               
*        DEBUG CAL PROCESSING                                                   
*                                                                               
******************************                                                  
DEBUG    RES      0                                                             
         LI,R15   TYCNORM                                                       
         BAL,R8   TMGETIDS          SE SYS. TABLE INDICIES                      
         B        EBEGONE           ERROR RETURN                                
         DISABLE                                                                
         LW,R10   0,R7              TEST IF JOB DEBUG SET                       
         CW,R10   XJCBDBG                                                       
         BANZ     DBGERR1           YES - ERROR EXIT                            
         LH,R10   LMISTAT,R5        TEST IF TASK TERMING                        
         CI,R10   LMIT                                                          
         BANZ     DBGERR2           YES - ERROR EXIT                            
         LW,R10   0,R7              SET DEBUG BITS IN JCB                       
         OR,R10   XJCBDBG                                                       
         LW,R9    XJCBDBGI                                                      
         LW,R8    Y01                                                           
         STS,R8   R10                                                           
         STW,R10  0,R7                                                          
         LW,R10   LMIPCB,R5         SET DEBUG BIT IM LMI                        
         OR,R10   XLMIDBUG                                                      
         STW,R10  LMIPCB,R5                                                     
         LH,R10   LMISTAT,R5        TEST IF TASK INITIALIZED                    
         CI,R10   LMIRUN                                                        
         BAZ      XBEGONE           NO - THEN WAIT                              
         LD,R10   STIRTSB,R4        TEST IF TASK IN CAL                         
         BNEZ     XBEGONE           YES - THEN WAIT                             
         LH,R10   LMISTAT,R5        TEST IF TASK PRIMARY                        
         CI,R10   LMISEC                                                        
         BAZ      XBEGONE           YES - KOP OUT                               
         LW,R2    STITCB,R4         PICK UP TCB POINTER                         
         LI,R1    STCBAPSD                                                      
         LD,R10   ALTPSD            SET ALTERNATE PSD IN TCB                    
         LW,R15   DUMBAL            GET DUMMY BAL INSTR.                        
         AND,R15  M17               ADDRESS ONLY                                
         AW,R10   R15               PUT IT IN                                   
         STD,R10  *R2,R1                                                        
         LW,R10   STIPRIO,R4        SET BIT FOR DISPATCHING                     
         OR,R10   XSTIALT                                                       
         STW,R10  STIPRIO,R4                                                    
XBEGONE  LI,R15   TYCNORM                                                       
EBEGONE  ENABLE                                                                 
         BAL,R8   TMSETERR                                                      
DBUGCALX B        CALSTDX           EXIT FROM DEBUG CAL                         
DBGERR1  LI,R15   TYC73             SAYS ALREADY IN DEBUG                       
         B        EBEGONE                                                       
DBGERR2  LI,R15   TYC75             SAYS TASK IS TERMING                        
         B        EBEGONE                                                       
         PAGE                                                                   
ERROR1   BAL,R11  RELADBUF                                                      
ERROR    RES      0                                                             
         LCFI     10                                                            
         LM,R0    ERRMSG                                                        
         LW,R12   NLCODE                                                        
         CAL1,2   R0                TYPE OUT NO BUF MSG                         
         CAL1,9   8                 TERMINATE TASK                              
:#M17    DATA     X'1FFFF'                                                      
         DO       1-((UTS=1)|(DBTEST=1))                                        
DBSTART  EQU      0                                                             
         ELSE                                                                   
DBSTART  ORG      BEGINLOC+512                                                  
         LI,R2    256                                                           
         AW,R2    %+3                                                           
         LW,R3    %+2                                                           
         B        SHFT0                                                         
         DATA     DBSTART                                                       
         ORG      BEGINLOC+1023                                                 
         DATA     %                 DUMMY WORD                                  
         FIN                                                                    
A:DBDW   RES      0                                                             
         PAGE                                                                   
         ORG      CONVL                                                         
         BOUND    8                                                             
ALTPSD   GEN,9,1,22 0,#MAP,0        SKELETON PSD                                
         DATA     0                                                             
DBGMASK  DATA     X'42000000'                                                   
ADRMASK  DATA     X'FFFE0000'                                                   
BMASK1   DATA     BIT1                                                          
BMASK2   DATA     BIT2                                                          
CMASK67  DATA     X'FCFFFFFF'                                                   
DUMBAL   BAL,R0   :#ALTENT          DUMMY BAL FOR EP                            
         OLAYEND                                                                
         FIN      #DEBUG                                                        
         END                                                                    
