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


/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 1

		/ OCTAL COMPARE V50
		/
		/
		/
		/
		/
		/WVDM, ZUERICH, OCT-1980
		/
		/ OCOMP.PA 78.04.03  OCTAL COMPARE AND DUMP
		/
		/ BY:
		/	DENNIS MCGHIE
		/	DEPT. OF CARDIOVASCULAR SURGERY
		/	STANFORD MEDICAL CENTER
		/	STANFORD, CALIF. 94305

		/ 1978 APRIL 3  MODIFIED FOR OS/8 V3D (FIXED CCB MASK)
		/    2ND INPUT DEVICE WITH NO FILENAME NOW USES 1ST FILENAME

		/	TIM CLARKE	MENLO COMPUTER ASSOCIATES
		/			BOX 298
		/			MENLO PARK, CALIFORNIA 94025
		/
		/	WVDMARK		GERMAN MESSAGES
		/
		/	GERMAN=1	NOT ANYMORE
		/
		/     OCOMP IS AN OS/8 UTILITY PROGRAM USED TO
		/  COMPARE OR DUMP OS/8 FILES.  BOTH MASKING AND
		/  SEARCHING ARE ALLOWED.  THE MASK IS ENTERED BY
		/  THE "=" OPTION (ONLY THE LEAST SIGNIFICANT 12
		/  BITS ARE USED) AND FOR CONVENIENCE, A MASK OF 0000
		/  IS CHANGED TO 7777 UNLESS /S IS SPECIFIED.
		/  THE SEARCH FEATURE IS SPECIFIED BY THE "/S" OPTION.
		/  ALL OUTPUT IS IN OCTAL.

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 2


		/ A.	THE THREE MODES OF OPERATION ARE:
		/
		/  1. COMPARE:  TWO INPUT FILES SPECIFIED ARE
		/	COMPARED WORD-FOR-WORD UNDER THE MASK,
		/	ANY DIFFERENCES CAUSE THE OCTAL VALUE
		/	OF THE UNMATCHED WORDS TO BE PUT IN THE
		/	OUTPUT FILE.
		/
		/  2. DUMP:  ONLY ONE INPUT FILE IS SPECIFIED AND
		/	IT IS DUMPED (IN OCTAL) TO THE OUTPUT FILE.
		/	IF A MASK IS SPECIFIED, ONLY THOSE WORDS
		/	WITH ALL MASKED BITS IN THE 1 STATE ARE
		/	OUTPUT.
		/
		/  3. SEARCH:  ONLY ONE INPUT FILE IS SPECIFIED,
		/	ALONG WITH "/S".  ONLY THOSE WORDS EQUAL TO
		/	THE MASK ARE DUMPED TO THE OUTPUT FILE.
		/
		/
		/ B.	IN ADDITION, IF /I IS SPECIFIED, THE ABOVE
		/	MODES ARE AVAILABLE, BUT THE INPUT FILES ARE
		/	ASSUMED TO BE "SAVE" FILES.  THE CCB IS DECODED
		/	AND COMPARISONS ARE BY MEMORY ADDRESS, RATHER
		/	THAN RELATIVE BLOCK NUMBER.
		/
		/
		/ C.	IF /C IS SPECIFIED IN ADDITION TO /I, THE
		/	DECODED CCB WILL BE PRINTED AS PART OF THE TITLE.
		/
		/
		/ D. DIFFERENCES:  A SPECIAL MODE IS AVAILABLE WHEN /D
		/	IS SPECIFIED.  IN THIS CASE, TWO FILES ARE
		/	CHECKED FOR DIFFERENCES ONLY.
		/
		/    OUTPUT WILL BE EITHER
		/		"FILES SAME"
		/    OR		"FILES DIFFERENT"
		/
		/
		/ E.	IF /F IS SPECIFIED, ANY BLOCK WHICH PRODUCES
		/	OUTPUT WILL HAVE A FORM FEED CHARACTER PRECEEDING
		/	ITS HEADER LINE.  THIS MODE IS USEFUL WHEN THE
		/	OUTPUT IS TO A SCOPE.
		/
		/
		/ F.	IF /T IS SPECIFIED, THE OUTPUT FORMAT IS CHANGED
		/	SO THAT IT WILL FIT ON THE 72 CHARACTER LINE OF
		/	A TELETYPE.
		/
		/
		/ G.	A HEADER LINE IS NORMALLY PRINTED IN THE OUTPUT FILE
		/	UNLESS THE OUTPUT IS TO TTY:.  /H WILL CAUSE THE
		/	HEADER TO BE PRINTED EVEN IF OUTPUT IS TO TTY:

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 3


		/
		/ OTHER PROGRAM ACTIONS:

		/  A.	SPECIFYING NO INPUT FILE WILL CAUSE A RETURN
		/	TO THE COMMAND DECODER.  IF A SECOND INPUT
		/	DEVICE IS SPECIFIED WITHOUT A FILENAME, THE
		/	FILENAME FROM THE FIRST INPUT SPECIFICATION
		/	IS USED.


		/  B.	"USER ERROR ..." MESSAGES WILL BE OUTPUT
		/	UNDER THE FOLLOWING CONDITIONS:

		/	ERROR		CONDITION
		/	  1	MORE THAN TWO INPUT FILES.
		/	  2	OUTPUT FILE TOO SMALL.
		/	  3	OUTPUT HANDLER FETCH OR ENTER FAILED.
		/	  4	INPUT HANDLER FETCH OR LOOKUP FAILED.
		/	  5	INPUT FILE #1 ERROR.
		/	  6	INPUT FILE #2 ERROR.
		/	  7	OUTPUT FILE ERROR.
		/	  8	OUTPUT FILE CLOSE FAILED.
		/	  9	INVALID CCB IN /I INPUT FILE.

		/  C.	"NO OUTPUT" OR "NO DIFFERENCES" WILL BE PUT
		/	IN THE OUTPUT FILE IF NOTHING ELSE IS OUTPUT.

		/  D.	THE DEFAULT INPUT EXTENSION IS ".SV" IF /I 
		/	OTHERWISE NO DEFAULT IS APPLIED.

		/  E.	THE DEFAULT OUTPUT DEVICE IS TTY:

		/  F.	THE DEFAULT OUTPUT EXTENSION IS ".LS".


		/ COMMAND DECODER USAGE:

		/	.R OCOMP
		/	*OFILE < IFILE1 [,IFILE2] [(OPTIONS)] [=NNNN]

		/	ITEMS IN [...] ARE OPTIONAL.


		/ ASSEMBLY INFORMATION:

		/	.R PAL8
		/	*OCOMP<OCOMP/L$
		/	.SAVE ... OCOMP;12000=6403

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 4


		/
		/ PAGE 0 DEFINITIONS:

	0000	IWD1=	0	/ INPUT 1 BUFFER PTR
	0001	IWD2=	1	/ INPUT 2 BUFFER PTR
	0002	DUMPSW=	2	/ = 0 IF COMPARE MODE, = 1 IF DUMP MODE
	0003	DUMP2S=	3	/ = 1 IF FILE 2 IS LONGER THAN FILE 1
	0004	RELBLK=	4	/ RELATIVE BLOCK NUMBER
	0005	RELBK2=	5	/ RELATIVE BLOCK NUMBER (FILE 2), IF /I
	0006	INH1=	6	/ INPUT HANDLER 1 ENTRY

	0010	XR10=	10
	0011	XR11=	11
	0012	XR12=	12
	0013	XR13=	13
	0014	XR14=	14



	0020	INH2=	20	/ INPUT HANDLER 2 ENTRY
	0021	SLASHD=	21	/ = 400 IF /D, = 0 OTHERWISE
	0022	SLASHI=	22	/ = 10 IF /I, = 0 OTHERWISE
	0023	OUTH=	23	/ OUTPUT HANDLER ENTRY
	0024	OCNT=	24	/ OUTPUT BUFFER TRIPLET COUNTER
	0025	TMP=	25
	0026	IBLEN=	26	/ INPUT BUFFER LENGTH IN BLKS
	0027	EBCNT=	27	/ EMPTY BUFFER CTR
	0030	LPBLK=	30	/ LINES PER BLOCK (100 OR 40)
	0031	NGRPS=	31	/ # GROUPS PER LINE COUNTER
	0032	SEGSIZ=	32	/ SEGMENT SIZE = # CHARS IN NGRPS
	0033	PGPTR1=	33	/ PAGE TABLE POINTER FILE 1
	0034	PGPTR2=	34	/ PAGE TABLE POINTER FILE 2
	0035	ANYOUT=	35	/ = 0 IF NOTHING OUTPUT, OTHERWISE = 1
	0036	CHAIN=	36	/ CHAIN SWITCH

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 5


				/ 00000-01777 (COMMAND DECODER)
				/ 01200-      (CD LINE BUFFER)

	2000	IBUF1=	2000	/ 02000-03777 (INPUT BUFFER, FILE 1)
	4000	IBUF2=	4000	/ 04000-05777 (INPUT BUFFER, FILE 2)
				/ 06000-06177 (UNUSED)
	6201	OHAND=	6201	/ 06200-06577 (OUTPUT HANDLER PAGES)
	6601	IHAND1=	6601	/ 06600-07177 (INPUT 1 HANDLER PAGES)
	7201	IHAND2=	7201	/ 07200-07577 (INPUT 2 HANDLER PAGES)

				/ 10000-11777 (USR & SCRATCH STORAGE)
	1400	LBUF1=	1400	/ 11400-11577 (LINE BUFFER 1)
	1600	LBUF2=	1600	/ 11600-11777 (LINE BUFFER 2)

				/ 12000-15377 (PROGRAM)
	5400	OBUF=	5400	/ 15400-16377 (OUTPUT BUFFER)
	6400	PGTAB1=	6400	/ 16400-16777 (/I PAGE TABLE 1)
	7000	PGTAB2=	7000	/ 17000-17377 (/I PAGE TABLE 2)
				/ 17400-17577 (PROGRAM)


	0200	USR=	200

	7240		M1C=	STA
	7344		M2C=	STA CLL RAL
	7346		M3C=	STA CLL RTL

	7201		P1C=	CLA IAC
	7326		P2C=	STL CLA RTL
	7332		P2000C=	STL CLA RTR

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 6




	0001		FIELD 1
	2000		*2000

