*DECK HPDBGST 
USETEXT NIPDEF
USETEXT PARAMP
USETEXT MSGIDX
USETEXT PIT 
USETEXT PT
      PRGM HPDBGST; 
 STARTIMS;
 #
*1DC  HPDBGST 
* 
*     1. PROC NAME           AUTHOR              DATE 
*        HPDBGST             L. T. NGUYEN        82/06/15 
* 
*     2. FUNCTIONAL DESCRIPTION 
*        PROCESS DBG/ST FROM APPLICATION
* 
*     3. METHOD USED
*        LOOP THROUGH THE PIT TO INFORM ALL PIP TO HALT.
* 
*     4. ENTRY PARAMETERS 
*        NONE 
* 
*     5. EXIT PARAMETERS
*        NONE 
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED 
*        NIPDEF     MSGIDX     PIT
*        PT     OPSIZE
* 
*     7. ROUTINES AND OVERLAYS CALLED 
*        ABORT - ABORT NIP
*        OMSG - DAYFILE MESSAGE 
*        XTRACE - TRACE PROCEDURE CALL
* 
*     8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION 
*        "NIP RECEIVED DBG/ST"
*        W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY 
*CALL OPSIZE
* 
 #
STOPIMS;
      # 
        EXTERNAL REFS 
      # 
      XREF LABEL RJMAIN ; 
      XREF PROC XTRACE ;     # XTRACE RECORD                           #
      XREF PROC ABORT ; 
  
      # 
        LOCAL PARAMS
      # 
        ITEM TEMP ; 
        ITEM INDEX ;
  
      BASED ARRAY PITNBTW S(1);  # TEMPLATE FOR NBT ENTRY WD IN PIT    #
        BEGIN 
        ITEM PITNBTWH  B(00,00,01);  # HALT NPU FLAG                   #
        ITEM PITNBTWE  U(00,30,06);  # NBT TABLE ENTRY INDEX           #
        ITEM PITNBTWA  I(00,42,18);  # NBT ENTRY ADDRESS               #
        END 
  
#**********************************************************************#
      CONTROL EJECT;
  
      BEGIN      # PHDBGST   #
      XTRACE("DBGST") ; 
  
# 
         LOOP THROUGH PIT LIST INFORMING TO ALL PIPS TO HALT THE NPU
# 
      FOR TEMP = 1 STEP 1 UNTIL MAXPIP
      DO                     # GO THRU ALL PIT ENTRIES                 #
        BEGIN 
        IF PITPUF[TEMP]      # IF PIT ENTRY IS USED                    #
        THEN
          BEGIN 
          P<PITNBTW> = LOC(PITNBTE1[TEMP]); 
          FOR INDEX = 0 STEP 1 UNTIL MAXNPU-1 
          DO                 # LOOP THRU ALL FRONT-END NPU-S           #
            BEGIN 
            IF PITNBTWA[INDEX] NQ 0 
            THEN
              PITNBTWH[INDEX] = TRUE; # SET HALT NPU FLAG              #
            END 
          END 
        END 
  
      ABORT(DFMSG22,0);      # ABORT NIP                               #
  
      GOTO RJMAIN ; 
  
      END        # HPDBGST   #
      TERM
