File: PSPEAK.RA of Disk: V50/Source/Source-Listing-FORTRAN-2
(Source file text) 

	SECT	PSPEAK
/	 SUBROUTINE PSPEAK(MSG,SKIP)
/	 C
/	 C FIND THE SKIP+1ST MESSAGE FOR OBJECT MSG AND PRINT IT.
/	 C MSG SHOULD BE THE INDEX OF
/	 C THE OBJECT. (INVEN+N+1 MESSAGE IS PROP=N MESSAGE).
/	 C
/	 IMPLICIT INTEGER (A-Z)
/	 COMMON /TXTCOM/ RTEXT,LINES,ASCVAR
/	 COMMON /PTXCOM/ PTEXT
/	 DIMENSION RTEXT(205),LINES(36),PTEXT(100)

	EXTERN	IO
	EXTERN	SPEAK
	JA	#ST
#XR,	ORG	.+10
	TEXT	+PSPEAK+
#RET,	SETX	#XR
	SETB	#BASE
	JA	.+3
#BASE,	ORG	.+6
MSG,	ORG	.+3
SKIP,	ORG	.+3
ONE,	F 1.0
#DOTMP,	ORG	.+3
OLDLOC,	ORG .+3
	ORG	#BASE+30
	FNOP
	JA	#RET
	FNOP
#GOBAK,	0;0
I,	ORG	.+0003
M,	ORG	.+0003
	#LBL=.
	COMMON	PTXCOM
PTEXT,	ORG	.+0454
	COMMON	TXTCOM
RTEXT,	ORG	.+1147
LINES,	ORG	.+0044
ASCVAR,	ORG	.+0003
TXTLOC,	ORG	.+0003
DATA,	ORG	.+0352
	ORG	#LBL
#RTN,	BASE	#BASE
	JA	#GOBAK
#ST,	STARTD
	0210
	FSTA	#GOBAK,0
	0200
	SETX	#XR
	SETB	#BASE
	LDX	0,1
	FSTA	#BASE
	FLDA%	#BASE,1+
	FSTA	MSG
	FLDA%	#BASE,1+
	FSTA	SKIP
	STARTF
/	 M=PTEXT(MSG)
	FLDA%	MSG
	ATX	7
	FLDA	PTEXT-0003,7
	FSTA	M
/	 IF(SKIP.LT.0)GOTO 9
	FLDA%	SKIP
	JLT	#9
/	 OLDLOC=MSG
	FLDA%	MSG
	FSTA	OLDLOC
/	 DO 3 I=1,SKIP+1
	FLDA	ONE
	FSTA	I
	FLDA%	SKIP
	FADD	ONE
	FSTA	#DOTMP

#G0001,
/	 1	READ(2'M)LOC,LINES
#1,	JSR	IO
	JA	.+0004
	JA	M
/	 M = ASCVAR
	FLDA	M
	FADD	ONE
	FSTA	M
/	 IF(LOC.EQ.OLDLOC) GO TO 1
	FLDA	TXTLOC
	FSUB	OLDLOC
	JEQ	#1
/	 OLDLOC=LOC
	FLDA	TXTLOC
	FSTA	OLDLOC
/	 3	CONTINUE
#3,	FLDA	I
	FADD	ONE
	FSTA	I
	FSUB	#DOTMP
	JLE	#G0001
/	 M=M-1
	FLDA	M
	FSUB	ONE
	FSTA	M
/	 CALL SPEAK(M)
#9,	JSR	SPEAK
/	 RETURN
/	 END
	JA	#RTN
	JA	M
	END