File: DIR50.LS of Disk: V50/Source/Source-Listing-PAL-1
(Source file text) 


/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 1

		/OS/8 DIRECT V50X FOR KBM V50
		/
		/
		/
		/
		/
		/
		/COPYRIGHT  (C)  1974 BY DIGITAL EQUIPMENT CORPORATION
		/		 AND 1979 BY DATAPLAN GMBH
		/		 AND 2015 W. VAN DER MARK
		/
		/
		/
		/
		/
		/
		/
		/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
		/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
		/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
		/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
		/
		/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
		/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
		/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
		/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
		/
		/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR 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

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 1-1

		/3/21/77, 4/15/77, 7/7/77, 1/1/78, 2/11/78, 4/15/78, 8/15/78, 11/7/78
		/

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 2




















		/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

	0010		XR=10		/OTHERS ARE USED TOO
	0020		PTR=20
	0021		CNT=21
	0022		INFPTR=22
	0023		OUHAND=23
	0024		INHAND=24
	0025		LNCNT=25
	0026		EPTR=26
	0027		DAFLG=27
	0030		TEMP=30
	0031		MOIN=31
	0032		FILEC=32
	0033		OSWTCH=33
	0034		INFWDS=34
	0035		PFLAG=35
	0036		INSCNT=36
	0037		ALNCNT=37

	7326		AC2=CLA CLL CML RTL
	7330		AC4000=CLA CLL CML RAR

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 2-1


	7642		ALTOPT=7642
	7643		OPT1=7643
	7644		OPT2=7644
	7646		EQLS=7646	/EQUALS OPTION
	7666		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>

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 3


















	3600	DIRECT=3600
		/DIRECTORY DESCRIPTION
		NOPUNCH
	3600		*DIRECT
003600  0000	DIRBUF,	0		/ZBLOCK 2400
003601  0000	DIRSTR,	0
003602  0000	DIRNXT,	0
003603  0000		0
003604  0000	DIRADD,	0
003605  0000		0
003606  0000	DIRFIL,	0
	6200		*DIRECT+2400	/5*400 BLOCKS
006200  0427	DIRHDR,	0427
006201  1203		1203
006202  0000	HDRFLG,	0
006203  0000	HDRLEN,	0
006204  0000	HDRZEA,	0
006205  0000	HDRSQO,	0
006206  0000	HDRSQM,	0
006207  0000	HDRSYS,	0
006210  0007	HDRSTR,	7
006211  0000	HDRDID,	0
	6276		*DIRECT+2476	
006276  0000	HDRZ6,	0 /ZBLOCK 6
006277  0000	HDRUDV,	0
006300  0000	HDRUSA,	ZBLOCK 4
		HDRBLK,	/ZBLOCK 73
006304  0000	HDRVOL,	0
006305  0000	HDRSID,	0
006306  0000	HDRVER,	0
006307  0000	HDRREL,	0
006310  0000	HDR10,	0
006311  0000	HDR11,	0
006312  1234	HDRDAT,	1234
006313  0600	HDRBAT,	0600
	6400		*DIRECT+2600
006400  0000	HDRLBL,	0
		ENPUNCH

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 3-1


	0001		FIELD 1
	4600		*4600		/KEEP THE SAME S.A.

014600  7610		SKP CLA		/NORMAL ENTRY
014601  5205		JMP CHAIN	/CHAIN ENTRY
014602  4777' 	CDCALL,	JMS 200		/SEE WHAT THE PERSON WANTS
014603  0005	C5,	5
014604  5200		5200		/IN SPECIAL MODE

014605  7326	CHAIN,	AC2		/GET OPTION /W
014606  0776' 		AND OPT2
014607  7650		SNA CLA		/SKIP FOR VESION NUMBER
014610  5213		JMP EQUALT
014611  4775' 		JMS ERROR	/PRINT VERSION NUMBER
014612  4240		VERNO+40	/AND IGNORE OTHER OPTIONS!

		/SET UP FOR MULTIPLE ENTRIES ON A LINE

