*COMDECK  DBGCOM
          EJECT 
*         LOCATIONS USED BY THE "DEBUG" PROCESSOR 
  
          USE    // 
 DEBUG    BSS    1
          USE    *
          USE    /DBGBLK2/
 D.SDRL   BSS    1            BEGINNING ADDRESS OF DRL RELATIVE TO // 
 D.EDRL   BSS    1            NEXT AVAILABLE ORDINAL OF DRL 
 D.SDVL   BSS    1            BEGINNING ADDRESS OF DVL RELATIVE TO // 
 D.EDVL   BSS    1            NEXT AVAILABLE ORDINAL OF DVL 
 D.SAREA  BSS    1            BEGINNING ADDRESS OF AREA LIST // RELATIVE
 D.EAREA  BSS    1            NEXT AVAILABLE ORDINAL OF AREA LIST 
 D.OPL    BSS    1            BEG. ADDRESS OF OPTIONS LIST // RELATIVE
 D.SSMTB  BSS    1            BEG. ADDRESS OF SYMTAB RELATIVE TO // 
 D.ESMTB  BSS    1            NEXT AVAILABLE ORDINAL OF SYMTAB
 D.SAASI  BSS    1            BEGINNING ADDRESS OF AASI RELATIVE TO //
 D.RFMAP  BSS    1            FWA REFMAP OR ITS EQU REL TO // 
 D.ELIST  BSS    1            CURRENT ELIST POINTER RELATIVE TO //
 D.LELST  BSSZ   1                 LELIST FOR BUGPRO
 D.ELAST  BSS    1            ENDING ADDRESS OF ELIST RELATIVE TO //
 D.NESTW  BSS    1            CURRENT ADDRESS OF OPRIONS LIST 
 D.SFDIT  BSS    1            BEG. ADD. OF FIXED AREA LIST // RELATIVE
 D.EFDIT  BSS    1            LAST ORDINAL + 1 OF FIXED AREA LIST 
 D.CON1   BSS    1            BEG. ADD. OF CONLIST RELATIVE TO // 
 D.CONL   BSS    1            LAST USED WORD ORDINAL OF CONLIST 
 D.NAASI  BSS    1            NEXT AVAILABLE ORDINAL OF AASI
 SDBGIND  BSS    1            BEG. ADD. OF RANDOM DEBUG INDEX REL. TO //
 D.STOR   BSSZ   1            SCANNERS CONSTOR FOR BUGCON 
 D.SCON1  BSSZ   1            SCANNERS CONSTOR RELATIVE TO // 
 D.DOLAST BSS    1            DOLAST FOR FTN DEBUG ROUTINES 
 D.NOGO   BSSZ   1            .NE. 0 IF DEBUG STMTS NOT TO BE EXECUTED
 D.PACK   BSSZ   1
 D.POW    BSS    1            PREVIOUS OPTION WORD
 D.OPFLG  BSSZ   1            .NE. 0 IF OPTIONS HAVE TO BE WRITTEN OUT
 D.ON     BSS    1            0 IF TURNING ON OPTIONS. .NE.0 IF OFF 
 D.NOERR  BSS    1            NO. OF ERRORS IN AREA LIST
 D.PADD   BSS    1           = 0 IF INTERSPERSED  (FOR TURNON)
 FEFLAG   BSSZ   1            IF .NE. 0 CAUSES LIST OF FE STMT IN NOLIST
 D.OPEN   BSSZ   1            .EQ.1 IF DUNIT OPEN, 0 IF CLOSED
 DBGPROG  BSSZ   1            LOCATION 56 FOR FTN DEBUG ROUTINES
 LDEBUG   BSSZ   1                 LOCATION OF DEBUG FOR FTN DEBUG RTNS 
 RECORD   BSSZ   1                 NEXT AVAILABLE RECORD NUMBER 
 DISPOW   BSSZ   1                 DISPLAY FOR OPTIONS HEADER 
 SUCCESS  BSSZ   1                 FLG FOR EXTERNAL PACKET ON DISK
 LTFLAG   BSS    1            .TRUE. IF PROCESSING AN OFF STMT
 LFLAG    BSS    1            .TRUE. IF PROCESSING AN INTERSPERSED OFF
 NOPROG   BSSZ   1            NON ZERO IF NO PROGRAM CARD AND 
                              CALLING DBGIPKT ONLY TO SET UP
                              FOR FURTHER PROCESSING
 D.CURUD  BSS    2            UPDATE ID OF CURRENT STATEMENT
 D.DUKE1  BSS    1            BIN. LINE NO. OF START OF CURRENT STMT. 
 D.LABEL  BSS    1            LABEL OF CURRENT STATEMENT
 D.TYPE   BSS    1            STATEMENT TYPE
 D.NEST   BSS    1            CURRENT POSITION IN D.NESTW 
 LNGIND   BSS    1            LENGTH OF THE INDEX OF DEBUG RANDOM FILE
 NOACT    DATA   0           .ZR. IF PACKET INFO AVAILABLE, .MI. IF NOT 
 AREAFLG  BSSZ   1                 AREA LIST FLAG 
 LNGDRL   BSSZ   1                 LENGTH ALLOTTED TO THE DRL 
 LNGDVL   BSSZ   1                 LENGTH ALLOTTED TO THE DVL 
 C.PACK   BSS    1                 E IF EXTERNAL PACKET, I IF INTERNAL
 UPDTTBL  BSS    20                TABLE FOR UPDATE IDS ON COMMENT CDS
 COUNTUP  BSSZ   1                 NUMBER OF ENTRIES IN UPDTTBL 
 SCNUPDT  BSSZ   1                 .NE. 0 IF PUTUPDT ENTERED FM SCANNER 
 INDEXNO  BSSZ   1                 1 IF NO INTERNAL PACKET INFO, 3 ELSE 
 PHSFLAG  BSSZ   1            .LT. 0 IF BETWEEN PHASES
          USE    *
          USE    /DBGBLK1/
 ALLARR   BSSZ   1            .NE. 0 IF OPTION APPLIES TO ALL ARRAYS
 ALLCALL  BSSZ   1            .NE. 0 IF OPTION APPLIES TO ALL CALLS 
 ALLFUNC  BSSZ   1            .NE. 0 IF OPTION APPLIES TO ALL FUNCTIONS 
 GOTOSFL  BSSZ   1            .NE. 0 IF GO TOS OPTION IS ON 
 NOGOFLG  BSSZ   1            .NE. 0 IF NO EXECUTION DESPITE FATAL ERROR
 TRACEL   DATA   -1           CURRENT TRACE LEVEL 
 ALLROU   BSS    1            .NE. 0 IF OPLIST APPLIES TO ALL ROUTINES
 SPIDER   VFD    42/7LSPIDER.,18/0
          USE    *
          USE    /NONFTNX/
 D.COL    BSSZ   1            .NE. 0 IF EXT DEBUG PACKET ALREADY DONE 
 DTYPE    BSSZ   1            = 0 IF NEXT STMT NOT DEBUG STMT 
 C$STMT   =      DTYPE
