*COMDECK DIAGNOSE 
DIAGNOSE  TITLE  MACRO DEFINITIONS
**        DIAGNOSE -  HANDLE A DIAGNOSTIC 
* 
*     CALLING SEQUENCE- 
*         DIAGNOSE <SEVERITY>,<NUMBER>,CLALINE,CLACOLUMN
*     OR
*         DIAGNOSE <SEVERITY>,<NUMBER>,LINENO,COLNO 
*                <SEVERITY> = N, T, W, F, C   (NOT USED)
*                <NUMBER> = ERROR NUMBER
* 
*     GIVEN-
*         DIAGS = 1 (TRUE) IFF DIAGNOSTICS TO BE ISSUED.
* 
*     DOES- 
*         IF DIAGS  THEN
*           SAVES REGISTERS, ISSUES DIAGNOSTIC, RESTORES REGISTERS
*         ELSE
* 
  
  
          PURGMAC  DIAGNOSE 
 DIAGNOSE MACRO  S,NUM,L,C
 DIAG_NUM SET    *                 CROSS-REFERENCE THIS DIAGNOSTIC
 M        MICRO  1,,S_NTWFC_S 
 M        MICCNT M
          ERRPL  M-6     SEVERITY MUST BE N, T, W, F, C    "SEQUENCE" 
          SX.STO NUM
          IFC    EQ, L+C CLALINE+CLACOLUMN ,2 
          CALL   DIAGC
          SKIP   4
          IFC    EQ, L+C LINENO+COLNO ,2
          CALL   DIAGL
          SKIP   1
          ERR    MUST HAVE CLALINE,CLACOLUMN OR LINENO,COLNO "SEQUENCE" 
          IF     DEF,MOD_NUM,2
          SX.STO 1 TRUE 
          SA.STO CLAMOD 
 DIAGNOSE ENDM
  
  
*     ISSUANCE OF BELOW ERROR NUMBERS INDICATES A MODIFIED TOKEN
  
 MOD1004  EQU    0
 MOD1008  EQU    0
 MOD1009  EQU    0
 MOD1010  EQU    0
 MOD1011  EQU    0
 MOD1023  EQU    0
 MOD1024  EQU    0
 MOD1028  EQU    0
 MOD1033  EQU    0
 MOD1041  EQU    0
 MOD1042  EQU    0
 MOD1043  EQU    0
 MOD1045  EQU    0