012000  1377	OCSTA,	TAD (200	/ RUN ENTRY (OFFSET FOR CD BUFFER)
012001  3036		DCA CHAIN	/ CHAIN ENTRY
012002  1036		TAD CHAIN
012003  7650		SNA CLA
012004  5210		JMP NODEC	/ FROM CCL, NO DECODE
012005  4777		JMS I (USR	/ CALL USR
012006  0005		 5		/  DECODE
012007  5200		 5200		/  SPECIAL MODE
012010  1701	NODEC,	TAD I A7605
012011  7650		SNA CLA
012012  5776' 		JMP ALT		/ NO INPUT FILE, CHECK FOR ALT MODE
012013  1775		TAD I (7617
012014  7640		SZA CLA		/ A 3RD INPUT SPECIFIED?
012015  4774' 		JMS ERROR1	/ YES-BAD NEWS

012016  4773' 		JMS PAGSET	/ SET PAGE SIZE PARAMS (USE /T AS SWITCH)
					/  ALSO INIT OUTPUT BUFFER PARAMS

012017  1772		TAD I (7643
012020  0371		AND (10		/ MASK FOR /I
012021  3022		DCA SLASHI	/ 0=NOT SET, 10=SET
012022  4770' 		JMS DEFALT	/ GO SET FILE DEFAULTS

012023  1772		TAD I (7643
012024  0367		AND (400	/ MASK FOR /D
012025  3021		DCA SLASHD	/ 0=NOT SET, 400=SET

		/ INITIALIZE THE SEARCH/COMPARE MASK

012026  1766		TAD I (7646	/ GET LOW 12 BITS OF "="
012027  7450		SNA		/ USE AS IS IF NON-ZERO
012030  7040	PCMA,	CMA		/ OTHERWISE USE ALL 1'S
012031  3765' 		DCA MASK	/ SET UP THE MASK
012032  1766		TAD I (7646
012033  3764' 		DCA DMASK	/ ALSO SET UP THE DUMP AND SEARCH MASK
012034  1230		TAD PCMA
012035  3763' 		DCA CHP1
012036  1362		TAD (DMASK&177!200	/ "AND DMASK"
012037  3761' 		DCA CHP3

012040  1360		TAD (4410
012041  3757' 		DCA OFUNWD	/ OUTPUT FUNCTION WORD IN WRITE
012042  7326		P2C
012043  3756' 		DCA WBLN	/ OUTPUT BUFFER LENGTH

012044  1355		TAD (OHAND
012045  3251		DCA OHANA	/ RESET FETCH HANDLER WORD
012046  1754		TAD I (7600	/ GET OUTPUT DEVICE NUMBER
012047  4777		JMS I (USR

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 6-1

012050  0001		 1		/  FETCH
012051  6201	OHANA,	 OHAND		/  BECOMES ENTRY POINT
012052  4753' 		 JMS ERROR3	/  FETCH FAILED
012053  1251		TAD OHANA
012054  3023		DCA OUTH	/ OUTPUT HANDLER ENTRY ADDRES ON PAGE 0
012055  1352		TAD (7601
012056  3262		DCA STBLK	/ RESET NAME PTR
012057  1754		TAD I (7600	/ REGET DEVICE NUMBER
012060  4777		JMS I (USR
012061  0003		 3		/  ENTER
012062  7601	STBLK,	 7601		/  NAME POINTER (BECOMES START BLOCK)
012063  0000	MLEN,	 0		/  BECOMES -LENGTH OF FILE
012064  4753' 		 JMS ERROR3	/  ENTER FAILED
012065  1262		TAD STBLK
012066  3751' 		DCA OBLK	/ CURRENT OUTPUT BLOCK #
012067  3750' 		DCA FULLSW	/ CLEAR OUTPUT FILE FULL SWITCH

012070  7240		M1C
012071  3027		DCA EBCNT	/ FORCE READ TO START
012072  3035		DCA ANYOUT
012073  3004		DCA RELBLK
012074  3002		DCA DUMPSW
012075  3003		DCA DUMP2S

012076  4747' 		JMS FLGET	/ OPEN INPUT 1
012077  6601		 IHAND1
012100  0006		 INH1
012101  7605	A7605,	 7605
012102  2270		 BLEFT1
012103  3222		 INBLK1
012104  3227		 EBLK1
012105  3746' 		DCA ISTB1

012106  1745		TAD I (7612	/ GET 2ND INPUT DEVICE NUMBER
012107  7640		SZA CLA		/ SPECIFIED?
012110  5744' 		JMP TWOIN	/ YES

		/ ONLY ONE INPUT FILE WAS SPECIFIED

012111  2002		ISZ DUMPSW	/ SET DUMP SWITCH
012112  1031		TAD NGRPS
012113  7104		CLL RAL		/ TWICE AS MANY IF DUMP MODE
012114  3031		DCA NGRPS
012115  1371		TAD (10
012116  3026		DCA IBLEN	/ DOUBLE LENGTH OF INPUT BUFFER
012117  7332		P2000C
012120  3743' 		DCA IFNWD1	/ NEW FUNCTION WORD FOR READ (20 PGS, NOT 10)
012121  1030		TAD LPBLK
012122  7130		STL RAR		/ NEG DIV BY 2
012123  3030		DCA LPBLK	/ HALF AS MANY LINES PER BLOCK
012124  1742		TAD I (7644	/ CHECK FOR /S
012125  0341		AND (40
012126  7650		SNA CLA
012127  5740' 		JMP DOIT
012130  2763' 		ISZ CHP1	/ /S CHANGES THE CMA TO A CIA

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 6-2

012131  1337		TAD (DMASK&177!1200	/ "TAD DMASK"
012132  3761' 		DCA CHP3	/ ALSO CHANGES THE AND TO A TAD
012133  5740' 		JMP DOIT



012137  1261
012140  2214
012141  0040
012142  7644
012143  3220
012144  2200
012145  7612
012146  3353
012147  4241
012150  4232
012151  4221
012152  7601
012153  5125
012154  7600
012155  6201
012156  4231
012157  4217
012160  4410
012161  2664
012162  0261
012163  2663
012164  2661
012165  2660
012166  7646
012167  0400
012170  4400
012171  0010
012172  7643
012173  5047
012174  5127
012175  7617
012176  2453
012177  0200
	2200		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 7





		/ SECOND INPUT SPECIFIED

012200  1377	TWOIN,	TAD (1000
012201  3776' 		DCA IFNWD1
012202  1375		TAD (4
012203  3026		DCA IBLEN	/ INPUT BUFFER LENGTH (4 BLOCKS)
012204  4774' 		JMS FLGET	/ OPEN INPUT 2
012205  7201		 IHAND2
012206  0020		 INH2
012207  7612	A7612,	 7612
012210  2271		 BLEFT2
012211  3252		 INBLK2
012212  3257		 EBLK2
012213  3773' 		DCA ISTB2

012214  1022	DOIT,	TAD SLASHI	/ /I SWITCH
012215  7650		SNA CLA		/ SET?
012216  5272		JMP DOLOOP-1	/ NO-INITIALIZATION FINISHED

012217  4772' 		JMS CCBZER	/ ZERO THE PAGE TABLES
012220  4771' 		JMS READ1	/ FILL 1ST BUFFER
012221  4770' 		JMS MOVEBL	/ MOVE A BLOCK
012222  1777		 IBUF1-1	/  FROM HERE
012223  5377		 OBUF-1		/  TO HERE
012224  4767' 		JMS CCBDEC	/ DECODE FILE 1 CCB
012225  4734		 CCBG1-1	/  POINT TO FILE 1 PARAMETER TABLE
012226  1002		TAD DUMPSW	/ ONLY ONE FILE SWITCH
012227  7640		SZA CLA		/ SET?
012230  5237		JMP DOLI	/ YES-ONLY ONE FILE

012231  4766' 		JMS READ2
012232  4770' 		JMS MOVEBL
012233  3777		 IBUF2-1
012234  5777		 OBUF+400-1
012235  4767' 		JMS CCBDEC	/ DECODE 2ND CCB
012236  4742		 CCBG2-1	/  POINT TO FILE 2 PARAMETER TABLE

012237  4765' 	DOLI,	JMS TITLE	/ PRINT RUN TITLE
012240  1764		TAD I (7643
012241  0377		AND (1000	/ MASK FOR /C
012242  7640		SZA CLA		/ SET?
012243  4763' 		JMS CCBOUT	/ YES-PRINT CCB(S)

012244  1362		TAD (PGTAB1
012245  3033		DCA PGPTR1	/ PAGE TABLE POINTER (FILE 1)
012246  1361		TAD (PGTAB2
012247  3034		DCA PGPTR2	/ PAGE TABLE POINTER (FILE 2)
012250  1360		TAD (-200
012251  3267		DCA PGCTR	/ 400 PAGES IN MAX MACHINE

012252  4757' 	DOLIL,	JMS SETSW	/ SET DUMPSW & DUMP2S ACCORDING TO PGPTRS

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 7-1

012253  4756' 		 JMS READIN	/  SETUP BUFFER PTR(S) IF PAGES USED
012254  4757' 		JMS SETSW	/ CALL AGAIN TO SAVE A WORD
012255  4755' 		 JMS DOUT	/  SEND A "PAGE"
012256  2033		ISZ PGPTR1	/ BUMP FOR 2ND PAGE OF PAIR
012257  2034		ISZ PGPTR2
012260  4757' 		JMS SETSW	/ CHECK SWITCHES AGAIN
012261  4755' 		 JMS DOUT	/  IT IS USED, OUTPUT A "CORE PAGE"
012262  2033		ISZ PGPTR1	/ BUMP PTRS AGAIN
012263  2034		ISZ PGPTR2
012264  2267		ISZ PGCTR	/ SCANNED ALL PAGES?
012265  5252		JMP DOLIL	/ NO
012266  5312		JMP FINISH	/ YES

012267  0000	PGCTR,	0		/ PAGE TABLE PAIR COUNTER
012270  0000	BLEFT1,	0		/ BLOCKS LEFT IN INPUT 1
012271  0000	BLEFT2,	0		/ BLOCKS LEFT IN INPUT 2


012272  4765' 		JMS TITLE	/ PRINT RUN TITLE
012273  4756' 	DOLOOP,	JMS READIN	/ COPE WITH BUFFER FILLING
012274  4755' 		JMS DOUT	/ OUTPUT THE BLOCK
012275  2004		ISZ RELBLK	/ BUMP RELATIVE BLK #
012276  2271		ISZ BLEFT2	/ BUMP INPUT 2 LENGTH CTR
012277  5304		JMP DO3		/ NOT EMPTY YET
012300  1003		TAD DUMP2S	/ 2ND FILE EMPTY, CHECK IF DUMPING
012301  7640		SZA CLA		/ 2ND DUMP MODE?
012302  5312		JMP FINISH	/ YES-THRU
012303  2002		ISZ DUMPSW	/ NO-GO TO 1ST DUMP MODE
012304  2270	DO3,	ISZ BLEFT1	/ BUMP INPUT 1 LENGTH CTR
012305  5273		JMP DOLOOP	/ GO BACK & DO MORE
012306  2003		ISZ DUMP2S	/ SET 2ND DUMP SWITCH
012307  1002		TAD DUMPSW	/ 1ST FILE EMPTY
012310  7650		SNA CLA		/ DUMP MODE ALREADY?
012311  5273		JMP DOLOOP	/ NO-KEEP GOING
					/ YES-FINISH OUTPUT & CLOSE
012312  1021	FINISH,	TAD SLASHD	/ GET /D SWITCH
012313  7650		SNA CLA		/ SET?
012314  5322		JMP FINI	/ NO-NORMAL

012315  1035		TAD ANYOUT	/ YES-SHORTENED OUTPUT
012316  7640		SZA CLA		/ ANY DIFFERENCES?
012317  1354		TAD (MESNC-MESND/  "DIFFERENT"
012320  1353		TAD (MESND-1	/  "SAME"
012321  5331		JMP FINC

012322  1035	FINI,	TAD ANYOUT	/ NOT 0 IF ANYTHING OUTPUT
012323  7640		SZA CLA		/ ANYTHING?
012324  5752' 		JMP DONE	/ YES-DONE
012325  1607		TAD I A7612	/ 2ND INPUT DEVICE #
012326  7650		SNA CLA
012327  1354		TAD (MESNA-MESNB/ "NO OUTPUT"
012330  1351		TAD (MESNB-1	/ "NO DIFFERENCES"
012331  4750' 	FINC,	JMS PUTSTR
012332  4747' 		JMS CRLF
012333  5752' 		JMP DONE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 7-2




012347  3623
012350  3641
012351  2734
012352  2412
012353  2751
012354  7773
012355  3000
012356  3260
012357  2460
012360  7600
012361  7000
012362  6400
012363  4057
012364  7643
012365  4462
012366  3230
012367  4600
012370  2525
012371  3200
012372  4751
012373  3354
012374  4241
012375  0004
012376  3220
012377  1000
	2400		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 8





012400  0000	IF1,	ZBLOCK 12	/ INPUT FILE NAMES
	2405	IF2=	IF1+5		/  FOR .SV DEFAULT EMULATION



012412  1377	DONE,	TAD (232	/ "^Z (EOF)
012413  4776' 		JMS PACK	/ TO OUTPUT FILE BUFFER
012414  1024		TAD OCNT	/ BUFFER CHAR COUNTER
012415  1375		TAD (1400	/ RESET VALUE IS -1400
012416  7450		SNA		/ AT START?
012417  5240		JMP DONE2	/ YES-GO CLOSE NOW
012420  1374		TAD (-600	/ NO-WRITE LAST BUFFER
012421  7740		SMA SZA CLA
012422  7001		IAC
012423  7001		IAC
012424  3773' 		DCA WBLN
012425  1773' 		TAD WBLN
012426  7112		CLL RTR;RTR;RTR
012427  7012
012430  7012
012431  1372		TAD (4010
012432  3771' 		DCA OFUNWD	/ NEW FUNCTION WORD FOR CALL TO OUTPUT HANDLER
012433  4776' 	DONE1,	JMS PACK	/ KEEP PACKING 0'S UNTIL BUFFER IS DUMPED
012434  1024		TAD OCNT
012435  1375		TAD (1400	/ RESET VALUE IS -1400
012436  7640		SZA CLA		/ DUMPED BUFFER YET?
012437  5233		JMP DONE1	/ NO-FILL WITH 0'S

012440  1770' 	DONE2,	TAD STBLK
012441  7041		CIA
012442  1767' 		TAD OBLK
012443  3251		DCA NOUT	/ # BLOCKS IN OUTPUT FILE
012444  3007		DCA 7		/ FORCE USR TO REREAD DIRECTORY
012445  1766		TAD I (7600	/ GET OUTPUT DEVICE #
012446  4765		JMS I (USR
012447  0004		 4		/  CLOSE
012450  7601		 7601		/  NAME PTR
012451  0000	NOUT,	 0		/  # BLKS IN OUTPUT
012452  4764' 		 JMS ERROR8	/  CLOSE FAILED!!

012453  1763	ALT,	TAD I (7642	/ GET ALT MODE BIT
012454  7700		SMA CLA		/ ALT MODE IS BIT 0
012455  5762' 		JMP OCSTA	/ NOT SET, CALL CD AGAIN
012456  6203	GIVEUP,	CDF CIF 0
012457  5766		JMP I (7600	/ RETURN TO OS/8



		/ SET IMAGE FILE SWITCHES
		/ RETURN TO CALL+1 IF EITHER SWITCH SET


/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 8-1

012460  0000	SETSW,	0000
012461  3002		DCA DUMPSW	/ CLEAR SWITCHES FOR CHECK
012462  3003		DCA DUMP2S
012463  1433		TAD I PGPTR1	/ CHECK FOR FILE 1 PAGE
012464  7650		SNA CLA		/ USED?
012465  2003		ISZ DUMP2S	/ NO-BUMP 2 ONLY SWITCH
012466  1434		TAD I PGPTR2	/ CHECK FOR FILE 2 PAGE
012467  7650		SNA CLA		/ USED?
012470  2002		ISZ DUMPSW	/ NO-BUMP 1 ONLY SWITCH
012471  7344		M2C
012472  1002		TAD DUMPSW
012473  1003		TAD DUMP2S
012474  7650		SNA CLA		/ EITHER PAGE SWITCH SET?
012475  2260		ISZ SETSW	/ NEITHER PAGE USED, SKIP CALL+1
012476  5660		JMP I SETSW



		/ INITIALIZE INPUT BUFFER PARAMETERS

012477  0000	IINIT,	0000
012500  1362		TAD (IBUF1
012501  3000		DCA IWD1	/ INPUT 1 WORD PTR
012502  1361		TAD (IBUF2
012503  3001		DCA IWD2	/ INPUT 2 WORD PTR
012504  1022		TAD SLASHI
012505  7650		SNA CLA
012506  5311		JMP .+3
012507  7240		M1C
012510  5313		JMP .+3
012511  1026		TAD IBLEN
012512  7041		CIA
012513  3027		DCA EBCNT	/ INPUT BUFFER BLOCK COUNTER
012514  5677		JMP I IINIT



		/ CHECK DUMPSW
		/ GO TO ADDR THAT IS ARG1 IF IT IS SET

012515  0000	DCHK,	0000
012516  1715		TAD I DCHK	/ GET SET ADDRESS
012517  3025		DCA TMP		/ SAVE IT
012520  2315		ISZ DCHK	/ POINT TO OK RETURN
012521  1002		TAD DUMPSW	/ GET SWITCH
012522  7640		SZA CLA		/ CLEAR?
012523  5425		JMP I TMP	/ NO-GO TO ARG ADDR
012524  5715		JMP I DCHK	/ YES-RETURN



		/ MOVE A BLOCK FROM FIELD 0 TO FIELD 1
		/ ARGS ARE SOURCE & DESTINATION ADDRESSES-1

012525  0000	MOVEBL,	0000

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 8-2

012526  1725		TAD I MOVEBL
012527  3010		DCA XR10
012530  2325		ISZ MOVEBL
012531  1725		TAD I MOVEBL
012532  3011		DCA XR11
012533  2325		ISZ MOVEBL
012534  1360		TAD (-400
012535  3025		DCA TMP

012536  6201		CDF 0
012537  1410		TAD I XR10
012540  6211		CDF 10
012541  3411		DCA I XR11
012542  2025		ISZ TMP
012543  5336		JMP .-5
012544  5725		JMP I MOVEBL



012560  7400
012561  4000
012562  2000
012563  7642
012564  5120
012565  0200
012566  7600
012567  4221
012570  2062
012571  4217
012572  4010
012573  4231
012574  7200
012575  1400
012576  3671
012577  0232
	2600		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 9





		/ THIS ROUTINE DECIDES WHAT TO SEND OUT
		/  & PUTS IT IN THE LINE BUFFER(S)

012600  0000	COMPAR,	0000
012601  6201		CDF 0
012602  1002		TAD DUMPSW
012603  7640		SZA CLA
012604  5231		JMP CDMP1	/ ONLY FILE 1
012605  1003		TAD DUMP2S
012606  7640		SZA CLA
012607  5240		JMP CDMP2	/ ONLY FILE 2 LEFT
012610  1400		TAD I IWD1
012611  0260		AND MASK
012612  3025		DCA TMP
012613  1401		TAD I IWD2
012614  0260		AND MASK
012615  7041		CIA
012616  1025		TAD TMP
012617  7640		SZA CLA
012620  5245		JMP COMB	/ DIDN'T MATCH, DUMP THEM

012621  6211	COMC,	CDF 10		/ MATCHED, PACK 4 BLANKS
012622  4777' 		JMS BLOUT
012623  4777' 		JMS BLOUT
012624  4777' 		JMS BLOUT
012625  4777' 		JMS BLOUT
012626  2000	COMA,	ISZ IWD1
012627  2001		ISZ IWD2
012630  5600		JMP I COMPAR


012631  1400	CDMP1,	TAD I IWD1	/ IN DUMP, MASK BITS MUST BE ON IN DATA
012632  4262		JMS CHMSK	/ COMPARE VALUE TO MASK VALUE
012633  1400		TAD I IWD1	/ REGET WORD & SEND IT OUT
012634  6211		CDF 10
012635  4776' 		JMS OCTOUT
012636  3142		 LPACK1
012637  5256		JMP COMN

012640  1401	CDMP2,	TAD I IWD2
012641  4262		JMS CHMSK	/ CHECK AGAINST MASK
012642  1401		TAD I IWD2
012643  6211		CDF 10
012644  5254		JMP COME

012645  1401	COMB,	TAD I IWD2
012646  3025		DCA TMP
012647  1400		TAD I IWD1
012650  6211		CDF 10
012651  4776' 		JMS OCTOUT
012652  3142		 LPACK1

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 9-1

012653  1025		TAD TMP
012654  4776' 	COME,	JMS OCTOUT
012655  3150		 LPACK2
012656  2775' 	COMN,	ISZ NONBL	/ NOT 0 IF NON-BLANK OUTPUT ON THIS LINE
012657  5226		JMP COMA

012660  0000	MASK,	0
012661  0000	DMASK,	0



		/ IN SEARCH ("/S" SPECIFIED), THE "CMA" IS CHANGED
		/  TO "CIA", THE "AND" IS CHANGED TO A "TAD", AND
		/  THE WORD MUST BE EQUAL TO THE MASK TO MATCH.

012662  0000	CHMSK,	0000
012663  7040	CHP1,	CMA		/ CIA IF /S
012664  0261	CHP3,	AND DMASK	/ TAD IF /S
012665  7640		SZA CLA		/ REQUIRED BITS ON?
012666  5221		JMP COMC	/ NO-OUTPUT BLANKS
012667  5662		JMP I CHMSK	/ RETURN TO PRINT IT


		IFNDEF GERMAN <
012670  2205	MESB,	TEXT "RELATIVE BLOCK "
012671  1401
012672  2411
012673  2605
012674  4002
012675  1417
012676  0313
012677  4000
012700  4040	MESL,	TEXT "   ( ABSOLUTE BLOCK "
012701  4050
012702  4001
012703  0223
012704  1714
012705  2524
012706  0540
012707  0214
012710  1703
012711  1340
012712  0000
012713  4051	MESR,	TEXT " )"
012714  0000
012715  2356	MESC1,	TEXT "S.A.= "
012716  0156
012717  7540
012720  0000
012721  1223	MESC2,	TEXT "JSW=   "
012722  2775
012723  4040
012724  4000
012725  0317	MESC3,	TEXT "CORE="
012726  2205

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 9-2

012727  7500
012730  1617	MESNA,	TEXT "NO OUTPUT"
012731  4017
012732  2524
012733  2025
012734  2400
012735  1617	MESNB,	TEXT "NO DIFFERENCES"
012736  4004
012737  1106
012740  0605
012741  2205
012742  1603
012743  0523
012744  0000
012745  0411	MESNC,	TEXT "DIFFERENT"
012746  0606
012747  0522
012750  0516
012751  2400
012752  2301	MESND,	TEXT "SAME"
012753  1505
012754  0000
012755  0611	TXFL,	TEXT "FILES "
012756  1405
012757  2340
012760  0000
			>
		IFDEF GERMAN <
		MESB,	TEXT \RELATIVES BLOCK \
		MESL,	TEXT \  ( ABSOLUTES BLOCK \
		MESR,	TEXT \ )\
		MESC1,	TEXT \START=\
		MESC2,	TEXT \JSW  = \
		MESC3,	TEXT \SPEICHER:\
		MESNA,	TEXT \NICHTS GEFUNDEN\
		MESNB,	TEXT \KEIN UNTERSCHIED\
		MESNC,	TEXT \VERSCHIEDEN\
		MESND,	TEXT \IDENTISCH\
		TXFL,	TEXT \DATEIEN \
			>
012775  3134
012776  3727
012777  3752
	3000		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 10





		/ PUT OUT LPBLK LINES
		/ INITIALIZATION ALREADY COMPLETE

013000  0000	DOUT,	0000
013001  1030		TAD LPBLK
013002  3341		DCA LNCNT	/ # OF LINES COUNTER

		/ OUTPUT TO THE LINE BUFFER

013003  1377	DOUL,	TAD (LBUF1-1
013004  3013		DCA XR13	/ LINE BUFFER PTR
013005  1013		TAD XR13
013006  3347		DCA MAX1
013007  1376		TAD (LBUF2-1
013010  3014		DCA XR14	/ 2ND LINE BUFFER PTR
013011  1014		TAD XR14
013012  3355		DCA MAX2
013013  1031		TAD NGRPS
013014  3336		DCA BUNCH
013015  1000		TAD IWD1
013016  0375		AND (377	/ STRIP TO OFFSET
013017  3340		DCA LINWD	/ SAVE IN CASE ANYTHING ON THIS LINE
013020  3334		DCA NONBL	/ CLEAR BLANK LINE SWITCH

013021  1374	LIN5,	TAD (-4
013022  3337		DCA GROUP	/ 4 WORDS PER GROUP
013023  4773' 		JMS BLOUT	/ EXTRA BLANK BETWEEN GROUPS

013024  4773' 	LIN6,	JMS BLOUT	/ BLANK BETWEEN NUMBERS
013025  4772' 		JMS COMPAR
013026  2337		ISZ GROUP	/ GROUP DONE?
013027  5224		JMP LIN6	/ NO

013030  2336		ISZ BUNCH	/ ALL GROUPS DONE?
013031  5221		JMP LIN5	/ NO

		/ IF CURRENT LINE IS NON-BLANK (NONBL NOT 0),
		/  PACK CURRENT LINE BUFFER INTO OUTPUT BUFFER

013032  1334		TAD NONBL
013033  7650		SNA CLA
013034  5327		JMP CR5		/ BLANK LINE (JUST RESET BUFFER PARAMS)

013035  1021		TAD SLASHD	/ /D SWITCH
013036  7640		SZA CLA		/ DIFFERENCES ONLY?
013037  5332		JMP CR9		/ YES-SETUP FINISH

013040  1771' 		TAD HOUT	/ HEADER OUTPUT SWITCH
013041  7650		SNA CLA		/ ALREADY OUTPUT FOR THIS BLOCK?
013042  4770' 		JMS HEADER	/ NO-SEND NOW
013043  1347		TAD MAX1

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 10-1

013044  7040		CMA
013045  1377		TAD (LBUF1-1
013046  3335		DCA CHCNT	/ # CHARS CTR
013047  1377		TAD (LBUF1-1
013050  3013		DCA XR13	/ BUFFER 1 PTR

		/ SETS UP LINE LABEL IN LINWD IF /I
		/ PACKS FIELD DIGIT IF /I
		/ PACKS SPACE IF NOT /I

013051  1022		TAD SLASHI	/ /I SWITCH
013052  7640		SZA CLA		/ CLEAR?
013053  5256		JMP .+3		/ NO-GO DO REAL WORK
013054  4767' 		JMS PBL		/ YES-PACK A BLANK
013055  5273		JMP CR0

013056  1033		TAD PGPTR1	/ PAGE TABLE POINTER
013057  1366		TAD (-PGTAB1	/ -TABLE BASE ADDR
013060  7012		RTR;RTR;RAR
013061  7012
013062  7010
013063  3025		DCA TMP
013064  1025		TAD TMP
013065  7010		RAR
013066  0365		AND (7400
013067  1340		TAD LINWD
013070  3340		DCA LINWD	/ NOW AN ADDRESS, NOT JUST OFFSET
013071  1025		TAD TMP
013072  4764' 		JMS PDIG	/ PACK FIELD DIGIT

013073  1340	CR0,	TAD LINWD	/ LABEL NUMBER (OFFSET OR ADDRESS)
013074  4763' 		JMS OCTOUT	/ = WORD OR ADDR OFFSET
013075  3671	APACK,	 PACK
013076  4767' 		JMS PBL		/ EXTRA BLANK BETWEEN LABEL & VALUES
013077  5302		JMP CR1E	/ IN CASE NO CHARS FOR FILE 1
013100  1413	CR1,	TAD I XR13
013101  4675		JMS I APACK	/ SEND OUT EACH CHAR
013102  2335	CR1E,	ISZ CHCNT
013103  5300		JMP CR1

013104  1002		TAD DUMPSW
013105  7640		SZA CLA		/ DUMP MODE?
013106  5326		JMP CR4		/ YES-ONLY ONE OUTPUT SECTION

013107  1032		TAD SEGSIZ
013110  1362		TAD (-LBUF1-1
013111  1013		TAD XR13
013112  4761' 		JMS PMBL	/ # BLANKS TO START 2ND FILE
013113  1355		TAD MAX2
013114  7040		CMA
013115  1376		TAD (LBUF2-1
013116  3335		DCA CHCNT
013117  1376		TAD (LBUF2-1
013120  3014		DCA XR14
013121  5324		JMP CR2E	/ IN CASE NONE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 10-2

013122  1414	CR2,	TAD I XR14
013123  4675		JMS I APACK
013124  2335	CR2E,	ISZ CHCNT
013125  5322		JMP CR2

013126  4760' 	CR4,	JMS CRLF
013127  2341	CR5,	ISZ LNCNT
013130  5203		JMP DOUL

013131  5600		JMP I DOUT

013132  2035	CR9,	ISZ ANYOUT	/ NONZERO FOR DIFFERENCE
013133  5757' 		JMP FINISH	/ ALL THRU BECAUSE /D ONLY CHECKS FOR 1ST DIFF

013134  0000	NONBL,	0		/ NON-BLANK LINE SW
013135  0000	CHCNT,	0
013136  0000	BUNCH,	0
013137  0000	GROUP,	0
013140  0000	LINWD,	0
013141  0000	LNCNT,	0



		/ PUT A CHAR INTO THE LINE BUFFER 1

013142  0000	LPACK1,	0000
013143  3413		DCA I XR13
013144  1013		TAD XR13
013145  3347		DCA MAX1
013146  5742		JMP I LPACK1

013147  0000	MAX1,	0



		/ PUT ONE IN BUF 2

013150  0000	LPACK2,	0000
013151  3414		DCA I XR14
013152  1014		TAD XR14
013153  3355		DCA MAX2
013154  5750		JMP I LPACK2

013155  0000	MAX2,	0



013157  2312
013160  3623
013161  3611
013162  6377
013163  3727
013164  3600
013165  7400
013166  1400

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 10-3

013167  3605
013170  3400
013171  3473
013172  2600
013173  3752
013174  7774
013175  0377
013176  1577
013177  1377
	3200		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 11






		/ READ FILE 1 INTO BUFFER

013200  0000	READ1,	0000
013201  1220		TAD IFNWD1
013202  3230		DCA IFNSV1	/ SAVE FUNCTION WORD
013203  1227		TAD EBLK1	/ -(LAST BLOCK+1)
013204  1222		TAD INBLK1	/ ADD CURRENT BLOCK
013205  7120		STL		/  (FOR 13 BIT ARITH)
013206  1026		TAD IBLEN	/ ADD BUFFER LENGTH
013207  7470		SNA SZL		/ OK?
013210  5215		JMP RD11	/ YES-GO READ IT
013211  4777' 		JMS ROR6	/ NO-ADJUST FUNCTION WORD
013212  7041		CIA
013213  1230		TAD IFNSV1	/ SUBTRACT SHORTAGE
013214  3220		DCA IFNWD1

013215  7200	RD11,	CLA
013216  6202		CIF 0
013217  4406		JMS I INH1	/ CALL HANDLER
013220  1000	IFNWD1,	 1000		/  FUNCTION (INPUT, 10 (OR 20) PAGES, DF=0)
013221  2000		 IBUF1
013222  0000	INBLK1,	 0
013223  4776' 		 JMS ERROR5	/  INPUT #1 ERROR
013224  1230		TAD IFNSV1
013225  3220		DCA IFNWD1	/ RESTORE FUNCTION WORD
013226  5600		JMP I READ1

013227  0000	EBLK1,	0



		/ READ FILE 2 INTO BUFFER

013230  0000	READ2,	0000
013231  1250		TAD IFNWD2
013232  3200		DCA IFNSV2	/ SAVE FUNCTION WORD
013233  1257		TAD EBLK2	/ -(LAST BLOCK+1)
013234  1252		TAD INBLK2	/ ADD CURRENT BLOCK
013235  7120		STL		/  (FOR 13 BIT ARITH)
013236  1026		TAD IBLEN	/ ADD BUFFER LENGTH
013237  7470		SNA SZL		/ OK?
013240  5245		JMP RD21	/ YES-GO READ IT
013241  4777' 		JMS ROR6	/ NO-ADJUST FUNCTION WORD
013242  7041		CIA
013243  1200		TAD IFNSV2	/ SUBTRACT SHORTAGE
013244  3250		DCA IFNWD2

013245  7200	RD21,	CLA
013246  6202		CIF 0
013247  4420		JMS I INH2

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 11-1

013250  1000	IFNWD2,	 1000
013251  4000		 IBUF2
013252  0000	INBLK2,	 0
013253  4775' 		 JMS ERROR6	/  INPUT #2 ERROR
013254  1200		TAD IFNSV2
013255  3250		DCA IFNWD2	/ RESTORE FUNCTION WORD
013256  5630		JMP I READ2

	3230	IFNSV1=	READ2
	3200	IFNSV2=	READ1
013257  0000	EBLK2,	0



		/ COPE WITH DIFFERENT TYPES OF BUFFER FILLING

013260  0000	READIN,	0000
013261  3774' 		DCA HOUT	/ HEADER NOT OUT SWITCH
013262  2027		ISZ EBCNT	/ INPUT BUFFER EMPTY?
013263  5660		JMP I READIN	/ NO
013264  4773' 		JMS CTRLC	/ CHECK FOR ^C STRUCK
013265  4772' 		JMS IINIT	/ SETUP INPUT POINTERS & COUNTER
013266  1022		TAD SLASHI	/ /I SWITCH
013267  7640		SZA CLA		/ WHICH KIND IF FILE?
013270  5306		JMP READII	/ /I (.SV)
013271  1003		TAD DUMP2S	/ 2ND ONLY SWITCH
013272  7650		SNA CLA		/ SET?
013273  4200		JMS READ1	/ NO-READ 1ST FILE
013274  1026		TAD IBLEN	/ EITHER 4 OR 10
013275  1222		TAD INBLK1
013276  3222		DCA INBLK1	/ BUMP FOR NEXT TIME
013277  1002		TAD DUMPSW	/ 1ST ONLY SWITCH
013300  7650		SNA CLA		/ SET?
013301  4230		JMS READ2	/ NO-READ 2ND FILE
013302  1026		TAD IBLEN
013303  1252		TAD INBLK2
013304  3252		DCA INBLK2	/ BUMP FOR NEXT TIME
013305  5660		JMP I READIN


		/ /I SECTION

013306  1433	READII,	TAD I PGPTR1	/ GET FILE 1 RELATIVE PAGE
013307  7110		CLL RAR		/ CHANGE PAGE TO BLOCK OFFSET
013310  3004		DCA RELBLK	/ SAVE FILE 1 RELATIVE BLOCK #
013311  1004		TAD RELBLK
013312  7450		SNA		/ FILE ONE NEEDED?
013313  5330		JMP READI2	/ NO-DO FILE 2
013314  1353		TAD ISTB1
013315  3025		DCA TMP		/ ABSOLUTE BLOCK # IN FILE 1
013316  1222		TAD INBLK1	/ 1ST BLOCK IN BUFFER 1 NOW
013317  4355		JMS READIC	/ CALC WORD OFFSET FOR DESIRED BLOCK
013320  5324		 JMP NEED1	/  RETURN TO CALL+1 IF NEED TO READ BLOCK
013321  1000		TAD IWD1
013322  3000		DCA IWD1	/ BUMP WORD POINTER

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 11-2

013323  5330		JMP READI2	/ TRY 2ND FILE NOW

013324  7300	NEED1,	CLA CLL		/ NEED TO READ FILE 1
013325  1025		TAD TMP		/ DESIRED BLOCK
013326  3222		DCA INBLK1	/ WILL BE 1ST BLOCK IN BUFFER
013327  4200		JMS READ1

013330  1434	READI2,	TAD I PGPTR2	/ GET FILE 2 RELATIVE PAGE
013331  7110		CLL RAR		/ CHANGE PAGE TO BLOCK
013332  3005		DCA RELBK2	/ SAVE FILE 2 RELATIVE BLOCK #
013333  1005		TAD RELBK2
013334  7450		SNA		/ NEEDED?
013335  5660		JMP I READIN	/ NO-THRU
013336  1354		TAD ISTB2
013337  3025		DCA TMP
013340  1252		TAD INBLK2
013341  4355		JMS READIC
013342  5346		 JMP NEED2
013343  1001		TAD IWD2
013344  3001		DCA IWD2
013345  5660		JMP I READIN

013346  7300	NEED2,	CLA CLL
013347  1025		TAD TMP
013350  3252		DCA INBLK2
013351  4230		JMS READ2
013352  5660		JMP I READIN

013353  0000	ISTB1,	0
013354  0000	ISTB2,	0



013355  0000	READIC,	0000
013356  1026		TAD IBLEN	/ ONE PAST END
013357  7041		CIA
013360  1025		TAD TMP		/ COMPARE TO DESIRED BLOCK
013361  7500		SMA
013362  5755		JMP I READIC	/ PAST END OF BUFFER.  NEED TO READ FILE
013363  1026		TAD IBLEN
013364  7510		SPA
013365  5755		JMP I READIC	/ BEFORE START OF BUFFER.  N.T.R.F.
013366  4777' 		JMS ROR6
013367  7004		RAL		/ (AC) IS WORD OFFSET FOR DESIRED BLOCK
013370  2355		ISZ READIC	/ SKIP N.T.R.F. RETURN
013371  5755		JMP I READIC



013372  2477
013373  5104
013374  3473
013375  5122
013376  5123
013377  3760

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 11-3

	3400		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 12





		/ PRINTS THE BLOCK HEADER INFORMATION

013400  0000	HEADER,	0000
013401  4777' 		JMS FCHK	/ CHECK FOR /F
013402  4776' 		JMS PUTSTR
013403  2667		 MESB-1		/  "RELATIVE BLOCK "
013404  1022		TAD SLASHI	/ /I SWITCH
013405  7640		SZA CLA		/ SET?
013406  5213		JMP HE1		/ YES
013407  1004		TAD RELBLK	/ NO-JUST SEND RELBLK
013410  4775' 		JMS OCTOUT
013411  3671		 PACK
013412  5222		JMP HE3		/ GO DO ABSOLUTE PART
013413  1004	HE1,	TAD RELBLK
013414  3220		DCA .+4
013415  1005		TAD RELBK2
013416  3221		DCA .+3
013417  4335		JMS COMHED	/ RELATIVE BLOCKS AS NEEDED
013420  0000		 0
013421  0000		 0
013422  4776' 	HE3,	JMS PUTSTR
013423  2677		 MESL-1		/  "   ( ABSOLUTE BLOCK "
013424  1022		TAD SLASHI	/ /I SWITCH
013425  7640		SZA CLA		/ SET?
013426  5231		JMP HE4		/ YES
013427  1004		TAD RELBLK	/ NO
013430  7410		SKP
013431  1005	HE4,	TAD RELBK2	/ 2ND RELATIVE BLOCK
013432  1774' 		TAD ISTB2	/ + 2ND START BLOCK
013433  3241		DCA HA2		/ IS 2ND ABSOLUTE BLOCK
013434  1004		TAD RELBLK	/ 1ST RELATIVE BLOCK
013435  1773' 		TAD ISTB1	/ + 1ST START BLOCK
013436  3240		DCA HA1		/ IS 1ST ABSOLUTE BLOCK
013437  4335		JMS COMHED	/ SEND THE BLOCK NUMBER(S) OUT
013440  0000	HA1,	 0
013441  0000	HA2,	 0
013442  4776' 		JMS PUTSTR
013443  2712		 MESR-1		/  " )"
013444  4772' 		JMS CRLF
013445  4776' 		JMS PUTSTR	/ 2ND LINE OF HEADER
013446  3530		 HMES-1		/  " ADDR"
013447  1003		TAD DUMP2S
013450  7640		SZA CLA
013451  5271		JMP HE2
013452  4274		JMS HEAD2	/ SEND IT OUT
013453  1002		TAD DUMPSW
013454  7640		SZA CLA		/ DUMP MODE?
013455  5264		JMP HE9		/ YES-FINISHED
013456  1371	HE8,	TAD (-2
013457  3025		DCA TMP
013460  4770' 		JMS PBL		/ SEND BLANKS UNTIL LINED UP WITH 2ND PART

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 12-1

013461  2025		ISZ TMP
013462  5260		JMP .-2
013463  4274		JMS HEAD2	/ NOW SEND REST OF LABEL
013464  4772' 	HE9,	JMS CRLF	/ END OF LINE
013465  2273		ISZ HOUT	/ NOT 0, HEADER OUTPUT
013466  7201		P1C		/ NOT 0
013467  3035		DCA ANYOUT	/ = 1 IF ANYTHING OUTPUT
013470  5600		JMP I HEADER

013471  1032	HE2,	TAD SEGSIZ	/ =-25 OR -52
013472  5256		JMP HE8

013473  0000	HOUT,	0		/ HEADER OUTPUT SWITCH



		/ ROUTINE TO LABEL THE COLUMNS

013474  0000	HEAD2,	0000
013475  1031		TAD NGRPS	/ -# GROUPS PER LINE
013476  3327		DCA HGP		/ GROUPS PER LINE
013477  3330		DCA OFFV	/ OFFSET VALUE

013500  1367	HL5,	TAD (-4
013501  3326		DCA HWD		/ 4 WORDS PER GROUP
013502  4770' 		JMS PBL		/ EXTRA BLANK BETWEEN GROUPS
013503  7346	HL6,	M3C
013504  4766' 		JMS PMBL	/ 3 LEADING BLANKS
013505  1330		TAD OFFV	/ GET VALUE (2 DIGIT NUMBER)
013506  7112		CLL RTR;RAR	/ ROTATE 1ST DIGIT TO BITS 9-11
013507  7010
013510  0365		AND (7		/ STRIP TO DIGIT
013511  7450		SNA		/ NOT 0?
013512  5324		JMP HL6B	/ NO-DON'T PRINT IT
013513  4764' 		JMS PDIG	/ PACK ASCII DIGIT
013514  1330	HL7,	TAD OFFV	/ NOW 2ND DIGIT
013515  4764' 		JMS PDIG	/ PRINT THE DIGIT IN OUTPUT FILE
013516  2330		ISZ OFFV	/ BUMP FOR NEXT ONE
013517  2326		ISZ HWD		/ WORDS DONE?
013520  5303		JMP HL6		/ NO

013521  2327		ISZ HGP		/ GROUPS DONE?
013522  5300		JMP HL5		/ NO

013523  5674		JMP I HEAD2	/ YES

013524  4770' 	HL6B,	JMS PBL		/ PRINT BLANK INSTEAD OF LEADING 0
013525  5314		JMP HL7

013526  0000	HWD,	0
013527  0000	HGP,	0
013530  0000	OFFV,	0
013531  4001	IFNDEF GERMAN < HMES,	TEXT " ADDR " >
013532  0404
013533  2240

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 12-2

013534  0000
		IFDEF  GERMAN < HMES,	TEXT \ ZELLE\ >


		/ COMMON HEADER INFO OUTPUT
		/ JMS COMHED
		/  ARG1= # IF NOT DUMP2S
		/  ARG2= # IF NOT DUMPSW
		/ #S SEPARATED BY " AND " IF BOTH OUTPUT

013535  0000	COMHED,	0000
013536  1003		TAD DUMP2S	/ FILE 2 ONLY SWITCH
013537  7640		SZA CLA		/ SET?
013540  5351		JMP CH1B	/ YES
013541  1735		TAD I COMHED	/ NO-OUTPUT 1ST #
013542  4775' 		JMS OCTOUT
013543  3671		 PACK
013544  1002		TAD DUMPSW	/ FILE 1 ONLY SWITCH
013545  7640		SZA CLA		/ SET?
013546  5357		JMP CH1		/ YES-THRU
013547  4776' 		JMS PUTSTR	/ NO-SEND SEPARATOR MESSAGE
013550  3560		 MESS-1		/  " AND "
013551  2335	CH1B,	ISZ COMHED	/ POINT TO 2ND ARG
013552  1735		TAD I COMHED	/ OUTPUT 2ND #
013553  4775' 		JMS OCTOUT
013554  3671		 PACK
013555  2335	CH1C,	ISZ COMHED	/ POINT TO RETURN
013556  5735		JMP I COMHED

013557  2335	CH1,	ISZ COMHED	/ POINT TO 2ND ARG
013560  5355		JMP CH1C	/ RETURN

013561  4001	IFNDEF GERMAN < MESS,	TEXT " AND " >
013562  1604
013563  4000
		IFDEF  GERMAN < MESS,	TEXT \ UND \ >


013564  3600
013565  0007
013566  3611
013567  7774
013570  3605
013571  7776
013572  3623
013573  3353
013574  3354
013575  3727
013576  3641
013577  4532
	3600		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 13





		/ PACK ONE ASCII DIGIT (OCTAL) IN OUTPUT BUFFER

013600  0000	PDIG,	0000
013601  0377		AND (7
013602  1376		TAD (260
013603  4271		JMS PACK
013604  5600		JMP I PDIG



		/ SEND A BLANK TO THE OUTPUT ROUTINE

013605  0000	PBL,	0000
013606  1375		TAD (240
013607  4271		JMS PACK
013610  5605		JMP I PBL



		/ PRINT MULTIPLE BLANKS IN OUTPUT BUFFER
		/ CAN BE CALLED TWO WAYS LIKE PUTSTR

013611  0000	PMBL,	0000
013612  7440		SZA		/ METHOD SELECT
013613  5216		JMP .+3		/ # BLANKS IN AC
013614  1611		TAD I PMBL	/ # BLANKS IN ARG1
013615  2211		ISZ PMBL	/ POINT TO RETURN
013616  3200		DCA PCNT	/ BLANK COUNT

013617  4205		JMS PBL		/ SEND A BLANK
013620  2200		ISZ PCNT	/ THRU?
013621  5217		JMP .-2		/ NO-DO ANOTHER
013622  5611		JMP I PMBL

	3600	PCNT=	PDIG



		/ PACK CR,LF TO OUTPUT BUFFER
		/ INSERT FORM FEED AFTER PROPER NUMBER OF LINES

013623  0000	CRLF,	0000
013624  1374		TAD (215	/ "CR
013625  4271		JMS PACK
013626  1373		TAD (212	/ "LF
013627  4271		JMS PACK
013630  2237		ISZ LINES	/ PAGE FULL?
013631  5623		JMP I CRLF	/ NO-RETURN

013632  1372		TAD (214	/ YES-OUTPUT FORM FEED
013633  4271		JMS PACK

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 13-1

013634  1240		TAD NLNES
013635  3237		DCA LINES	/ RESET COUNTER
013636  5623		JMP I CRLF

013637  7700	LINES,	-100		/ LINES PER PAGE COUNTER
013640  7700	NLNES,	-100		/ LINES PER PAGE RESET VALUE



		/ PUT 6 BIT TEXT TO OUTPUT ROUTINE
		/ TWO CALLING METHODS
		/	1) TEXT ADDR-1 IN AC; RETURN TO CALL+1
		/	2) TEXT ADDR-1 IN ARG1; AC=0!; RETURN TO CALL+2

013641  0000	PUTSTR,	0000
013642  7440		SZA		/ METHOD 1?
013643  5246		JMP .+3		/ YES-ARG IS IN AC
013644  1641		TAD I PUTSTR	/ NO-ARG IS IN CALL+1
013645  2241		ISZ PUTSTR	/ BUMP MODE 2 RETURN PTR
013646  3200		DCA PUTADR	/ SAVE TEXT PTR

013647  2200	PUT1,	ISZ PUTADR	/ BUMP PTR TO NEXT WORD
013650  1600		TAD I PUTADR	/ GET NEXT PAIR OF CHARS
013651  7012		RTR;RTR;RTR	/ ROTATE 1ST HALF TO RIGHT 6 BITS
013652  7012
013653  7012
013654  4260		JMS TTO6	/ TRANSLATE & OUTPUT
013655  1600		TAD I PUTADR	/ REGET WORD FOR RIGHT HALF
013656  4260		JMS TTO6	/ TRANSLATE & SEND IT OUT ALSO
013657  5247		JMP PUT1	/ KEEP GOING (RETURN IS THRU TTO6)

	3600	PUTADR=	PDIG		/ STRING PTR FOR PUTSTR


		/ TRANSLATE & OUTPUT 6 BIT ASCII
		/ CHAR IS IN RIGHT HALF OF AC
		/ LEFT HALF IS GARBAGE
		/	(THIS IS PART OF PUTSTR!)

013660  0000	TTO6,	0000
013661  0371		AND (77		/ STRIP OFF GARBAGE
013662  7450		SNA		/ 6 BIT 00 IS TERMINATOR
013663  5641		JMP I PUTSTR	/ EOT-RETURN
013664  1375		TAD (240
013665  0371		AND (77
013666  1375		TAD (240
013667  4271		JMS PACK	/ SEND 8 BIT ASCII
013670  5660		JMP I TTO6	/ AC=0



		/ PACK 8 BIT BYTES INTO OUTPUT BUFFER
		/ USES OS/8 TEXT FORMAT

013671  0000	PACK,	0000		/ OS/8 OUTPUT PACKING ROUTINE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 13-2

013672  5673		JMP I PSW
013673  3700	PSW,	PA1
013674  2024		ISZ OCNT
013675  5671		JMP I PACK
013676  4770' 		JMS WRITE
013677  5671		JMP I PACK

013700  3726	PA1,	DCA I OWD	/ 1ST OF TRIP
013701  4273		JMS PSW

013702  3325		DCA PSAV	/ 2ND OF TRIP
013703  4273		JMS PSW

013704  7106		CLL RTL;RTL	/ 3RD OF TRIP
013705  7006
013706  3273		DCA PSW
013707  1273		TAD PSW
013710  0367		AND (7400
013711  1726		TAD I OWD
013712  3726		DCA I OWD	/ PACK 1ST HALF OF PAIR
013713  2326		ISZ OWD
013714  1273		TAD PSW
013715  7106		CLL RTL;RTL
013716  7006
013717  0367		AND (7400
013720  1325		TAD PSAV
013721  3726		DCA I OWD	/ PACK 2ND HALF
013722  2326		ISZ OWD
013723  4273		JMS PSW

013724  5300		JMP PA1

013725  0000	PSAV,	0
013726  0000	OWD,	0		/ OUTPUT BUFFER PTR



		/ OUTPUT AC AS 4 OCTAL DIGITS
		/ ARG1 IS THE ADDRESS OF THE OUTPUT ROUTINE

013727  0000	OCTOUT,	0000
013730  3211		DCA OCTMP	/ SAVE VALUE
013731  1727		TAD I OCTOUT	/ GET OUTPUT ROUTINE PTR
013732  3205		DCA WPAK
013733  1366		TAD (-4
013734  3200		DCA DIGCNT	/ DIGIT CTR

013735  1211	OCL,	TAD OCTMP
013736  7006		RTL;RAL
013737  7004
013740  3211		DCA OCTMP
013741  1211		TAD OCTMP
013742  7004		RAL
013743  0377		AND (7		/ STRIP TO DIGIT
013744  1376		TAD (260	/ MAKE ASCII

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 13-3

013745  4605		JMS I WPAK	/ GO TO OUTPUT ROUTINE
013746  2200		ISZ DIGCNT	/ DONE?
013747  5335		JMP OCL		/ NO-DO NEXT DIGIT
013750  2327		ISZ OCTOUT	/ YES-POINT TO RETN
013751  5727		JMP I OCTOUT

	3605	WPAK=	PBL	/ POINTS TO OUTPUT ROUTINE
	3611	OCTMP=	PMBL
	3600	DIGCNT=	PDIG



		/ PLACE A BLANK IN BOTH LINE BUFFERS

013752  0000	BLOUT,	0000
013753  1375		TAD (240
013754  3413		DCA I XR13
013755  1375		TAD (240
013756  3414		DCA I XR14
013757  5752		JMP I BLOUT



		/ ROTATE AC RIGHT 6 BITS
		/ SAVES SPACE THIS WAY
		/ WOULD BE FASTER "IN LINE"

013760  0000	ROR6,	0000
013761  7112		CLL RTR;RTR;RTR
013762  7012
013763  7012
013764  5760		JMP I ROR6



013766  7774
013767  7400
013770  4200
013771  0077
013772  0214
013773  0212
013774  0215
013775  0240
013776  0260
013777  0007
	4000		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 14





		/ PRINT CORE ADDRESS RANGE

014000  0000	COROUT,	0000
014001  3256		DCA CORBL	/ LEADING BLANK COUNT
014002  1600		TAD I COROUT
014003  3034		DCA LIM		/ TABLE LIMIT
014004  2200		ISZ COROUT
014005  1600		TAD I COROUT	/ CURRENT PTR VALUE
014006  3010		DCA XR10

014007  1410		TAD I XR10	/ SCAN UNTIL NON-ZERO
014010  7650		SNA CLA		/ NOW?
014011  5207		JMP .-2		/ NO-KEEP LOOKING
014012  1010		TAD XR10	/ COMPARE POINTER
014013  1034		TAD LIM		/  TO LIMIT VALUE
014014  7540		SMA SZA		/ PAST END?
014015  5253		JMP PGEOT	/ YES-ABORT
014016  1377		TAD (377	/ CHANGE TO PAGE OFFSET
014017  3226		DCA CORL
014020  1256		TAD CORBL	/ REGET LEADING BLANK COUNT
014021  7440		SZA		/ ANY?
014022  4776' 		JMS PMBL	/ YES-GO PRINT THEM
014023  3256		DCA CORBL	/ RESET IF PRINTED
014024  7240		STA		/ AC=-1 FOR 1ST OF PAIR
014025  4775' 		JMS PAGOUT	/ PRINT 1ST PAGE ADDRESS
014026  0000	CORL,	 0
014027  1374		TAD ("-
014030  4773' 		JMS PACK	/ PRINT SEPARATOR

014031  1410		TAD I XR10	/ SCAN UNTIL ZERO
014032  7640		SZA CLA		/ NOW?
014033  5231		JMP .-2		/ NO-KEEP LOOKING
014034  7240		STA		/ AC=-1
014035  1010		TAD XR10	/ COMPARE PTR
014036  1034		TAD LIM		/  TO LIMIT
014037  7500		SMA		/ PAST END?
014040  7200		CLA		/ YES-FORCE BACK
014041  1377		TAD (377	/ CHANGE TO OFFSET
014042  3244		DCA CORH
014043  4775' 		JMS PAGOUT	/ AC=0 FOR 2ND OF PAIR
014044  0000	CORH,	 0
014045  1034		TAD LIM
014046  1377		TAD (377
014047  7041		CIA
014050  1244		TAD CORH
014051  3600		DCA I COROUT	/ UPDATE CURRENT POINTER
014052  2200		ISZ COROUT
014053  2200	PGEOT,	ISZ COROUT
014054  7600	P7600,	7600	/ CLA
014055  5600		JMP I COROUT


/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 14-1

	0034	LIM=	PGPTR2	/ TWO NON-CONFLICTING USES FOR THE SAME LOCATION
014056  0000	CORBL,	0	/ LEADING BLANK COUNT



		/ DUMP CCB(S)

014057  0000	CCBOUT,	0000
014060  4772' 		JMS CRLF
014061  4771' 		JMS SAOUT	/ PRINT 5 DIGIT START ADDRESS
014062  0000	SF1,	 0
014063  0000	SA1,	 0
014064  4770' 		JMS DCHK	/ CHECK DUMP SWITCH
014065  4073		 CO2		/  GO HERE IF SET
014066  1351		TAD DELTAC
014067  4776' 		JMS PMBL	/ SPACE OVER TO 2ND START
014070  4771' 		JMS SAOUT	/ PRINT S.A.
014071  0000	SF2,	 0
014072  0000	SA2,	 0
014073  4772' 	CO2,	JMS CRLF	/ NEW LINE

014074  4767' 		JMS JSWOUT	/ PRINT JSW
014075  0000	JSW1,	 0
014076  4770' 		JMS DCHK	/ ONE ONLY CHECK AGAIN
014077  4104		 CO4
014100  1351		TAD DELTAC
014101  4776' 		JMS PMBL
014102  4767' 		JMS JSWOUT
014103  0000	JSW2,	 0
014104  4772' 	CO4,	JMS CRLF

014105  4766' 		JMS PUTSTR
014106  2724		 MESC3-1	/  "CORE="
014107  4770' 		JMS DCHK
014110  4122		 CO6
014111  1365		TAD (-6
014112  1351		TAD DELTAC
014113  4776' 		JMS PMBL
014114  4766' 		JMS PUTSTR
014115  2724		 MESC3-1	/  "CORE="
014116  1364		TAD (PGTAB1-1
014117  3335		DCA PGP1
014120  1363		TAD (PGTAB2-1
014121  3346		DCA PGP2

014122  4772' 	CO6,	JMS CRLF
014123  7344		M2C
014124  1002		TAD DUMPSW
014125  1003		TAD DUMP2S
014126  7650		SNA CLA		/ BOTH SET NOW?
014127  5657		JMP I CCBOUT	/ YES-BYE
014130  3002		DCA DUMPSW	/ CLEAR FILE SWITCHES
014131  3003		DCA DUMP2S
014132  1365		TAD (-6		/ INDENT ADDRESSES
014133  4200		JMS COROUT	/ PRINT FILE ONE PAGE RANGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 14-2

014134  1001		 -PGTAB1-377	/  TABLE LIMIT VALUE
014135  6377	PGP1,	 PGTAB1-1	/  CURRENT POINTER VALUE (FILE 1)
014136  2003		 ISZ DUMP2S	/  FILE ONE TABLE EMPTIED
014137  1003		TAD DUMP2S
014140  7640		SZA CLA		/ SET NOW?
014141  1362		TAD (-13	/ YES-EXTRA BLANKS INSTEAD OF ADDRESSES
014142  1351		TAD DELTAC
014143  1256		TAD CORBL	/ ADD IN UNUSED PREVIOUS BLANKS
014144  4200		JMS COROUT	/ PRINT FILE TWO PAGE RANGE
014145  0401		 -PGTAB2-377	/  TABLE LIMIT VALUE
014146  6777	PGP2,	 PGTAB2-1	/  CURRENT POINTER VALUE (FILE 2)
014147  2002		 ISZ DUMPSW	/  FILE TWO TABLE EMPTIED
014150  5322		JMP CO6		/ KEEP GOING

014151  7726	DELTAC,	-52		/ CCB DELTA FROM FILE1 TO FILE 2



014162  7765
014163  6777
014164  6377
014165  7772
014166  3641
014167  5037
014170  2515
014171  5022
014172  3623
014173  3671
014174  0255
014175  5000
014176  3611
014177  0377
	4200		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 15





		/ WRITE THE OUTPUT BUFFER

014200  0000	WRITE,	0000
014201  4777' 		JMS CTRLC
014202  1232		TAD FULLSW
014203  7640		SZA CLA		/ IS FILE FULL?
014204  4776' 		JMS ERROR2	/ YES
014205  7320		CLA STL		/ 13 BIT ARITH
014206  1231		TAD WBLN	/ BUFFER LENGTH IN BLOCKS
014207  1775' 		TAD MLEN	/ -BLOCKS LEFT
014210  7450		SNA		/ EXACT FIT?
014211  2232		ISZ FULLSW	/ YES-SET SWITCH FOR NEXT CALL
014212  3775' 		DCA MLEN
014213  7460		SZA SNL		/ WON'T FIT?
014214  4776' 		JMS ERROR2	/ YES-NO MORE ROOM
014215  6202		CIF 0
014216  4423		JMS I OUTH
014217  4410	OFUNWD,	 4410		/  FUNCT. (OUTPUT,4 PAGES,FIELD 1)
014220  5400		 OBUF		/  BUFFER ADDRESS
014221  0000	OBLK,	 0
014222  4774' 		 JMS ERROR7	/  OUTPUT ERROR
014223  1231		TAD WBLN
014224  1221		TAD OBLK
014225  3221		DCA OBLK	/ BUMP FOR NEXT TIME
014226  4233		JMS OINIT	/ RESET BUFFER POINTERS
014227  4777' 		JMS CTRLC	/ SAFE
014230  5600		JMP I WRITE

014231  0002	WBLN,	2	/ BUFFER LENGTH IN BLOCKS (SHORTEN FOR LAST WRITE)
014232  0000	FULLSW,	0	/ SET TO NONZERO IF LAST WRITE FILLED OUTPUT FILE



		/ INITIALIZE OUTPUT BUFFER PARAMETERS

014233  0000	OINIT,	0000
014234  1373		TAD (OBUF
014235  3772' 		DCA OWD		/ OUTPUT POINTER
014236  1371		TAD (-1400
014237  3024		DCA OCNT	/ OUTPUT CHAR COUNTER
014240  5633		JMP I OINIT



		/ OPEN INPUT FILE

014241  0000	FLGET,	0000
014242  1641		TAD I FLGET	/ GET HANDLER WORD (ARG1)
014243  3267		DCA FLHAND	/ BECOMES ARG TO FETCH
014244  2241		ISZ FLGET
014245  1641		TAD I FLGET	/ GET ENTRY WORD ADDRESS (ARG2)

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 15-1

014246  3347		DCA FDEVNT
014247  2241		ISZ FLGET
014250  1641		TAD I FLGET	/ GET FILE WORDS ADDR (ARG3)
014251  3350		DCA FDEVWD	/ POINTS TO DEVICE WORD
014252  2241		ISZ FLGET
014253  1641		TAD I FLGET	/ (ARG4)
014254  3351		DCA FLENPT	/ POINTS TO LENGTH WORD
014255  2241		ISZ FLGET
014256  1641		TAD I FLGET	/ (ARG5)
014257  3352		DCA FSTBWD	/ POINTS TO START BLOCK WORD
014260  2241		ISZ FLGET
014261  1641		TAD I FLGET	/ (ARG6)
014262  3353		DCA FEBWD	/ POINT TO END BLOCK WORD
014263  2241		ISZ FLGET	/ POINT TO RETN
014264  1750		TAD I FDEVWD	/ GET DEVICE #
014265  4770		JMS I (USR
014266  0001		 1		/  FETCH HANDLER
014267  0000	FLHAND,	 0		/  BECOMES ENTRY ADDR
014270  4767' 		 JMS ERROR4	/  FETCH FAILED
014271  1267		TAD FLHAND
014272  3747		DCA I FDEVNT	/ PUT ENTRY ADDR IN PG 0 WORD
014273  1350		TAD FDEVWD
014274  7001		IAC
014275  3306		DCA FLSTB	/ POINTS TO NAME WORDS
014276  1706		TAD I FLSTB	// GET THE 1ST FILENAME WORD
014277  7640		SZA CLA		// IS A FILENAME SPECIFIED?
014300  5303		JMP .+3		// YES, USE IT

014301  1366		TAD (7606)	// NO, USE 1ST INPUT FILENAME
014302  3306		DCA FLSTB	// SET UP POINTER TO IT
014303  1750		TAD I FDEVWD	/ GET DEVICE #
014304  4770		JMS I (USR
014305  0002		 2		/  LOOKUP
014306  0000	FLSTB,	 0		/  POINTS TO NAME. BECOMES ST BLK
014307  0000	FLEN,	 0		/  BECOMES -FILE LENGTH
014310  4324		 JMS FLGER	/  LOOKUP ERROR
014311  1307		TAD FLEN
014312  3751		DCA I FLENPT	/ SAVE FILE LENGTH
014313  1306		TAD FLSTB
014314  3752		DCA I FSTBWD	/ SAVE FILE START BLOCK
014315  1307		TAD FLEN
014316  7041		CIA
014317  1306		TAD FLSTB
014320  7041		CIA
014321  3753		DCA I FEBWD	/ -(LAST BLOCK+1)
014322  1306		TAD FLSTB	/ RETURN WITH START BLOCK IN AC
014323  5641		JMP I FLGET



		/ LOOKUP ERROR, TRY AGAIN WITHOUT DEFAULT EXTENSION

014324  0000	FLGER,	0000
014325  7600	F7600,	7600		/ (AC) MAY NOT BE 0
014326  1350		TAD FDEVWD	/ FILE PTR

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 15-2

014327  1365		TAD (-7605	/ 1ST FILE IS AT 7605
014330  7650		SNA CLA		/ WHICH ONE IS THIS?
014331  1364		TAD (IF1-IF2	/ 1ST
014332  1363		TAD (IF2+1	/ 2ND
014333  3337		DCA FLSTB2	/ POINT TO PROPER NAME
014334  1750		TAD I FDEVWD	/ DO ANOTHER LOOKUP
014335  4770		JMS I (USR
014336  0002		 2
014337  0000	FLSTB2,	 0
014340  0000		 0
014341  4767' 		 JMS ERROR4	/  REAL ERROR THIS TIME
014342  1337		TAD FLSTB2	/ COPY RESULTS TO OTHER CALL
014343  3306		DCA FLSTB
014344  1340		TAD FLSTB2+1
014345  3307		DCA FLEN
014346  5724		JMP I FLGER


014347  0000	FDEVNT,	0	/ POINT TO DEVICE ENTRY ADDR WORD
014350  0000	FDEVWD,	0	/ POINT TO DEVICE WORD
014351  0000	FLENPT,	0	/ POINT TO LENGTH WORD
014352  0000	FSTBWD,	0	/ POINT TO START BLOCK WORD
014353  0000	FEBWD,	0	/ POINT TO END BLOCK WORD



014363  2406
014364  7773
014365  0173
014366  7606
014367  5124
014370  0200
014371  6400
014372  3726
014373  5400
014374  5121
014375  2063
014376  5126
014377  5104
	4400		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 16



		/ SET INPUT AND OUTPUT FILE DEFAULTS HERE

014400  0000	DEFALT,	0000

		/ INQUIRE ABOUT TTY: FOR DEFAULT AND /H INFORMATION

014401  3205		DCA .+4
014402  4777		JMS I (USR
014403  0012		 12		/  INQUIRE
014404  5524		 5524		/  TTY: ENCODED
014405  0000	TTDVNO,	 0		/  BECOMES DEVICE #
014406  0000		 0		/  BECOMES ENTRY ADDR (IGNORED)
014407  7600	D7600,	 7600		/  ERROR (IGNORE HERE, FETCH WILL FIND IT)
014410  1607		TAD I D7600	/ OUTPUT DEVICE #
014411  7450		SNA		/ SPECIFIED?
014412  1205		TAD TTDVNO	/ NO-DEFAULT TO TTY:
014413  3607		DCA I D7600	/ IN EITHER CASE, PUT IT IN PROPER PLACE

		/ DEFAULT OUTPUT EXTENSION TO ".LS"

014414  1776		TAD I (7601	/ 1ST WORD OF OUTPUT FILE NAME
014415  7650		SNA CLA		/ SPECIFIED?
014416  5223		JMP DS1		/ NO-DON'T CHANGE EXTENSION
014417  1775		TAD I (7604	/ YES-CHECK FOR SPECIFIED EXTENSION
014420  7450		SNA		/ SPECIFIED?
014421  1374		TAD (1423	/ NO-FORCE ".LS"
014422  3775		DCA I (7604	/ & PUT BACK

014423  1022	DS1,	TAD SLASHI	/ /I SWITCH
014424  7650		SNA CLA		/ SET?
014425  5600		JMP I DEFALT	/ NO-DON'T APPLY DEFAULT INPUT EXTENSIONS

		/ COPY INPUT FILE SPECS TO SAVE AREA
		/  IN CASE "DEFAULT" EMULATION REQUIRED

014426  1375		TAD (7604	/ INPUT AREA-1
014427  3010		DCA XR10
014430  1373		TAD (IF1-1	/ SAVE AREA-1
014431  3011		DCA XR11
014432  1372		TAD (-12	/ 12 WORDS IN TWO SPECS
014433  3025		DCA TMP

014434  1410		TAD I XR10	/ COPY
014435  3411		DCA I XR11
014436  2025		ISZ TMP
014437  5234		JMP .-3

		/ NOW SET INPUT DEFAULTS IF REQUIRED (/I & NO EXTENSION)

014440  1771		TAD I (7606	/ YES-FORCE ".SV" IF NONE
014441  7650		SNA CLA		/ NAME THERE?
014442  5247		JMP DS3		/ NO-NO EXTENSION
014443  1770		TAD I (7611	/ YES-GET EXTENSION

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 16-1

014444  7450		SNA		/ THERE?
014445  1367		TAD (2326	/ NO-FORCE ".SV"
014446  3770		DCA I (7611
014447  1766	DS3,	TAD I (7613	/ SAME STUFF FOR INPUT 2
014450  7650		SNA CLA
014451  5256		JMP DS3B	/ NO NAME
014452  1765		TAD I (7616	/ GET EXTENSION
014453  7450		SNA
014454  1367		TAD (2326	/ .SV IF NONE
014455  3765		DCA I (7616

014456  1030	DS3B,	TAD LPBLK
014457  7130		STL RAR
014460  3030		DCA LPBLK	/ HALF AS MANY LINES PER "CORE PAGE"
014461  5600		JMP I DEFALT



		/ TITLE:
		/   PRINT RUN TITLE FROM CD LINE BUFFER

014462  0000	TITLE,	0000
014463  4764' 		JMS CRLF	/ PRINT CRLF TO FORCE TITLE TO LEFT MARGIN

014464  1607		TAD I D7600	/ GET OUTPUT DEVICE #
014465  7041		CIA
014466  1205		TAD TTDVNO	/ COMPARED TO TTY:
014467  7650		SNA CLA		/ SAME?
014470  5322		JMP HCHK	/ YES-ONLY PRINT HEADER IF /H
					/ NO-PRINT HEADER
014471  1363	TITL0,	TAD (777
014472  1036		TAD CHAIN
014473  3010		DCA XR10	/ CD OR KM LINE BUFFER PTR

014474  6201	TITL,	CDF 0		/ BUFFER FIELD
014475  1410		TAD I XR10	/ GET NEXT CHAR
014476  6211		CDF 10		/ THIS FIELD
014477  7450		SNA		/ EOL?
014500  5303		JMP TITE	/ YES
014501  4762' 		JMS PACK	/ NO-PACK AC INTO BUFFER
014502  5274		JMP TITL

014503  1021	TITE,	TAD SLASHD	/ GET /D SWTCH
014504  7640		SZA CLA		/ SET?
014505  5310		JMP TITD	/ YES
014506  4764' 		JMS CRLF	/ NO-END LINE
014507  5662		JMP I TITLE


014510  1036	TITD,	TAD CHAIN
014511  7041		CIA
014512  1010		TAD XR10
014513  1361		TAD (-1057	/ CTR TO COL 60
014514  7500		SMA		/ PAST 60?
014515  7240		M1C		/ YES-PRINT ONE BLANK

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 16-2

014516  4760' 		JMS PMBL	/ SPACE OVER TO COLUMN 60
014517  4757' 		JMS PUTSTR
014520  2754		 TXFL-1		/  "FILES "
014521  5662		JMP I TITLE


014522  1356	HCHK,	TAD (20		/ MASK FOR /H
014523  0755		AND I (7643	/ 1ST OPTION WORD
014524  7640		SZA CLA		/ SET?
014525  5271		JMP TITL0	/ YES-GO PRINT HEADER
014526  1036		TAD CHAIN
014527  1354		TAD (1047	/ NO-JUST INDENT RESULT LINE
014530  3010		DCA XR10
014531  5303		JMP TITE



		/ FCHK:
		/   CHECK FOR /F
		/   IF PRESENT, OUTPUT A FORM FEED
		/    (ALSO RESET CRLF LINE COUNT)
		/   ALSO PUT A COUPLE OF CRLFS

014532  0000	FCHK,	0000
014533  7203		CLA IAC BSW	/ MASK FOR /F = 100
014534  0755		AND I (7643	/ 1ST OPTION WORD
014535  7640		SZA CLA		/ SET?
014536  5342		JMP F5		/ YES
014537  4764' 	FE,	JMS CRLF	/ SKIP A COUPLE OF LINES
014540  4764' 		JMS CRLF
014541  5732		JMP I FCHK


014542  1353	F5,	TAD (214	/ FF
014543  4762' 		JMS PACK	/ TO OUTPUT BUFFER
014544  1752' 		TAD NLNES
014545  3751' 		DCA LINES	/ RESET CTR IN CRLF
014546  5337		JMP FE



014551  3637
014552  3640
014553  0214
014554  1047
014555  7643
014556  0020
014557  3641
014560  3611
014561  6721
014562  3671
014563  0777
014564  3623
014565  7616
014566  7613

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 16-3

014567  2326
014570  7611
014571  7606
014572  7766
014573  2377
014574  1423
014575  7604
014576  7601
014577  0200
	4600		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 17





		/ THIS ROUTINE TOTALLY DECODES THE CCB OF A FILE
		/ IT HAS 6 ARGUMENTS.  ALL ARE ADDRESSES
		/	ARG1=	ADDR OF BUFFER CONTAINING CCB
		/	ARG2=	ADDR OF PAGE TABLE (400 WORDS)
		/	ARG3=	ADDR OF S.F. SAVE WORD
		/	ARG4=	ADDR OF S.A. SAVE WORD
		/	ARG5=	ADDR OF JSW SAVE WORD
		/	ARG6=	ADDR OF WORD CONTAINING MINUS THE FILE LENGTH
		/ THESE ARGS ARE POINTED TO BY ONE ARG TO CCBDEC

014600  0000	CCBDEC,	0000
014601  1600		TAD I CCBDEC	/ GET ARG PTR
014602  3011		DCA XR11	/ SAVE ARG POINTER
014603  2200		ISZ CCBDEC	/ POINT TO RETURN
014604  1411		TAD I XR11	/ GET ARG 1
014605  3010		DCA XR10
014606  1411		TAD I XR11	/ GET ARG 2
014607  3332		DCA PGBAS
014610  1411		TAD I XR11	/ GET S.F. SAVE ADDRESS
014611  3333		DCA PI		/ SAVE IN POINTER

014612  1410		TAD I XR10	/ GET 1ST CCB WORD
014613  3331		DCA NSEGS	/ LOCAL SAVE
014614  1331		TAD NSEGS
014615  7500		SMA
014616  4777' 		JMS ERROR9	/ COUNTER MUST BE NEGATIVE
014617  1376		TAD (40
014620  7710		SPA CLA
014621  4777' 		JMS ERROR9	/ TOO MANY
014622  1410		TAD I XR10	/ GET 2ND CCB WORD
014623  3733		DCA I PI	/ START FIELD
014624  1733		TAD I PI
014625  0375		AND (7603	/ MASK OFF THE FIELD BITS
014626  1374		TAD (-6203	/ -(CDF CIF
014627  7640		SZA CLA		/ PROPER INSTRUCTION?
014630  4777' 		JMS ERROR9	/ NO
014631  1411		TAD I XR11	/ GET S.A. SAVE ADDRESS
014632  3333		DCA PI		/ SAVE IN POINTER
014633  1410		TAD I XR10	/ GET 3RD CCB WORD
014634  3733		DCA I PI	/ START ADDRESS
014635  1411		TAD I XR11	/ GET JSW SAVE ADDRESS
014636  3333		DCA PI		/ SAVE IN POINTER
014637  1410		TAD I XR10	/ GET 4TH CCB WRD
014640  3733		DCA I PI	/ JSW
014641  1733		TAD I PI
014642  0373		AND (74		/ STRIP TO BITS 6-9 (OS8 V3D)
014643  7640		SZA CLA		/ ALL CLEAR?
014644  4777' 		JMS ERROR9	/ NO-

014645  7326		P2C
014646  3334		DCA CBL		/ FILE PAGES 0 & 1 ARE CCB

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 17-1

014647  1410	CCL1,	TAD I XR10	/ GET 1ST OF DOUBLE-WORD
014650  3025		DCA TMP
014651  1025		TAD TMP
014652  0372		AND (377
014653  7640		SZA CLA
014654  4777' 		JMS ERROR9	/ ADDR MUST BE MULTIPLE OF 400
014655  1025		TAD TMP
014656  7106		CLL RTL;RTL
014657  7006
014660  3333		DCA PI		/ LINK IS STILL IMPORTANT
014661  1410		TAD I XR10	/ GET 2ND HALF
014662  3025		DCA TMP
014663  1025		TAD TMP
014664  0371		AND (70
014665  1333		TAD PI
014666  7006		RTL
014667  1332		TAD PGBAS
014670  3013		DCA XR13	/ PAGE TABLE ADDR FOR THESE PAGES
014671  1025		TAD TMP
014672  0370		AND (4007
014673  7640		SZA CLA
014674  4777' 		JMS ERROR9	/ UNUSED BITS MUST BE 0
014675  1025		TAD TMP
014676  0367		AND (3700
014677  7450		SNA
014700  7130		STL RAR		/ 0 MEANS 40 PAGES
014701  7112		CLL RTR;RTR;RTR
014702  7012
014703  7012
014704  7041		CIA
014705  3333		DCA PCTR	/ # PAGES COUNTER FOR THIS GROUP
014706  1334		TAD CBL
014707  3413		DCA I XR13	/ PUT FILE PAGE # IN CORE PAGE WORD
014710  2334		ISZ CBL		/ BUMP CURRENT PAGE
014711  2333		ISZ PCTR	/ THRU WITH THIS GROUP?
014712  5306		JMP .-4		/ NO

014713  2334		ISZ CBL		/ YES-ROUND UP TO NEXT WHOLE BLOCK
014714  7344		CLL STA RAL	/ AC=7776
014715  0334		AND CBL
014716  3334		DCA CBL		/ DOUBLE WORDS ALWAYS START ON BLOCK BOUNDARY

014717  2331		ISZ NSEGS	/ THRU WITH DOUBLE WORDS?
014720  5247		JMP CCL1	/ NO

014721  1411		TAD I XR11
014722  3333		DCA PI
014723  1334		TAD CBL
014724  7110		CLL RAR
014725  1733		TAD I PI
014726  7740		SMA SZA CLA
014727  4777' 		JMS ERROR9	/ OFF END OF FILE

014730  5600		JMP I CCBDEC


/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 17-2

014731  0000	NSEGS,	0
014732  0000	PGBAS,	0
014733  0000	PI,	0
	4733	PCTR=	PI	/ SAME LOCATION.  SHOULDN'T CONFLICT
014734  0000	CBL,	0


014735  5377	CCBG1,	OBUF-1
014736  6377		PGTAB1-1
014737  4062		SF1
014740  4063		SA1
014741  4075		JSW1
014742  2270		BLEFT1

014743  5777	CCBG2,	OBUF+400-1
014744  6777		PGTAB2-1
014745  4071		SF2
014746  4072		SA2
014747  4103		JSW2
014750  2271		BLEFT2



		/ ROUTINE TO ZERO THE PAGE TABLES BEFORE CCB DECODE

014751  0000	CCBZER,	0000
014752  1336		TAD CCBG1+1	/ PAGE TABLE ADDRESS (FILE 1)
014753  3011		DCA XR11
014754  1344		TAD CCBG2+1	/ PAGE TABLE ADDRESS (FILE 2)
014755  3012		DCA XR12
014756  1366		TAD (-400
014757  3333		DCA PCTR	/ 32K WOULD BE 256 PAGES
014760  3411		DCA I XR11
014761  3412		DCA I XR12
014762  2333		ISZ PCTR
014763  5360		JMP .-3
014764  5751		JMP I CCBZER



014766  7400
014767  3700
014770  4007
014771  0070
014772  0377
014773  0074
014774  1575
014775  7603
014776  0040
014777  5117
	5000		PAGE

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 18





		/ PRINT 5 DIGIT PAGE ADDRESS

015000  0000	PAGOUT,	0000
015001  3033		DCA PGSW	/ AC=0 OR -1
015002  1600		TAD I PAGOUT	/ GET PAGE VALUE
015003  7112		CLL RTR;RTR;RTR
015004  7012
015005  7012
015006  3025		DCA TMP		/ SAVE 12 BIT ADDRESS
015007  1025		TAD TMP
015010  7004		RAL
015011  4777' 		JMS PDIG	/ PRINT FIELD DIGIT
015012  1025		TAD TMP
015013  0776' 		AND P7600	/ CLEAR NON PAGE BITS
015014  2033		ISZ PGSW	/ END PAGE?
015015  1375		TAD (177	/ YES-SET LOW BITS
015016  4774' 		JMS OCTOUT	/ PRINT 4 DIGITS
015017  3671		 PACK
015020  2200		ISZ PAGOUT
015021  5600		JMP I PAGOUT

	0033	PGSW=	PGPTR1	/ 2ND USE FOR PGPTR1. SHOULDN'T CONFLICT



		/ PRINT START ADDRESS

015022  0000	SAOUT,	0000
015023  4773' 		JMS PUTSTR
015024  2714		 MESC1-1	/  "S.A.= "
015025  1622		TAD I SAOUT	/ START "CDF CIF" IS ARG1
015026  7012		RTR;RAR		/ MOVE FIELD TO BITS 9-11
015027  7010
015030  4777' 		JMS PDIG	/ PACK FIELD DIGIT
015031  2222		ISZ SAOUT
015032  1622		TAD I SAOUT	/ START ADDRESS IS ARG2
015033  4774' 		JMS OCTOUT	/ PRINT LOW 4 DIGITS
015034  3671		 PACK
015035  2222		ISZ SAOUT	/ POINT TO RETURN
015036  5622		JMP I SAOUT



		/ PRINT JSW

015037  0000	JSWOUT,	0000
015040  4773' 		JMS PUTSTR
015041  2720		 MESC2-1	/  "JSW=   "
015042  1637		TAD I JSWOUT	/ JSW IS ARG1
015043  4774' 		JMS OCTOUT	/ PACK 4 DIGITS
015044  3671		 PACK

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 18-1

015045  2237		ISZ JSWOUT
015046  5637		JMP I JSWOUT



		/ INITIALIZE PAGE ORGANIZATION
		/ USED TO SET GROUPS PER LINE & LINES PER BLOCK
		/ /T REDUCES THE PAGE SIZE FOR TTY OPERATION

015047  0000	PAGSET,	0000
015050  4772' 		JMS OINIT	/ INIT OUTPUT BUFFER PARAMS
015051  1771		TAD I (7644	/ 2ND OPTION WORD
015052  0370		AND (20		/ MASK FOR /T
015053  7640		SZA CLA		/ /T?
015054  5267		JMP PAGS5	/ YES-SMALL PAGES

015055  1367		TAD (-52
015056  3766' 		DCA DELTAC	/ CCB OUTPUT DELTA IF /C/I
015057  7344		M2C		/ NO-"NORMAL" SIZE PAGES
015060  3031		DCA NGRPS	/ 2 GROUPS PER LINE
015061  1365		TAD (-40
015062  3030		DCA LPBLK	/ 40 LINES PER BLOCK
015063  1367		TAD (-52
015064  3032		DCA SEGSIZ	/ 52 CHARS PER SEGMENT
015065  1364		TAD (-100	/ 100 LINES PER PAGE ON OUTPUT
015066  5300		JMP PAGS9

015067  1363	PAGS5,	TAD (-25
015070  3766' 		DCA DELTAC
015071  7240		M1C
015072  3031		DCA NGRPS	/ 1 GROUP PER LINE
015073  1364		TAD (-100
015074  3030		DCA LPBLK	/ 100 LINES PER BLOCK
015075  1363		TAD (-25
015076  3032		DCA SEGSIZ	/ 25 CHARS PER SEGMENT
015077  1362		TAD (-70	/ 70 LINES PER PAGE ON OUTPUT
015100  3761' 	PAGS9,	DCA LINES
015101  1761' 		TAD LINES
015102  3760' 		DCA NLNES
015103  5647		JMP I PAGSET



		/ CHECK FOR ^C ON KBD

015104  0000	CTRLC,	0000
015105  7300		CLA CLL		/ SAFE
015106  6031		KSF		/ KEY STRUCK?
015107  5704		JMP I CTRLC	/ NO
015110  6034		KRS		/ YES-READ
015111  0375		AND (177	/ STRIP PARITY BIT
015112  1357		TAD (-3		/ COMPARE TO 7 BIT ^C
015113  7650		SNA CLA		/ =^C?
015114  5756' 		JMP GIVEUP	/ YES-RETURN TO OS/8
015115  6032		KCC		/ NO-CLEAR KBD FLAG

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 18-2

015116  5704		JMP I CTRLC	/  & RETURN TO CALLER



015117  0000	ERROR9,	0
015120  2332	ERROR8,	ISZ ERROR
015121  2332	ERROR7,	ISZ ERROR
015122  2332	ERROR6,	ISZ ERROR
015123  2332	ERROR5,	ISZ ERROR
015124  2332	ERROR4,	ISZ ERROR
015125  2332	ERROR3,	ISZ ERROR
015126  2332	ERROR2,	ISZ ERROR
015127  2332	ERROR1,	ISZ ERROR
015130  4755		JMS I (USR
015131  0007		 7	/  ERROR
015132  0001	ERROR,	 1	/  ERROR NUMBER



015155  0200
015156  2456
015157  7775
015160  3640
015161  3637
015162  7710
015163  7753
015164  7700
015165  7740
015166  4151
015167  7726
015170  0020
015171  7644
015172  4233
015173  3641
015174  3727
015175  0177
015176  4054
015177  3600
	5200		PAGE
	0001		FIELD 1
	2000		*OCSTA
			$$$

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 19

ALT    2453      DOIT   2214      HE1    3413      MESL   2700
ANYOUT 0035      DOLI   2237      HE2    3471      MESNA  2730
APACK  3075      DOLIL  2252      HE3    3422      MESNB  2735
A7605  2101      DOLOOP 2273      HE4    3431      MESNC  2745
A7612  2207      DONE   2412      HE8    3456      MESND  2752
BLEFT1 2270      DONE1  2433      HE9    3464      MESR   2713
BLEFT2 2271      DONE2  2440      HGP    3527      MESS   3561
BLOUT  3752      DOUL   3003      HL5    3500      MLEN   2063
BUNCH  3136      DOUT   3000      HL6    3503      MOVEBL 2525
CBL    4734      DO3    2304      HL6B   3524      M1C    7240
CCBDEC 4600      DS1    4423      HL7    3514      M2C    7344
CCBG1  4735      DS3    4447      HMES   3531      M3C    7346
CCBG2  4743      DS3B   4456      HOUT   3473      NEED1  3324
CCBOUT 4057      DUMPSW 0002      HWD    3526      NEED2  3346
CCBZER 4751      DUMP2S 0003      IBLEN  0026      NGRPS  0031
CCL1   4647      D7600  4407      IBUF1  2000      NLNES  3640
CDMP1  2631      EBCNT  0027      IBUF2  4000      NODEC  2010
CDMP2  2640      EBLK1  3227      IFNSV1 3230      NONBL  3134
CHAIN  0036      EBLK2  3257      IFNSV2 3200      NOUT   2451
CHCNT  3135      ERROR  5132      IFNWD1 3220      NSEGS  4731
CHMSK  2662      ERROR1 5127      IFNWD2 3250      OBLK   4221
CHP1   2663      ERROR2 5126      IF1    2400      OBUF   5400
CHP3   2664      ERROR3 5125      IF2    2405      OCL    3735
CH1    3557      ERROR4 5124      IHAND1 6601      OCNT   0024
CH1B   3551      ERROR5 5123      IHAND2 7201      OCSTA  2000
CH1C   3555      ERROR6 5122      IINIT  2477      OCTMP  3611
COMA   2626      ERROR7 5121      INBLK1 3222      OCTOUT 3727
COMB   2645      ERROR8 5120      INBLK2 3252      OFFV   3530
COMC   2621      ERROR9 5117      INH1   0006      OFUNWD 4217
COME   2654      FCHK   4532      INH2   0020      OHANA  2051
COMHED 3535      FDEVNT 4347      ISTB1  3353      OHAND  6201
COMN   2656      FDEVWD 4350      ISTB2  3354      OINIT  4233
COMPAR 2600      FE     4537      IWD1   0000      OUTH   0023
CORBL  4056      FEBWD  4353      IWD2   0001      OWD    3726
CORH   4044      FINC   2331      JSWOUT 5037      PACK   3671
CORL   4026      FINI   2322      JSW1   4075      PAGOUT 5000
COROUT 4000      FINISH 2312      JSW2   4103      PAGSET 5047
CO2    4073      FLEN   4307      LBUF1  1400      PAGS5  5067
CO4    4104      FLENPT 4351      LBUF2  1600      PAGS9  5100
CO6    4122      FLGER  4324      LIM    0034      PA1    3700
CRLF   3623      FLGET  4241      LINES  3637      PBL    3605
CR0    3073      FLHAND 4267      LINWD  3140      PCMA   2030
CR1    3100      FLSTB  4306      LIN5   3021      PCNT   3600
CR1E   3102      FLSTB2 4337      LIN6   3024      PCTR   4733
CR2    3122      FSTBWD 4352      LNCNT  3141      PDIG   3600
CR2E   3124      FULLSW 4232      LPACK1 3142      PGBAS  4732
CR4    3126      F5     4542      LPACK2 3150      PGCTR  2267
CR5    3127      F7600  4325      LPBLK  0030      PGEOT  4053
CR9    3132      GIVEUP 2456      MASK   2660      PGPTR1 0033
CTRLC  5104      GROUP  3137      MAX1   3147      PGPTR2 0034
DCHK   2515      HA1    3440      MAX2   3155      PGP1   4135
DEFALT 4400      HA2    3441      MESB   2670      PGP2   4146
DELTAC 4151      HCHK   4522      MESC1  2715      PGSW   0033
DIGCNT 3600      HEADER 3400      MESC2  2721      PGTAB1 6400
DMASK  2661      HEAD2  3474      MESC3  2725      PGTAB2 7000

/ OCTAL COMPARE V50			  PAL8-V50X 13-JUL-87 PAGE 19-1

PI     4733      
PMBL   3611      
PSAV   3725      
PSW    3673      
PUTADR 3600      
PUTSTR 3641      
PUT1   3647      
P1C    7201      
P2C    7326      
P2000C 7332      
P7600  4054      
RD11   3215      
RD21   3245      
READIC 3355      
READII 3306      
READIN 3260      
READI2 3330      
READ1  3200      
READ2  3230      
RELBK2 0005      
RELBLK 0004      
ROR6   3760      
SAOUT  5022      
SA1    4063      
SA2    4072      
SEGSIZ 0032      
SETSW  2460      
SF1    4062      
SF2    4071      
SLASHD 0021      
SLASHI 0022      
STBLK  2062      
TITD   4510      
TITE   4503      
TITL   4474      
TITLE  4462      
TITL0  4471      
TMP    0025      
TTDVNO 4405      
TTO6   3660      
TWOIN  2200      
TXFL   2755      
USR    0200      
WBLN   4231      
WPAK   3605      
WRITE  4200      
XR10   0010      
XR11   0011      
XR12   0012      
XR13   0013      
XR14   0014      



ERRORS DETECTED: 0
LINKS GENERATED: 166