*C$STMT   BSSZ   1           .NZ. IF NEXT STMT IS C$-DEBUG, .ZR. IF NOT 
 D.NCURU  BSSZ   2            UPDATE ID OF NEXT STATEMENT 
 D.NDUKE  BSSZ   1            BIN. LINE NO. OF START OF NEXT STMT 
 D.NLBEL  BSSZ   1            LABEL OF NEXT STATEMENT 
 DBGRFMP  BSSZ   1            LAST USED WD OF REFMAP OR EQUIVALENT
 DBGPHCT  BSSZ   1            " 0 WHILE DBGPHCT HAS CONTROL 
 D.CURT   BSSZ   1           .LT. 0 IF CURRENT STATEMENT IS C$ DEBUG
          USE    *
          PURGMAC CALLF 
 CALLF    MACRO  NAME,RESET 
          SA1    =0 
          RJ     =X_NAME
          IFC    NE, RESET  ,4
          IFC    EQ, RESET B1 ,2
          SB1    1
          SKIP   1
          SB5    1
 CALLF    ENDM
          SPACE  3
*** 
*         DBGERR - CALL ROUTINE TO PRINT AN ERROR MESSAGE WHEN IN DEBUG 
*                MODE 
*                ARGUMENT IS TEXT OF THE MESSAGE
* 
          PURGMAC DBGERR
 DBGERR   MACRO  TEXT 
          RJ     =XSAVREG 
          SA5    =C/TEXT/ 
          RJ     =XDBGERR 
          RJ     =XRESREG 
          ENDM
 DBGFSTT  EQU    39 
 DBGEXTP  EQU    50 
