File: DIR40.PA of Tape: Original/Originals/os840-2
(Source file text) 

 DIRECP V40A FOR K40
/
/
/
/
/
/
/
"YRIGHT  (C)  1974    @	"ITAL EPUIPMENT CORPAA@EAON
/		 ABD 1979 B	 @@DPLAN G
BH
/
/
/H	
/
/
/
'THE INFOR
@HE IN THAA DCCUMENT A@CUJECTTO C@ANGE WTHA@ NOTICDAND SHOUEAF E CO@STRUAD AS ACD@UAT
ENT @Q DIEITAL E@Q@IENT
/C@R@GRATION. @@CPAAL EQU@PDAND CORPO@@DAND ASSUMAS NORESPONACHLTI
/FCR ANI ERRORC HLT MAY APPEAR IN THAP@ABUMENT.//THE SO
 DESCR@BED IN THIS@E@IENT ISDURDISHED TU@DIPURCHAQER
/UNDER AR'NSE FOR ESE ON A S EE COMPUTDR SYSTEM AND AIBE COPIED
/(WITH 	@
UsION FF DICIDAL'SB @IBIGHT NNTICE) ONLY FDBE!E@IN SCH
/SYSTEM"@
-PT AS EAY OTHERWIS!A 
PROVIDE IN WRITING@I CGITAL.
/
DIGITA"
	PMENT AORPORATION A[RPORSPNO RARPONSIBILIT"@CF THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/THIS PROGRAM HAS BEEN MODIFIED BY SEVERAL PEOPLE:  LARRY FOWLER OF
/THE BOEING COMMERCIAL AIRPLANE COMPANY, SEATTLE, WASHINGTON STARTED
/BY ADDING THE "/A" OPTION TO ALPHABETIZE THE OUTPUT AND THE "/H"
/OPTION TO PRINT THE HEADER BLOCK INFORMATION USED BY DECSYSTEM-8.
/HE ALSO INCLUDED THE POSSIBILITY OF USING DIFFERENT DEVICE CODES FOR
/THE TERMINAL.                                                4/22/75
/
/DR. THOMAS W. MCINTYRE OF THE WEST VIRGINIA UNIVERSITY MEDICAL CENTER
/MORGANTOWN, WEST VIRGINIA ADDED THE COLUMN ORDERING ROUTINE SO THAT
/MULTIPLE COLUMN OUTPUT IS ORDERED VERTICALLY INSTEAD OF HORIZONTALLY.
/                                                             5/21/76
/
/JIM VAN ZEE OF THE CHEMISTRY DEPT, UNIV. OF WASHINGTON, SEATTLE, WA.
/ADDED THE "/N" OPTION FOR NUMERIC DATES AND THE "/D", "/T", AND "/X"
/OPTIONS TO SORT BY DATE OR EXTENSION.  HE ALSO ADDED A 'FILE COUNT -
/# BLOCKS USED' SUMMARY, FIXED THE DATE FOR THE OS/8 V3D RELEASE, AND
/SQUEEZED EVERYTHING INTO THE ORIGINAL FILE SPACE!            9/10/76
/3/21/77, 4/15/77, 7/7/77, 1/1/78, 2/11/78, 4/15/78, 8/15/78, 11/7/78
/
/W VAN DER MARK ADDED SOME NICE GERMAN MESSAGES
/26-JUN-79
/DIRECTORY LISTING PROGRAM
/JANUARY 17, 1974			H.J.
/APRIL 22, 1975				L.F.
/MAY 21, 1976				TMC
/SEPTEMBER 10, OCTOBER 20, 1976		JVZ
/MARCH 21, 1977 ADDED /X, FIXED /R/C	JVZ
/APRIL 15, 1977 ADDED EXTENDED DATE	JVZ
/MAY 15, 1977  ALLOWED /X BY ITSELF	JVZ
/JULY 1, 1977 ADDED /D/T, OTHER THINGS	JVZ
/JULY 7, 1977 MAJOR REWRITE FOR /A/B/E	JVZ
/JANUARY 1, 1978 ADDED A FEW GOODIES	JVZ
/FEBRUARY 11, 1978 ADDED A FEW MORE...	JVZ
/APRIL 15, 1978 FIXED # COLS & /T BUG	JVZ
/AUGUST 15, 1978 FIXED THE SORT ROUTINE	JVZ
/NOVEMBER 7, 1978 FIXED SYMBIONT PROB	JVZ
/JUNE 26, 1979 ALTERNATE GERMAN TEXT	WVDM

	GERMAN=1
	XR=10		/OTHERS ARE USED TOO
	PTR=20
	CNT=21
	INFPTR=22
	OUHAND=23
	INHAND=24
	LNCNT=25
	EPTR=26
	DAFLG=27
	TEMP=30
	MOIN=31
	FILEC=32
	OSWTCH=33
	INFWDS=34
	PFLAG=35
	INSCNT=36
	ALNCNT=37

	AC2=CLA CLL CML RTL
	AC4000=CLA CLL CML RAR

	ALTOPT=7642
	OPT1=7643
	OPT2=7644
	EQLS=7646	/EQUALS OPTION
	DATE=7666

/	CRT=6722	/ALTERNATE CONSOLE DEVICE
IFDEF	CRT	<
	INDVC=11
	OUTDVC=12

KSF=	INDVC^10+6001
KCC=	INDVC^10+6002
KRS=	INDVC^10+6004
KRB=	KCC KRS
TSF=	OUTDVC^10+6001
TLS=	OUTDVC^10+6006>
	FIELD 1
	*4600		/KEEP THE SAME S.A.

	SKP CLA		/NORMAL ENTRY
	JMP CHAIN	/CHAIN ENTRY
CDCALL,	JMS 200		/SEE WHAT THE PERSON WANTS
C5,	5
	5200		/IN SPECIAL MODE

CHAIN,	AC2		/GET OPTION /W
	AND OPT2
	SNA CLA		/SKIP FOR VESION NUMBER
	JMP EQUALT
	JMS ERROR	/PRINT VERSION NUMBER
	VERNO+40	/AND IGNORE OTHER OPTIONS!

/SET UP FOR MULTIPLE ENTRIES ON A LINE

EQUALT,	TAD (-14	/EQUALS OPTION WORD
	STL		/EXTEND THE SIGN
	TAD EQLS	/CHECK LEGALITY OF OPTION
	SNL SZA CLA	/SKIP IF GOOD
	JMP BADEQ

/SUBSTITUTE .DI IF NULL EXTENSION

	TAD 7604	/GET EXTENSION
	SNA		/SKIP IF GIVEN
	TAD (411	/.DI
	DCA 7604	/PUT EXTENSION BACK

/ CHECK FOR ? IN OUTPUT SPECIFICATION

	TAD (-10
	DCA CNT		/A CNT OF -10 PUTS US AT FIRST CHAR
S1C,	TAD (7605
	JMS GTSXBT	/GET A CHAR
	TAD (-"?!7700	/CHECK FOR ?
	SNA
	JMP QINO
	TAD ("?-"*
	SNA CLA
	JMP AINO
	ISZ CNT
	JMP S1C

/ CHECK FOR EMBEDDED * IN ANY SPECIFICATION

	TAD (7605
S4L,	DCA PTR
	TAD (-10
	DCA CNT
ACK,	TAD PTR
	JMS GTSXBT
	TAD (-"*!7700
	SZA CLA
	JMP CNTUP
	AC2
	TAD CNT
	SZA
	TAD (6
	SNA CLA
	ISZ CNT
	TAD PTR
	JMS GTSXBT
	SZA CLA
	JMP AINO
CNTUP,	ISZ CNT
	JMP ACK
	TAD I PTR
	SNA CLA
	JMP NULLCK
	TAD C5
	TAD PTR
	JMP S4L

NULLCK,	TAD (7201
	DCA AO2
	TAD (7201
	DCA AO1
	TAD 7600
	SNA
	JMP TTYHND
	JMS 200
	1
AO1,	7201
	HLT
	TAD AO1
	JMP CMN

TTYHND,	DCA TTY2
	JMS 200
	1
IFNDEF	CRT <5524>	/TTY COMPRESSED CODE
IFDEF	CRT <CRT>	/CRT COMPRESSED CODE
TTY2,	0
AO2,	7201
	JMP IDBLVT
	TAD TTY2
	DCA 7600
	TAD AO2
CMN,	DCA OUHAND
	TAD (7601
	DCA BLCK
	TAD 7600
	JMS 200
	3
BLCK,	7601
LENGTH,	0
	JMP NOROOM
	TAD BLCK
	JMP PAGE10

BADEQ,	JMS ERROR
	BIGEQ+40

AINO,	JMS ERROR
	ILLA+40

QINO,	JMS ERROR
	ILLQ+40

IDBLVT,	JMS ERROR
	NOTTY+40

NOROOM,	JMS ERROR
	SPRBLM+40

ABORT,	TAD ALTOPT	/ABORT OPERATION AND GOTO ENDUP
	SMA CLA
	JMP CDCALL
	CIF CDF 0
	JMP 7605

	PAGE 10
OUWDCT,	0		/PUT THIS AT THE BEGINNING
OCPTR,	0

PAGE10,	DCA BLCKN
	TAD BUFAD
	DCA OCPTR
	TAD (RPOS-1
	DCA RPOS
	TAD (-1200	/NUMBER OF WORDS IN BUFFER
	DCA OUWDCT
	DCA CLEN
	TAD 7605
	SNA
	JMS DSK
	DCA 7605
	TAD (7605
DOMOIN,	DCA INFPTR
	TAD (6601
	DCA AI1
	TAD I INFPTR
	SNA
	JMP ENDCHK
	JMS I O200
	1
AI1,	6601
	HLT
	TAD AI1
	DCA INHAND
	JMP PAGE11

/THIS IS THE END OF OPERATION CODE
/IT CLOSES THE FILE AND HANDLES RETURNS

ENDCHK,	ISZ ECHO
	TAD (232
OLOOP,	JMS OUTCHR
	TAD (177	/GET -WORDS LEFT IN BUFFER
O200,	AND OUWDCT	/CHECK AGAINST NEW BUFFER #
	SNA
	TAD RPOS	/CHECK MORE CAREFULLY!
	CIA
	TAD (RPOS-1
	SZA CLA		/SKIP IF JUST DUMPED ONE
	JMP OLOOP	/KEEP GOING TO DUMP ONE
	TAD OUWDCT
	TAD (1200	/DONT DUMP IF AT END
	SZA CLA
	JMS DUMP	/DUMP BUFFER
	TAD 7600
	JMS I O200
	4
	7601
CLEN,	0
	JMP CLOERR
	JMP ABORT

OUTCHR,	0
	JMP I RPOS
RPOS1,	DCA I OCPTR
	JMS RPOS
RPOS2,	DCA HOLD
	JMS RPOS
RPOS3,	RTL
	RTL
	DCA HOLD2
	TAD HOLD2
	AND (7400
	TAD I OCPTR
	DCA I OCPTR
	ISZ OCPTR
	TAD HOLD2
	RTL
	RTL
	AND (7400
	TAD HOLD
	DCA I OCPTR
	ISZ OCPTR
	ISZ OUWDCT
	SKP
	JMS DUMP
	JMS RPOS
	JMP RPOS1
RPOS,	RPOS1
	JMP I OUTCHR

HOLD=.
DUMP,	0
	TAD LENGTH	/GET LENGTH AVAILABLE
	SNA		/IF ZERO ITS NON FILE STRUCTURE
	JMP NOMATR	/IF ZERO DOESN'T MATTER
	STL
	TAD CLEN	/ADD CURRENT SIZE
	TAD (5		/ADD # OF BLOCKS
	SNL SZA CLA	/WE ARE OK IF SKIPS
	JMP NOROOM
	TAD CLEN	/UPDATE CLOSING LENGTH
	TAD (5		/BY NUMBER OF BLMCKS
	DCA CLCK
AVE FO@ CLKRE
NOM@ CRAD OAW@CT
	TAD 7t
	DCA BTHWD
	CIF D
SI OUHAJ@
HOLD2=
@WD,	5210		/JUTPUT 0P		/J YN FIDLD 1 IS
BUD@D ! 20		/% BLOBKS LON! @NBS@AT 7073	
BLCKN,	02	
BP@WRTEBR
	PAD (5
BLCKN+UP@ATE BLO+@Y 5
	DCA BLCKN
	DAE L1200
	@CA OUWDCT
BA BUFAD
	DCA OCPTR
	DCA I DUMP

PAGE 11
	
(2		/LCATD COLUMNCETD  (NOW=!
PAGE11,	P INFPT@/GET DEVIC@EETER
	TA@  7757
@A@ EP
	@A@ I TEMP	/@QA A@DIRECTKRY DEVICE
B 0@,	SM@ ALA
	JMP @@AH
N
	C@F  
	JMS ID
DI/YES @AAD THE DP@AA@RY
	1000
@IRTY,	000	
	JHP@N@ERR

@@N@0]
	TA@ I DIRTY	/@A DO CHECCFMB
	CMA CD

TAD I 360 /A LEG0ECTORY	S@L
	TAD	D
	SZLCLA	
	JMP B@L@	
DIRECT
BY AQ BAD

YAQ DIRTY	.POHNT TO F	*PONEGMENT
	@C@ EPTR
	@CI (360$	/FED NO. J`FFO WORDS
	CIA
	D@CCWDS
	JMS R@FRMT	/BMB R@T@TO NDW FORMAT
	DG MXB	/ZEPO PHA NEXT PO@HAON

CDF 10
	TA"DB 1
	AND (4400	/CHEC ($400O.S A " D
DCA SO"PD
	DAD OT2
	AND (0	 HECK OIONS T & X	EBS SORTOP
	@CA SORTP
	@CVE SORT OPTIONS
	T LPIRTOP
	SZA CLA
	J