SPL, L, M, O, T, C NAME DSPST(8) "REV G 770330" ! ! DISPLAY STATEMENT ! ! PRINTOUT FORMAT: ! = <6-DIGIT OCTAL VALUE> ! OR: ! = UNDEFINED ! LET XNDFS BE CONSTANT(100104K) !"UNDEFS" LET XNDFD BE CONSTANT(100110K) !"UNDEFINED" LET SLOCC BE CONSTANT(100250K) !"LOCC" LET SXFER BE CONSTANT(100514K) !".XFER" LET TABLE BE CONSTANT(100214K) !"TABLE" LET LOCC,ASTAK,BINY,ABINY BE INTEGER,EXTERNAL LET DSUDF,STPRG,UNSTR,OCTAQ,EXEC,MSTBL,BLNK\ BE SUBROUTINE,EXTERNAL LET STAK,SVLU,STYP BE PSEUDO,EXTERNAL LET NXSY BE FUNCTION,EXTERNAL LET BINY BE INTEGER(60),EXTERNAL LET IAILU,INLU BE INTEGER,EXTERNAL ! CK: SUBROUTINE(CKBUF,CKN) CALL EXEC(2,LU,CKBUF,CKN) ! PRINT THE LINE CALL BLNK(CKBUF,CKN) ! FOLLOWED BY A BLANK LINE RETURN END ! S: FUNCTION !DISCARDS NEXT VALUE IN ASTAK ! AND RETURNS 2ND VALUE SV_STAK(ASTAK); RETURN STAK(ASTAK) END ! DSPST: SUBROUTINE GLOBAL CALL BLNK(BINY,40) J_S !POP "DISPLAY" AND GET NAME LU_S !POP "ON" AND GET LOGICAL UNIT LU_[ IF LU THEN SVLU(LU)\ !GET LOGICAL UNIT NUMBER ,ELSE [IFNOT IAILU THEN 1\ ,ELSE INLU]] DSP1: IF J=XNDFS THEN GOTO DSP4 !DISPLAY UNDEFS IF J=TABLE THEN GOTO DSP8 !DISPLAY TABLE. CALL MSTBL(J,$(ABINY+1),N) N_((N+3)>-1) BINY([N_N+1])_" =" IF(STYP(J) AND 30K)=30K THEN\ DEFINED ENTRY POINT NAME [T_SVLU(J); GOTO DSP2],\ ELSE[ IF J<=SXFER THEN\ CHECK FOR KEYWORD [IF J=>SLOCC THEN[T_$(@LOCC+((J-SLOCC)>-2)); GOTO DSP2]]] ! ! SYMBOL IS NOT AN ENTRY POINT NAME WHICH IS CURRENTLY DEFINED. ! CALL MSTBL(XNDFD,BINY(N+1),J); N_N+5; GOTO DSP3 DSP2: CALL OCTAQ(BINY(N+1),T); N_N+3 DSP3: CALL CK(BINY,N) DSP: RETURN DSP4: CALL DSUDF(LU,0,BINY,J) !PRINT UNDEFINEDS RETURN ! ! DISPLAY TABLE ! DSP8: J_0 !START S.T. SEARCH FOR E.P. NAMES DSP10: J_NXSY(J)?[GOTO DSP] !GET NEXT SYMBOL IF(STYP(J) AND 30K)#30K THEN GOTO DSP10 CALL MSTBL(J,BINY(2),N) IF N<6 THEN N_6 N_3+(N>-1); BINY(N)_" =" CALL OCTAQ(BINY(N+1),SVLU(J)) N_N+4; CALL CK(BINY,N); GOTO DSP10 END END END$