014613  1374	EQUALT,	TAD (-14	/EQUALS OPTION WORD
014614  7120		STL		/EXTEND THE SIGN
014615  1773' 		TAD EQLS	/CHECK LEGALITY OF OPTION
014616  7660		SNL SZA CLA	/SKIP IF GOOD
014617  5335		JMP BADEQ

		/SUBSTITUTE .DI IF NULL EXTENSION

014620  1772' 		TAD 7604	/GET EXTENSION
014621  7450		SNA		/SKIP IF GIVEN
014622  1371		TAD (411	/.DI
014623  3772' 		DCA 7604	/PUT EXTENSION BACK

		/ CHECK FOR ? IN OUTPUT SPECIFICATION

014624  1370		TAD (-10
014625  3021		DCA CNT		/A CNT OF -10 PUTS US AT FIRST CHAR
014626  1367	S1C,	TAD (7605
014627  4766' 		JMS GTSXBT	/GET A CHAR
014630  1365		TAD (-"?!7700	/CHECK FOR ?
014631  7450		SNA
014632  5341		JMP QINO
014633  1364		TAD ("?-"*
014634  7650		SNA CLA
014635  5337		JMP AINO
014636  2021		ISZ CNT
014637  5226		JMP S1C

		/ CHECK FOR EMBEDDED * IN ANY SPECIFICATION

014640  1367		TAD (7605
014641  3020	S4L,	DCA PTR
014642  1370		TAD (-10
014643  3021		DCA CNT
014644  1020	ACK,	TAD PTR
014645  4766' 		JMS GTSXBT

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 3-2

014646  1363		TAD (-"*!7700
014647  7640		SZA CLA
014650  5263		JMP CNTUP
014651  7326		AC2
014652  1021		TAD CNT
014653  7440		SZA
014654  1362		TAD (6
014655  7650		SNA CLA
014656  2021		ISZ CNT
014657  1020		TAD PTR
014660  4766' 		JMS GTSXBT
014661  7640		SZA CLA
014662  5337		JMP AINO
014663  2021	CNTUP,	ISZ CNT
014664  5244		JMP ACK
014665  1420		TAD I PTR
014666  7650		SNA CLA
014667  5273		JMP NULLCK
014670  1203		TAD C5
014671  1020		TAD PTR
014672  5241		JMP S4L

014673  1361	NULLCK,	TAD (7201
014674  3315		DCA AO2
014675  1361		TAD (7201
014676  3304		DCA AO1
014677  1760' 		TAD 7600
014700  7450		SNA
014701  5310		JMP TTYHND
014702  4777' 		JMS 200
014703  0001		1
014704  7201	AO1,	7201
014705  7402		HLT
014706  1304		TAD AO1
014707  5322		JMP CMN

014710  3314	TTYHND,	DCA TTY2
014711  4777' 		JMS 200
014712  0001		1
014713  5524	IFNDEF	CRT <5524>	/TTY COMPRESSED CODE
		IFDEF	CRT <CRT>	/CRT COMPRESSED CODE
014714  0000	TTY2,	0
014715  7201	AO2,	7201
014716  5343		JMP IDBLVT
014717  1314		TAD TTY2
014720  3760' 		DCA 7600
014721  1315		TAD AO2
014722  3023	CMN,	DCA OUHAND
014723  1357		TAD (7601
014724  3330		DCA BLCK
014725  1760' 		TAD 7600
014726  4777' 		JMS 200
014727  0003		3
014730  7601	BLCK,	7601
014731  0000	LENGTH,	0

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 3-3

014732  5345		JMP NOROOM
014733  1330		TAD BLCK
014734  5756' 		JMP PAGE10

014735  4775' 	BADEQ,	JMS ERROR
014736  4302		BIGEQ+40

014737  4775' 	AINO,	JMS ERROR
014740  4253		ILLA+40

014741  4775' 	QINO,	JMS ERROR
014742  4246		ILLQ+40

014743  4775' 	IDBLVT,	JMS ERROR
014744  4403		NOTTY+40

014745  4775' 	NOROOM,	JMS ERROR
014746  4346		SPRBLM+40

014747  1755' 	ABORT,	TAD ALTOPT	/ABORT OPERATION AND GOTO ENDUP
014750  7700		SMA CLA
014751  5202		JMP CDCALL
014752  6203		CIF CDF 0
014753  5767' 		JMP 7605

014755  7642
014756  2002
014757  7601
014760  7600
014761  7201
014762  0006
014763  7726
014764  0025
014765  7701
014766  4120
014767  7605
014770  7770
014771  0411
014772  7604
014773  7646
014774  7764
014775  4061
014776  7644
014777  0200
	2000		PAGE 10

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 4




















012000  0000	OUWDCT,	0		/PUT THIS AT THE BEGINNING
012001  0000	OCPTR,	0

012002  3341	PAGE10,	DCA BLCKN
012003  1340		TAD BUFAD
012004  3201		DCA OCPTR
012005  1377		TAD (RPOS-1
012006  3314		DCA RPOS
012007  1376		TAD (-1200	/NUMBER OF WORDS IN BUFFER
012010  3200		DCA OUWDCT
012011  3257		DCA CLEN
012012  1775' 		TAD 7605
012013  7450		SNA
012014  4774' 		JMS DSK
012015  3775' 		DCA 7605
012016  1375		TAD (7605
012017  3022	DOMOIN,	DCA INFPTR
012020  1373		TAD (6601
012021  3227		DCA AI1
012022  1422		TAD I INFPTR
012023  7450		SNA
012024  5234		JMP ENDCHK
012025  4640		JMS I O200
012026  0001		1
012027  6601	AI1,	6601
012030  7402		HLT
012031  1227		TAD AI1
012032  3024		DCA INHAND
012033  5772' 		JMP PAGE11

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

012034  2771' 	ENDCHK,	ISZ ECHO
012035  1370		TAD (232
012036  4262	OLOOP,	JMS OUTCHR

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 4-1

012037  1367		TAD (177	/GET -WORDS LEFT IN BUFFER
012040  0200	O200,	AND OUWDCT	/CHECK AGAINST NEW BUFFER #
012041  7450		SNA
012042  1314		TAD RPOS	/CHECK MORE CAREFULLY!
012043  7041		CIA
012044  1377		TAD (RPOS-1
012045  7640		SZA CLA		/SKIP IF JUST DUMPED ONE
012046  5236		JMP OLOOP	/KEEP GOING TO DUMP ONE
012047  1200		TAD OUWDCT
012050  1366		TAD (1200	/DONT DUMP IF AT END
012051  7640		SZA CLA
012052  4316		JMS DUMP	/DUMP BUFFER
012053  1765' 		TAD 7600
012054  4640		JMS I O200
012055  0004		4
012056  7601		7601
012057  0000	CLEN,	0
012060  5764' 		JMP CLOERR
012061  5763' 		JMP ABORT

012062  0000	OUTCHR,	0
012063  5714		JMP I RPOS
012064  3601	RPOS1,	DCA I OCPTR
012065  4314		JMS RPOS
012066  3316	RPOS2,	DCA HOLD
012067  4314		JMS RPOS
012070  7006	RPOS3,	RTL
012071  7006		RTL
012072  3337		DCA HOLD2
012073  1337		TAD HOLD2
012074  0362		AND (7400
012075  1601		TAD I OCPTR
012076  3601		DCA I OCPTR
012077  2201		ISZ OCPTR
012100  1337		TAD HOLD2
012101  7006		RTL
012102  7006		RTL
012103  0362		AND (7400
012104  1316		TAD HOLD
012105  3601		DCA I OCPTR
012106  2201		ISZ OCPTR
012107  2200		ISZ OUWDCT
012110  7410		SKP
012111  4316		JMS DUMP
012112  4314		JMS RPOS
012113  5264		JMP RPOS1
012114  2064	RPOS,	RPOS1
012115  5662		JMP I OUTCHR

	2116	HOLD=.
012116  0000	DUMP,	0
012117  1761' 		TAD LENGTH	/GET LENGTH AVAILABLE
012120  7450		SNA		/IF ZERO ITS NON FILE STRUCTURE
012121  5332		JMP NOMATR	/IF ZERO DOESN'T MATTER
012122  7120		STL

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 4-2

012123  1257		TAD CLEN	/ADD CURRENT SIZE
012124  1360		TAD (5		/ADD # OF BLOCKS
012125  7660		SNL SZA CLA	/WE ARE OK IF SKIPS
012126  5757' 		JMP NOROOM
012127  1257		TAD CLEN	/UPDATE CLOSING LENGTH
012130  1360		TAD (5		/BY NUMBER OF BLOCKS
012131  3257		DCA CLEN	/SAVE FOR CLOSE
012132  1200	NOMATR,	TAD OUWDCT
012133  1356		TAD (5210
012134  3337		DCA CTLWD
012135  6202		CIF 0
012136  4423		JMS I OUHAND
	2137	HOLD2=.
012137  5210	CTLWD,	5210		/OUTPUT BUFFER IN FIELD 1 IS
012140  5200	BUFAD,	5200		/5 BLOCKS LONG, ENDS AT 7577
012141  0000	BLCKN,	0
012142  5755' 		JMP WRTERR
012143  1360		TAD (5
012144  1341		TAD BLCKN	/UPDATE BLOCK # BY 5
012145  3341		DCA BLCKN
012146  1376		TAD (-1200
012147  3200		DCA OUWDCT
012150  1340		TAD BUFAD
012151  3201		DCA OCPTR
012152  5716		JMP I DUMP

012155  4156
012156  5210
012157  4745
012160  0005
012161  4731
012162  7400
012163  4747
012164  4160
012165  7600
012166  1200
012167  0177
012170  0232
012171  4060
012172  2200
012173  6601
012174  3326
012175  7605
012176  6600
012177  2113
	2200		PAGE 11
	2200		*.&(2		/LOCATE COLUMN COUNT (NOW=2)

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 5




















012200  1422	PAGE11,	TAD I INFPTR	/GET DEVICE NUMBER
012201  1376		TAD (7757
012202  3030		DCA TEMP
012203  1430		TAD I TEMP	/IS IT A DIRECTORY DEVICE?
012204  7700	D7700,	SMA CLA
012205  5336		JMP NFIN	/NO
012206  6202		CIF 0
012207  4424		JMS I INHAND	/YES, READ THE DIRECTORY
012210  1400		1400
012211  3600	DIRTY,	DIRBUF
012212  0001		1
012213  5340		JMP INDERR

012214  6201		CDF 0
012215  1611		TAD I DIRTY	/CODE TO CHECK FOR
012216  7140		CMA CLL
012217  1775		TAD I (DIRNXT	/3602 /A LEGAL DIRECTORY
012220  7420		SNL
012221  1204		TAD D7700
012222  7630		SZL CLA
012223  5342		JMP BIDIR	/DIRECTORY IS BAD

012224  1211		TAD DIRTY	/POINT TO FIRST SEGMENT
012225  3026		DCA EPTR
012226  1774		TAD I (DIRADD	/3604 /GET NO. OF INFO WORDS
012227  7041		CIA
012230  3034		DCA INFWDS
012231  4773' 		JMS REFRMT	/CONVERT TO NEW FORMAT
012232  3410		DCA I XR	/ZERO THE NEXT LOCATION

012233  6211		CDF 10
012234  1772' 		TAD OPT1
012235  0371		AND (4400	/CHECK OPTIONS A & D
012236  3032		DCA SORTOP
012237  1770' 		TAD OPT2
012240  0367		AND (21		/CHECK OPTIONS T & X

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 5-1

012241  1032		TAD SORTOP
012242  3032		DCA SORTOP	/SAVE SORT OPTIONS
012243  1032		TAD SORTOP
012244  7640		SZA CLA
012245  4766' 		JMS SORT	/DO AN INPLACE SORT

012246  1765' 		TAD EQLS
012247  7450		SNA
012250  1377		TAD (2		/OR 'TAD (3', ETC.
012251  7041		CIA		/SET UP NEGATIVE COUNT
012252  3037		DCA ALNCNT	/SAVE FOR LATER
012253  1037		TAD ALNCNT
012254  3025		DCA LNCNT

012255  1770' 		TAD OPT2	/CHECK DATE OPTION
012256  7004		RAL		/N = 'NUMERIC'
012257  7710		SPA CLA		/'SMA CLA' = 'NON-NUMERIC'
012260  7040		CMA
012261  3027		DCA DAFLG

012262  1364		TAD (OUTCHR	/POINT TO THE HANDLER
012263  3033		DCA OSWTCH
012264  4763' 		JMS CRLF
012265  6201		CDF 0
012266  1762		TAD I (7777
012267  4761		JMS I (SETDAT
012270  1760' 		TAD DATE
012271  4757' 		JMS PDATE	/PRINT THE CURRENT DATE
012272  4763' 		JMS CRLF
012273  4763' 		JMS CRLF
012274  4756' 		JMS HEADER
012275  7040		CMA
012276  3035		DCA PFLAG	/INITIALIZE COLUMN OUTPUT
012277  3032		DCA FILEC

		/ COUNT THE NUMBER OF INPUTS FROM THE SAME DEVICE

012300  6211		CDF 10
012301  3036		DCA INSCNT
012302  1022		TAD INFPTR
012303  3031		DCA MOIN

012304  2031	GETCNT,	ISZ MOIN
012305  1431		TAD I MOIN
012306  7640		SZA CLA
012307  5317		JMP NOSUB
012310  1355		TAD (5200
012311  3431		DCA I MOIN
012312  1354		TAD (3
012313  1031		TAD MOIN
012314  3030		DCA TEMP
012315  1355		TAD (5200
012316  3430		DCA I TEMP

012317  1031	NOSUB,	TAD MOIN

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 5-2

012320  1353		TAD (4
012321  3031		DCA MOIN
012322  7040		CMA
012323  1036		TAD INSCNT
012324  3036		DCA INSCNT
012325  1770' 		TAD OPT2	/U
012326  0352		AND (10
012327  7650		SNA CLA
012330  1431		TAD I MOIN
012331  7041		CIA
012332  1422		TAD I INFPTR
012333  7650		SNA CLA
012334  5304		JMP GETCNT
012335  5751' 		JMP PAGE12


012336  4750' 	NFIN,	JMS ERROR
012337  4374		NFLEIN+40

012340  4750' 	INDERR,	JMS ERROR
012341  4360		BADIRD+40

012342  4750' 	BIDIR,	JMS ERROR
012343  4313		BADDIR+40


012350  4061
012351  2400
012352  0010
012353  0004
012354  0003
012355  5200
012356  4537
012357  3400
012360  7666
012361  4513
012362  7777
012363  4132
012364  2062
012365  7646
012366  3600
012367  0021
012370  7644
012371  4400
012372  7643
012373  3740
012374  3604
012375  3602
012376  7757
012377  0002
	2400		PAGE 12

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 6




















		/   THIS IS THE ** SUPERQUASIFACETED **
		/   DIRECTORY PATTERN MATCHING ROUTINE

		/THE INPUT DIRECTORY IS SEARCHED HERE, IF
		/A MATCH IS FOUND USING THE INPUT GROUPING
		/GOT1 GETS CONTROL WITH -BLOCKS IN THE AC 

012400  1777' 	PAGE12,	TAD OPT2	/CHECK /M
012401  7710		SPA CLA
012402  5205		JMP REPROC
012403  3014		DCA ACNT	/RESET FILE COUNT
012404  3015		DCA BCNT	/ AND FILE LENGTH

012405  1017	REPROC,	TAD FCNT
012406  3357		DCA MOVE1
012407  3024		DCA RFLAG
012410  1376		TAD (4		/OFFSET FOR SYMBIONT
012411  3026		DCA EPTR	/POINT TO FIRST ENTRY

012412  6201	BLOOP,	CDF 0
012413  1426		TAD I EPTR	/GET FILENAME WORD
012414  7650		SNA CLA		/SKIP IF FILE HERE
012415  5775' 		JMP HEMPTY	/NO... ITS REALLY AN EMPTY
012416  6211		CDF 10
012417  1376		TAD (4		/CREATE A POINTER TO THE
012420  1026		TAD EPTR	/END OF ENTRY FOR GTSXBT
012421  3020		DCA PTR
012422  1024		TAD RFLAG	/CHECK /R
012423  7640		SZA CLA
012424  5313		JMP MATCH	/EVERYTHING AFTER MATCHES

012425  1036		TAD INSCNT	/SET NUMBER OF INPUTS
012426  3315		DCA XFORM	/TO LOOK AT ALL AT ONCE
012427  1022		TAD INFPTR	/ADDRESS OF FIRST INPUT
012430  7410		SKP
012431  1010	NEXTI,	TAD XR		/ADDRESS OF CURRENT INPUT

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 6-1

012432  1374		TAD (5		/GTSXBT SUBR REQUIRES US
012433  3010		DCA XR		/TO POINT TO END OF FIELD
012434  1373		TAD (-10	/NUMBER OF CHARS TO LOOK AT
012435  3021	WILDX,	DCA CNT

012436  1010	MLP,	TAD XR		/OK - GET A CHARACTER FROM INPUT
012437  4772' 		JMS GTSXBT
012440  1371		TAD (-"*!7700	/IS IT A * ?
012441  7450		SNA		/SKIP IF NOT *
012442  5306		JMP WILDA	/YEP... ITS A WILD CARD
012443  1370		TAD ("*-"?	/IS IT A ?
012444  7450		SNA		/SKIP IF NOT
012445  5304		JMP WILDQ	/YES... FORCE MATCH ON THIS CHAR
012446  1367		TAD ("?&77	/RESTORE VALUE
012447  7041		CIA		/NEGATE
012450  3030		DCA TEMP	/AND SAVE
012451  6201		CDF 0
012452  1020		TAD PTR		/NOW GET CHAR FROM DIRECTORY
012453  4772' 		JMS GTSXBT
012454  6211		CDF 10
012455  1030		TAD TEMP	/DO CHARS MATCH
012456  7650		SNA CLA		/SKIP IF THEY DO NOT
012457  5304		JMP WILDQ	/A MATCH!!!!!!!
012460  2315		ISZ XFORM	/HAVE WE CHECKED ALL THE INPUTS
012461  5231		JMP NEXTI	/NO CHECK WHOLE GROUP

012462  3315	MEXT,	DCA XFORM	/NO MATCH ON THIS INPUT
012463  1034		TAD INFWDS	/SET EPTR TO POINT TO
012464  1020		TAD PTR		/BLOCK COUNT OF FILE
012465  3026		DCA EPTR
012466  1315		TAD XFORM	/HAVE THERE BEEN ANY MATCHES?
012467  1777' 		TAD OPT2	/CHECK /V
012470  0376		AND (4		/ISOLATE THE BIT

		/SKIPS IF INPUT DIRECTORY ENTRY IS NOT CANDIDATE
		/THAT IS - IF A MATCH WAS NOT FOUND BETWEEN ANY
		/OF THE INPUTS AND /V WAS NOT SPECIFIED   OR
		/A MATCH WAS FOUND AND /V WAS SPECIFIED

		/THIS ALLOWS /V TO MEAN  'EVERYTHING BUT'

012471  6201		CDF 0
012472  7640		SZA CLA
012473  1426		TAD I EPTR	/GET -NUMBER OF BLOCKS
012474  6211		CDF 10
012475  7440		SZA		/SKIPS IF TENTATIVE OR NOT CANDIDATE
012476  4766' 		JMS GOT1	/LOOKS LIKE AN ENTRY

012477  2026	NEMPTY,	ISZ EPTR	/RETURN FROM HEMPTY
012500  2026		ISZ EPTR	/POINT TO NEXT ENTRY
012501  2357		ISZ MOVE1	/CHECK NUMBER OF ENTRIES
012502  5212		JMP BLOOP	/NOT DONE WITH SEGMENT
012503  5765' 		JMP PASSND	/THE END OF A PASS, MAYBE ALL DONE

		/HANDLE WILD CARDS

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 6-2


012504  2021	WILDQ,	ISZ CNT		/BUMP POINTER & CHAR COUNT
012505  5236		JMP MLP
012506  1021	WILDA,	TAD CNT		/GET CURRENT CHAR POSITION
012507  1364		TAD (6		/ADD SIZE OF FILENAME
012510  7510		SPA		/SKIP IF IN EXTENSION FIELD
012511  5235		JMP WILDX	/THIS BUMPS TO EXTENSION
012512  7200		CLA
012513  1376	MATCH,	TAD (4		/SET THE MATCH FLAG
012514  5262		JMP MEXT	/WILL INVERT /V SWITCH

		/THIS ROUTINE TRANSFORMS THE DIRECTORY BY ADDING BLOCK
		/NUMBERS AND EXPANDING THE 'EMPTIES' FOR EASY SORTING.

012515  0000	XFORM,	0		/TRANSFORM THE DIRECTORY
012516  4357		JMS MOVE1	/MOVE THE FIRST WORD
012517  1376		TAD (4
012520  1034		TAD INFWDS
012521  7041		CIA
012522  3021		DCA CNT		/SET UP TO MOVE THE REST
012523  1420		TAD I PTR
012524  7650		SNA CLA		/CHECK IF IT WAS AN EMPTY
012525  5350		JMP MOVMT	/YES
012526  4357		JMS MOVE1	/NO
012527  2021		ISZ CNT
012530  5326		JMP .-2		/MOVE THE REST OF THE ENTRY
012531  1420		TAD I PTR	/IS IT A TEMPORARY?
012532  7440		SZA		/DON'T COUNT THOSE
012533  2014		ISZ ACNT	/KEEP TRACK
012534  1015		TAD BCNT
012535  3015		DCA BCNT

012536  1032	MTRTN,	TAD FILEC	/NOW INSERT THE BLOCK NUMBER
012537  3410		DCA I XR
012540  1420		TAD I PTR
012541  7041		CIA
012542  1032		TAD FILEC	/AND SET FOR THE NEXT ENTRY
012543  3032		DCA FILEC
012544  2426		ISZ I EPTR	/DONE WITH THIS SEGMENT?
012545  5316		JMP XFORM+1	/NO
012546  5715		JMP I XFORM	/YES

012547  3410		DCA I XR	/EXPAND THE EMPTIES
012550  2021	MOVMT,	ISZ CNT
012551  5347		JMP .-2
012552  4357		JMS MOVE1	/NOW MOVE THE LENGTH
012553  1420		TAD I PTR
012554  1016		TAD ECNT
012555  3016		DCA ECNT	/AND SUM FOR LATER ON
012556  5336		JMP MTRTN

012557  0000	MOVE1,	0
012560  2020		ISZ PTR
012561  1420		TAD I PTR
012562  3410		DCA I XR

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 6-3

012563  5757		JMP I MOVE1

	0024	RFLAG=	INHAND		/RE-USE THIS LOCATION

012564  0006
012565  3264
012566  2600
012567  0077
012570  7753
012571  7726
012572  4120
012573  7770
012574  0005
012575  3000
012576  0004
012577  7644
	2600		PAGE

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 7




















012600  0000	GOT1,	0
012601  3030		DCA TEMP	/SAVE THE SIZE
012602  1777' 		TAD OPT2
012603  0207		AND G100	/CHECK /R
012604  3024		DCA RFLAG
012605  1776' 		TAD OPT1
012606  4345		JMS MDATE	/CHECK /C
012607  0100	G100,	100
012610  7640		SZA CLA
012611  5600		JMP I GOT1
012612  1777' 		TAD OPT2
012613  4345		JMS MDATE	/CHECK /O
012614  7360	XX60,	STA STL
012615  7650		SNA CLA
012616  5600		JMP I GOT1
012617  1777' 		TAD OPT2	/CHECK /M
012620  7710		SPA CLA
012621  5600		JMP I GOT1

012622  1035		TAD PFLAG	/CHECK PASS FLAG
012623  7700		SMA CLA
012624  5231		JMP .+5
012625  2014		ISZ ACNT	/INCREMENT FILE COUNT
012626  1030		TAD TEMP
012627  1015		TAD BCNT	/AND SUM FILE LENGTHS
012630  3015		DCA BCNT
012631  4775' 		JMS CHKR	/SEE IF THIS IS TIME
012632  5600		JMP I GOT1	/NOT NOW LITTLE BEAVER

012633  1776' 		TAD OPT1
012634  0374		AND (10		/CHECK /I SWITCH
012635  7640		SZA CLA
012636  1034		TAD INFWDS	/GET NUMBER OF ADDITIONAL WORDS
012637  7141		CLL CIA
012640  7001		IAC		/USE -(INFWDS-1)
012641  3305		DCA PNBLK

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 7-1

012642  7430		SZL		/CHECK FOR 0,1
012643  5252		JMP PNLOOP-2
012644  1020		TAD PTR
012645  3010		DCA XR
012646  4323		JMS OPRNT	/DUMP ADDITIONAL INFORMATION WORDS
012647  4773' 		JMS CONVTP	/SPACE
012650  2305		ISZ PNBLK	/COUNT NUMBER
012651  5246		JMP .-3

012652  1372		TAD (-10
012653  3021		DCA CNT
012654  6201	PNLOOP,	CDF 0		/PRINT FILE NAME
012655  1020		TAD PTR
012656  4771' 		JMS GTSXBT
012657  4773' 		JMS CONVTP
012660  1370		TAD (3
012661  1021		TAD CNT
012662  7640		SZA CLA
012663  5266		JMP .+3
012664  1367		TAD (".
012665  4433		JMS I OSWTCH
012666  2021		ISZ CNT
012667  5254		JMP PNLOOP

012670  4305		JMS PNBLK	/PRINT BLOCK NO. (MAYBE)
012671  5303		JMP NODATE	/F
012672  1030		TAD TEMP
012673  7041		CIA
012674  4766' 		JMS PRNUM	/PRINT LENGTH
012675  1034		TAD INFWDS
012676  7650		SNA CLA
012677  5303		JMP NODATE
012700  6201		CDF 0
012701  1420		TAD I PTR
012702  4765' 		JMS PDATE	/PRINT DATE
012703  4764' 	NODATE,	JMS EOLIN
012704  5600		JMP I GOT1

012705  0000	PNBLK,	0
012706  1776' 		TAD OPT1	/B
012707  7006		RTL
012710  7620		SNL CLA
012711  5316		JMP SKPBLK
012712  4773' 		JMS CONVTP
012713  1026		TAD EPTR
012714  3010		DCA XR
012715  4323		JMS OPRNT
012716  1776' 	SKPBLK,	TAD OPT1	/F
012717  0207		AND G100
012720  7650		SNA CLA
012721  2305		ISZ PNBLK
012722  5705		JMP I PNBLK

012723  0000	OPRNT,	0
012724  6201		CDF 0

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 7-2

012725  1410		TAD I XR
012726  3345		DCA MDATE
012727  1363		TAD (-4
012730  3021		DCA CNT

012731  1345	OPLP,	TAD MDATE
012732  7104		CLL RAL
012733  7006		RTL
012734  3345		DCA MDATE
012735  1345		TAD MDATE
012736  7004		RAL
012737  0362		AND (7
012740  1214		TAD XX60
012741  4773' 		JMS CONVTP
012742  2021		ISZ CNT
012743  5331		JMP OPLP
012744  5723		JMP I OPRNT


012745  0000	MDATE,	0
012746  7006		RTL
012747  7700		SMA CLA
012750  5745		JMP I MDATE
012751  2345		ISZ MDATE	/SKIP RETURN
012752  6201		CDF 0
012753  1420		TAD I PTR	/GET DATE WORD
012754  7041		CIA
012755  6211		CDF 10
012756  1761' 		TAD DATE	/COMPARE WITH MONITORS, 0 IF =
012757  5745		JMP I MDATE

012761  7666
012762  0007
012763  7774
012764  3046
012765  3400
012766  3507
012767  0256
012770  0003
012771  4120
012772  7770
012773  4110
012774  0010
012775  3201
012776  7643
012777  7644
	3000		PAGE
	3000		*.&(2		/LOCATE COLUMN SPACING

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 8




















		/ PROCESS THE EMPTIES . . .

013000  1376	HEMPTY,	TAD (4		/POINT TO NEGATIVE SIZE
013001  1034		TAD INFWDS
013002  1026		TAD EPTR
013003  3026		DCA EPTR
013004  1426		TAD I EPTR
013005  3030		DCA TEMP
013006  6211		CDF 10
013007  1775' 		TAD OPT1	/CHECK /E
013010  0374		AND (200
013011  7640		SZA CLA
013012  5215		JMP LISTEM
013013  1773' 		TAD OPT2	/CHECK /M
013014  7710		SPA CLA
013015  4772' 	LISTEM,	JMS CHKR	/DO IT NOW OR JUST COUNT?
013016  5771' 		JMP NEMPTY	/LATER ALLIGATOR

013017  1775' 		TAD OPT1	/CHECK /I
013020  0370		AND (10
013021  7650		SNA CLA		/IF YES PAD BY ADDITIONAL INFO WORDS
013022  5232		JMP EMSG
013023  1034		TAD INFWDS
013024  7106		CLL RTL
013025  1034		TAD INFWDS	/NUMBER OF SPACES=5*(INFWDS-1)
013026  7440		SZA
013027  1367		TAD (-5
013030  7440		SZA
013031  4766' 		JMS BLANK

013032  4765' 	EMSG,	JMS MESAG
013033  4260		EMPTYM+40
013034  4764' 		JMS PNBLK	/PRINT BLOCK ?
013035  5244		JMP NOSIZE	/NO
013036  1030		TAD TEMP
013037  7041		CIA

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 8-1

013040  4763' 		JMS PRNUM	/PRINT LENGTH
013041  1034		TAD INFWDS
013042  7640		SZA CLA
013043  4762' 		JMS PDATE	/SPACE FOR DATE
013044  4246	NOSIZE,	JMS EOLIN
013045  5771' 		JMP NEMPTY

013046  0000	EOLIN,	0
013047  2025		ISZ LNCNT	/IS LINE FILLED?
013050  5255		JMP MOLIN	/NO
013051  4761' 		JMS CRLF
013052  1037		TAD ALNCNT	/RESET COUNT
013053  3025		DCA LNCNT
013054  5646		JMP I EOLIN

013055  1377	MOLIN,	TAD (2		/OUTPUT 2 BLANKS - WAS 4
013056  4766' 		JMS BLANK
013057  5646		JMP I EOLIN

013060  0000	HEADPT,	0
013061  6201		CDF 0
013062  1760		TAD I (HDRVOL	/6304
013063  3030		DCA TEMP
013064  3760		DCA I (HDRVOL	/6304
013065  1357		TAD (HDRUSA-1	/6300-1
013066  4756' 		JMS PRINT
013067  6211		CDF 10
013070  4765' 		JMS MESAG
013071  3611		VOLMES+40
013072  1030		TAD TEMP
013073  4763' 		JMS PRNUM
013074  4761' 		JMS CRLF
013075  1355		TAD (HDRLBL-1	/6400-1
013076  4756' 		JMS PRINT
013077  2754		ISZ I (HDRSYS	/6207 /DOES THE DEVICE HAVE A SYSTEM?
013100  5320		JMP HDEND	/NOPE
013101  4761' 		JMS CRLF
013102  4765' 		JMS MESAG
013103  3616		SYSMES+40
013104  6201		CDF 0
013105  1753		TAD I (HDRSID	/CHECKSYSTEM I.D.
013106  7041		CIA 
013107  4763' 		JMS PRNUM
013110  4765' 		JMS MESAG
013111  4274		VERMES+40
013112  6201		CDF 0
013113  1752		TAD I (HDRVER
013114  4763' 		JMS PRNUM
013115  6201		CDF 0
013116  1751		TAD I (HDRREL
013117  4750' 		JMS CONVTP
013120  4761' 	HDEND,	JMS CRLF
013121  4765' 		JMS MESAG
013122  4427		HDRINI+40
013123  6201		CDF 0

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 8-2

013124  1747		TAD I (HDRBAT
013125  4746		JMS I (SETDAT
013126  6201		CDF 0
013127  1745		TAD I (HDRDAT
013130  4762' 		JMS PDATE
013131  6201		CDF 0
013132  1744		TAD I (HDRDID
013133  7440		SZA
013134  4743		JMS I (DIRDAT
013135  4761' 		JMS CRLF
013136  4761' 		JMS CRLF
013137  5660		JMP I HEADPT


013143  3340
013144  6211
013145  6312
013146  4513
013147  6313
013150  4110
013151  6307
013152  6306
013153  6305
013154  6207
013155  6377
013156  4523
013157  6277
013160  6304
013161  4132
013162  3400
013163  3507
013164  2705
013165  4142
013166  4101
013167  7773
013170  0010
013171  2477
013172  3201
013173  7644
013174  0200
013175  7643
013176  0004
013177  0002
	3200		PAGE

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 9




















		/THIS CODE TESTS THE COLUMN COUNT, AND WHEN IT IS 2 OR MORE
		/GENERATES THE OUTPUT IN COLUMN ORDER RATHER THAN ROW ORDER
		/BY MAKING SEVERAL PASSES THROUGH THE DIRECTORY.   ADDED BY
		/TOM MCINTYRE, WVU MEDICAL CENTER  5/21/76.  REVISED BY JVZ


013200  0400	C400,	400		/FIRST THING ON THE PAGE
013201  0000	CHKR,	0
013202  1037		TAD ALNCNT	/CHECK COLUMN COUNT
013203  7101		CLL IAC
013204  7650		SNA CLA		/IS IT > 1
013205  2201		ISZ CHKR	/NO, SKIP CODE FOR SINGLE COLUMN
013206  1035		TAD PFLAG	/GET PASS INDICATOR FLAG
013207  7700		SMA CLA		/IF PASS FLAG<0 WE ARE COUNTING
013210  5215		JMP PROCF	/IF PASS FLAG >=0 WE ARE PROCESSING
013211  7420		SNL		/SET IF ALNCNT=-1
013212  2032		ISZ FILEC	/INCREMENT FILE COUNT COUNTER
013213  3334		DCA COLCNT	/CLEAR FOR SINGLE COLUMN OUTPUT
013214  5601		JMP I CHKR	/CONTINUE DIRECTORY SCAN

		/THIS CODE ACTUALLY COUNTS THE ENTRIES AND CALLS OUTPUT

013215  2012	PROCF,	ISZ SKPCTR	/DO THIS ONE?
013216  5601		JMP I CHKR	/NO, SKIP TO NEXT
013217  2333		ISZ COLCTR	/DO WE CHANGE IT YET?
013220  7410		SKP		/NOT YET
013221  2011		ISZ SKPCNT	/YES, ONE LESS PER COLUMN
013222  1011		TAD SKPCNT	/YES, AND INIT COUNT FOR NEXT
013223  3012		DCA SKPCTR
013224  2201		ISZ CHKR	/NOW IS THE TIME TO SKIP
013225  2032		ISZ FILEC	/ARE WE ALL DONE?
013226  5601		JMP I CHKR	/NO, GO DO IT

013227  1334	ALLDUN,	TAD COLCNT	/YES, FINISH UP
013230  7640		SZA CLA
013231  4777' 		JMS CRLF	/ONLY 1 IF IT CAME OUT EVEN

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 9-1

013232  4777' 		JMS CRLF

013233  1014		TAD ACNT	/PRINT FILE COUNT
013234  4776' 		JMS PRNUM
013235  0004		4
013236  4775' 		JMS MESAG
013237  4413		FILESM+40

013240  1015		TAD BCNT	/BLOCKS USED. . .
013241  7041		CIA
013242  4776' 		JMS PRNUM
013243  0004		4
013244  4775' 		JMS MESAG
013245  4421		BLOCKM+40

013246  1016		TAD ECNT	/AND SPACE REMAINING
013247  7041		CIA
013250  4776' 		JMS PRNUM
013251  0004		4		/FORCE A SINGLE 0 IF NONE
013252  4775' 		JMS MESAG
013253  4265		FRBLM+40
013254  4777' 		JMS CRLF

013255  1774' 		TAD OPT2	/P - CONTROLS PAGING
013256  0200	C200,	AND C400	/INVERTED IN VER. 5H
013257  7640		SZA CLA		/WAS 'SNA CLA'
013260  1373		TAD (14		/FORM FEED
013261  4433		JMS I OSWTCH	/SAVE PAPER!
013262  1031		TAD MOIN
013263  5772' 		JMP DOMOIN

		/COME HERE AFTER COMPARING ALL THE DIRECTORY ENTRIES

013264  1032	PASSND,	TAD FILEC	/CHECK IF WE'RE DONE
013265  7440		SZA
013266  7040		CMA		/OR ALMOST DONE
013267  7650		SNA CLA
013270  5227		JMP ALLDUN	/YES WE ARE
013271  2035		ISZ PFLAG	/WHICH PASS?
013272  5315		JMP PRCPAS	/A PRINTING PASS

013273  3011		DCA SKPCNT	/DIVIDE THINGS UP
013274  1032		TAD FILEC
013275  1037		TAD ALNCNT
013276  2011		ISZ SKPCNT
013277  7540		SMA SZA
013300  5275		JMP .-3		/HOW MANY ROWS?
013301  7450		SNA		/WHEN DO WE BREAK IT?
013302  5305		JMP .+3		/WE DON'T, IT CAME OUT EVEN
013303  7040		CMA		/SINCE IT IS A PREINCREMENT
013304  1037		TAD ALNCNT

013305  3334		DCA COLCNT	/CHANGE COUNT AT THIS COLUMN
013306  1011		TAD SKPCNT
013307  7041		CIA

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 9-2

013310  3326		DCA SKPCTB	/BASE COLUMN CTR
013311  1032		TAD FILEC
013312  7040		CMA
013313  3032		DCA FILEC	/FILE COUNTER
013314  3013		DCA ROWCNT	/INIT THE ROW TO 0

013315  2013	PRCPAS,	ISZ ROWCNT	/SKIP THIS MANY AT FIRST
013316  1013		TAD ROWCNT
013317  7041		CIA
013320  3012		DCA SKPCTR	/FOR FIRST ENTRY IN ROW
013321  1334		TAD COLCNT	/REINIT THE COLUMN COUNT
013322  3333		DCA COLCTR
013323  1326		TAD SKPCTB
013324  3011		DCA SKPCNT	/REINIT THE LENGTH ALSO
013325  5771' 		JMP REPROC	/BACK FOR ANOTHER PASS!

	0011	SKPCNT=	XR 1		/OFFSET BETWEEN TWO PASSES
	0012	SKPCTR=	XR 2		/ACTIVE COUNTER FOR SKIPS
	0013	ROWCNT=	XR 3		/INIT SKIP FOR EACH ROW
	3326	SKPCTB=.

013326  0000	DSK,	0		/DSK LOOKUP
013327  3333		DCA COLCTR
013330  4656		JMS I C200
013331  0012		12
013332  5723		5723
013333  0000	COLCTR,	0
013334  0000	COLCNT,	0
013335  5770' 		JMP IDBLVT
013336  1333		TAD COLCTR
013337  5726		JMP I DSK

013340  0000	DIRDAT,	0
013341  3326		DCA DSK
013342  1326		TAD DSK
013343  7006		RTL
013344  7006		RTL
013345  4767		JMS I (SETDAT
013346  4775' 		JMS MESAG
013347  3414		DIRMSG+40
013350  1326		TAD DSK
013351  1366		TAD (3662	/1970
013352  4776		JMS I (PRNUM
013353  5740		JMP I DIRDAT
013354  4004	DIRMSG,	TEXT " DIRECTORY DATE: "
013355  1122
013356  0503
013357  2417
013360  2231
013361  4004
013362  0124
013363  0572
013364  4000
013366  3662
013367  4513

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 9-3

013370  4743
013371  2405
013372  2017
013373  0014
013374  7644
013375  4142
013376  3507
013377  4132
	3400		PAGE

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 10




















		/THE DATE ROUTINE NOW PRINTS EITHER ALPHANUMERIC DATES
		/OR STRAIGHT NUMERIC ONES IF THE USER SPECIFIES "/N".
		/MODIFIED BY JIM VAN ZEE, U/W DEPT. OF CHEM.  9/10/76.
		/ADDED V3D CODE TO PRINT DATES AFTER 1977.    4/15/77.

013400  0000	PDATE,	0
013401  6211		CDF 10
013402  7450		SNA
013403  5242		JMP FDATE
013404  3030		DCA TEMP
013405  1777' 		TAD DATE
013406  7650		SNA CLA
013407  5242		JMP FDATE

013410  3347		DCA PRBLNK	/SUPPRESS BLANKS
013411  4776' 		JMS CONVTP	/THEN PRINT ONE!
013412  1027		TAD DAFLG
013413  7640		SZA CLA
013414  5252		JMP M0NTHS

013415  1030	M0NS,	TAD TEMP
013416  7012		RTR
013417  7010		RAR
013420  0375		AND (37
013421  4307		JMS PRNUM
013422  0003		3
013423  1027		TAD DAFLG
013424  7450		SNA
013425  5260		JMP MONTHS

013426  7144	MONS,	CMA CLL RAL	/0 OR -2
013427  1374		TAD ("/
013430  4433		JMS I OSWTCH
013431  1030		TAD TEMP
013432  4773' 		JMS CKYEAR	/COMPARE WITH CURRENT YEAR
013433  3030		DCA TEMP

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 10-1

013434  1030		TAD TEMP
013435  4307		JMS PRNUM
013436  0003		3
013437  1344		TAD PRBLNK-3	/'JMS CONVTP'
013440  3347		DCA PRBLNK
013441  5600		JMP I PDATE

013442  1025	FDATE,	TAD LNCNT	/SEE IF AT END OF LINE?
013443  7001		IAC		/AC=0 NOW IF YES
013444  7650		SNA CLA		/OUTPUT SPACES TO FILL DATE SLOT
013445  5600		JMP I PDATE	/NO NEED FOR SPACES AT END OF LINE
013446  1027		TAD DAFLG	/0 OR -1
013447  1372		TAD (12		/10 SPACES IS WHATS NEEDED
013450  4771' 		JMS BLANK
013451  5600		JMP I PDATE	/LEAVE

013452  4300	M0NTHS,	JMS MOONS
013453  4307		JMS PRNUM
013454  0003		3
013455  1374		TAD ("/
013456  4433		JMS I OSWTCH
013457  5215		JMP M0NS

013460  1370	MONTHS,	TAD ("-
013461  4433		JMS I OSWTCH
013462  4300		JMS MOONS
013463  1367		TAD (-15
013464  7710		SPA CLA
013465  4300		JMS MOONS
013466  7104		CLL RAL
013467  1366		TAD (DATTAB+40
013470  3272		DCA PNTFLG
013471  4765' 		JMS MESAG
013472  0000	PNTFLG,	0
013473  5226		JMP MONS

013474  6030	PWRTEN,	-1750;-144;-12;-1
013475  7634
013476  7766
013477  7777
	3500	DIGIT=.

013500  0000	MOONS,	0
013501  1030		TAD TEMP
013502  7104		CLL RAL
013503  7006		RTL
013504  7006		RTL
013505  0375		AND (37
013506  5700		JMP I MOONS

013507  0000	PRNUM,	0
013510  6211		CDF 10
013511  3021		DCA CNT
013512  1707		TAD I PRNUM	/POSITION TO FORCE PRINTING
013513  7041		CIA

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 10-2

013514  3010		DCA XR		/(OPTIONAL)
013515  1364		TAD (TAD PWRTEN
013516  3321		DCA DIVLPY

013517  3272		DCA PNTFLG
013520  3300		DCA DIGIT
013521  1274	DIVLPY,	TAD PWRTEN
013522  7450		SNA
013523  5707		JMP I PRNUM
013524  7100		CLL
013525  1021		TAD CNT
013526  7420		SNL
013527  5333		JMP PRTDIG
013530  3021		DCA CNT
013531  2300		ISZ DIGIT
013532  5321		JMP DIVLPY

013533  7360	PRTDIG,	STA STL		/XX60
013534  0300		AND DIGIT
013535  2321		ISZ DIVLPY
013536  2272		ISZ PNTFLG
013537  7440		SZA
013540  5343		JMP .+3
013541  2010		ISZ XR
013542  5347		JMP PRBLNK
013543  1333		TAD PRTDIG
013544  4776' 		JMS CONVTP
013545  7040		CMA
013546  5317		JMP DIVLPY-2
013547  4776' 	PRBLNK,	JMS CONVTP
013550  5317		JMP DIVLPY-2

013551  4040	VOLMES,	TEXT "  VOLUME-"
013552  2617
013553  1425
013554  1505
013555  5500
013556  2331	SYSMES,	TEXT "SYSTEM TYPE"
013557  2324
013560  0515
013561  4024
013562  3120
013563  0500

013564  1274
013565  4142
013566  4436
013567  7763
013570  0255
013571  4101
013572  0012
013573  4467
013574  0257
013575  0037
013576  4110

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 10-3

013577  7666
	3600		PAGE

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 11




















		/THIS IS THE (BUBBLE) SORT ROUTINE.  ORIGINALLY ADDED BY
		/LARRY FOWLER, BCAC (4/22/75); REVISED BY JVZ (8/15/78).

013600  0000	SORT,	0
013601  6201		CDF 0
013602  1377		TAD (6	 	/4 FOR NAME, 1 FOR LEN & BLK
013603  1034		TAD INFWDS	/ PLUS ADDITIONAL INFO WORDS
013604  3010		DCA XR
013605  1017		TAD FCNT
013606  3011		DCA CNT1	/SET FILE COUNTER
013607  1376		TAD (4		/OFFSET FOR SYMBIONT
013610  5274		JMP SORTX	/INITIALIZE POINTERS
013611  1011	NEXT1,	TAD CNT1	/SET FILE SCAN COUNT
013612  3012		DCA CNT2
013613  1020		TAD PT1
013614  1010		TAD XR
013615  5217		JMP CHECK+1	/INITIALIZE SECOND POINTER

		/THIS ROUTINE CHECKS IF THE FILES ARE IN THE RIGHT ORDER

013616  1026	CHECK,	TAD PT2		/ADVANCE TO THE NEXT FILE
013617  3026		DCA PT2
013620  1420		TAD I PT1	/CHECK IF WE HAVE AN EMPTY
013621  7640		SZA CLA
013622  5235		JMP NOTMT	/WE DON'T
013623  1426		TAD I PT2
013624  7640		SZA CLA
013625  5310		JMP MOVE+2	/MOVE EMPTIES TO THE END
013626  7040		CMA
013627  1010		TAD XR
013630  4327		JMS SETUP	/KEEPING THE RIGHT SEQUENCE
013631  1431		TAD I CK1
013632  7161		STL CIA
013633  1427		TAD I CK2	/IF THERE ARE TWO IN A ROW.
013634  5306		JMP MOVE


/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 11-1

013635  1376	NOTMT,	TAD (4
013636  4327		JMS SETUP	/SORTS BY DATE, NAME, OR EXTENSION
013637  6211		CDF 10
013640  4775' 		JMS CKDATE	/CHECK THE DATE FIRST
013641  4301		JMS SWAP
013642  7001		IAC
013643  0032		AND SORTOP	/THEN CHECK THE EXTENSION
013644  7650		SNA CLA
013645  5255		JMP CKNAME	/X NOT SPECIFIED
013646  1374		TAD (3
013647  4327		JMS SETUP
013650  1431		TAD I CK1
013651  7161		STL CIA
013652  1427		TAD I CK2
013653  4301		JMS SWAP
013654  7001		IAC
013655  1373	CKNAME,	TAD (-4		/NOW CHECK THE NAME
013656  3021		DCA CNT
013657  4327		JMS SETUP
013660  1431	NXTCHR,	TAD I CK1
013661  7161		STL CIA
013662  1427		TAD I CK2
013663  4301		JMS SWAP
013664  2031		ISZ CK1		/EQUAL, KEEP CHECKING
013665  2027		ISZ CK2
013666  2021		ISZ CNT		/DONE?
013667  5260		JMP NXTCHR	/NOT YET

013670  1010	NOSWAP,	TAD XR		/IDENTICAL, OR PROPERLY ORDERED
013671  2012		ISZ CNT2	/WAS THE PREVIOUS FILE THE LAST
013672  5216		JMP CHECK	/NO, CHECK THE NEXT ONE
013673  1020		TAD PT1		/ADVANCE TO THE NEXT POSITION
013674  3020	SORTX,	DCA PT1
013675  2011		ISZ CNT1	/LAST FILE?
013676  5211		JMP NEXT1	/NO
013677  6211		CDF 10
013700  5600		JMP I SORT	/YES

		/THIS ROUTINE DOES THE ACTUAL SWAPPING

013701  0000	SWAP,	0
013702  7650		SNA CLA		/ARE THEY THE SAME
013703  5701		JMP I SWAP	/YES
013704  1426		TAD I PT2	/NO
013705  7640		SZA CLA		/KEEP EMPTIES AT END
013706  7620	MOVE,	SNL CLA		/CHECK THE ORDER
013707  5270		JMP NOSWAP	/RETURN TO THE LOOP

013710  4327		JMS SETUP
013711  1010		TAD XR		/GET FILE ENTRY SIZE
013712  7041		CIA
013713  3021		DCA CNT		/SET LOOP COUNTER
013714  1431	CONT,	TAD I CK1
013715  3030		DCA TEMP
013716  1427		TAD I CK2

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 11-2

013717  3431		DCA I CK1
013720  1030		TAD TEMP
013721  3427		DCA I CK2
013722  2031		ISZ CK1
013723  2027		ISZ CK2
013724  2021		ISZ CNT
013725  5314		JMP CONT
013726  5270		JMP NOSWAP

013727  0000	SETUP,	0		/SET CHECK POINTERS
013730  3030		DCA TEMP
013731  1030		TAD TEMP	/AC = OFFSET
013732  1020		TAD PT1
013733  3031		DCA CK1
013734  1030		TAD TEMP
013735  1026		TAD PT2
013736  3027		DCA CK2
013737  5727		JMP I SETUP

		/MOVE AND COMPACT THE DIRECTORY BY MAKING ALL ENTRIES
		/THE SAME LENGTH AND REMOVING EXTRANEOUS INFORMATION.

013740  0000	REFRMT,	0		/THIS IS ONLY DONE ONCE
013741  1374		TAD (4-1
013742  3010		DCA XR		/FIRST ENTRY IS AT 4
013743  3014		DCA ACNT	/CLEAR ACTIVE COUNTER
013744  3015		DCA BCNT	/AND BLOCKS USED
013745  3017		DCA FCNT	/ZERO NUMBER OF FILES
013746  3016		DCA ECNT	/LIKEWISE THE EMPTY SPACE

013747  1026	MAINLP,	TAD EPTR	/SET UP CORE POINTER
013750  3011		DCA XR 1
013751  1426		TAD I EPTR	/GET NO. OF ENTRIES
013752  1017		TAD FCNT	/IN THIS SEGMENT
013753  3017		DCA FCNT	/AND ADD TO THE TOTAL
013754  1411		TAD I XR 1
013755  3032		DCA FILEC	/INITIALIZE THE BLOCK

013756  1376		TAD (4
013757  1026		TAD EPTR	/POINT TO NEXT SEGMENT
013760  3020		DCA PTR
013761  4772' 		JMS XFORM	/MOVE AND TRANSFORM
013762  1411		TAD I XR 1
013763  7650		SNA CLA		/LAST SEGMENT?
013764  5740		JMP I REFRMT	/YES	DF=0
013765  1371		TAD (400
013766  1026		TAD EPTR	/NO, ADVANCE ONE
013767  3026		DCA EPTR
013770  5347		JMP MAINLP

	0020	PT1=	PTR
	0026	PT2=	EPTR
	0031	CK1=	MOIN
	0027	CK2=	DAFLG
	0032	SORTOP=	FILEC

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 11-3

	0011	CNT1=	XR 1
	0012	CNT2=	XR 2
	0014	ACNT=	XR 4
	0015	BCNT=	XR 5
	0016	ECNT=	XR 6
	0017	FCNT=	XR 7

013771  0400
013772  2515
013773  7774
013774  0003
013775  4430
013776  0004
013777  0006
	4000		PAGE

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 12




















	4000		*4000
014000  0000	TYPE,	0
014001  3320		DCA GTSXBT
014002  4224		JMS CTYPE	/^O
014003  0217		217
014004  3260		DCA ECHO
014005  1260		TAD ECHO
014006  7650		SNA CLA
014007  5600		JMP I TYPE
014010  4224		JMS CTYPE	/^C
014011  0203		203
014012  5221		JMP SPURGE
014013  4224		JMS CTYPE	/^P
014014  0220		220
014015  5222		JMP SPURGE+1
014016  1320		TAD GTSXBT
014017  4252		JMS TTY
014020  5600		JMP I TYPE

014021  7040	SPURGE,	CMA
014022  3777' 		DCA ALTOPT
014023  5776' 		JMP ABORT

014024  0000	CTYPE,	0
014025  1375		TAD (200
014026  6034		KRS
014027  7041		CIA
014030  1624		TAD I CTYPE
014031  7650		SNA CLA
014032  6031		KSF
014033  5247		JMP IDLE
014034  6032		KCC
014035  1374		TAD ("^
014036  4252		JMS TTY
014037  1624		TAD I CTYPE
014040  1373		TAD (100

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 12-1

014041  4252		JMS TTY
014042  1372		TAD (215
014043  4252		JMS TTY
014044  1371		TAD (212
014045  4252		JMS TTY
014046  7410		SKP
014047  2224	IDLE,	ISZ CTYPE
014050  2224		ISZ CTYPE
014051  5624		JMP I CTYPE

014052  0000	TTY,	0
014053  6046		TLS
014054  6041		TSF
014055  5254		JMP .-1
014056  7700	M100,	SMA CLA
014057  5652		JMP I TTY

014060  0001	ECHO,	1

		/THIS IS THE ERROR MESSAGE PRINTER

014061  0000	ERROR,	0
014062  7330		AC4000		/='TYPE'
014063  3033		DCA OSWTCH
014064  2260		ISZ ECHO
014065  1256		TAD M100
014066  3021		DCA CNT
014067  6211		CDF 10

014070  1661	PLOOP,	TAD I ERROR
014071  4320		JMS GTSXBT
014072  2021		ISZ CNT
014073  7450		SNA
014074  5277		JMP .+3
014075  4310		JMS CONVTP
014076  5270		JMP PLOOP

014077  4332		JMS CRLF
014100  5776' 		JMP ABORT

014101  0000	BLANK,	0		/BLANKS ROUTINE
014102  7041		CIA
014103  3332		DCA CRLF
014104  4310		JMS CONVTP
014105  2332		ISZ CRLF
014106  5304		JMP .-2
014107  5701		JMP I BLANK

014110  0000	CONVTP,	0
014111  7440		SZA
014112  1370		TAD (240
014113  0367		AND (77
014114  1370		TAD (240
014115  6211		CDF 10
014116  4433		JMS I OSWTCH

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 12-2

014117  5710		JMP I CONVTP

014120  0000	GTSXBT,	0
014121  7104		CLL RAL
014122  1021		TAD CNT
014123  7030		CML RAR
014124  3332		DCA CRLF
014125  1732		TAD I CRLF
014126  7420		SNL
014127  7002		BSW
014130  0367		AND (77
014131  5720		JMP I GTSXBT

014132  0000	CRLF,	0
014133  7200		CLA
014134  6211		CDF 10
014135  1372		TAD (215
014136  4433		JMS I OSWTCH
014137  1371		TAD (212
014140  4433		JMS I OSWTCH
014141  5732		JMP I CRLF

014142  0000	MESAG,	0
014143  1256		TAD M100
014144  3021		DCA CNT
014145  1742	MSGLP,	TAD I MESAG
014146  4320		JMS GTSXBT
014147  2021		ISZ CNT
014150  7450		SNA
014151  5354		JMP MSGND
014152  4310		JMS CONVTP
014153  5345		JMP MSGLP
014154  2342	MSGND,	ISZ MESAG
014155  5742		JMP I MESAG

014156  4261	WRTERR,	JMS ERROR
014157  4322		OUERR+40

014160  4261	CLOERR,	JMS ERROR
014161  4334		CLERR+40

014167  0077
014170  0240
014171  0212
014172  0215
014173  0100
014174  0336
014175  0200
014176  4747
014177  7642
	4200		PAGE

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 13













014200  0411	VERNO,	TEXT "DIRECT V50X"
014201  2205
014202  0324
014203  4026
014204  6560
014205  3000
014206  1114	ILLQ,	TEXT "ILLEGAL ?"
014207  1405
014210  0701
014211  1440
014212  7700
014213  1114	ILLA,	TEXT "ILLEGAL *"
014214  1405
014215  0701
014216  1440
014217  5200
014220  7405	EMPTYM,	TEXT "<EMPTY>  "
014221  1520
014222  2431
014223  7640
014224  4000
014225  4006	FRBLM,	TEXT " FREE BLOCKS"
014226  2205
014227  0540
014230  0214
014231  1703
014232  1323
014233  0000
014234  4040	VERMES,	TEXT "  VERSION "
014235  2605
014236  2223
014237  1117
014240  1640
014241  0000
014242  0521	BIGEQ,	TEXT "EQUALS OPTION BAD"
014243  2501
014244  1423
014245  4017
014246  2024
014247  1117
014250  1640
014251  0201
014252  0400

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 13-1

014253  0201	BADDIR,	TEXT "BAD DIRECTORY"
014254  0440
014255  0411
014256  2205
014257  0324
014260  1722
014261  3100
014262  0522	OUERR,	TEXT "ERROR WRITING FILE"
014263  2217
014264  2240
014265  2722
014266  1124
014267  1116
014270  0740
014271  0611
014272  1405
014273  0000
014274  0522	CLERR,	TEXT "ERROR CLOSING FILE"
014275  2217
014276  2240
014277  0314
014300  1723
014301  1116
014302  0740
014303  0611
014304  1405
014305  0000
014306  1617	SPRBLM,	TEXT "NO ROOM FOR OUTPUT"
014307  4022
014310  1717
014311  1540
014312  0617
014313  2240
014314  1725
014315  2420
014316  2524
014317  0000
014320  0522	BADIRD,	TEXT "ERROR READING DIRECTORY"
014321  2217
014322  2240
014323  2205
014324  0104
014325  1116
014326  0740
014327  0411
014330  2205
014331  0324
014332  1722
014333  3100
014334  1617	NFLEIN,	TEXT "NO DIR-DEVICE"
014335  4004
014336  1122
014337  5504
014340  0526
014341  1103

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 13-2

014342  0500
014343  1617	NOTTY,	TEXT "NO TTY HANDLER"
014344  4024
014345  2431
014346  4010
014347  0116
014350  0414
014351  0522
014352  0000
014353  4006	FILESM,	TEXT " FILES IN "
014354  1114
014355  0523
014356  4011
014357  1640
014360  0000
014361  4002	BLOCKM,	TEXT " BLOCKS - "
014362  1417
014363  0313
014364  2340
014365  5540
014366  0000
014367  1116	HDRINI,	TEXT "INITIALIZED: "
014370  1124
014371  1101
014372  1411
014373  3205
014374  0472
014375  4000

014376  0201	DATTAB,	TEXT "BAD"	/PROTECTION AGAINST BAD DATES
014377  0400
014400  1201		TEXT "JAN"
014401  1600
014402  0605		TEXT "FEB"
014403  0200
014404  1501		TEXT "MAR"
014405  2200
014406  0120		TEXT "APR"
014407  2200
014410  1501		TEXT "MAY"
014411  3100
014412  1225		TEXT "JUN"
014413  1600
014414  1225		TEXT "JUL"
014415  1400
014416  0125		TEXT "AUG"
014417  0700
014420  2305		TEXT "SEP"
014421  2000
014422  1703		TEXT "OCT"
014423  2400
014424  1617		TEXT "NOV"
014425  2600
014426  0405		TEXT "DEC"
014427  0300

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 13-3

			

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 14




















014430  0000	CKDATE,	0		/ORGANIZE OUTPUT CHRONOLOGICALLY
014431  1032		TAD SORTOP	/DF=10
014432  0377		AND (420	/CHECK D AND T
014433  7640		SZA CLA
014434  1034		TAD INFWDS	/THERE MUST BE A SYSTEM DATE
014435  7141	CLLCIA,	CLL CIA
014436  0776' 		AND DATE	/AND ENOUGH INFORMATION WORDS
014437  6201		CDF 0
014440  7650		SNA CLA
014441  5630		JMP I CKDATE	/OTHERWISE ITS  **NO DEAL**
014442  1032		TAD SORTOP	/CHECK  /T
014443  0375		AND (20		/'CML' BIT
014444  1235		TAD CLLCIA
014445  3253		DCA TEST1
014446  1431		TAD I CK1	/GET THE FIRST DATE
014447  4267		JMS CKYEAR	/TRANSFORM THE YEAR
014450  3263		DCA TEST2
014451  1427		TAD I CK2	/REPEAT
014452  4267		JMS CKYEAR
014453  7141	TEST1,	CLL CIA		/COMPARE YEARS
014454  1263		TAD TEST2
014455  7440		SZA
014456  5630		JMP I CKDATE	/UNEQUAL
014457  1253		TAD TEST1
014460  3263		DCA TEST2	/EQUAL: CHECK MONTH, DAY
014461  1427		TAD I CK2
014462  0374		AND (7770
014463  7141	TEST2,	CLL CIA
014464  1431		TAD I CK1
014465  0374		AND (7770	/REMOVE THE YEAR BITS
014466  5630		JMP I CKDATE

014467  0000	CKYEAR,	0		/EXTENDED DATE CHECK FOR OS/8-V3D
014470  7450		SNA		/T FIX: LEAVE UNDATED FILES ALONE
014471  5667		JMP I CKYEAR	/ THANKS TO DON HARMER, GA. TECH.
014472  6201		CDF 0

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 14-1

014473  0373		AND (7
014474  3030		DCA TEMP
014475  6211		CDF 10
014476  1776' 		TAD DATE	/COMPARE WITH THE SYSTEM DATE
014477  0373		AND (7
014500  7041		CIA
014501  1030		TAD TEMP
014502  7740		SMA SZA CLA
014503  1374		TAD (-10	/TOO BIG, DECREASE BY 8
014504  1372		TAD (106-144	/70-100
014505  1322		TAD EXTDAT
014506  1030		TAD TEMP
014507  7550		SPA SNA
014510  1371		TAD (144	/100
014511  6201		CDF 0
014512  5667		JMP I CKYEAR

014513  0000	SETDAT,	0
014514  7112		CLL RTR
014515  7012		RTR
014516  0370		AND (70		/GET EXTENDED DATE BITS
014517  3322		DCA EXTDAT
014520  6211		CDF 10
014521  5713		JMP I SETDAT
014522  0000	EXTDAT,	0

014523  0000	PRINT,	0
014524  3010		DCA XR
014525  6201		CDF 0
014526  1410		TAD I XR
014527  7440		SZA
014530  1367		TAD (-232
014531  7450		SNA
014532  5723		JMP I PRINT
014533  1366		TAD (232
014534  6211		CDF 10
014535  4433		JMS I OSWTCH
014536  5325		JMP PRINT+2

014537  0000	HEADER,	0
014540  6201		CDF 0
014541  2765		ISZ I (HDRFLG	/6202
014542  5737		JMP I HEADER
014543  6211		CDF 10
014544  1764' 		TAD OPT1
014545  0375		AND (20		/CHECK THE HEADER OPTION
014546  7640		SZA CLA		/WAS SNA CLA, FOR ALWAYS EXCEPT
014547  4763' 		JMS HEADPT
014550  6201		CDF 0
014551  1762		TAD I (HDRDID
014552  7450		SNA
014553  5737		JMP I HEADER
014554  0370		AND (70		/GET EXTENDED DATE BITS
014555  3322		DCA EXTDAT
014556  5737		JMP I HEADER

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 14-2


014562  6211
014563  3060
014564  7643
014565  6202
014566  0232
014567  7546
014570  0070
014571  0144
014572  7742
014573  0007
014574  7770
014575  0020
014576  7666
014577  0420
	4600		PAGE
	0001		FIELD 1
	4600		*4600
			$$$$$$

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 15

ABORT  4747      DIGIT  3500      HDRZEA 6204      NXTCHR 3660
ACK    4644      DIRADD 3604      HDRZ6  6276      OCPTR  2001
ACNT   0014      DIRBUF 3600      HDR10  6310      OLOOP  2036
AC2    7326      DIRDAT 3340      HDR11  6311      OPLP   2731
AC4000 7330      DIRECT 3600      HEADER 4537      OPRNT  2723
AINO   4737      DIRFIL 3606      HEADPT 3060      OPT1   7643
AI1    2027      DIRHDR 6200      HEMPTY 3000      OPT2   7644
ALLDUN 3227      DIRMSG 3354      HOLD   2116      OSWTCH 0033
ALNCNT 0037      DIRNXT 3602      HOLD2  2137      OUERR  4262
ALTOPT 7642      DIRSTR 3601      IDBLVT 4743      OUHAND 0023
AO1    4704      DIRTY  2211      IDLE   4047      OUTCHR 2062
AO2    4715      DIVLPY 3521      ILLA   4213      OUWDCT 2000
BADDIR 4253      DOMOIN 2017      ILLQ   4206      O200   2040
BADEQ  4735      DSK    3326      INDERR 2340      PAGE10 2002
BADIRD 4320      DUMP   2116      INFPTR 0022      PAGE11 2200
BCNT   0015      D7700  2204      INFWDS 0034      PAGE12 2400
BIDIR  2342      ECHO   4060      INHAND 0024      PASSND 3264
BIGEQ  4242      ECNT   0016      INSCNT 0036      PDATE  3400
BLANK  4101      EMPTYM 4220      LENGTH 4731      PFLAG  0035
BLCK   4730      EMSG   3032      LISTEM 3015      PLOOP  4070
BLCKN  2141      ENDCHK 2034      LNCNT  0025      PNBLK  2705
BLOCKM 4361      EOLIN  3046      MAINLP 3747      PNLOOP 2654
BLOOP  2412      EPTR   0026      MATCH  2513      PNTFLG 3472
BUFAD  2140      EQLS   7646      MDATE  2745      PRBLNK 3547
CDCALL 4602      EQUALT 4613      MESAG  4142      PRCPAS 3315
CHAIN  4605      ERROR  4061      MEXT   2462      PRINT  4523
CHECK  3616      EXTDAT 4522      MLP    2436      PRNUM  3507
CHKR   3201      FCNT   0017      MOIN   0031      PROCF  3215
CKDATE 4430      FDATE  3442      MOLIN  3055      PRTDIG 3533
CKNAME 3655      FILEC  0032      MONS   3426      PTR    0020
CKYEAR 4467      FILESM 4353      MONTHS 3460      PT1    0020
CK1    0031      FRBLM  4225      MOONS  3500      PT2    0026
CK2    0027      GETCNT 2304      MOVE   3706      PWRTEN 3474
CLEN   2057      GOT1   2600      MOVE1  2557      QINO   4741
CLERR  4274      GTSXBT 4120      MOVMT  2550      REFRMT 3740
CLLCIA 4435      G100   2607      MSGLP  4145      REPROC 2405
CLOERR 4160      HDEND  3120      MSGND  4154      RFLAG  0024
CMN    4722      HDRBAT 6313      MTRTN  2536      ROWCNT 0013
CNT    0021      HDRBLK 6304      M0NS   3415      RPOS   2114
CNTUP  4663      HDRDAT 6312      M0NTHS 3452      RPOS1  2064
CNT1   0011      HDRDID 6211      M100   4056      RPOS2  2066
CNT2   0012      HDRFLG 6202      NEMPTY 2477      RPOS3  2070
COLCNT 3334      HDRINI 4367      NEXTI  2431      SETDAT 4513
COLCTR 3333      HDRLBL 6400      NEXT1  3611      SETUP  3727
CONT   3714      HDRLEN 6203      NFIN   2336      SKPBLK 2716
CONVTP 4110      HDRREL 6307      NFLEIN 4334      SKPCNT 0011
CRLF   4132      HDRSID 6305      NODATE 2703      SKPCTB 3326
CTLWD  2137      HDRSQM 6206      NOMATR 2132      SKPCTR 0012
CTYPE  4024      HDRSQO 6205      NOROOM 4745      SORT   3600
C200   3256      HDRSTR 6210      NOSIZE 3044      SORTOP 0032
C400   3200      HDRSYS 6207      NOSUB  2317      SORTX  3674
C5     4603      HDRUDV 6277      NOSWAP 3670      SPRBLM 4306
DAFLG  0027      HDRUSA 6300      NOTMT  3635      SPURGE 4021
DATE   7666      HDRVER 6306      NOTTY  4343      SWAP   3701
DATTAB 4376      HDRVOL 6304      NULLCK 4673      SYSMES 3556

/OS/8 DIRECT V50X FOR KBM V50		  PAL8-V50Y 13-DEC-22 PAGE 15-1

S1C    4626      
S4L    4641      
TEMP   0030      
TEST1  4453      
TEST2  4463      
TTY    4052      
TTYHND 4710      
TTY2   4714      
TYPE   4000      
VERMES 4234      
VERNO  4200      
VOLMES 3551      
WILDA  2506      
WILDQ  2504      
WILDX  2435      
WRTERR 4156      
XFORM  2515      
XR     0010      
XX60   2614      



ERRORS DETECTED: 0
LINKS GENERATED: 134