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

/	SUBROUTINE A5TOA1(A,B,D)
/(pdp11:)SUBROUTINE A5TOA1(A,B,C,D)
/
/ THIS ROUTINE TAKES THE UP TO 6 CHARACTER "WORD" IN A:B:C
/ AND TYPES IT OUT, FOLLOWED BY THE PUNCTUATION MARK IN D.
/ IT ALSO APPENDS A CRLF TO GET TO A NEW LINE.
/ For OS/8: the word is in A,B with nothing in C.
/
/	IMPLICIT INTEGER (A-Z)
/	COMMON	/ALPHAS/ BLANK

	EXTERN	SIXOUT
	EXTERN	CGET
	EXTERN	CPUT
	SECT	A5TOA1
	JA	#ST
#XR,	ORG	.+10
	TEXT	+A5TOA1+
#RET,	SETX	#XR
	SETB	#BASE
	JA	.+3
#BASE,	ORG	.+6
ZERO,	F 0
A,	ORG	.+3
B,	ORG	.+3
D,	ORG	.+3
ONE,	F 1
THREE,	F 3
BLANK,	TEXT +      +
	ORG	#BASE+30
	FNOP
	JA	#RET
	FNOP
#GOBAK,	0;0
#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	A
	FLDA%	#BASE,1+
	FSTA	B
	FLDA%	#BASE,1+
	FSTA	D
	STARTF
	FLDA%	A
	FSTA	A
	FLDA%	B
	FSTA	B
	FLDA%	D
	FSTA	D
/	IF (A .NE. BLANK) TYPE 1,A
	FLDA	A
	FSUB	BLANK
	JEQ	#G0001
	JSR	TRIM
	JA	.+4
	JA	A
	JSR	SIXOUT
	JA	.+10
	JA	A
	JA	ZERO
	JA	THREE
/	IF (B .NE. BLANK) TYPE 1,B
#G0001,	FLDA	B
	FSUB	BLANK
	JEQ	#G0002
	JSR	TRIM
	JA	.+4
	JA	B
	JSR	SIXOUT
	JA	.+10
	JA	B
	JA	ZERO
	JA	THREE
/	IF (C .NE. BLANK) TYPE 1,C
/	TYPE 2,D
#G0002,	JSR	TRIM
	JA	.+4
	JA	D
	JSR	SIXOUT
	JA	#RTN
	JA	D
	JA	ZERO
	JA	ONE
/	RETURN
/	END

/1	FORMAT('+',A2,$)
/2	FORMAT('+',A2)

	SECT	TRIM
	JA	#TST
#TXR,	ORG	.+10
	TEXT	+TRIM  +
#TRET,	SETX	#TXR
	SETB	#TBASE
	JA	.+3
#TBASE,	ORG	.+6
PSTR,	ORG	.+3
I,	ORG	.+3
CH,	ORG	.+3
K1,	F 1
K6,	F 6
K32,	F 32
	ORG	#TBASE+30
	FNOP
	JA	#TRET
	FNOP
#TGOBK,	0;0

#TRTN,	BASE	#TBASE
	JA	#TGOBK
#TST,	STARTD
	0210
	FSTA	#TGOBK,0
	0200
	SETX	#TXR
	SETB	#TBASE
	LDX	0,1
	FSTA	#TBASE
	FLDA%	#TBASE,1+
	FSTA	PSTR
	STARTF

	FLDA	K6
	FSTA	I
#T10,	FLDA	PSTR
	STARTD
	FSTA	#TG001
	FSTA	#TG002
	STARTF
	JSR	CGET
	JA	.+0010
#TG001,	JA	.
	JA	I
	JA	CH
	FLDA	CH
	FSUB	K32
	JNE	#TRTN
	JSR	CPUT
	JA	.+0010
#TG002,	JA	.
	JA	I
	JA	ZERO
	FLDA	I
	FSUB	K1
	FSTA	I
	JGT	#T10

	JA	#TRTN