Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-01 - 43,50044/trace.f
There are no other files named trace.f in the archive.
C P002 JBC
      SUBROUTINETR(K,N,M,X)
      COMMON/TRCCOM/A1(21),A2(21),A3(21),A4(21),A5(21),A6(21),A7(3),
     1    N1,N2,N3,N4,N5,N6,N7,N8,N9,N10
      INTEGERA1,A2,A3,A4,A5,A6
      DIMENSIONX(1),D1(3),D2(3)
      DATAD1/'-----TRACE     '/
      DATAD2/'STOP LIMIT AT  '/
      EQUIVALENCE(XX,II)
      N7=0
      N8=0
      N3=N3+1
      N9=1
 5    IF(N9.GT.N1)GOTO3
      IF(.NOT.(A2(N9).EQ.0.AND.A1(N9).EQ.K
     1         .OR.A2(N9).NE.0.AND.A1(N9).LE.K
     1         .AND.K.LE.A2(N9)))GOTO4
      A6(N9)=A6(N9)+1
      IF(A3(N9).NE.0.AND.A6(N9).LT.A3(N9))GOTO4
      IF(A4(N9).NE.0.AND.A6(N9).GT.A4(N9))GOTO4
      IF(A5(N9).EQ.0)N7=1
      IF(A5(N9).EQ.1)N8=1
 4    N9=N9+1
      GOTO5
 3    IF(N6.NE.0.AND.N3.GT.N6)GOTO6
      IF(.NOT.(N7.EQ.1.AND.N8.EQ.0.AND.(N4.EQ.0.OR.N4.LE.N3)
     1                            .AND.(N5.EQ.0.OR.N3.LE.N5)))RETURN
      CALLPUTL
      CALLPUTA(D1,11)
      CALLPUTI(N3)
      CALLPUTA(' AT  ',4)
      CALLPUTI(K)
      IF(N.NE.1)GOTO7
      CALLPUTA(5H    ',5)
      CALLPUTA(X,M)
      CALLPUTA(5H'    ,1)
 10   CALLPUTL
      RETURN
 7    N10=1
 9    IF(N10.GT.M)GOTO10
      CALLPUTB(4)
      CALLPUTI(N10)
      CALLPUTA('-(   ',2)
      IF(N.NE.3)GOTO60
      XX= X(N10)
       IF(IABS(II).LE.10000000)CALLPUTI(II)
       IF(IABS(II).GT.10000000)CALLPUTA('*****',3)
 60   CONTINUE
      IF(N.EQ.4)CALLPUTR(X(N10))
      IF(N.NE.2)GOTO8
      CALLCWA(A7,1,12,X(N10))
      CALLPUTA(A7,12)
 8    CALLPUTA(')    ',1)
      N10=N10+1
      GOTO9
 6    CALLPUTL
      CALLPUTA(D2,14)
      CALLPUTI(K)
      CALLEXIT
      END