*DECK XTRACE
IDENT XTRACE
ENTRY XTRACE
SST
TITLE TRACE
*#
*1DC XTRACE
*
* 1. PROC NAME AUTHOR DATE
* XTRACE J. J. LYON 75/10/02
*
* 2. FUNCTIONAL DESCRIPTION.
* THIS ROUTINE IS RESPONSIBLE FOR PUTTING THE ADDRESS OF THE
* CALLING ROUTINE IN THE TRACE-TABLE.
*
* 3. METHOD USED.
* A CIRCULAR BUFFER OF CALLER-S ADDRESSES IS UPDATED
*
* 4. ENTRY PARAMETERS.
* ENTRY/EXIT LOCATION CONTAINS CALLER-S ADDRESS(BITS 47-30)
*
* 5. EXIT PARAMETERS. NONE
*
* 6. COMDECKS CALLED.
* INPARU MACDEF
*
* 7. ROUTINES CALLED. NONE
*
* 8. DAYFILE MESSAGES. NONE
*
*#
*CALL MACDEF
*CALL INPARU
IFEQ DEBUG,1
FIRST VFD 60/TBUFF
IN VFD 60/TBUFF
OUT VFD 60/TBUFF
LIMIT VFD 60/TBUFFL
TBUFF BSSZ 128
TBUFFL BSSZ 1
XTRACE BSSZ 1 ENTRY/EXIT
SA1 X1 NAME OF ROUTINE
LX1 30
MX0 30 MASKING UPPER 30 BITS
BX1 -X0*X1 BOTTOM 30 BITS OF NAME WORD
SA5 XTRACE
BX6 X5+X1 X6 = ADDRESS AND NAME OF CALLER
SA4 IN
SA6 X4 PUT CALLER ADDRESS IN TABLE(IN)
SX7 X4+1 ADD 1 TO IN
SA5 LIMIT
IX6 X5-X7
ZR X6,T02 JIF IN = LIMIT
SA7 IN
EQ XTRACE
T02 SA5 FIRST IF IN = LIMIT THEN
BX6 X5 SET IN = FIRST
SA6 IN
EQ XTRACE RETURN
ELSE
XTRACE BSSZ 1
EQ XTRACE
ENDIF
END