File: OS850.LS of Disk: V50/Init/Build-Init
(Source file text) 


/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 1

		/OS8 MONITOR SYSTEM VERS. 50
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/COPYRIGHT  (C)  1977 BY DIGITAL EQUIPMENT CORPORATION
		/		 AND 2015 W. VAN DER MARK (WM)
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/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.
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 2






		/13-APRIL-1977		RL/EF/HJ/SR
		/10-MAY-1979		WM VERSION
		/27-MAY-2015		WM VERSION AGAIN

			/THIS VERSION OF OS/8 IS THE BATCH OPERATING SYSTEM
			/AS WELL AS THE STANDARD KEYBOARD SYSTEM. THIS SYSTEM
			/IS EXTERNALLY COMPATIBLE WITH ALL PREVIOUS OS/8-PS/8
			/USER PROGRAMS. HOWEVER, INTERNALLY THE SYSTEMS ARE
			/QUITE DIFFERENT. THE MARCH 1972 OS/8 WILL NOT RUN BATCH.
			/THIS VERSION IS COMPATIBLE WITH CCL.

		/	SYMBOLIC REFERENCES TO VARIOUS OVERLAYS:

	0026		MEOVLY=26	/DIRECTORY OVERFLOW OVERLAY FOR "ENTER"
	0051		MCDREC=51	/COMMAND DECODER
	0054		MSOVLY=54	/"SAVE W. ARGS" OVERLAY
	0055		MSOVL2=55	/SECOND PART OF SAVE W. ARGS
	0056		MERRTN=56	/MONITOR ERROR ROUTINE
	0057		MRUNRC=57	/"CHAIN" OVERLAY
	0060		ODTREC=60	/SYSTEM ODT
	0064		MRESER=64	/EXTENDED MEMORY OVERLAY
	0067		CCLREC=67	/CCL EXTENSION BLOCK
	0070		MFREE=70	/BEGINNING OF FILE STORAGE
	7400		CCB=7400
	0400		CSOVLY=400
	1400		CCOVLY=1400
	6200		LXM=6200	/EXTENDED MEMORY LOAD INSTRUCTION
	0005		VERSNO=5
	0261		PATCHLEV="1
			/GERMAN=1	/ENABLE GERMAN MESSAGES - NOT ANYMORE

		/V3 CHANGES:

		/1.	CCL SUPPORT
		/2.	FIXED KILLER CLOSE BUG
		/3.	ADDED VERSION NUMBER
		/4.	^U, RO TO BOL, AND LF ALL PRINT '.' AGAIN
		/5.	CALL TO USR WITH CODE OF 0 GIVES ERROR
		/6.	MONITOR ERROR MESSAGES NOW GIVE EXPLANATION
		/7.	ENTER NOW MOVES 7 FILES TO MAKE ROOM INSTEAD OF HALF SEGMENT
		/8.	DIRECTORY VERIFICATION HAS IMPROVED

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 3






		/V3 FIXES TO ABSLDR:

		/1.	ALLOWED PARITY ^C
		/2.	PUT IN SELF-STARTING STUFF
		/3.	FIXED CCB BUG FOR 17600

		/FIXES TO FIELD RELEASE

		/1.	ABSLDR CHECKS PAGE 0 LITERALS
		/2.	FIXED BUG RE MONITOR ERROR MESSAGES
		/3.	ADDITIONAL INFO FIX
		/4.	BATCH FIX

		/FIXES FOR MAINTENANCE RELEASE:

		/1.	CHANGED VERSION NUMBER OF MONITOR TO V3M
		/2.	INCORPORATED PATCH RE LOC 13121 AFTER MONITOR ERROR
		/	[SEQ #1, DSN APRIL 1975]
		/3.	ALLOW CHAIN TO WORK ON FULL FIELD SAVES
		/	[SEQ #2, DSN  JUNE 1975]
		/4.	ALLOW ABSLDR/I TO WORK ON FULL FIELD CORE IMAGES
		/	[SEQ #1, DSN OCTOBER 1975]
		/5.	ADDED INTERNAL VERSION NUMBER TO ABSLDR AT LOCATION 2200
		/	MAINT. RELEASE VERSION # IS V4
		/6.	SET INITIAL ABSLDR DATE TO 1-NOVEMBER-1975

		/V3D AND OS/78 CHANGES:

		/1.	ACCEPT DEC STANDARD DATE FORMAT FOR INPUT (DD-MMM-YY)
		/2.	CHANGED VERSION NUMBER TO V3Q
		/3.	ADDED DATE/78 CHANGES
		/4.	FIXED BUG ABOUT WAITING FOR TTY FLAG & BATCH
		/5.	ADDED STUFF FOR LINKER [USES SOFSET]
		/6.	CHANGED ABSLDR DATE TO 1-JUNE-77
		/7.	DISALLOW RUN OF PROGRAM WITH BIT 4 OF JSW ON [OS/78 ONLY]
		/8.	ASSIGNED RESIDENT BITS FOR SCOPE AND OS/78
		/9.	ALLOW @ IN KBM COMMAND
		/10.	COULD RUN INIT.CM ON SYSTEM START-UP
		/11.	CHANGED BAD CORE IMAGE MSG TO CORE IMAGE ERR
		/12.	CHANGED ABSLDR/I SO THAT IT SETS UP JSW AND SA

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 4






		/V3F CHANGES:

		/1.	ADDED MONITOR SUPPORT FOR KT8A
		/		A. R,RUN, GET COMMANDS NOW LOAD 128K
		/		B. SAVE COMMAND CAN SAVE UP TO 128K
		/2.	ADDED HIGROUND SUPPORT
		/3.	ABSLDR ALSO UPDATED TO SUPPORT 128K

		/V40:
		/	ABSLDR SHOULD WORK NOW
		/	WHY NOT USE BSW?
		/	KILL OS78
		/	GIVE GERMAN ERROR MESSAGES
		/	DON'T FORGET TO ASSEMBLE WITH /W
		/V50:
		/	VERSION 5X

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 5






			/KEYBOARD MONITOR FOR OS/8 SYSTEM

	0000		FIELD 0
	7346		MTHREE=CLA CLL CMA RTL
	0200		*200
000200  5707	PRINT,	JMP I HNDL	/MUST BE AT 200 FOR BATCH
000201  5204		JMP .+3		/****GETS CIF CDF N FOR BATCH*****
000202  6041		TSF		/****GETS JMP I .+1******
000203  5202		JMP .-1		/*GETS BOSPRT*****
000204  6046		TLS
000205  7200		CLA
000206  1177		TAD [7000
000207  3201		DCA PRINT+1
000210  5600		JMP I PRINT
000211  0000	GETNAM,	0		/ROUTINE TO ACESS TTY INPUT
000212  3034		DCA NM1		/FIRST OFF,INITIALIZE
000213  3035		DCA NM2		/SET UP SYMBOLS FOR STORING NAME
000214  3036		DCA NM3
000215  3037		DCA NM4
000216  1323		TAD TNM1
000217  3044		DCA PN
000220  7240		CLA CMA
000221  3045		DCA PRDSW
000222  3043	GTNMX,	DCA NMCT
000223  1413		TAD I LXR	/LOCATE FIRST CHARACTER
000224  1324		TAD M240	/IS IT A SPACE?
000225  7450		SNA		/IF SO TEST NEXT CHARACTER
000226  5223		JMP .-3
000227  1176		TAD [240	/WE'VE GOT FIRST CHARACTER
000230  7410		SKP
000231  1413	GTNMLP,	TAD I LXR	/GET ANOTHER CHARACTER
000232  1333		TAD	M340	/CONVERT LC TO UC
000233  7500		SMA
000234  1175		TAD	[-40
000235  1313		TAD	LDBLK	/*K*=340
000236  3031		DCA TMP
000237  1031		TAD TMP
000240  1362		TAD M256	/IS IT A PERIOD?
000241  7450		SNA
000242  5276		JMP PERIOD	/IF SO, PROCESS IT
000243  1174		TAD [-2
000244  7100		CLL
000245  1361		TAD M12
000246  7620		SNL CLA		/IS IT GT  ASCII CHARACTER (#9)?
000247  5256		JMP NINSRT	/IF NO, INSERT IN NAME
000250  1363		TAD M301
000251  1031		TAD TMP
000252  7120		CLL CML
000253  1173		TAD [-32
000254  7620		SNL CLA		/IS IT GT ASCII(Z),IF SO

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 5-1

000255  5303		JMP EONAME	/END OF NAME

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 6






000256  1043	NINSRT,	TAD NMCT	/CHECK FOR MAXIMUM CHARS
000257  1172		TAD [-6
000260  7700		SMA CLA
000261  5231		JMP GTNMLP	/IF MAXIMUM SAVE NO MORE
000262  1043		TAD NMCT	/SET UP POINTER TO STORE CHARACTER
000263  7110		CLL RAR
000264  1044		TAD PN
000265  3040		DCA TEMP1	/HERE IS POINTER TO NM1,NM2,ETC.
000266  1031		TAD TMP
000267  0171		AND [77		/ISOLATE SIX BITS FOR STORAGE
000270  7420		SNL
000271  7002		BSW
000272  1440		TAD I TEMP1	/OR IT IN AND STORE
000273  3440		DCA I TEMP1
000274  2043		ISZ NMCT
000275  5231		JMP GTNMLP
000276  2045	PERIOD,	ISZ PRDSW
000277  5303		JMP EONAME
000300  2044		ISZ PN
000301  1322		TAD N4
000302  5222		JMP GTNMX
000303  1043	EONAME,	TAD NMCT
000304  7640		SZA CLA
000305  2211		ISZ GETNAM
000306  5611		JMP I GETNAM

000307  4000	HNDL,	4000		/ROUTINE TO RELOAD NON-SYS HANDLER FOR SAVE ROUTINE
000310  4570		JMS I [SHNDLR
000311  0200		0200		/READ TWO PAGES
000312  1000		1000		/INTO 1000
000313  0340	LDBLK,	340		/SET UP BY SAVE ROUTINE
000314  5003		JMP KMONER
000315  5707		JMP I HNDL

000316  4567	KMER3,	JMS I [PRMESG
		IFDEF  GERMAN <	TEXT	/NEIN/>
000317  1617	IFNDEF GERMAN < TEXT	/NO!!/>
000320  4141
000321  0000
000322  0004	N4,	4
000323  0034	TNM1,	NM1
000324  7540	M240,	-240

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 7






000325  4340	PRINLP,	JMS PRWD
000326  2330		ISZ PRMESG
000327  7410		SKP
			IFNZRO .-330 <CCLTRB,ERRR>
000330  0000	PRMESG,	0		/ERROR MESSAGE PRINTING ROUTINE
000331  7200		CLA
000332  1730		TAD I PRMESG
000333  7440	M340,	SZA
000334  5325		JMP PRINLP
000335  6041		TSF
000336  5335		JMP .-1
000337  5433		JMP I ERRET	/RETURN TO MONITOR
000340  0000	PRWD,	0
000341  3031		DCA TMP
000342  1031		TAD TMP
000343  7002		BSW
000344  4350		JMS PCHAR
000345  1031		TAD TMP
000346  4350		JMS PCHAR
000347  5740		JMP I PRWD
000350  0000	PCHAR,	0
000351  0171		AND [77
000352  7450		SNA
000353  5750		JMP I PCHAR
000354  1176		TAD [240
000355  0171		AND [77
000356  1176		TAD [240
000357  4423		JMS I PCH
000360  5750		JMP I PCHAR

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 8






000361  7766	M12,	-12
000362  7522	M256,	-256
000363  7477	M301,	-301

000364  4330	PRINTQ,	JMS PRMESG
000365  7700		TEXT /?/
000366  0000		0

000367  4570	SAVE12,	JMS I [SHNDLR	/RELOAD AND RETURN TO MONITOR FROM SAVE
000370  0610		0610
000371  0000		0
000372  0013		MONTOR
000373  5003		JMP KMONER
000374  7340		CLL CLA CMA
000375  6211		CDF 10
000376  3566		DCA I [7700
000377  5565		JMP I [7605
	0400		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 9






000400  5665	KMNTRY,	JMP I GDEVNO
000401  0652	BFDIFF,	SVLNBF-BEGLN
000402  4564	PCRLF,	JMS I [CRLF
			IFNZRO .-403	<BTCHER,______>

000403  4424	KEYMON,	JMS I GLINE
000404  1163		TAD [BEGLN-1	/ADDRESS REFERENCED BY INIT
000405  3013		DCA LXR
000406  4425		JMS I GNAME
000407  0012	K12,	12		/V3D ALLOW @ IN NAME
000410  4562		JMS I [SRCH
000411  7655		-123;	ASSIGN
000412  0436
000413  5477		-2301;	SAVE
000414  0545
000415  5553		-2225;	RUN
000416  0512
000417  7073		-705;	GET
000420  0511
000421  5600		-2200;	R
000422  0455
000423  5454		-2324;	START
000424  0600
000425  6074		-1704;	ODT
000426  0573
000427  7373		-0405;	DEAS	/GETS 7777 FROM CCL
000430  0637
			IFNZRO .-431	<SEECCL,______>
000431  7377		-0401;	DATE
000432  1367
000433  0000		0
000434  5635		JMP I	CCLSW
			IFNZRO .-435	<SEECCL,______>
000435  1357	CCLSW,	PRQMRK		/MODIFIED FOR CCL TO 'GETCCL'

000436  1207	ASSIGN,	TAD	K12
000437  4265		JMS GDEVNO
000440  1175		TAD [UDNAME-1
000441  3041		DCA TM1
000442  4425		JMS I GNAME
000443  0765	XKMER1,	KMER1		/NO USER DEV. DO A DEASSIGN *FALL THRU*
000444  1035		TAD NM2		/SEE IF WE HASH IT
000445  7450		SNA
000446  5253		JMP ASGN2	/DON'T HASH..ONLY 1 OR 2 CHARS
000447  1034		TAD NM1
000450  7004		RAL		/LINK BECOMES 4000 IF NECESSARY
000451  7230		CLA CML RAR
000452  1035		TAD NM2
000453  1034	ASGN2,	TAD NM1
000454  5561		JMP I [ASDONE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 10






000455  3560	R,	DCA I [GETSW
000456  1030		TAD P6203
000457  4557		JMS I [RESET
000460  2046		ISZ RUNSW
000461  1170		TAD [SHNDLR
000462  3305		DCA HANDAD
000463  7201		CLA IAC
000464  5320		JMP RGETPG

000465  1005	GDEVNO,	KMINIT
000466  3302		DCA ASNM1-1
000467  4556		JMS I [MINCOR
000470  4425		JMS I GNAME
000471  5555		JMP I [KMER4
000472  1034		TAD NM1
000473  3303		DCA ASNM1
000474  1035		TAD NM2
000475  3304		DCA ASNM1+1
000476  1364		TAD HNDLAD
000477  3305		DCA  HANDAD
000500  6212		CIF 10
000501  4422		JMS I SYSTEM
000502  0001		1
000503  0000	ASNM1,	0;0
000504  0000
000505  7001	HANDAD,	7001		/OR 1001
000506  5643		JMP I XKMER1
000507  1304		TAD ASNM1+1
000510  5665		JMP I GDEVNO

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 11






000511  1154	GET,	TAD [SKP
000512  3560	RUN,	DCA I [GETSW
000513  1030		TAD P6203
000514  4557		JMS I [RESET
000515  3046		DCA RUNSW
000516  7201		CLA IAC
000517  4265		JMS GDEVNO
000520  4332	RGETPG,	JMS RSCOMN
000521  4556		JMS I [MINCOR
000522  1050		TAD SENTER
000523  6212		CIF 10
000524  4422		JMS I SYSTEM
000525  0002		2
000526  0034	PGNAME,	NM1
000527  7626		MOVBUF		/USED AS POINTER TO FIELD 1 SR
000530  5553		JMP I [KMER2
000531  5552		JMP I [RLOADR
000532  0000	RSCOMN,	0
000533  3050		DCA SENTER
000534  1305		TAD HANDAD
000535  3026		DCA DEVHND
000536  4425		JMS I GNAME
000537  5555		JMP I [KMER4
000540  1037		TAD NM4
000541  7450		SNA
000542  1151		TAD [2326
000543  3037		DCA NM4
000544  5732		JMP I RSCOMN
000545  1150	SAVE,	TAD [SAVE12	/CHANGE ERROR RETURN ADDRESS AS WE WILL DESTROY CORE
000546  3033		DCA ERRET
000547  1573		TAD I [JSBITS
000550  4557		JMS I [RESET
000551  6212		CIF 10		/MOVE THE LINE BUFFER TO 1600 DURING
000552  4727		JMS I PGNAME+1	/A SAVE, AS HANDLER WIPES IT OUT
000553  1013		TAD LXR		/LET'S MOVE THE REGISTER AROUND
000554  1201		TAD BFDIFF
000555  3013		DCA LXR
000556  1375		TAD K1001
000557  3364		DCA HNDLAD
000560  7201		CLA IAC
000561  4265		JMS GDEVNO
000562  4332		JMS RSCOMN
000563  5547		JMP I [SAVE2

		HNDLAD,			/REPLACED WITH 1001 BY SAVE
000564  7001	WRCTLB,	7001		/WRITE OVERLAY AND CCB
000565  4570		JMS I [SHNDLR
000566  4600		4600
000567  6200		6200
000570  0035		MTEMP+6

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 11-1

000571  5003		JMP KMONER
000572  5764		JMP I WRCTLB

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 12






			/LOADS SYSTEM ODT OVER THE MONITOR
000573  4432	ODT,	JMS I PGTOUT
000574  4570		JMS I [SHNDLR
000575  1001	K1001,	1001
000576  0000		0
000577  0060		ODTREC
			IFNZRO .-600	<SEEODT,_____>
			/LOCATION 600 IN ODT IS A HLT (ERROR RETURN)
	0400		RELOC	CSOVLY
	0400		PAGE
	0600		RELOC		/CLEAN UP PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 13






000600  3040	START,	DCA TEMP1
000601  3021		DCA TEMP2
000602  1413		TAD I LXR	/V3
000603  7440		SZA		/V3
000604  5546		JMP I [STRTX	/V3
000605  1545		TAD I [JFIELD
000606  3544		DCA I [MSTCDF
000607  1573		TAD I [JSBITS
000610  0143		AND [1000
000611  7640		SZA CLA
000612  5542		JMP I [KMER3
000613  1573		TAD I [JSBITS
000614  4557		JMS I [RESET	/RESET ONLY IF NO START ADR SPECIFIED
000615  1541		TAD I [JSTART
000616  3540	STCOMN,	DCA I [MSTADR
000617  6041		TSF
000620  5217		JMP .-1		/WAIT FOR PRINTER TO FINISH
000621  4432		JMS I PGTOUT
000622  1573		TAD I [JSBITS
000623  7710		SPA CLA
000624  5572		JMP I [MSTCDF-1
000625  1170		TAD [SHNDLR
000626  3537		DCA I [MREAD-1
000627  1143		TAD [1000
000630  3536		DCA I [MREAD+1
000631  3535		DCA I [MREAD+2
000632  1134		TAD [MTEMP+4
000633  3533		DCA I [MREAD+3
000634  1027		TAD FUDJMP
000635  3532		DCA I [MSWITC
000636  5531		JMP I [MREAD

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 14






000637  1175	DEAS,	TAD [UDNAME-1
000640  3014		DCA X1
000641  1135		TAD [-17
000642  3041		DCA TM1
000643  6211		CDF 10
000644  3414		DCA I X1
000645  2041		ISZ TM1
000646  5244		JMP .-2
000647  6203	ASRET,	CDF CIF 0
000650  5530		JMP I [KEYMON
		RLOADR,
000651  1527	RUN1,	TAD I [PGNAME
000652  3256		DCA FILE
000653  4426		JMS I DEVHND
000654  0101		0101
000655  7400		CCB
000656  0000	FILE,	0		/READ IN THE HEADER BLOCK
000657  5003		JMP KMONER	/ERROR WHILE READING HEADER BLOCK
000660  1526		TAD I [CCB
000661  4525		JMS I [CCBTST	/TEST FOR VALID CORE CONTROL
000662  1051		TAD	EXTMP
000663  3777		DCA I	(RUNCNT
000664  1524		TAD I [CCB+1
000665  3544		DCA I [MSTCDF
000666  1523		TAD I [CCB+2
000667  3540		DCA I [MSTADR	/MOVE THE STARTING ADDRESS INTO UPPER CORE
000670  1524		TAD I [CCB+1
000671  3545		DCA I [JFIELD
000672  1523		TAD I [CCB+2
000673  3541		DCA I [JSTART
000674  1522		TAD I [CCB+3	/SET UP THE JOB INFORMATION AREA
000675  4557		JMS I [RESET	/AND CLEAR INFORMATION ABOUT "RUN" HANDLER
000676  1027		TAD FUDJMP
000677  3532		DCA I [MSWITC	/SET MSWITC TO INHIBIT LOADING 7400
000700  7410	GETSW,	SKP		/SKP FOR GET, NOP FOR RUN
000701  5306		JMP RUN2
000702  1030		TAD P6203
000703  3544		DCA I [MSTCDF
000704  1121		TAD [7600
000705  3540		DCA I [MSTADR	/IF A GET, SET STARTING ADDRESS TO RETURN
					/TO MONITOR

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 15






000706  1777	RUN2,	TAD I	(RUNCNT	/PATCH DSN APR-MAY 79
000707  7144		CLL CMA RAL	/POINT TO LAST DOUBLEWORD IN CCB
000710  1376		TAD	(CCB+4
000711  3041		DCA TM1		/TM1 POINTS TO SEG. ADDRESS
000712  1441		TAD I TM1	/STORE ADDRES TO READ POSSIBLE OVERLAY
000713  3535		DCA I [MREAD+2
000714  2041		ISZ TM1		/POINT TO SEGMENT CONTROL WORD
000715  1026		TAD DEVHND	/IF THE HANDLER IS IN 7600, OR
000716  1120		TAD [200	/IF THE SEGMENT DOES NOT LOAD OVER
000717  7204		CLA RAL		/7000, NO OVERLAY IS NEEDED. ALSO IF
000720  1441		TAD I TM1	/THE SEGMENT IS IN FIELDS 1-7.
000721  0171		AND [77
000722  7640	RUN5A,	SZA CLA
000723  5517		JMP I [RUN6	/NO PROBLEMS.. READ STUFF IN
000724  1535		TAD I [MREAD+2	/SEE IF WE OVERLAY 7000
000725  7130		CLL CML RAR
000726  1441		TAD I TM1	/ADD IN CONTROL WORD
000727  1116		TAD [300
000730  7510		SPA		/IF NEGATIVE, 7000 IS NOT OVERLAYED
000731  5322		JMP RUN5A
000732  1121		TAD [7600	/GETS 0, 100, 200, OR 300
000733  7500		SMA		/IF  POSITIVE READ 3 PAGE OVERLAY
000734  2515		ISZ I [PGNAME+1	/POINT TO NEXT TO LAST RECORD
000735  1116		TAD [300

000736  3344		DCA RDCNT
000737  1515		TAD I [PGNAME+1
000740  7040		CMA		/GET RECORD TO READ OVERLAY FROM
000741  1256		TAD FILE
000742  3346		DCA R7000
000743  4426		JMS I DEVHND	/READ OVERLAY FROM THE FILE INTO PAGES
000744  0000	RDCNT,	0		/BEFORE CCB
000745  6200		6200		/THEN WRITE THE WHOLE MESS OUT
000746  0000	R7000,	0
000747  5003		JMP KMONER
000750  4514		JMS I [WRCTLB	/WRITE OUT THE OVERLAY+CCB
000751  3350		DCA .-1		/BUT ONLY ONCE!!
000752  2046		ISZ RUNSW
000753  3532		DCA I [MSWITC	/ENABLE READ OF OVERLAY
000754  1344		TAD RDCNT	/SEE IF THIS SEG IS EXHAUSTED
000755  7041		CIA
000756  1441		TAD I TM1
000757  7550		SPA SNA
000760  2777		ISZ I	(RUNCNT	/ARE WE DONE WITH ALL SEGMENTS?
000761  7410		SKP		/NOT YET. LOOP UNTIL DONE
000762  5532		JMP I [MSWITC
000763  3441	RUN5,	DCA I TM1	/SAVE ALTERED CONTROL WORD
000764  5306		JMP RUN2

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 16







000765  4513	KMER1,	JMS I [PRNAME	/DEVICE NOT AVAILABLE
000766  4567		JMS I [PRMESG
		IFDEF GERMAN <	TEXT	/ UNBEKANNT/>
000767  4025	IFNDEF GERMAN < TEXT	/ UNKNOWN! />
000770  1613
000771  1617
000772  2716
000773  4140
000774  0000
000776  7404
000777  1763
	1000		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 17






		/MUST BE AT 1000 FOR BATCH
001000  0000	BEGLN,	0	/LINE BUFFER	COULD BECOME "@
001001  0311		"I
001002  0316		"N
001003  0311		"I
001004  0324		"T
001005  6211	KMINIT,	CDF 10		/INITIALIZATION - DESTROYED BY LINE BUFFER
001006  2566		ISZ I [7700	/LOC 17700=7777 IF I/O MONITOR IS KNOWN
001007  5212		JMP .+3		/TO BE IN CORE, SO SET UP
001010  1120		TAD [200	/THE INITIAL POINTER FOR CALLS TO THE MONITOR
001011  3022		DCA SYSTEM	/ACCORDINGLY
001012  6201		CDF 0
001013  1413		TAD I LXR	/MOVE PMSRST TO MSWITC+1
001014  3414		DCA I X1
001015  2021		ISZ TEMP2
001016  5213		JMP .-3
001017  6211		CDF 10
001020  1263		TAD MVFROM
001021  3662		DCA I PDBUF
001022  2220		ISZ .-2
001023  2262		ISZ PDBUF
001024  2261		ISZ MVCNT
001025  5220		JMP .-5
001026  6201		CDF 0
001027  1663		TAD I PDBUF+1	/SEE IF BATCH IS SET
001030  7004		RAL		/IF YES, GO TO PAGE 0 TO CONTINUE
001031  7700		SMA CLA		/IF IT ISN'T, CONTINUE NORMALLY
001032  5241		JMP INTGO	/NORMAL KEYBOARD SYSTEM
001033  3650		DCA I RTWTPT	/DON'T WAIT ON TTY FLAG IF BATCH IS RUNNING
001034  1573		TAD I [JSBITS	/IS BOS IN PLACE?
001035  0251		AND DCBF
001036  7650		SNA CLA
001037  5035		JMP BATCH	/NO. GO READ IT IN.
001040  5046		JMP BCHGO	/YES. START IT UP.
001041  1120	INTGO,	TAD [200
001042  6034		KRS
001043  1375		TAD M203
001044  7650		SNA CLA		/IS THERE A ^C IN THE READER BUFFER
001045  6031		KSF		/WITH THE FLAG ON?
001046  5433		JMP I ERRET	/NO - PRINT CRLF AND PERIOD
001047  5306		JMP CLR		/V3D
001050  1717	RTWTPT,	RUNTWT
001051  0400	DCBF,	400

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 18






	7765	PMSRST,	RELOC 7765	/MSWITC+1
007765* 4207		JMS SHNDLR
007766* 0300		0300
007767* 7000		7000
007770* 0035		MTEMP+6
			IFNZRO .-7771	<SEE78, ______>
007771* 7402		HLT		/CONTAINS SECOND COPY OF OS/78 BIT
007772* 6042		TCF		/REVERSED FOR KT8A
007773* 6203		CDF CIF 0
	1061		RELOC
001061  7764	MVCNT,	MOVBUF-MVT3-1
001062  7626	PDBUF,	MOVBUF
	7626	MVFROM,	RELOC	7626
007626* 7777	MOVBUF,	7777	/USED IN BATCH SETUP
007627* 1637		TAD I MVT1	/MOVE THE LINE BUFFER FROM 1000
007630* 3640		DCA I MVT2	/TO 1655
007631* 2237		ISZ MVT1
007632* 2240		ISZ MVT2
007633* 2241		ISZ MVT3
007634* 5227		JMP .-5
007635* 6203		CIF CDF 0
007636* 5626		JMP I MOVBUF

007637* 1000	MVT1,	BEGLN
007640* 1652	MVT2,	SVLNBF
007641* 7667	MVT3,	-111

	1077		RELOC
			IFNZRO .-1077	<SEESET, ______>
001077  6211	INIT,	CDF 10		/V3D (INITIALIZATION)
001100  1251		TAD DCBF
001101  3741		DCA I ROT	/RESTORE LOC 7677 TO '400'
001102  6201		CDF 0
001103  3205		DCA KMINIT	/END LINE WITH 0
001104  6046		TLS
001105  5766		JMP I CRLF	/FAKE OUT KBM AS IF USER TYPED @INIT


001106  6032	CLR,	KCC
001107  5710		JMP I .+1
001110  1273		CTRLC
001111  0212	TX212,	212

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 19






001112  1413	DIGTLP,	TAD I LXR
001113  1377	STRTX,	TAD (-270
001114  7100		CLL
001115  1112		TAD [10
001116  3042		DCA TMP1	/V3
001117  7420		SNL
001120  5330		JMP EONUM
		/V3	ISZ DIGFLG
001121  4341		JMS ROT
001122  4341		JMS ROT
001123  4341		JMS ROT
001124  1021		TAD TEMP2
001125  1042		TAD TMP1
001126  3021		DCA TEMP2
001127  5312		JMP DIGTLP
001130  1040	EONUM,	TAD TEMP1
001131  0111		AND [7
001132  7106		CLL RTL
001133  7004		RAL
001134  1357		TAD KM6203
001135  3544		DCA I [MSTCDF
001136  1021		TAD TEMP2
001137  5740		JMP I .+1
001140  0616		STCOMN

001141  7677	ROT,	7677		/V3D NEEDED FOR INIT
001142  1021		TAD TEMP2
001143  7104		CLL RAL
001144  3021		DCA TEMP2
001145  1040		TAD TEMP1
001146  7004		RAL
001147  3040		DCA TEMP1
001150  5741		JMP I ROT

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 20






001151  0000	MINCOR,	0
001152  6212		CIF 10
001153  4422		JMS I SYSTEM
001154  0010		10
001155  6211		CDF 10
001156  3511		DCA I [OLDT9	/ZERO OUT "DIRECTORY IN CORE" KEY
001157  6203	KM6203,	CIF CDF 0
001160  1120		TAD [200
001161  3022		DCA SYSTEM
001162  5751		JMP I MINCOR

001163  6211	ASDONE,	CDF 10
001164  3441		DCA I TM1
001165  5510		JMP I	[ASRET


001166  0404	CRLF,	KEYMON+1	/V3D NEEDED FOR INIT
001167  1107		TAD [215
001170  3034		DCA NM1
001171  4776		JMS I (PRNT
001172  1311		TAD TX212
001173  4423		JMS I PCH
001174  5766		JMP I CRLF

001175  7575	M203,	-203
001176  1262
001177  7510
	1200		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 21






		/NOTE: XR=AMFLAG !

			/TELETYPE INPUT ROUTINE
001200  0404	XGLINE,	KEYMON+1	/MUST BE AT 1200 FOR BATCH & CCL
001201  1106		TAD [".
001202  4423		JMS I PCH
001203  3020		DCA RBFLAG
001204  1163		TAD [BEGLN-1
001205  3013	CHLM1,	DCA LXR
001206  3017		DCA AMFLAG	/ZERO ALTMODE FLAG
001207  6031	CHLOOP,	KSF
001210  5207		JMP CHLOOP
001211  1120		TAD [200
001212  6034		KRS
001213  3034		DCA NM1
001214  6032		KCC
001215  4327		JMS SRCH
001216  7553		-225;CTRLU
001217  1273
001220  7563		-215;CARRET
001221  1252
001222  7401		-377;RUBOUT	/**THIS AREA GETS MODIFIED BY SET**
001223  1307
001224  7403		-375;ALTMOD	/-223;CHLOOP
001225  1302
001226  7402		-376;ALTMOD	/-221;CHLOOP
001227  1302
001230  7545		-233;ALTMOD
001231  1302
001232  7566		-212;LFEED
001233  1344
001234  7600		-200;CHLOOP
001235  1207
001236  7561		-217;CHLOOP	/IGNORE ^O
001237  1207
001240  7575		-203;CTRLC	/MUST BE JUST BEFORE 0
001241  1273
					/MUST BE HERE FOR CCL
001242  0000		0
001243  4262		JMS PRNT
001244  1034	CINSRT,	TAD NM1
001245  3413		DCA I LXR
001246  1013		TAD LXR
001247  1105		TAD [-BEGLN-110
001250  7710		SPA CLA
001251  5207		JMP CHLOOP
001252  4564	CARRET,	JMS I [CRLF
001253  1013		TAD LXR
001254  1104		TAD [1-BEGLN
001255  7650		SNA CLA

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 21-1

001256  5201		JMP XGLINE+1
001257  3413		DCA I LXR
001260  3413		DCA I LXR
			IFNZRO .-1261	<BTCHER, ______>
001261  5600		JMP I XGLINE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 22






		/THIS PAGE GETS MODIFIED BY SET COMMANDS (FOR REAL SCOPE RUBOUTS)
		/**** BEWARE! ***

001262  0000	PRNT,	0
001263  2020		ISZ RBFLAG
001264  5267		JMP .+3
001265  1361		TAD BSLSH	/"\ CONSTANT FOR SET =1361
001266  4423		JMS I PCH
001267  3020		DCA RBFLAG
001270  1034		TAD NM1
001271  4423		JMS I PCH
001272  5662		JMP I PRNT
		CTRLC,
001273  1103	CTRLU,	TAD ["^
001274  4423		JMS I PCH
001275  1034		TAD NM1
001276  1102		TAD [100
001277  4423	CLRLIN,	JMS I PCH
001300  4564	RBSPCL,	JMS I [CRLF
001301  5201		JMP XGLINE+1

			IFNZRO .-1302	<SEESET, ______>
001302  1101	ALTMOD,	TAD ["$
001303  3034		DCA NM1
001304  4262		JMS PRNT
001305  2017		ISZ AMFLAG	/NOTE ALTMODE
001306  5252		JMP CARRET	/WHY NOT GIVE CR?
001307  1013	RUBOUT,	TAD LXR
001310  1104		TAD [1-BEGLN
001311  7650		SNA CLA
001312  5300		JMP RBSPCL	/***	SET STUFF   ***
001313  1361		TAD BSLSH	/BSPC,	210
001314  2020		ISZ RBFLAG	/	TAD	BSPC
001315  4423		JMS I PCH
001316  7240		CLA CMA		/	TAD	LBCKUP
001317  3020		DCA RBFLAG	/	JMS I	PCH
001320  1013		TAD LXR
001321  3040		DCA TEMP1
001322  1440		TAD I TEMP1	/	TAD	BSPC
001323  4423		JMS I PCH
001324  7240	LBCKUP,	CLA CMA
001325  1013		TAD LXR
001326  5205		JMP CHLM1

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 23






001327  0000	SRCH,	0
001330  1727		TAD I SRCH
001331  2327		ISZ SRCH
001332  7450		SNA
001333  5727		JMP I SRCH
001334  1034		TAD NM1
001335  7650		SNA CLA
001336  5341		JMP SFND
001337  2327		ISZ SRCH
001340  5330		JMP SRCH+1
001341  1727	SFND,	TAD I SRCH
001342  3040		DCA TEMP1
001343  5440		JMP I TEMP1
001344  4564	LFEED,	JMS I [CRLF
001345  3413		DCA I LXR
001346  1106		TAD [".
001347  4423		JMS I PCH
001350  1163		TAD [BEGLN-1
001351  3017		DCA XR
001352  1417		TAD I XR
001353  7450		SNA
001354  5324		JMP LBCKUP
001355  4423		JMS I PCH
001356  5352		JMP .-4

			IFNZRO .-1357	<SEECCL,______>
001357  4513	PRQMRK,	JMS I [PRNAME
001360  5500		JMP I [PRINTQ
001361  0334	BSLSH,	"\

			IFNZRO .-1362	<FIXCCL,______>
001362  1077	GETCCL,	TAD [6003
001363  4557		JMS I [RESET
001364  1076		TAD [CCLREC	/CCL OVERLAY BLOCK IS BLOCK 67 ***
001365  3375		DCA OV
001366  5372		JMP DATE2
001367  1031	DATE,	TAD TMP
001370  7650		SNA CLA
001371  5475		JMP I [CCLSW-1	/USED TO BE JMP GETCCL
001372  4570	DATE2,	JMS I [SHNDLR	/READ IN DATE OVERLAY
001373  0201		0201
001374  0400		CSOVLY
			IFNZRO .-1375	<SEECCL, ______>
001375  0055	OV,	MSOVL2
001376  5003		JMP KMONER
001377  5474		JMP I [DATEXX
	1400		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 24






001400  1413	SAVE2,	TAD I LXR
001401  7650		SNA CLA		/ARE THERE ANY ARGS?
001402  5211		JMP SAVE2A	/NO ... USE CCB
001403  4570		JMS I [SHNDLR	/READ IN ARG OVERLAY
001404  0201		0201
001405  0400		CSOVLY
001406  0054		MSOVLY
001407  5003		JMP KMONER
001410  5660		JMP I CCBTST	/GO TO IT
001411  4570	SAVE2A,	JMS I [SHNDLR
001412  0201		0201
001413  0400		CSOVLY
001414  0037		MTEMP+10
001415  5003		JMP KMONER
001416  1073	SAVE3,	TAD [603
001417  3017		DCA XR
001420  3013		DCA LXR		/INITIALIZE FOR GT32K I.D.
001421  1474		TAD I [600
001422  4525		JMS I [CCBTST
001423  4570		JMS I [SHNDLR
001424  0101		0101
001425  0400		CSOVLY
001426  0055		MSOVL2
001427  5003		JMP KMONER
001430  5705		JMP I GETOUT
001431  4432	SAV2X,	JMS I PGTOUT
001432  1474		TAD I [600	/UPDATE THE SEGMENT COUNT BY
001433  7104		CLL RAL		/FIRST,MAKING SURE 4000 BIT IS SET
001434  7130		STL RAR
001435  7041		CIA
001436  1052		TAD MERTST	/SUBTRACT # OF GT32K SEGS THIS ALLOW US TO BYPASS...
001437  7041		CIA
001440  3051		DCA EXTMP	/SAVE COUNT FOR GT32K
001441  1051		TAD EXTMP
001442  7041		CIA
001443  7104		CLL RAL		/WE WANT TO BUMP COUNTER TWICE FOR EVERY SEG
001444  1073		TAD [603	/ADD POINTER TO INITIAL SEGMENT
001445  3017		DCA XR
001446  5777		JMP I (XLOD
001447  4567	KMER4,	JMS I [PRMESG
		IFDEF  GERMAN <	TEXT	/ANGABEN FEHLEN/>
001450  2417	IFNDEF GERMAN < TEXT	/TOO FEW PARAMS/>
001451  1740
001452  0605
001453  2740
001454  2001
001455  2201
001456  1523
001457  0000


/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 25







001460  0400	CCBTST,	SAVE1A		/EXAMINE COUNT WORD OF CCB FOR VALIDITY
					/ASCII AND BINARY FILES USUALLY FAIL THIS TEST
001461  7104		CLL RAL		/INSURES 4000 BIT IS SET--128K INDICATOR
001462  7130		STL RAR
001463  3051		DCA EXTMP
001464  6200		LXM		/INITIALIZE EXTENDED MEMORY
001465  1051		TAD EXTMP
001466  7040		CMA
001467  0175		AND [7740
001470  7650		SNA CLA
001471  5660		JMP I CCBTST	/IT WAS VALID
001472  1165	CIERR,	TAD [7605
001473  3033		DCA ERRET	/RELOAD MONITOR ON THIS ERROR
001474  4567		JMS I [PRMESG	/IT WASN'T - TELL THE USER
		IFDEF  GERMAN <	TEXT	/KEINE.SV-DATEI/>
001475  0317	IFNDEF GERMAN < TEXT	/CORE IMAGE ERR/>
001476  2205
001477  4011
001500  1501
001501  0705
001502  4005
001503  2222
001504  0000
001505  0462	GETOUT,	SAVE3A		/SUBROUTINE TO KICK MONITOR OUT IF NECESSARY
001506  1573		TAD I [JSBITS
001507  7010		RAR
001510  7200		CLA
001511  1022		TAD SYSTEM
001512  7730		SZL SPA CLA	/IS THE SYSTEM IN CORE AND SHOULD IT BE?
001513  5705		JMP I GETOUT
001514  6212		CIF 10		/YES AND NO - KICK IT OUT
001515  4422		JMS I SYSTEM
001516  0011		11		/BYE BYE
001517  1166		TAD [7700
001520  3022		DCA SYSTEM
001521  5705		JMP I GETOUT
001522  4332	KMER2,	JMS PRNAME
001523  4567		JMS I [PRMESG
		IFDEF  GERMAN <	TEXT	/ NICHT DA />
001524  4016	IFNDEF GERMAN < TEXT	/ NOT FOUND/>
001525  1724
001526  4006
001527  1725
001530  1604
001531  0000

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 26






001532  0000	PRNAME,	0
001533  1034		TAD NM1
001534  4472		JMS I [PRWD
001535  1035		TAD NM2
001536  4472		JMS I [PRWD
001537  1036		TAD NM3
001540  4472		JMS I [PRWD
001541  1037		TAD NM4
001542  7650		SNA CLA
001543  5732		JMP I PRNAME
001544  1106		TAD [256
001545  4471		JMS I [PCHAR
001546  1037		TAD NM4
001547  4472		JMS I [PRWD
001550  5732		JMP I PRNAME

001551  0000	RESET,	0
001552  3573		DCA I [JSBITS	/MARK AREAS FOR I/O OPTOMIZATION
001553  4556		JMS I [MINCOR
001554  6212		CIF 10
001555  4422		JMS I SYSTEM
001556  0013		13		/RESET DEVICE HANDLERS AND OUTPUT FILES
001557  5751		JMP I RESET

001560  4567	SVXER,	JMS I [PRMESG
		IFDEF  GERMAN <	TEXT	/.SA FEHLER/>
001561  2301	IFNDEF GERMAN < TEXT	/SAVE ERROR/>
001562  2605
001563  4005
001564  2222
001565  1722
001566  0000
001567  4567	KMER5,	JMS I	[PRMESG
		IFDEF  GERMAN <	TEXT	/?SYNTAX?/>
001570  0201	IFNDEF GERMAN < TEXT	/BAD ARGS/>
001571  0440
001572  0122
001573  0723
001574  0000
001577  0534
	1600		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 27






001600  1441	RUN6,	TAD I TM1	/STORE CONTROL WORD FOR LAST SEG.
001601  3536		DCA I [MREAD+1
001602  1046		TAD RUNSW	/IS THIS R OR RUN?
001603  7650		SNA CLA
001604  4514		JMS I [WRCTLB	/RUN
001605  1627		TAD I RFILE	/V3D FOR LINKER
001606  3736		DCA I RCTL	/V3D SAVE BLOCK NUMBER IN 'SOFSET'
001607  1627		TAD I RFILE
001610  7001	RUN7,	IAC
001611  3340		DCA RUNFIL	/STORE STARTING BLOCK NUMBER
001612  1026	RUN7A,	TAD DEVHND
001613  3537		DCA I [MREAD-1
001614  1026		TAD DEVHND
001615  3366		DCA RUNHND	/STORE DEVICE HANDLER ENTRY IN THIS PAGE
001616  1050		TAD	SENTER
001617  3574		DCA I	[SBLOCK	/STORE DEV NUMBER FOR CHAINING
001620  1415		TAD I ADR1
001621  3416		DCA I ADR2
001622  2226		ISZ ADCNT
001623  5220		JMP .-3
001624  5625		JMP I .+1
001625  7512		RUN8&177+CCB

001626  7712	ADCNT,	RUN8&177-200
001627  0656	RFILE,	FILE
001630  0000	CHK32,	0	/PROTECTS MONITOR FROM GREATER THAN 32K FIELD 0 LOAD
001631  1643		TAD I RCTL1
001632  0242		AND T76A	/ISOLATE CDEB BITS FOR FUTURE USE
001633  3301		DCA CDE
001634  1643		TAD I RCTL1
001635  0166		AND [7700	/LOAD EVERY FIELD INTO FIELD 4
001636  1241		TAD T40		/WE'LL BUMP IT UP FROM THERE---LATER
001637  3643		DCA I RCTL1
001640  5630		JMP I CHK32
001641  0040	T40,	40
001642  0076	T76A,	76
001643  7536	RCTL1,	RCTL&177+CCB

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 28






	1652	SVLNBF=	1652
		/LOCATIONS SVLNBF TO SVLNBF+111 DESTROYED BY THE LINE BUFFER DURING A SAVE
001644  0000	MOVUP,	0		/SUBROUTINE TO MOVE UP PROGRAM CODE
001645  1643		TAD I	RCTL1
001646  0070		AND [3700	/CALCULATE THE NUMBER OF LOCS
001647  7104		CLL RAL
001650  7041		CIA
001651  3303		DCA COUNT	/STORE IT HERE
001652  1301		TAD CDE		/PREPARE FOR CDF TO PROPER BANK & FIELD
001653  7112		CLL RTR
001654  7430		SZL
001655  1302		TAD TX20
001656  7106		CLL RTL
001657  1300		TAD T6201	/STORE IT IN EXTEND
001660  3272		DCA EXTEND
001661  7240		STA
001662  1704		TAD I RADR1	/INITIALIZE THE INDEX REGS
001663  3015		DCA ADR1
001664  1015		TAD ADR1
001665  3016		DCA ADR2
001666  1177		TAD [7000	/SET EXTENDED MEMORY
001667  6200		LXM
001670  6241	BACK,	CDF 40		/MAKE THE MOVE
001671  1415		TAD I ADR1
001672  0000	EXTEND,	0
001673  3416		DCA I ADR2
001674  2303		ISZ COUNT
001675  5270		JMP BACK
001676  6201		CDF 0
001677  5644		JMP I MOVUP
001700  6201	T6201,	6201
001701  0000	CDE,	0
001702  0020	TX20,	20
001703  0000	COUNT,	0
001704  7537	RADR1,	RADR&177+CCB

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 29






	1712		*1712
001712  2363	RUN8,	ISZ RUNCNT	/IS THIS THE LAST PARAMETER PAIR?
001713  5322		JMP RUN9	/NO - KEEP LOADING
001714  1340		TAD RUNFIL
001715  3764		DCA I RMRD3	/MOVE THE RECORD NUMBER INTO THE FINAL READ
001716  6041		TSF
001717  5316	RUNTWT,	JMP .-1		/WAIT FOR THE TELETYPE TO DIE DOWN (RF08 IS FAST!)
001720  5721		JMP I .+1
001721  7757		MREAD		/READ THE LAST SEGMENT AND START UP
001722  1762	RUN9,	TAD I RUNADR
001723  3337		DCA RADR	/SET UP THE LOADING ADDRESS OF THE CURRENT SEGMENT
001724  2362		ISZ RUNADR
001725  1762		TAD I RUNADR
001726  3336		DCA RCTL	/AND THE READ CONTROL WORD
001727  1336		TAD RCTL
001730  0360		AND TS7		/TEST FOR GREATER THAN 32K
001731  7450		SNA
001732  3353		DCA HF3
001733  7640		SZA CLA
001734  4754		JMS I CH32
001735  4766		JMS I RUNHND
001736  7747	RCTL,	SOFSET		/V3D THESE ARE STORED INTO ONLY AFTER MOVING
001737  7771	RADR,	OS78		/V3D
001740  0000	RUNFIL,	0
001741  5356		JMP RERR	/INPUT ERROR READING THE PROGRAM
001742  1353		TAD HF3		/IF GREATER THAN 32K
001743  7640		SZA CLA
001744  4755		JMS I MOVUPT	/LOAD HIGHER FIELDS
001745  1336		TAD RCTL
001746  4367		JMS ROTAT	/GET THE BLOCK LENGTH OF THIS SEGMENT
001747  1340		TAD RUNFIL
001750  3340		DCA RUNFIL	/UPDATE THE BLOCK NUMBER FROM IT
001751  2362		ISZ RUNADR
001752  5312		JMP RUN8	/BACK FOR ANOTHER ONE
001753  7777	HF3,	-1
001754  1630	CH32,	CHK32
001755  1644	MOVUPT,	MOVUP

001756  6212	RERR,	CIF 10
001757  4765		JMS I RU7700
001760  0007	TS7,	7
001761  0000		0		/TOTALLY MEANINGLESS
001762  7404	RUNADR,	CCB+4
001763  0000	RUNCNT,	0
001764  7762	RMRD3,	MREAD+3
001765  7700	RU7700,	7700
001766  0000	RUNHND,	0

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 30






			IFNZRO ROTAT-SVLNBF-111&4000 <ERROR>
	1767		*1767		/MUST BE AT TOP OF PAGE
001767  0000	ROTAT,	0
001770  7002		BSW
001771  0377		AND RU37
001772  7450		SNA
001773  1377		TAD RU37
001774  7001		IAC
001775  7110		CLL RAR
001776  5767		JMP I ROTAT
001777  0037	RU37,	37
	1600		RELOC RUN6
	1600		PAGE
	2000		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 31






			/OVERLAY TO KEYBOARD MONITOR FOR "SAVE" WITH ARGUMENTS
	0400		RELOC	CSOVLY	/GOES INTO 400
000400* 1067	SAVE1A,	TAD [1603
000401* 3014		DCA X1
000402* 3041		DCA TM1
000403* 6211		CDF 10
000404* 3511		DCA I [OLDT9
000405* 6203	S6203,	CIF CDF 0
000406* 1377		TAD (SGETOUT	/POINTER TO NEW GETOUT
000407* 3032		DCA PGTOUT	/LIKEWISE "GETOUT"
000410* 4570		JMS I [SHNDLR
000411* 0210		0210
000412* 1400		CCOVLY
000413* 0037		MTEMP+10	/READ IN CONTROL BLOCK
000414* 5003		JMP KMONER
000415* 4776		JMS I (LXRBAK	/RESET LXR TO LOOK AT FIRST CHAR
000416* 4776		JMS I (LXRBAK
000417* 3332		DCA DASHFG
000420* 4335	SNUMLP,	JMS SGTNUM
000421* 5260		JMP SDLOOK	/NO NUMBER - GET DELIMETER
000422* 1413		TAD I LXR
000423* 1375		TAD (-"-
000424* 7650		SNA CLA
000425* 5276		JMP SVDASH
000426* 4776		JMS I (LXRBAK
000427* 1332		TAD DASHFG
000430* 7650		SNA CLA		/WAS THERE A LOWER LIMIT?
000431* 4322		JMS DASHSB	/NO - SET LOWER LIMIT TO UPPER LIMIT
000432* 1040		TAD TEMP1
000433* 7161		CIA CLL CML
000434* 1333		TAD OLD1
000435* 7640		SZA CLA		/ARE THE FIELDS THE SAME?
000436* 5774		JMP I	(KMER5	/NO - ERROR
000437* 1021		TAD TEMP2
000440* 0121		AND [7600
000441* 1120		TAD [200
000442* 3021		DCA TEMP2
000443* 1021		TAD TEMP2
000444* 7041		CIA
000445* 1334		TAD OLD2
000446* 7630		SZL CLA		/IS UPPER LIMIT > LOWER LIMIT?
000447* 5774		JMP I	(KMER5	/NO - ERROR
000450* 6211		CDF 10
000451* 1333		TAD OLD1
000452* 3414		DCA I X1
000453* 1334		TAD OLD2
000454* 3414		DCA I X1
000455* 1021		TAD TEMP2
000456* 3414		DCA I X1	/CREATE A TRIPLET(FIELD, LOW LIMIT, HIGH LIMIT)
					/IN THE TABLE IN FIELD 1

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 31-1

000457* 2041		ISZ TM1		/BUMP ENTRY COUNT

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 32






000460* 6201	SDLOOK,	CDF 0
000461* 1413		TAD I LXR
000462* 7450		SNA
000463* 5773		JMP I (SVEND
000464* 1372		TAD (-",
000465* 7450		SNA
000466* 5217		JMP SNUMLP-1
000467* 1135		TAD [",-";
000470* 7450		SNA
000471* 5304		JMP SSTADR
000472* 1174		TAD [";-"=
000473* 7650		SNA CLA
000474* 5771		JMP I (SSBITS
000475* 5774		JMP I	(KMER5
000476* 1332	SVDASH,	TAD DASHFG
000477* 7640		SZA CLA
000500* 5774		JMP I	(KMER5
000501* 2332		ISZ DASHFG
000502* 4322		JMS DASHSB
000503* 5220		JMP SNUMLP
000504* 4335	SSTADR,	JMS SGTNUM
000505* 5774		JMP I	(KMER5	/NULL STARTING ADR - ERROR
000506* 1040		TAD TEMP1	/TRANSFORM FOR CDF --"37" TO "174"-128K
000507* 7112		CLL RTR
000510* 7012		RTR		/CDE/000/000/00A/ B
000511* 7002		BSW		/000/00A/CDE/000/ B
000512* 7430		SZL		/"B" BIT ON?
000513* 1066		TAD	[4	/000/00A/CDE/B00
000514* 1205		TAD S6203
000515* 6211		CDF 10
000516* 3770		DCA I (1601	/STORE AWAY STARTING FIELD
000517* 1021		TAD TEMP2
000520* 3767		DCA I (1602	/AND STARTING ADDRESS
000521* 5260		JMP SDLOOK
000522* 0000	DASHSB,	0
000523* 1040		TAD TEMP1
000524* 0366		AND (37		/ISOLATE FIELD( & BANK)
000525* 3333		DCA OLD1
000526* 1021		TAD TEMP2
000527* 0121		AND [7600
000530* 3334		DCA OLD2
000531* 5722		JMP I DASHSB
000532* 0000	DASHFG,	0
000533* 0000	OLD1,	0
000534* 0000	OLD2,	0

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 33






000535* 0000	SGTNUM,	0	/GET A NUMBER ROUTINE
000536* 3047		DCA DIGFLG	/CLEAR DIGIT COLLECTED FLAG
000537* 3040		DCA TEMP1
000540* 3021		DCA TEMP2
000541* 4765		JMS I (STARTX
000542* 5346		JMP .+4
000543* 1364		TAD (20
000544* 7650		SNA CLA
000545* 5341		JMP .-4
000546* 4776		JMS I (LXRBAK	/SHOVE INDEX BACK
000547* 1047		TAD DIGFLG	/IS DIGIT PRESENT?
000550* 7640		SZA CLA
000551* 2335		ISZ SGTNUM
000552* 5735		JMP I SGTNUM
000564* 0020
000565* 0713
000566* 0037
000567* 1602
000570* 1601
000571* 0600
000572* 7524
000573* 0606
000574* 1567
000575* 7523
000576* 0751
000577* 0542
	0600		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 34






000600* 4777	SSBITS,	JMS I (SGTNUM
000601* 5776		JMP I (KMER5
000602* 1021		TAD TEMP2
000603* 6211		CDF 10
000604* 3467		DCA I [1603
000605* 5775		JMP I (SDLOOK
000606* 4570	SVEND,	JMS I [SHNDLR
000607* 0101		0101
000610* 0400		CSOVLY
000611* 0055		MSOVL2		/READ IN SECOND PART OF OVERLAY
000612* 5003		JMP KMONER
000613* 1041		TAD TM1
000614* 7450		SNA
000615* 5774		JMP I (MOVECB
000616* 7041		CIA
000617* 6211		CDF 10
000620* 3517		DCA I [1600
000621* 1067		TAD [1603	/NOW SORT THE ENTRIES IN THE SEGMENT TABLE ON
000622* 3311		DCA P1		/DECREASING FIELD AND INCREASING ADDRESS
000623* 7201		CLA IAC		/WITHIN THE FIELD.
000624* 1517		TAD I [1600
000625* 7450		SNA
000626* 5356		JMP SORTED	/RIDICULOUS TO SORT ONE ITEM
000627* 3040		DCA TEMP1
000630* 1373	OUTRLP,	TAD (3
000631* 1311		TAD P1
000632* 3312		DCA P2
000633* 1040		TAD TEMP1
000634* 3021		DCA TEMP2
000635* 1311	INERLP,	TAD P1
000636* 3013		DCA LXR
000637* 1312		TAD P2
000640* 3014		DCA X1
000641* 1413		TAD I LXR
000642* 7141		CIA CLL
000643* 1414		TAD I X1
000644* 7650		SNA CLA
000645* 5263		JMP TIE		/FIELDS ARE EQUAL - SORT ON ADDRESS IN FIELD
000646* 7430		SZL
000647* 5270		JMP SWITCH	/WRONG ORDER - SWITCH 'EM
000650* 1312	TIENTY,	TAD P2
000651* 1373		TAD (3
000652* 3312		DCA P2		/INDEX TO NEXT ENTRY
000653* 2021	SWNTRY,	ISZ TEMP2
000654* 5235		JMP INERLP
000655* 1311		TAD P1
000656* 1373		TAD (3
000657* 3311		DCA P1		/ELEMENT IS IN PLACE - GO TO NEXT POSITION
000660* 2040		ISZ TEMP1
000661* 5230		JMP OUTRLP

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 34-1

000662* 5356		JMP SORTED	/SORT COMPLETE - CHECK FOR CONSISTENCY

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 35






000663* 1413	TIE,	TAD I LXR
000664* 7141		CIA CLL
000665* 1414		TAD I X1
000666* 7630		SZL CLA		/TEST FOR ADRESSES IN ASCENDING ORDER
000667* 5250		JMP TIENTY	/YES - DONT HAVE TO SWAP
000670* 4277	SWITCH,	JMS SWSUBR
000671* 4277		JMS SWSUBR
000672* 4277		JMS SWSUBR
000673* 7346		CLA CLL CMA RTL
000674* 1311		TAD P1
000675* 3311		DCA P1		/RESET FIRST POINTER
000676* 5253		JMP SWNTRY	/AND DONT BUMP 2D POINTER, AS WE HAVE JUST BUMPED IT
000677* 0000	SWSUBR,	0
000700* 2311		ISZ P1
000701* 2312		ISZ P2
000702* 1711		TAD I P1
000703* 3041		DCA TM1
000704* 1712		TAD I P2
000705* 3711		DCA I P1
000706* 1041		TAD TM1
000707* 3712		DCA I P2
000710* 5677		JMP I SWSUBR
000711* 0000	P1,	0
000712* 0000	P2,	0
000713* 0000	STARTX,	0
000714* 1413		TAD I LXR	/ANYTHING LEFT?
000715* 7450		SNA
000716* 5713		JMP I STARTX	/NO.. TAKE EMPTY RETURN
000717* 7410		SKP
000720* 1413	ADGTLP,	TAD I LXR
000721* 1372		TAD (-270
000722* 7100		CLL		/SEE IF THIS IS A DIGIT
000723* 1112		TAD [10
000724* 7420		SNL
000725* 5337		JMP AONUM	/NO.. GET OUT
000726* 3042		DCA TMP1
000727* 2047		ISZ DIGFLG
000730* 4341		JMS ROT2
000731* 4341		JMS ROT2
000732* 4341		JMS ROT2
000733* 1021		TAD TEMP2
000734* 1042		TAD TMP1
000735* 3021		DCA TEMP2
000736* 5320		JMP ADGTLP	/KEEP LOOKING
000737* 2313	AONUM,	ISZ STARTX
000740* 5713		JMP I STARTX

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 36






000741* 0000	ROT2,	0
000742* 1021		TAD TEMP2
000743* 7104		CLL RAL		/WE NEED THIS BECAUSE THE HANDLER
000744* 3021		DCA TEMP2	/WIPED THE FIRST COPY (MAYBE!!!)
000745* 1040		TAD TEMP1
000746* 7004		RAL
000747* 3040		DCA TEMP1
000750* 5741		JMP I ROT2
000751* 0000	LXRBAK,	0
000752* 7240		CLA CMA
000753* 1013		TAD LXR
000754* 3013		DCA LXR
000755* 5751		JMP I LXRBAK
000756* 1517	SORTED,	TAD I [1600
000757* 7001		IAC
000760* 7450		SNA
000761* 5771		JMP I (MERGED
000762* 3040		DCA TEMP1
000763* 1067		TAD [1603
000764* 3014		DCA X1
000765* 1370		TAD (1606
000766* 3013		DCA LXR
000767* 5465		JMP I [MRGLP
000770* 1606
000771* 0441
000772* 7510
000773* 0003
000774* 0450
000775* 0460
000776* 1567
000777* 0535
	1000		PAGE
	2400		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 37






	0400		RELOC	CSOVLY	/LOADS INTO 400 ON TOP OF SAVE1A
					/NOW CHECK THE SORTED FILE FOR CONSISTENCY
					/OVERLAPPING SEGMENTS ARE ERRORS,
					/ABUTTING SEGMENTS ARE TO BE CONDENSED IN
					/THE INTERESTS OF SPEED
000400* 1413	MRGLP,	TAD I LXR
000401* 7041		CIA
000402* 1414		TAD I X1
000403* 7640		SZA CLA
000404* 5233		JMP NOCMPR	/DIFFERENT FIELDS - INCOMPARABLE
000405* 2014		ISZ X1
000406* 1414		TAD I X1
000407* 7041		CIA
000410* 7100		CLL
000411* 1413		TAD I LXR
000412* 7650		SNA CLA
000413* 5220		JMP BUTTNG	/UPPER LIMIT(2)=LOWER LIMIT(1) - ABUTTING SEGMENTS
000414* 7630		SZL CLA
000415* 5236		JMP NXTONE	/UPPER LIM(2)<LOWER LIM(1) - NORMAL CASE
000416* 6201		CDF 0		/UPPER LIM(2) > LOWER LIM(1) - ERROR
000417* 5777		JMP I	(KMER5	/BAD ARGS
000420* 7240	BUTTNG,	CLA CMA
000421* 1014		TAD X1
000422* 3014		DCA X1
000423* 1413		TAD I LXR
000424* 3414		DCA I X1	/SET UPPER LIM(2) = UPPER LIM(1)
000425* 1014		TAD X1
000426* 1376		TAD (-1777
000427* 7640		SZA CLA
000430* 5223		JMP .-5		/AND COMPRESS OUT THE LOWER ENTRY
000431* 2517		ISZ I [1600	/DECREMENT THE ENTRY COUNT (CAN'T OVERFLOW)
000432* 5775		JMP I  (SORTED	/START OVER FROM BEGINNING

000433* 2014	NOCMPR,	ISZ X1
000434* 2014		ISZ X1
000435* 2013		ISZ LXR
000436* 2013	NXTONE,	ISZ LXR
000437* 2040		ISZ TEMP1
000440* 5200		JMP MRGLP	/NOW ALL THAT REMAINS IS TO TRANSFORM OUR TRIPLETS
					/INTO THE FORMAT WHICH THE RUN LOADER EXPECTS; I.E.
					/DEVICE-HANDLER ARGUMENTS

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 38






000441* 6201	MERGED,	CDF 0		/LOAD IN MERGED OVERLAY
000442* 4570		JMS I [SHNDLR
000443* 0100		0100
000444* 0600		CSOVLY+200
000445* 0064		MRESER
000446* 5003		JMP KMONER
000447* 5774		JMP I (MERGEX
000450* 1376	MOVECB,	TAD (-1777
000451* 3052		DCA MERTST
000452* 5241		JMP MERGED
000453* 6211	CBMOVE,	CDF 10		/FINAL CODE TO MOVE NEW CONTROL BLOCK
000454* 1413		TAD I LXR	/INTO PAGE 600 OF FIELD 0
000455* 6201		CDF 0
000456* 3414		DCA I X1
000457* 2040		ISZ TEMP1
000460* 5253		JMP CBMOVE
000461* 5773		JMP I (SAVE3	/EXIT TO SAVE PROCESSOR
000462* 2017	SAVE3A,	ISZ XR
000463* 1417		TAD I XR	/GET THE I/O CONTROL WORD OF THIS SEGMENT
000464* 3016		DCA ADR2	/CAUTION AUTO-INDEX TEST FOR GREATER THAN 32K
000465* 1016		TAD ADR2
000466* 0111		AND [7		/ARE THERE ANY BANK BITS?
000467* 7640		SZA CLA
000470* 5301		JMP XTAT	/NO- PROCEED AS NORMAL
000471* 1053		TAD SPTST	/ONLY WANT TO ISOLATE FIRST FIELD
000472* 7650		SNA CLA		/BELOW 32K
000473* 5301		JMP XTAT
000474* 1331		TAD CLENGT	/SET UP FIRST FIELD I.D.
000475* 3013		DCA LXR		/CAUTION AUTO-INDEX-SAVE BLOCK OFFSET
000476* 1051		TAD EXTMP	/SAVE NUMBER OF SEGS LEFT
000477* 3052		DCA MERTST	/... NEGATIVE OF # LEFT
000500* 3053		DCA SPTST	/SET I.D. "SET" FLAG
000501* 1016	XTAT,	TAD ADR2
000502* 4764		JMS I PROTAT	/EXTRACT THE LENGTH FROM IT
000503* 1331		TAD CLENGT
000504* 3331		DCA CLENGT	/UPDATE THE LENGTH OF THE FILE
000505* 2051		ISZ EXTMP
000506* 5262		JMP SAVE3A	/LOOP FOR ALL SEGMENTS OF THE FILE
000507* 1331		TAD CLENGT	/USE THIS LENGTH WHEN ENTERING THE FILE
000510* 7106		CLL RTL
000511* 7006		RTL
000512* 1050		TAD SENTER
000513* 6212		CIF 10
000514* 4422		JMS I SYSTEM
000515* 0003		3		/ENTER
000516* 0034	SFILE,	NM1
000517* 0000		0		/LENGHT UNIMPORTANT
000520* 5772		JMP I (SVXER	/SAVERR CODE REPEATED

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 39






000521* 6213		CIF CDF 10
000522* 1464		TAD I [DVHREC
000523* 6201		CDF 0
000524* 3463		DCA I [LDBLK
000525* 1050		TAD SENTER
000526* 4422		JMS I SYSTEM
000527* 0004		4		/CLOSE
000530* 0034		NM1		/NAME FOR "CLOSE"
000531* 0001	CLENGT,	1		/CLOSING LENGTH
000532* 5772		JMP I (SVXER
000533* 5771		JMP I (SAV2X
000534* 4570	XLOD,	JMS I [SHNDLR
000535* 0201		0201
000536* 1200		XGLINE
000537* 0064		MRESER
000540* 5003		JMP KMONER
000541* 5770		JMP I (SAVXX	/JMP T0 1400

000542* 0000	SGETOUT,0		/REPLACES "GETOUT" WHICH WE'VE STORED OVER
000543* 1573		TAD I [JSBITS
000544* 7004		RAL		/ONLY PERFORMS THOSE FUNCTIONS THAT "SAVE" NEEDS
000545* 7710		SPA CLA
000546* 5742		JMP I SGETOUT
000547* 6212		CIF 10
000550* 4422		JMS I SYSTEM
000551* 0011		11
000552* 5742	CNV,	JMP I SGETOUT	/CNV ONLY CALLED BY NEXT PAGE
000553* 0171		AND	[77
000554* 7450		SNA
000555* 5362		JMP	NUL
000556* 1367		TAD	(-60
000557* 7500		SMA
000560* 2352		ISZ	CNV	/SECOND RETURN OK
000561* 5752		JMP I	CNV
000562* 1041	NUL,	TAD	TM1
000563* 5766		JMP I	(GODE
000564* 1767	PROTAT,	ROTAT
000566* 0723
000567* 7720
000570* 1400
000571* 1431
000572* 1560
000573* 1416
000574* 0664
000575* 0756
000576* 6001
000577* 1567
	0600		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 40






					/DATE PROCESSOR - LOADS IN 400, RUNS IN 600
000600* 4273	DATEXX,	JMS DECIM
000601* 0204	NUM1,	AND DA37
000602* 3202	NUM2,	DCA NUM2
000603* 4425		JMS I GNAME
000604* 0037	DA37,	37		/NOTHING FOUND WILL GIVE ERROR LATER
000605* 2275	NEWLUP,	ISZ MONPTR
000606* 1675		TAD I MONPTR
000607* 2275		ISZ MONPTR
000610* 7450		SNA
000611* 5325		JMP BADNUM	/SYMBOLIC MONTH NOT FOUND
000612* 1034		TAD NM1
000613* 1035		TAD NM2
000614* 7640		SZA CLA
000615* 5205		JMP NEWLUP	/3 LETTER HASH DOESN'T MATCH
000616* 1675		TAD I MONPTR	/GET MONTH NUMBER * 40
000617* 1202		TAD NUM2
000620* 7106		CLL RTL
000621* 7004		RAL
000622* 3202		DCA NUM2
000623* 3272		DCA DDELIM	/MAKE END-OF-LINE THE DELIMITER
000624* 4273		JMS DECIM
000625* 1377		TAD (-106	/SCALE DOWN TO RANGE 1970-1999
000626* 7510		SPA
000627* 1376		TAD (144	/JMP BADNUM	/DIDN'T MAKE THE RANGE
000630* 3201		DCA NUM1
000631* 1201		TAD NUM1
000632* 7106		CLL RTL
000633* 7006		RTL
000634* 0117		AND [1600	/ISOLATE EXTENSION DATE BITS
000635* 3041		DCA TM1
000636* 1775		TAD I (BIPCCL
000637* 0253		AND L6177	/STORE THEM INTO BITS RESERVED FOR THIS PURPOSE
000640* 1041		TAD TM1
000641* 3775	TSLUP,	DCA I (BIPCCL
000642* 1201		TAD NUM1
000643* 0111		AND [7
000644* 1202		TAD NUM2	/COMBINE WITH MONTH AND DAY
000645* 6211		CDF 10
000646* 3774		DCA I (MDATE	/STORE IN SYSTEM DATE CELL
000647* 6201		CDF 0
000650* 6041		TSF
000651* 4253		JMS L6177	/TIME OUT A BIT
000652* 5256		JMP	DATEN	/IN CASE RUNNING UNDER BATCH
000653* 6177	L6177,	6177		/JMS IS LONGER THAN JMP
000654* 2272		ISZ DDELIM	/DDELIM IS 0 AT END
000655* 4241		JMS TSLUP	/WAIT FOR TELETYPE TO DIE DOWN (RF08)

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 41






000656* 1017	DATEN,	TAD	AMFLAG	/PRINT WEEKDAY IF ALTMODE
000657* 7650		SNA CLA
000660* 5565		JMP I	[7605	/RETURN TO MONITOR
000661* 1165	DATERR,	TAD	[7605
000662* 3033		DCA	ERRET	/IN CASE CCL IS NOT THERE
000663* 3034		DCA	NM1
000664* 4570		JMS I	[SHNDLR	/RELOAD PAGE 400
000665* 0100		0100
000666* 0400		CSOVLY
000667* 0010		10
000670* 5003		JMP	KMONER
000671* 5475		JMP I	[CCLSW-1
000672* 7523	DDELIM,	-"-

000673* 0000	DECIM,	0
000674* 4425		JMS I GNAME
000675* 0734	MONPTR,	MONS-1		/NOTHING THERE (LOGIC WILL CAUSE ERROR LATER)
000676* 1031		TAD TMP
000677* 1272		TAD DDELIM	/COMPARE AGAINST DESIRED DELIMETER
000700* 7640		SZA CLA		/DASH OR NULL
000701* 5261		JMP DATERR	/DELIMETER BAD, GO TO CCL
000702* 1035		TAD NM2		/ONLY ALLOW 2 CHARS FOR MM
000703* 7640		SZA CLA
000704* 5325		JMP BADNUM
000705* 1034		TAD NM1
000706* 7002		BSW
000707* 4773		JMS I (CNV
000710* 5325		JMP BADNUM
000711* 3041		DCA TM1
000712* 1041		TAD TM1
000713* 7106		CLL RTL
000714* 1041		TAD TM1
000715* 7004		RAL
000716* 3021		DCA TEMP2
000717* 1034		TAD NM1
000720* 4773		JMS I (CNV
000721* 5325		JMP BADNUM
000722* 1021		TAD TEMP2
000723* 7440	GODE,	SZA
000724* 5673		JMP I DECIM
000725* 7200	BADNUM,	CLA		/CRAP IN AC
000726* 1165		TAD [7605
000727* 3033		DCA ERRET
000730* 4567		JMS I [PRMESG
		IFDEF  GERMAN <	TEXT	/DATUM?/>
000731* 7704	IFNDEF GERMAN <	TEXT	/?DATE?/>
000732* 0124
000733* 0577
000734* 0000

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 42






000735* 4777	MONS,	-1201-1600	/JAN
000736* 0040		1^40
000737* 6773		-0605-0200	/FEB
000740* 0100		2^40
000741* 4077		-1501-2200	/MAR
000742* 0140		3^40
000743* 5460		-0120-2200	/APR
000744* 0200		4^40
000745* 3177		-1501-3100	/MAY
000746* 0240		5^40
000747* 4753		-1225-1600	/JUN
000750* 0300		6^40
000751* 5153		-1225-1400	/JUL
000752* 0340		7^40
000753* 6753		-0125-0700	/AUG
000754* 0400		10^40
000755* 3473		-2305-2000	/SEP
000756* 0440		11^40
000757* 3475		-1703-2400	/OCT
000760* 0500		12^40
000761* 3361		-1617-2600	/NOV
000762* 0540		13^40
000763* 7073		-0405-0300	/DEC
000764* 0600		14^40
		/	-1501-1100	/MAI
		/	5^40
		/	-1713-2400	/OKT
		/	12^40
		/	-0405-3200	/DEZ
		/	14^40
000765* 0000		0

000773* 0552
000774* 7666
000775* 7777
000776* 0144
000777* 7672
	1000		PAGE
	3000		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 43






	1400		RELOC CCOVLY	/MONITOR ERROR PROCESSOR - LOADS INTO 11400
001400* 0400	DLYLPX,	AND I 0
001401* 7600	D7600,	7600
001402* 1057		TAD MERRNO
001403* 7104		CLL RAL
001404* 2777		ISZ I (ZERO
001405* 2777		ISZ I (ZERO	/V3C
001406* 2777		ISZ I (ZERO
001407* 5200		JMP DLYLPX	/WAIT FOR TELEPRINTER (WITHOUT CDF'S)
001410* 7450		SNA
001411* 5303		JMP USRERR
001412* 7110		CLL RAR
001413* 1376		TAD (4060
001414* 3775		DCA I (MERTYP
001415* 1374	MERCMN,	TAD (MERRXR
001416* 4320		JMS EPRINT
001417* 1773		TAD I (FPUTX
001420* 7012		RTR
001421* 7010		RAR
001422* 0372		AND (7
001423* 1371		TAD (60
001424* 4311		JMS MERPCH
001425* 7344		CLA CLL CMA RAL
001426* 1770		TAD I (MONITO
001427* 7004		RAL
001430* 3041		DCA T1
001431* 1367		TAD (-4
001432* 3042		DCA T2
001433* 1041	MEROLP,	TAD T1
001434* 7006		RTL
001435* 7004		RAL
001436* 3041		DCA T1
001437* 1041		TAD T1
001440* 0372		AND (7
001441* 1371		TAD (60
001442* 4311		JMS MERPCH
001443* 2042		ISZ T2
001444* 5233		JMP MEROLP

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 44






001445* 1057		TAD MERRNO
001446* 7104		CLL RAL
001447* 7450		SNA
001450* 5265		JMP NOEXPL	/NO EXPLANATION FOR USER ERRORS
001451* 7110		CLL RAR
001452* 1366		TAD (EXPLTBL-1	/PRINT EXPLANATION
001453* 3041		DCA T1		/GET ADDRESS INTO MESSAGE TABLE
001454* 1365		TAD (240
001455* 4311		JMS MERPCH
001456* 1364		TAD ("(
001457* 4311		JMS MERPCH
001460* 1441		TAD I T1	/GET ADDRESS OF MESSAGE
001461* 4320		JMS EPRINT
001462* 1363		TAD (")
001463* 4311		JMS MERPCH
001464* 1057		TAD MERRNO
001465* 1362	NOEXPL,	TAD (3773
001466* 7710		SPA CLA
001467* 7240		CLA CMA
001470* 3761		DCA I (7700
001471* 3007		DCA OLDT9
001472* 7330		CLA CLL CML RAR
001473* 3057		DCA MERRNO
001474* 6201		CDF 0
001475* 1760		TAD I (JSBITS
001476* 0357		AND (6777
001477* 1356		TAD (1000
001500* 3760		DCA I (JSBITS	/SET THE CURRENT JOB UNSTARTABLE
001501* 6203		CDF CIF 0
001502* 5601		JMP I D7600
001503* 7300	USRERR,	CLA CLL
001504* 4755		JMS I (FGET
001505* 1376		TAD (4060
001506* 3754		DCA I (UERTYP
001507* 1353		TAD (UERRXR-MERRXR
001510* 5215		JMP MERCMN
001511* 0000	MERPCH,	0
001512* 6046		TLS
001513* 6041		TSF
001514* 5313		JMP .-1
001515* 7200		CLA
001516* 5711		JMP I MERPCH
001517* 0000	ZERO,	0

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 45






001520* 0000	EPRINT,	0
001521* 3042		DCA T2
001522* 1442	EPRLUP,	TAD I T2
001523* 7012		RTR
001524* 7012		RTR
001525* 7012		RTR
001526* 4333		JMS EPR
001527* 1442		TAD I T2
001530* 4333		JMS EPR
001531* 2042		ISZ T2
001532* 5322		JMP EPRLUP

001533* 0000	EPR,	0
001534* 0352		AND (77
001535* 7450		SNA
001536* 5720		JMP I EPRINT
001537* 1365		TAD (240
001540* 0352		AND (77
001541* 1365		TAD (240
001542* 4311		JMS MERPCH
001543* 5733		JMP I EPR
001552* 0077
001553* 0013
001554* 1623
001555* 0220
001556* 1000
001557* 6777
001560* 7746
001561* 7700
001562* 3773
001563* 0251
001564* 0250
001565* 0240
001566* 1626
001567* 7774
001570* 0200
001571* 0060
001572* 0007
001573* 0241
001574* 1600
001575* 1607
001576* 4060
001577* 1517
	1600		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 46






			/LOADS INTO 1600

		MERRXR,
		IFDEF  GERMAN <	TEXT	\MONITOR-FEHLER 0 BEI \>
001600* 1517	IFNDEF GERMAN < TEXT	\MONITOR ERROR  0  AT \>
001601* 1611
001602* 2417
001603* 2240
001604* 0522
001605* 2217
001606* 2240
001607* 4060
001610* 4040
001611* 0124
001612* 4000
	1607		MERTYP=MERRXR+7
		UERRXR,
		IFDEF  GERMAN <	TEXT	\ANWENDER-FEHLER  0 BEI \>
001613* 2523	IFNDEF GERMAN < TEXT	\USER PROG. ERROR 0  AT \>
001614* 0522
001615* 4020
001616* 2217
001617* 0756
001620* 4005
001621* 2222
001622* 1722
001623* 4060
001624* 4040
001625* 0124
001626* 4000
	1623		UERTYP=UERRXR+10
001627* 1636	EXPLTBL,MON1
001630* 1650		MON2
001631* 1664		MON3
001632* 1703		MON4
001633* 1715		MON5
001634* 1727		MON6
001635* 1741		MON7

		MON1,
		IFDEF  GERMAN <	TEXT	\EINTRAGUNGS-FEHLER\>
001636* 4006	IFNDEF GERMAN < TEXT	\ FILE CLOSE ERROR \>
001637* 1114
001640* 0540
001641* 0314
001642* 1723
001643* 0540
001644* 0522
001645* 2217
001646* 2240

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 46-1

001647* 0000
		MON2,
		IFDEF  GERMAN <	TEXT	\VERZEICHNIS L/S-FEHLER\>
001650* 4004	IFNDEF GERMAN < TEXT	\ DIRECTORY I/O ERROR  \>
001651* 1122
001652* 0503
001653* 2417
001654* 2231
001655* 4011
001656* 5717
001657* 4005
001660* 2222
001661* 1722
001662* 4040
001663* 0000

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 47






		MON3,
		IFDEF  GERMAN <	TEXT	\GERAETEHANDLER NICHT GELADEN\>
001664* 4004	IFNDEF GERMAN < TEXT	\ DEVICE HANDLER NOT IN CORE \>
001665* 0526
001666* 1103
001667* 0540
001670* 1001
001671* 1604
001672* 1405
001673* 2240
001674* 1617
001675* 2440
001676* 1116
001677* 4003
001700* 1722
001701* 0540
001702* 0000
		MON4,
		IFDEF  GERMAN <	TEXT	\FALSCHER USR-AUFRUF\>
001703* 4011	IFNDEF GERMAN < TEXT	\ ILLEGAL USR CALL  \>
001704* 1414
001705* 0507
001706* 0114
001707* 4025
001710* 2322
001711* 4003
001712* 0114
001713* 1440
001714* 4000
		MON5,
		IFDEF  GERMAN <	TEXT	\L/S-FEHLER AUF SYS:\>
001715* 4011	IFNDEF GERMAN < TEXT	\ I/O ERROR ON SYS: \>
001716* 5717
001717* 4005
001720* 2222
001721* 1722
001722* 4017
001723* 1640
001724* 2331
001725* 2372
001726* 4000
		MON6,
		IFDEF  GERMAN <	TEXT	\ VERZEICHNIS VOLL \>
001727* 0411	IFNDEF GERMAN < TEXT	\DIRECTORY OVERFLOW\>
001730* 2205
001731* 0324
001732* 1722
001733* 3140
001734* 1726
001735* 0522

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 47-1

001736* 0614
001737* 1727
001740* 0000
		MON7,
		IFDEF  GERMAN <	TEXT	\FEHLER NUMMER 7\>
001741* 5555	IFNDEF GERMAN < TEXT	\---RESERVED----\>
001742* 5522
001743* 0523
001744* 0522
001745* 2605
001746* 0455
001747* 5555
001750* 5500
	2000		PAGE
	3400		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 48






			/EXECUTION TIME LOADER FOR MONITOR "CHAIN" COMMAND
	7400		RELOC	CCB	/EXECUTES IN FIELD 0 IN PAGE 7400
007400* 3275	MCHNX,	DCA MCHREC	/STORE STARTING RECORD #
007401* 1777		TAD I	(MACARG	/PICK UP HANDLER ADDRESS
007402* 7440		SZA		/IF ANY: NONE=SHNDLR
007403* 3346		DCA	MCHND
007404* 6201		CDF 0
007405* 7100		CLL
007406* 1346		TAD	MCHND	/TEST IF RESIDENT
007407* 1345		TAD	CHERR1	/CONTAINS -7607
007410* 7620		SNL CLA
007411* 5313		JMP	CHERR	/ERROR: NOT RESIDENT
007412* 1275		TAD MCHREC
007413* 3776		DCA I (SOFSET	/V3D SAVE STARTING ADDRESS
007414* 6212		CIF 10
007415* 4775		JMS I (200
007416* 0013		13		/RESET ALL DEVICE ASSIGNMENTS
007417* 0000		0		/BUT DON'T CLEAR OUTPUT FILES
007420* 6212		CIF 10
007421* 4775		JMS I (200
007422* 0011		11		/KICK MONITOR OUT AND RESTORE CORE IF NECESSARY
007423* 4271		JMS MCHRD	/PARAMETERS PRESET TO READ CONTROL BLOCK INT0 7200
007424* 1734		TAD I CH7200	/TEST FOR SAVE FILE!
007425* 7040		CMA		/TEST FOR VALID CCB
007426* 0374		AND (7740
007427* 7640		SZA CLA
007430* 5313		JMP CHERR
007431* 1633		TAD I MC7201
007432* 3773		DCA I (MSTCDF	/TRANSFER INFORMATION FROM CONTROL BLOCK
007433* 7201	MC7201,	CLA IAC
007434* 1772		TAD I (7202
007435* 3771		DCA I (MSTADR	/TO PAGE 7600
007436* 1770		TAD I (7203
007437* 1367		TAD (1000
007440* 3766		DCA I (JSBITS
007441* 1312		TAD MCHFJM
007442* 3765		DCA I (MSWITC
007443* 1364		TAD (TCF
007444* 3763		DCA I (MSTCDF-1
007445* 2734	MCHN1,	ISZ I CH7200
007446* 5261		JMP MCHN2
007447* 1711		TAD I MCHT1
007450* 3762		DCA I (MREAD+2
007451* 2311		ISZ MCHT1
007452* 1711		TAD I MCHT1
007453* 3761		DCA I (MREAD+1
007454* 1275		TAD MCHREC
007455* 3760		DCA I (MREAD+3
007456* 1346		TAD MCHND
007457* 3757		DCA I (MREAD-1

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 48-1

007460* 5756		JMP I (MREAD

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 49






007461* 1711	MCHN2,	TAD I MCHT1
007462* 3274		DCA MCHADR	/SET UP COMMAND TO READ NEXT SEGMENT
007463* 2311		ISZ MCHT1
007464* 1711		TAD I MCHT1
007465* 3273		DCA MCHCTL
007466* 4271		JMS MCHRD	/READ IT
007467* 2311		ISZ MCHT1
007470* 5245		JMP MCHN1	/LOOP ON NUMBER OF SEGMENTS

007471* 0000	MCHRD,	0
007472* 4746		JMS I MCHND
007473* 0101	MCHCTL,	0101		/1 RECORD INTO FIELD 0 STARTING FORWARDS
007474* 7200	MCHADR,	7200
007475* 0000	MCHREC,	0
007476* 5313		JMP CHERR	/CHAIN ERROR
007477* 1273		TAD MCHCTL
007500* 7002		BSW
007501* 0355		AND (37
007502* 7450		SNA		/V3C
007503* 1354		TAD (40		/0 MEANS FULL 4K READ
007504* 7001		IAC
007505* 7110		CLL RAR
007506* 1275		TAD MCHREC
007507* 3275		DCA MCHREC
007510* 5671		JMP I MCHRD
007511* 7204	MCHT1,	7204
007512* 5372	MCHFJM,	MSTCDF-1&177+5200	/"JMP MSTCDF-1"

007513* 0303	CHERR,	IFNDEF GERMAN <	"C;"H;"A;"I;"N;" ;"E;"R;"R;"O;"R;" ;215;212;0>
007514* 0310
007515* 0301
007516* 0311
007517* 0316
007520* 0240
007521* 0305
007522* 0322
007523* 0322
007524* 0317
007525* 0322
007526* 0240
007527* 0215
007530* 0212
007531* 0000
			IFDEF  GERMAN < "C;"H;"A;"I;"N;" ;"F;"E;"H;"L;"E;"R;215;212;0>
007532* 2345		ISZ CHERR1
007533* 5313		JMP CHERR	/LET TTY DIE DOWN

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 50






007534* 7200	CH7200,	7200		/ALSO CLA
007535* 1313	CHTADC,	TAD CHERR
007536* 7450		SNA
007537* 5753		JMP I (7600	/DONE..BACK TO MONITOR
007540* 6046		TLS
007541* 6041		TSF
007542* 5341		JMP .-1
007543* 2335		ISZ CHTADC	/NEXT LETTER
007544* 5334		JMP CH7200
007545* 0171	CHERR1,	-7607
007546* 7607	MCHND,	SHNDLR
007553* 7600
007554* 0040
007555* 0037
007556* 7757
007557* 7756
007560* 7762
007561* 7760
007562* 7761
007563* 7772
007564* 6042
007565* 7764
007566* 7746
007567* 1000
007570* 7203
007571* 7775
007572* 7202
007573* 7773
007574* 7740
007575* 0200
007576* 7747
007577* 0055
	7600		PAGE
	3600		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 51






	1400		RELOC CCOVLY
001400* 1771	SAVXX,	TAD I SXFLE	/STORES SFILE
001401* 3355		DCA SWFILE
001402* 4777		JMS I (HNDL	/LOAD IN NON SYS HANDLER
001403* 4351		JMS SWRITE	/WRITE OUT CCB
001404* 1052		TAD MERTST	/MINUS THE # OF SEGS OF LT32K CODE
001405* 3474		DCA I [600
001406* 1013		TAD LXR		/# OF BLOCKS OF GT 32K SEGS
001407* 7450		SNA		/LXR IS ZERO IF ALL SEGS ARE ABOVE 32K
001410* 5273		JMP OVR32
001411* 1771		TAD I SXFLE	/LXR--- COMPENSATES FOR CCB
001412* 3355		DCA SWFILE
001413* 1417	SAVE4,	TAD I XR
001414* 3354		DCA SADR
001415* 7330		CLA CLL CML RAR
001416* 1417		TAD I XR
001417* 3353		DCA SCTL
001420* 1354	SAVE5,  TAD SADR
001421* 7004	        RAL
001422* 7730	        SZL SPA CLA     /DOES THIS SEGMENT START BELOW 2000?
001423* 5264	        JMP SAVE8       /NO - NOTHING TO WORRY ABOUT
001424* 1353	        TAD SCTL
001425* 0376	        AND (76
001426* 7640	        SZA CLA         /FIELD 0?
001427* 5264	        JMP SAVE8       /NO - SAVE AS IS
001430* 4342	SAVE6,  JMS LOADF0      /LOAD THE FIELD 0 SAVE AREA OVER THE I/O MONITOR
001431* 7240	SAVE7,  CLA CMA
001432* 1353	        TAD SCTL
001433* 7104	        CLL RAL
001434* 1354	        TAD SADR
001435* 7004	        RAL
001436* 7730	        SZL SPA CLA     /CHECK WHETHER UPPER LIMIT IS ABOVE 2000
001437* 5243	        JMP SAVE7A      /IT IS - MUST MAKE 2 WRITES
001440* 1353	        TAD SCTL        /TOTALLY CONTAINED IN 0-1777
001441* 1112	        TAD [10		/CHANGE FIELD 0 TO FIELD 1 AND CONTINUE
001442* 5263	        JMP SAVE8A

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 52






001443* 1353	SAVE7A, TAD SCTL        /WRITE IN 2 PARTS -
001444* 3041	        DCA TM1
001445* 1354	        TAD SADR
001446* 7041	        CIA		/FIRST PART FROM FIELD 1, EVERYTHING BELOW 2000
001447* 1062	        TAD [2020
001450* 7130	        CLL CML RAR
001451* 3353	        DCA SCTL
001452* 4351	        JMS SWRITE
001453* 7332	        CLA CLL CML RTR
001454* 3354	        DCA SADR
001455* 1353	        TAD SCTL        /SECOND PART FROM FIELD 0, EVERYTHING ABOVE 2000
001456* 0070	        AND [3700
001457* 7041	        CIA
001460* 1041	        TAD TM1
001461* 7500		SMA		/FULL FIELD SAVE IN F0 MAKES THIS +
001462* 1061		TAD [4000	/COMPENSATE FOR THAT CASE
001463* 3353	SAVE8A, DCA SCTL
001464* 4351	SAVE8,  JMS SWRITE
001465* 2474		ISZ I [600
001466* 5213		JMP SAVE4
001467* 7240		STA		/LXR BECOMES ONE BECAUSE OF CCB
001470* 1013		TAD LXR		/NUMBER OF BLOCKS OF GT32K SEGS
001471* 7650		SNA CLA
001472* 5550		JMP I [SAVE12

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 53






001473* 1771	OVR32,	TAD I SXFLE	/RESET FILE TO INITIAL BLOCK
001474* 7001		IAC		/COMPENSATE FOR CCB
001475* 3355		DCA SWFILE
001476* 1073		TAD [603	/RESET CCB POINTER
001477* 3015		DCA ADR1
001500* 1177		TAD [7000
001501* 6200		LXM
001502* 7200		CLA		/YOU NEVER KNOW
001503* 1415	SAVE4B,	TAD I ADR1	/IDENTICAL TO SAVE4 CODE
001504* 3354		DCA SADR
001505* 7330		CLA CLL CML RAR
001506* 1415		TAD I ADR1
001507* 3353		DCA SCTL
001510* 3016		DCA ADR2	/SET UP TO MOVE GREATER THAN 32K CODE DOWN
001511* 3014		DCA X1		/DITTO
001512* 3371		DCA SXFLE	/INTIALIZE FOR COUNTER
001513* 1353		TAD SCTL	/SET UP CDF FOR MOVE
001514* 0376		AND (76		/ISOLATE BANK AND FIELD
001515* 7112		CLL RTR		/ADJUST MENT
001516* 7430		SZL
001517* 1375		TAD (20
001520* 7106		CLL RTL
001521* 1331		TAD FDC0
001522* 3323		DCA .+1
001523* 0000	XFSP,	0		/START OF MOVE LOOP
001524* 1416		TAD I ADR2
001525* 6241		CDF 40		/PUT THEM IN FIELD 4 (SECOND HALF BANK)
001526* 3414		DCA I X1	/IT SEEMS LIKE A GOOD FIELD
001527* 2371		ISZ SXFLE
001530* 5323		JMP .-5
001531* 6201	FDC0,	CDF 0		/LOOP IS OFFICIALLY OVER
001532* 1353		TAD SCTL	/ADJUST SWRITE CONTROL WORD
001533* 0166		AND [7700
001534* 1374		TAD (40		/TO FIELD 4
001535* 3353		DCA SCTL
001536* 4351		JMS SWRITE
001537* 2051		ISZ EXTMP	/IS THAT ALL THE SEGMENTS??
001540* 5303		JMP SAVE4B	/NO ---CONTINUE
001541* 5550		JMP I [SAVE12	/TIME TO EXIT

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 54






001542* 0000	LOADF0,	0
001543* 4570		JMS I [SHNDLR
001544* 1010		1010
001545* 0000	F0OVLY,	0		/WILL BE 0 IF WE EXECUTE THIS CODE, OF COURSE
001546* 0033		MTEMP+4
001547* 5003		JMP KMONER
001550* 5742		JMP I LOADF0

001551* 0000	SWRITE,	0
001552* 4426		JMS I DEVHND
001553* 4101	SCTL,	4101
001554* 0600	SADR,	600
001555* 0000	SWFILE,	0
001556* 5003		JMP KMONER
001557* 1353		TAD SCTL
001560* 7002		BSW
001561* 0373		AND (37
001562* 7450		SNA
001563* 1373		TAD (37
001564* 7001		IAC
001565* 7110		CLL RAR
001566* 1355		TAD SWFILE
001567* 3355		DCA SWFILE	/BUMP RECORD NUMBER
001570* 5751		JMP I SWRITE
001571* 0516	SXFLE,	SFILE
001573* 0037
001574* 0040
001575* 0020
001576* 0076
001577* 0307
	1600		PAGE
	4000		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 55






			/SYSTEM GENERATOR - WRITES STUFF OUT USING SHNDLR
	4724		WRITE=JMS I SYSHND
004000  4274		JMS SYSSWP	/SWAP SYSTEM DEVICE HANDLER INTO 7600

004001  4724		WRITE;	4200;	7400;	0;	JMP BERR	/BOOTSTRAP
004002  4200
004003  7400
004004  0000
004005  5266
004006  1020		TAD RBFLAG
004007  7640		SZA CLA
004010  5216		JMP .+6
004011  4724		WRITE;	4210;	DCOUNT;	01;	JMP BERR	/DIRECTORY
004012  4210
004013  1400
004014  0001
004015  5266
004016  4724		WRITE;	5001;	0000;	07;	JMP BERR	/KEYBOARD MONITOR
004017  5001
004020  0000
004021  0007
004022  5266
004023  4724		WRITE;	4610;	0000;	MONTOR;	JMP BERR	/USR
004024  4610
004025  0000
004026  0013
004027  5266
004030  4724		WRITE;	4111;	3400;	MEOVLY;	JMP BERR	/"ENTER" OVERLAY
004031  4111
004032  3400
004033  0026
004034  5266
004035  4724		WRITE;	4701;	2000;	MSOVLY;	JMP BERR	/SAVE OVERLAY,
004036  4701
004037  2000
004040  0054
004041  5266
								/ERROR ROUTINE AND "CHAIN"
004042  1020		TAD RBFLAG
004043  7640		SZA CLA
004044  5257		JMP .+13
004045  4724		WRITE;	4101;	LDRCTL;	MFREE;	JMP BERR	/ABSLDR CONTROL BLOCK
004046  4101
004047  4113
004050  0070
004051  5266
004052  4724		WRITE;	5010;	2000;MFREE+1;	JMP BERR	/ABSLDR
004053  5010
004054  2000
004055  0071

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 55-1

004056  5266
004057  4777		JMS I (4200	/OUTPUT THE DEVICE HANDLERS
004060  5266		JMP BERR
004061  4274		JMS SYSSWP	/SWAP BACK PAGE 7600
004062  7240		CLA CMA
004063  7402		HLT
004064  7200		CLA
004065  5666		JMP I .+1
004066  7600	BERR,	7600
004067  4274		JMS SYSSWP
004070  7402		HLT
004071  5270		JMP .-1
004072  6600	W6600,	6600
004073  7600	W7600,	7600
004074  0000	SYSSWP,	0
004075  1272		TAD W6600
004076  3321		DCA SYTM1
004077  1273		TAD W7600
004100  3322		DCA SYTM2
004101  1721	SWAPLP,	TAD I SYTM1
004102  3323		DCA TMSY
004103  1722		TAD I SYTM2
004104  3721		DCA I SYTM1
004105  1323		TAD TMSY
004106  3722		DCA I SYTM2
004107  2321		ISZ SYTM1
004110  2322		ISZ SYTM2
004111  5301		JMP SWAPLP
004112  5674		JMP I SYSSWP

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 56






			/CONTROL BLOCK FOR ABSOLUTE LOADER
004113  7777	LDRCTL,	7777	/ONE CONTIGUOUS LOAD
004114  6213		6213	/STARTING ADDRESS IN FIELD 1
004115  2000		2000	/STARTING LOCATION=12000
004116  6003		6003	/DOES NOT LOAD OVER EITHER MONITOR AREA
				/ALSO DOES NOT USE THESE AREAS AT COMMAND TIME - TRUE
				/ONLY FOR FIRST CALL TO COMMAND DECODER
004117  2000		2000	/FIRST(AND ONLY) SEGMENT STARTS AT 2000
004120  1210		1210	/IN FIELD 1 AND IS 10 PAGES LONG

			IFNZRO LDRCTL-4113 <BLDER,XQX>

004121  0000	SYTM1,	0
004122  0000	SYTM2,	0
004123  0000	TMSY,	0
004124  7607	SYSHND,	7607
004177  4200
	4200		PAGE


/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 57






	4264		*4264
	0664		RELOC 664
000664* 6211	MERGEX,	CDF 10
000665* 1052		TAD MERTST
000666* 7640		SZA CLA
000667* 5360		JMP MOVEC
000670* 1067		TAD [1603	/LOADS INTO 600--MERGED--CODE
000671* 3013		DCA LXR
000672* 1067		TAD [1603
000673* 3014		DCA X1
000674* 1467		TAD I [1603
000675* 0377		AND (1777
000676* 1376		TAD (6000
000677* 3467		DCA I [1603	/INITIALIZE STATUS BITS TO NO OVERLOADS
000700* 1517		TAD I [1600
000701* 3040		DCA TEMP1
000702* 1413	MERGLP,	TAD I LXR
000703* 0375		AND (37
000704* 7112		CLL RTR		/TRANSFORM 'ABCDE' TO 'CDEBA0'
000705* 7012		RTR		/CDE/000/000/00A/ B
000706* 7430		SZL		/TEST FOR 'B' BANK
000707* 1065		TAD [400	/CDE/B00/000/00A/
000710* 7110		CLL RAR		/0CD/EB0/000/000/ A
000711* 7430		SZL		/TEST FOR 'A' BANK
000712* 1102		TAD [100	/0CD/EBA/000/000/
000713* 7104		CLL RAL
000714* 7002		BSW
000715* 3021		DCA TEMP2
000716* 1413		TAD I LXR
000717* 0126		AND [7400
000720* 3042		DCA TMP1
000721* 1042		TAD TMP1
000722* 3414		DCA I X1	/STORE ADDRESS
000723* 1042		TAD TMP1
000724* 7041		CIA
000725* 1413		TAD I LXR	/FORM UPPER LIM - LOWER LIM
000726* 7110		CLL RAR
000727* 1021		TAD TEMP2	/ADD IN FIELD
000730* 3414		DCA I X1
000731* 1042		TAD TMP1
000732* 7104		CLL RAL
000733* 7730		SZL SPA CLA	/IS THE LOWER LIMIT < 2000?
000734* 5346		JMP NXTSEG	/NO
000735* 1021		TAD TEMP2
000736* 7010		RAR
000737* 7640		SZA CLA		/YES- IS THE FIELD 0 OR 1?
000740* 5346		JMP NXTSEG	/NO
000741* 7420		SNL
000742* 7001		IAC
000743* 7072		CMA CML RTR

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 57-1

000744* 0467		AND I [1603	/AND OUT THE PROPER OVERLOAD BIT
000745* 3467		DCA I [1603

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 58






000746* 2040	NXTSEG,	ISZ TEMP1
000747* 5302		JMP MERGLP
000750* 1774		TAD I (1605	/TEST FIRST SEGMENT FOR GREATER THAN 32K
000751* 0111		AND [7
000752* 7650		SNA CLA		/IF GREATER THAN 32K SET
000753* 5360		JMP MOVEC
000754* 1517		TAD I [1600	/THE 4000 BIT OF THE FIRST WORD OF THE CCB TO ZERO
000755* 7004		RAL
000756* 7110		CLL RAR
000757* 3517		DCA I [1600
					/REMOVED LXM PUT IT IN MOVE UP CODE
000760* 1373	MOVEC,	TAD (1577
000761* 3013		DCA LXR
000762* 1372		TAD (577
000763* 3014		DCA X1
000764* 1121		TAD [7600
000765* 3040		DCA TEMP1
000766* 3052		DCA MERTST	/SET MOVE I.D. TO ZERO
000767* 5770		JMP I MVECB	/RETURN TIME
000770* 0453	MVECB,	CBMOVE
000772* 0577
000773* 1577
000774* 1605
000775* 0037
000776* 6000
000777* 1777
	1000		PAGE
	4400		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 59






	7400		*7400
	7600		RELOC	7600
			/UPPER PAGE OF FIELD 1 - CHOCK FULL OF GOODIES
			/LIKE THOUSANDS OF TABLES AND THE MONITOR CALL LOCATION

007600* 0000	MOFILE,	ZBLOCK 17	/OUTPUT FILE TABLE - 7600-7616 (3 ENTRIES MAX)
					/5 WORDS PER ENTRY - DEVICE # AND FILE NAME
007617* 0000	MIFILE,	ZBLOCK 24	/INPUT FILE TABLE - 7617-7642 (10 ENTRIES MAX)
					/2 WORDS PER ENTRY - DEVICE # AND RECORD #

					/LAST WORD IN TABLE CONTAINS TERMINATION INDICATOR
					/(0 FOR CR, 1 FOR ALTMODE) AND HIGH ORDER
					/PART OF NUMERICAL ARGUMENT

007643* 0000	MPARAM,	ZBLOCK 4	/PARAMETER TABLE - 7643-7646
					/FIRST 3 WORDS - MASK OF SWITCHES(A-Z,0-9).
					/FOURTH WORD - CONTAINS THE LOW ORDER BITS OF
					/THE NUMERICAL ARGUMENT



					/TABLE OF DEVICE HANDLERS PRESENTLY IN CORE
007647* 7607	DVHNDL,	7607;7607;0;0;0;0;0
007650* 7607
007651* 0000
007652* 0000
007653* 0000
007654* 0000
007655* 0000
007656* 0000		0;0;0;0;0;0;0;0
007657* 0000
007660* 0000
007661* 0000
007662* 0000
007663* 0000
007664* 0000
007665* 0000
007666* 0000	MDATE,	0		/HOLDS THE CURRENT DATE- 4 BIT MONTH,
					/5 BIT DAY, 3 BIT YEAR FROM 1970
007667* 6202	MGET,	CIF 0
007670* 4207		JMS SHNDLR	/INST FIELD IS 0
007671* 1000		1000		/READ 4 RECORDS INTO FIELD 0
007672* 0000		0		/LOCATIONS 0-1777
007673* 0007		7		/KEYBOARD MONITOR FOLLOWS DIRECTORY
007674* 7746	PJSBTS,	JSBITS		/SERVES AS A HALT (WATCH IT!)
007675* 6203	SCDCIF,	CDF CIF 0
007676* 5677		JMP I .+1
007677* 0400		KMNTRY		/V3D GETS CHANGED TO INIT

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 60






007700* 0000	MCALL1,	0
007701* 3340		DCA MARG1	/SAVE AC AS IT MAY CONTAIN AN ARGUMENT
007702* 6214		RDF	/GET CALLING FIELD
007703* 1275		TAD SCDCIF
007704* 3336		DCA SMCIF
007705* 6201		CDF 0
007706* 1674		TAD I PJSBTS
007707* 7010		RAR
007710* 6211		CDF 10
007711* 7630		SZL CLA		/DOES JOB USE LOCS 10000-11777?
007712* 5321		JMP MONRD	/NO - DONT SAVE THEM
007713* 6202		CIF 0
007714* 4207		JMS SHNDLR
007715* 5010		5010
007716* 0000		0
007717* 0027		MTEMP
007720* 7402		HLT
007721* 6202	MONRD,	CIF 0
007722* 4207		JMS SHNDLR
007723* 0610		610
007724* 0000		0
007725* 0013		MONTOR
007726* 7402	SCOPE,	HLT		/BIT 4 IS A 1 IF CONSOLE IS A SCOPE
007727* 5020		JMP MSTART	/START THE MONITOR UP IN PAGE 0
007730* 6202	MRETRN,	CIF 0
007731* 4207		JMS SHNDLR
007732* 1010		1010	/READ 10 RECS INTO FIELD 1
007733* 0000		0
007734* 0027		MTEMP	/TEMP REGION ON SYS
007735* 7402		HLT	/SYS HAS PROBLEMS
007736* 0000	SMCIF,	0
007737* 5700		JMP I MCALL1

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 61






007740* 0000	MARG1,	0
					/TABLE OF USER DEVICE NAMES
					/ALSO USED BY SYSTEM ODT

007741* 0000	UDNAME,	0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
007742* 0000
007743* 0000
007744* 0000
007745* 0000
007746* 0000
007747* 0000
007750* 0000
007751* 0000
007752* 0000
007753* 0000
007754* 0000
007755* 0000
007756* 0000
007757* 0000
007760* 0000	DCB,	ZBLOCK 17	/DEVICE CONTROL BLOCK - SET IN "CONFIG"
007777* 0000	MMISC,	0		/WORD FOR SET OPTIONS
	7600		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 62








			/********************************************************
			/	MAP OF SYSTEM DEVICE AS OF 1-JUN-79
			/********************************************************
			/            *   256 WORD RECORDS   *
			/********************************************************
			/
			/	RECORDS    CONTENTS
			/	-------    --------
			/
			/	 0	MONITOR BOOTSTRAP
			/	 1- 6	SYSTEM DIRECTORIES
			/	 7-12	KEYBOARD MONITOR
			/	13-15	I/O MONITOR(CALLABLE MONITOR) [15.5 EMPTY]
			/	16-25	DEVICE HANDLER RECORDS
			/	26	MONITOR "ENTER" OVERLAY, TM8E EXTENSION
			/	27-50	MONITOR SCRATCH AREA FOR SAVING CORE
			/	51-53	COMMAND DECODER [53.5 EMPTY]
			/	54-55	"SAVE WITH ARGUMENTS" AND "DATE" OVERLAYS
			/	56	MONITOR ERROR ROUTINE
			/	57	"CHAIN" PROCESSOR [57.5 EMPTY]
			/	60-63	SYSTEM ODT
			/	64	MERGED CODE OD&SAVE
			/	65	CCL REMINISCENSES
			/	66	USED BY TWO-PAGE SYS HANDLER
			/	67	USED BY CCL (CCL OVERLAY)
			/	70-END	FILE STORAGE
			/********************************************************
			/
			/	SCRATCH BLOCKS:
			/	------- -------
			/
			/	27-32	USR SWAP AREA
			/	33-36	OD&KM SWAP AREA
			/	37	CCB IN SECON HALF
			/	40-44	ABSLDR SWAP AREA 12000-14377
			/	45	ABSLDR HANDLER SWAP 7000-7377
			/
			/
			/********************************************************

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 63






	7607		SHNDLR=7607	/ENTRY POINT TO SYSTEMS HANDLER

	6600		*6600
	7600		RELOC	7600

			/SYSTEM HANDLER AND FIELD 0 UPPER PAGE
			/INCLUDES BOOTSTRAP AND PART OF MONITOR CALL ROUTINE
	0016		DVHORG=16	/DEVICE HANDLER RECORDS
	0027		MTEMP=27
	0013		MONTOR=13
007600* 4207		JMS SHNDLR
007601* 5000		5000		/SAVE MONITOR CORE - WRITE 5 RECORDS FROM FIELD 0
007602* 0000		0		/(LOCATIONS 0-1777)
007603* 0033		MTEMP+4
007604* 7602		7602		/TROUBLE WITH SYSTEM DEVICE
007605* 6213		CDF CIF 10
007606* 5267		JMP MGET	/NOW GO READ IN THE KEYBOARD MONITOR

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 64






	6607		RELOC

	6744		*6744	/INFORMATION ABOUT CURRENT JOB
	7744		RELOC	7744
007744* 6203	JFIELD,	6203	/A CDF CIF N INSTRUCTION TO START THE JOB
007745* 7600	JSTART,	7600	/THE STARTING ADDRESS
007746* 1000	JSBITS,	1000	/VARIOUS STATUS BITS - USED FOR OPTIMIZATION
				/BIT 4000 - JOB DID NOT LOAD INTO 00000-01777
				/BIT 2000 - JOB DID NOT LOAD INTO 10000-11777
				/BIT 1000 - JOB IS NOT RESTARTABLE
				/BIT 400  - DOESN'T DESTROY BATCH MONITOR
				/BIT 2    - JOB DOES NOT USE LOCS 00000-01777
				/BIT 1    - JOB DOES NOT USE LOCS 10000-11777
007747* 0000	SOFSET,	0	/FOR FUTURE(AND MAYBE PRESENT) USE

			/DATA BREAK FILLERS FOR SYSTEM BOOTSTRAP
007750* 7750		7750
007751* 7751		7751
007752* 7752		7752
007753* 7753		7753
007754* 7754		7754
007755* 7755		7755
				/MONITOR PATCH TO HELP BLEEP LOADER
007756* 0000		0	/ADDRESS OF HANDLER FOR DEVICE USED
007757* 4756	MREAD,	JMS I	.-1
007760* 0000		0
007761* 0000		0
007762* 0000		0
007763* 7402		HLT
007764* 5372	MSWITC,	JMP .+6	/ZEROED IF PG 7000 (HANDLER) MUST BE READ OVER
007765* 4207		JMS SHNDLR
007766* 0300		0300
007767* 7000		7000		/THIS AREA MODIFIED BY ODT
007770* 0035		MTEMP+6
007771* 7402	OS78,	HLT		/BIT 4 IS A 1 IF OS/78 IS RUNNING
007772* 6042		TCF		/EXIT WITH A CLEAR CONSCIENCE(ALSO A CLEAR FLAG)
007773* 6203	MSTCDF,	CDF CIF 0
007774* 5775		JMP I .+1
007775* 0000	MSTADR,	0
007776* 0000	SBLOCK,	0	/GETS DEVICE NUMBER OF RUNNED PROGRAM
007777* 0000	BIPCCL,	0	/MORE STATUS BITS.
				/BIT 1: 1=> BATCH IS IN PROGRESS
				/BITS 6-8: FIELD OF BATCH MONITOR
				/HIGHEST CORE FIELD USED BY OS/8
				/OR 0 TO MEAN OS/8 MAY USE ALL OF CORE
	7000		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 65






	0000		*0
000000  0005		VERSNO		/OS/8 VERSION NUMBER
000001  6232		CIF 30
000002  5001		JMP .-1		/HIGROUND SUPPORT
000003  7200	KMONER,	CLA
000004  1165		TAD [7605
000005  3033		DCA ERRET
000006  4567		JMS I [PRMESG
		IFDEF  GERMAN <	TEXT	/FEHLER/>
000007  7705	IFNDEF GERMAN < TEXT	/?ERROR/>
000010  2222
000011  1722
000012  0000

		/THE FOLLOWING REGISTERS ARE SET TO VITAL INITIAL VALUES. TO ALTER
		/THESE VALUES IS TO BRING DISASTER DOWN UPON YOUR HEAD!

000013  1051	LXR,	PMSRST-1
000014  7764	X1,	MSWITC	/THESE TWO ARE USED AT INITIALIZATION.
000015  1711	ADR1,	RUN8-1
000016  7511	ADR2,	RUN8&177+7377	/USED DURING R, AND RUN COMMANDS
		XR,
000017  0000	AMFLAG,	0		/1 MEANS SAW ALTMODE
					/MUST NOT MOVE FOR CCL AND BATCH

	0020		*20
000020  0000	RBFLAG,	0		/MUST BE AT LOCATION 20
000021  7771	TEMP2,	-7
000022  7700	SYSTEM,	7700
000023  0200	PCH,	PRINT
000024  1200	GLINE,	XGLINE
000025  0211	GNAME,	GETNAM
000026  7607	DEVHND,	7607
000027  5372	FUDJMP,	MSTCDF-1&177+5200
000030  6203	P6203,	6203
000031  0261	TMP,	PATCHLEV	/MONITOR PATCH LEVEL MUST BE AT LOC 31 FOR CCL
000032  1505	PGTOUT,	GETOUT
000033  0402	ERRET,	PCRLF		/MUST BE AT 33 FOR CCL

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 66






		/THE FOLLOWING LOCS. ARE TEMPORARIES. HOWEVER, THERE IS NOW
		/VITAL ONCE ONLY CODE TO HELP THE BATCH PROCESSOR. THIS CODE IS
		/READ IN EVERY TIME THE KEYBOARD MONITOR IS RE-READ.

000034  0203	NM1,	203		/THIS MUST BE  A 203!
		BATCH,			/ENTRY TO READ NEW BATCH MONITOR
000035  4570	NM2,	JMS I [7607	/THE BATCH INITIALIZER ALTERS  SOME VALUES
000036  0610	NM3,	610		/IN THIS LIST...THIS ONE**********
000037  0000	NM4,	0		/THIS ONE*****GETS ADDRESS OF BOS.
000040  0013	TEMP1,	13		/******GETS RECORD OF BOS*****
000041  7610	TM1,	SKP CLA		/ERROR. DON'T RUN BATCH
000042  5046	TMP1,	JMP BCHGO
000043  3445	NMCT,	DCA I KM1	/CLEAR BATCH FLAG.
000044  5003	PN,	JMP KMONER
		PRDSW,
000045  7777	KM1,	7777
		BCHGO,
000046  6203	RUNSW,	CIF CDF 0
000047  5450	DIGFLG,	JMP I .+1
000050  1005	SENTER,	KMINIT		/GETS ENTRY POINT (BOS)
000051  0000	EXTMP,	0
000052  0000	MERTST,	0
000053  7777	SPTST,	-1		/-1 USED IN RUN CODE
000054  0000	CCLINC,	0		/FLAG USED BY CCL V40 FOR IN-CORE STATUS

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 67






000061  4000
000062  2020
000063  0313
000064  0503
000065  0400
000066  0004
000067  1603
000070  3700
000071  0350
000072  0340
000073  0603
000074  0600
000075  0434
000076  0067
000077  6003
000100  0364
000101  0244
000102  0100
000103  0336
000104  7001
000105  6670
000106  0256
000107  0215
000110  0647
000111  0007
000112  0010
000113  1532
000114  0564
000115  0527
000116  0300
000117  1600
000120  0200
000121  7600
000122  7403
000123  7402
000124  7401
000125  1460
000126  7400
000127  0526
000130  0403
000131  7757
000132  7764
000133  7762
000134  0033
000135  7761
000136  7760
000137  7756
000140  7775
000141  7745
000142  0316

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 67-1

000143  1000
000144  7773
000145  7744
000146  1113
000147  1400
000150  0367
000151  2326
000152  0651
000153  1522
000154  7410
000155  1447
000156  1151
000157  1551
000160  0700
000161  1163
000162  1327
000163  0777
000164  1166
000165  7605
000166  7700
000167  0330
000170  7607
000171  0077
000172  7772
000173  7746
000174  7776
000175  7740
000176  0240
000177  7000
	0001		FIELD 1

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 68






			/FIELD 1
			/OS/8 MONITOR - MONITOR ROUTINES
			/THIS MONITOR IS CALLED INTO CORE BY A JMS 7700 IN FIELD 1
			/IT REPLACES CORE FROM 200-1777
			/AND INTERPRETS THE WORDS AFTER THE JMS AS A MONITOR FUNCTION
			/MONITOR FUNCTIONS ARE ASSIGN,LOOKUP,ENTER,ETC.
	0013		MAXCMD=13
	0200		*200
010200  0000	MONITO,	0	/MONITOR SUBROUTINE
010201  3055		DCA MACARG	/STORE AC ARG
010202  3040		DCA USERFG	/SET FLAG TO INDICATE WE WERE CALLED DIRECTLY
010203  6214		RDF	/GET CALLING FIELD
010204  1177		TAD [CDF CIF 0
010205  3345		DCA FGETX
010206  1345	MRENTR,	TAD FGETX
010207  3241		DCA FPUTX	/FOR LOADING AND STORING CALLING SEQUENCE
010210  4220		JMS FGET	/GET FIRST ARGUMENT[AND SET DATA FIELD 1)
010211  2200		ISZ MONITO
010212  7100		CLL
010213  1176		TAD [-MAXCMD-1
010214  7430		SZL
010215  5247		JMP MERROR
010216  1244		TAD JMPMAX
010217  3220		DCA .+1		/BRANCH TO APPROPRIATE ROUTINE WITH LINK ON
010220  0000	FGET,	0		/MUST PRESERVE LINK
010221  1200		TAD MONITO
010222  4343		JMS FGETW
010223  5620		JMP I FGET

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 69






		/MONITOR COMMAND DISPATCH TABLE MUST BE JAMMED BEFORE 'FPUT'
010224  0247		MERROR
010225  0401		MASSIGN
010226  0603		MLOOKUP
010227  1011		MENTER
010230  1177		MCLOSE
010231  0263		MCD
010232  0306		MCHAIN
010233  0253		MERR
010234  0324		MESCAP
010235  0341		MESCPR
010236  0400		MASGN
010237  1343	MRSETP,	MRESET
010240  0000	FPUT,	0		/MUST FOLLOW LAST ADDRESS IN JUMP TABLE
010241  0000	FPUTX,	0
010242  3600		DCA I MONITO
010243  6213		CDF CIF 10
010244  5640	JMPMAX,	JMP I FPUT
010245  2057	MEOERR,	ISZ MERRNO
010246  2057	MIOERR,	ISZ MERRNO
010247  2057	MERROR,	ISZ MERRNO
010250  2057		ISZ MERRNO
010251  2057		ISZ MERRNO
010252  2057		ISZ MERRNO
010253  7200	MERR,	CLA
010254  6202		CIF 0
010255  4575		JMS I [SHNDLR
010256  0210		0210
010257  1400		CCOVLY
010260  0056		MERRTN
010261  7402		HLT
010262  5657		JMP I .-3


/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 70







010263  7330	MCD,	CLA CLL CML RAR
010264  4351		JMS CDSWAP	/SWAP OUT CORE IF NECESSARY
010265  4220		JMS FGET
010266  3041		DCA T1
010267  6202		CIF 0
010270  4575		JMS I [SHNDLR
010271  0601		0601
010272  0000		0
010273  0051		MCDREC
010274  5246		JMP  MIOERR
010275  1241		TAD FPUTX
010276  6203		CDF CIF 0
010277  4574		JMS I [200
010300  3241		DCA FPUTX
010301  1241		TAD FPUTX
010302  3345		DCA FGETX
010303  4351		JMS CDSWAP	/RESTORE THE SWAPPED CORE IF NECESSARY
010304  7120		STL		/LINK MUST BE ON AT MRESET
010305  5637		JMP I MRSETP	/AFTER CD, RESET DEVICE AREA
010306  4220	MCHAIN,	JMS FGET
010307  3041		DCA T1		/BUFFER THE ARGUMENT
010310  6202		CIF 0
010311  4575		JMS I [SHNDLR
010312  0101		0101
010313  7400		7400
010314  0057		MRUNRC
010315  5246		JMP MIOERR
010316  1041		TAD T1		/LOAD THE BUFFERED ARGUMENT
010317  6202		CIF 0		/CHAIN WILL DO CDF 0
010320  5713		JMP I .-5
010321  7200	MLNOTF,	CLA
010322  2200		ISZ MONITO
010323  1040	MNEXT,	TAD USERFG
010324  7110	MESCAP,	CLL RAR
010325  1200		TAD MONITO
010326  3573		DCA I [7700
010327  1241		TAD FPUTX
010330  3572		DCA I [SMCIF
010331  7221		CLA IAC CML
010332  6201		CDF 0
010333  0571		AND I [JSBITS
010334  6211		CDF 10
010335  7010		RAR
010336  7730		SZL SPA CLA	/RESTORE CORE IF USERFG=1 AND JSW[11]=0
010337  5572		JMP I [SMCIF
010340  5570		JMP I [MRETRN
010341  7120	MESCPR,	CLL CML
010342  5325		JMP MESCAP+1
010343  0000	FGETW,	0

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 70-1

010344  3240		DCA FPUT
010345  7402	FGETX,	HLT
010346  1640		TAD I FPUT
010347  6213		CDF CIF 10
010350  5743		JMP I FGETW

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 71






010351  0000	CDSWAP,	0
010352  1374		TAD ME1000	/FORM READ OR WRITE OPERATION
010353  3364		DCA MCDCTL
010354  6201		CDF 0
010355  1571		TAD I [JSBITS
010356  6211		CDF 10
010357  7012		RTR
010360  7630		SZL CLA	/IS IT NECESSARY TO SAVE CORE?
010361  5751		JMP I CDSWAP	/NO
010362  6202		CIF 0
010363  4575		JMS I [SHNDLR
010364  0000	MCDCTL,	0
010365  0000		0
010366  0033		MTEMP+4
010367  5246		JMP MIOERR
010370  5751		JMP I CDSWAP

010371  6202	EOVFLO,	CIF 0
010372  4575		JMS I [SHNDLR
010373  0111		0111
010374  1000	ME1000,	1000		/ENTER OVERLAY LOADS OVER ENTER (NATCH)
010375  0026		MEOVLY
010376  5246		JMP MIOERR
010377  5774		JMP I ME1000
	0201		*MONITO+1
	0400		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 72







	0400		*400
			/ASSIGN PROCESSOR - TRANSLATE DEVICE NAME INTO DEVICE NUMBER
			/(IF NECESSARY),GET DEVICE HANDLER INTO CORE(IF NECESSARY)
			/AND ADJUST TABLES(IF NECESSARY).  IS THIS REALLY NECESSARY?
010400  7201	MASGN,	CLA IAC
010401  3054	MASSIGN,	DCA ASFLAG
010402  1055		TAD MACARG
010403  7440		SZA		/IS DEVICE NUMERIC OR SYMBOLIC?
010404  5246		JMP DFOUND	/NUMERIC
010405  4567		JMS I [FGET	/GET HIGH ORDER 2 CHARS OF NAME
010406  2574		ISZ I [MONITO
010407  7450		SNA
010410  5566		JMP I [MRTRN+1		/FIRST WORD OF NAME MUST BE NON-ZERO
010411  3052		DCA NAME
010412  4567		JMS I [FGET
010413  7450		SNA		/IS NAME >2 CHARACTERS LONG?
010414  5221		JMP NOHASH	/NO - DON'T HASH
010415  1052		TAD NAME
010416  7004		RAL
010417  7130		CLL CML RAR	/FORCE SIGN BIT OF HASH NAME ON
010420  3052		DCA NAME
010421  1165	NOHASH,	TAD [UDNAME-1	/SEARCH USER NAME TABLE FIRST
010422  3017	DSRCH,	DCA XR
010423  1164		TAD [-17
010424  3042		DCA T2
010425  1417	DSRCLP,	TAD I XR
010426  7041		CIA
010427  1052		TAD NAME
010430  7650		SNA CLA
010431  5241		JMP DSFND
010432  2042		ISZ T2
010433  5225		JMP DSRCLP
010434  1017		TAD XR
010435  7700		SMA CLA		/WHICH TABLE DID WE JUST SEARCH?
010436  5566		JMP I [MRTRN+1	/SYSTEM TABLE - ERROR
010437  1163		TAD [SDNAME-1
010440  5222		JMP DSRCH	/GO SEARCH SYSTEM TABLE
010441  1042	DSFND,	TAD T2
010442  1162		TAD [20
010443  4561		JMS I [FPUT	/PUT NUMBER INTO CALLING SEQUENCE
010444  4567		JMS I [FGET	/GET IT BACK IN AC, BUMPING POINTER
010445  2574		ISZ I [MONITO
010446  4560	DFOUND,	JMS I [MCKDEV	/DETERMINE ITS VALIDITY (NON-ZERONESS)
					/AND FORM POINTERS

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 73






010447  7450		SNA		/IS THE DEVICE HANDLER IN CORE?
010450  1442		TAD I T2
010451  7450		SNA		/DOES A HANDLER EXIST FOR THE DEVICE?
010452  5557		JMP I [MLNOTF	/NO - SAME AS THE DEVICE NOT EXISTING
010453  7044		CMA RAL		/GET THE COMPLEMENT OF THE HIGH ORDER BIT INTO THE LINK
010454  7620		SNL CLA		/TWO PAGE HANDLER?(IF HANDLER IS IN CORE,
					/THIS TEST IS RANDOM BUT WE DON'T CARE)
010455  1156		TAD [100	/YES - FORCE A TWO-PAGE READ
010456  1156		TAD [100
010457  3301		DCA DVHCTL
010460  1041		TAD T1
010461  3047		DCA T7		/SAVE T1 AS WE WILL DESTROY IT LATER
010462  1441		TAD I T1
010463  1054		TAD ASFLAG
010464  7640		SZA CLA		/DOES HE ACTUALLY WANT US TO LOAD THE SILLY THING?
010465  5332		JMP AFINIS	/NO - HE MUST HAVE TASTE.
010466  4567		JMS I [FGET		/FETCH PAGE IN WHICH HANDLER IS TO BE LOADED
010467  7010		RAR		/GET THE LINK, WHICH HAS BEEN UNTOUCHED SINCE WE
					/PUT THE "TWO PAGE HANDLER" FLAG INTO IT
010470  7520		SNL SMA		/IF THIS HANDLER IS TWO-PAGE, IS HE ALLOWING IT TO BE?
010471  5557		JMP I [MLNOTF	/NO - GIVE AN ERROR RETURN
010472  7004		RAL		/YES - ROTATE BACK
010473  0155		AND [7600		/MAKE IT LEGAL
010474  3302		DCA DVHLOC
010475  4334		JMS GETREC
010476  3303		DCA DVHREC
010477  6202		CIF 0
010500  4575		JMS I [SHNDLR
010501  0000	DVHCTL,	0		/READ ONE OR TWO PAGES INTO FIELD 0
010502  0000	DVHLOC,	0
010503  0000	DVHREC,	0
010504  5554		JMP I [MIOERR	/SYSTEM DEVICE ERROR
				/NOW GO THROUGH THE TABLE OF AVAILABE HANDLERS
010505  1164		TAD [-17	/AND MARK OFF THOSE WHICH ARE NOW IN CORE
010506  3044		DCA T4

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 74






010507  1044	DVHCLP,	TAD T4
010510  4560		JMS I [MCKDEV	/LOW ORDER BITS OF T4 GO THROUGH 1-17
010511  7040		CMA
010512  1302		TAD DVHLOC
010513  7130		CLL CML RAR
010514  1301		TAD DVHCTL	/IF A HANDLER ENTRY POINT IS WITHIN 200 WORDS OF THE
010515  7700		SMA CLA		/LOADING ADDRESS (400 FOR A TWO-PAGE HANDLER)
010516  3441		DCA I T1	/MARK IT AS WIPED
010517  4334		JMS GETREC
010520  7041		CIA
010521  1303		TAD DVHREC
010522  7640		SZA CLA
010523  5330		JMP NOTINC
010524  1442		TAD I T2
010525  0153		AND [177
010526  1302		TAD DVHLOC
010527  3441		DCA I T1
010530  2044	NOTINC,	ISZ T4
010531  5307		JMP DVHCLP
010532  1447	AFINIS,	TAD I T7
010533  5552		JMP I [MRTRN	/STORE HANDLER ADDRESS AND EXIT

010534  0000	GETREC,	0
010535  1442		TAD I T2	/GET RECORD OF DEVICE HANDLER
010536  7106		CLL RTL
010537  7006		RTL
010540  7006		RTL		/EXTRACT THE RECORD NUMBER
010541  0151		AND [17
010542  1150		TAD [DVHORG-1	/ADD THE BASE OF DEVICE HANDLER STORAGE
010543  5734		JMP I GETREC

010544  0000	MCKDEV,	0		/MUST PRESERVE LINK
010545  0151		AND [17
010546  7450		SNA
010547  5547		JMP I [MERROR	/DEVICE 0 IS ILLEGAL
010550  3052		DCA NAME
010551  1052		TAD NAME
010552  1146		TAD [SDVHND-1	/FORM POINTER INTO HANDLER IMAGE TABLE
010553  3042		DCA T2
010554  1052		TAD NAME
010555  1145		TAD [DVHNDL-1
010556  3041		DCA T1
010557  1052		TAD NAME
010560  1144		TAD [DCB-1
010561  3050		DCA T8		/FORM POINTER TO DCB ENTRY FOR DEVICE
010562  1441		TAD I T1
010563  5744		JMP I MCKDEV

			IFNZRO .-564	<REASSEMBLE CONFIG>
010564  0000	SDNAME,	ZBLOCK 17		/SYSTEM DNAME TABLE - SET UP BY "CONFIG"

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 74-1



/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 75







			IFZERO .+200&1000	<*600>
			/LOOKUP PROCESSOR - GETS THE STARTING BLOCK OF AN INPUT FILE
			/ON A SPECIFIED DEVICE.SKIPS IF FILE WAS FOUND OR DEVICE
			/IS NOT FILE ORIENTED
010603  7100	MLOOKUP,CLL		/SET RDCAT MODE TO INPUT
010604  4222		JMS MRDCAT
010605  5213		JMP ERETRN	/NON-FILE STRUCTURED DEVICE
010606  4301		JMS MDSRCH	/SEARCH THE DIRECTORY FOR THE FILE
010607  5220		JMP MRTRN+1	/NOT FOUND - TAKE ERROR RETURN
010610  1045	LRETRN,	TAD T5
010611  7041		CIA
010612  1543		TAD I [DORG	/CONVERT T5 TO A RECORD NUMBER
010613  4561	ERETRN,	JMS I [FPUT
010614  2574		ISZ I [MONITO
010615  1046		TAD T6
010616  7041		CIA		/STORE FILE LENGTH AS A NEGATIVE NUMBER
010617  4561	MRTRN,	JMS I [FPUT	/THIS CODE IS JUMPED TO BY SEVERAL ROUTINES
010620  2574	MRTRN2,	ISZ I [MONITO
010621  5557		JMP I [MLNOTF

010622  0000	MRDCAT,	0
010623  7440		SZA
010624  5251		JMP MRDREN	/NOT THE FIRST SEGMENT - DON'T SET UP POINTERS
010625  3045		DCA T5		/ZERO STARTING BLOCK NUMBER
010626  3046		DCA T6		/ZERO FILE LENGTH
010627  1055		TAD MACARG	/GET DEVICE NUMBER FROM AC
010630  4560		JMS I [MCKDEV	/CHECK LEGALITY AND FORM POINTERS
010631  7450		SNA
010632  5542		JMP I [MERROR+1	/DEVICE HANDLER IS NOT IN CORE - ERROR
010633  3051		DCA T9		/ADDRESS OF DEVICE HANDLER
010634  4567		JMS I [FGET
010635  3044		DCA T4		/STORE THE POINTER TO THE FILE NAME IN T4
010636  7420		SNL
010637  7030		CML RAR
010640  7012		RTR		/FORM A MASK OF 2000 OR 1000 DEPENDING ON LINK
010641  0450		AND I T8
010642  7640		SZA CLA		/TEST FOR READ-ONLY(L=1) OR WRITE-ONLY(L=0)
010643  5220		JMP MRTRN+1	/FAILED THE TEST - ERROR RETURN
010644  1450		TAD I T8
010645  7700		SMA CLA
010646  5622		JMP I MRDCAT	/DEVICE IS NOT FILE-ORIENTED
010647  2222		ISZ MRDCAT
010650  7201		CLA IAC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 76






010651  3367	MRDREN,	DCA MCATRC	/STORE SEGMENT NUMBER
010652  1051		TAD T9		/USE LOW ORDER BITS
010653  0153		AND [177	/OF DEVICE HANDLER ENTRY POINT
010654  7106		CLL RTL		/AND THE REQUESTED SEGMENT NUMBER
010655  7004		RAL		/TO FORM A "UNIQUE" KEY
010656  1367		TAD MCATRC	/FOR THIS SEGMENT OF THIS DIRECTORY
				/(THE UNIQUENESS DEPENDS ON EACH HANDLER HAVING A DIFFERENT
				/STARTING OFFSET IN ITS PAGE)
010657  7041		CIA
010660  1007		TAD OLDT9	/COMPARE KEY AGAINST KEY OF CURRENT SEGMENT
010661  7450		SNA		/ARE THEY THE SAME?
010662  5270		JMP INLRDY	/YES - DON'T READ SEGMENT, ITS IN CORE
010663  7041		CIA
010664  1007		TAD OLDT9
010665  3007		DCA OLDT9	/STORE THE KEY OF THE NEW IN-CORE SEGMENT
010666  7330		CLA CLL CML RAR	/CHANGE WRITE TO READ
010667  4360		JMS MWRCAT
010670  1541	INLRDY,	TAD I [DCOUNT
010671  7064		CML CMA RAL
010672  7530		SZL SPA
010673  5370		JMP JMPME2
010674  7070		CMA CML RAR	/NEW V3 DIRECTORY VERIFYER
010675  3053		DCA NFILES	/FIRST WORD IN CATALOG = -# OF FILES IN CATALOG
010676  1140		TAD [DPROPR-1
010677  3017		DCA XR		/SET XR TO POINT TO FIRST FILE ENTRY
010700  5622		JMP I MRDCAT	/RETURN TO BUMPED ADDRESS
010701  0000	MDSRCH,	0
010702  1417	FSRCLP,	TAD I XR
010703  7650		SNA CLA	/EMPTY SPACES HAVE A ONE WORD ZERO DIRECTORY ENTRY
010704  5340		JMP SKPMTF	/SO SKIP THE 4 WORD COMPARE ON THEM
010705  7240		CLA CMA
010706  1017		TAD XR
010707  3017		DCA XR
010710  1137		TAD [-4
010711  3046		DCA T6
010712  1044		TAD T4
010713  3047		DCA T7
010714  1047	SRCWDL,	TAD T7
010715  4536		JMS I [FGETW
010716  7041		CIA
010717  1417		TAD I XR
010720  7640		SZA CLA	/COMPARE ENTRY AGAINST ARGUMENT(8 CHARACTERS)
010721  5335		JMP NXTFIL
010722  2047		ISZ T7
010723  2046		ISZ T6
010724  5314		JMP SRCWDL
010725  4352		JMS BUMPXR	/SKIP GARBAGE WORDS
010726  1417		TAD I XR
010727  7450		SNA
010730  5341		JMP SKPMTF+1	/UNCLOSED OUTPUT FILES DONT COUNT

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 76-1

010731  7041		CIA
010732  3046		DCA T6	/STORE FILE LENGTH
010733  2301		ISZ MDSRCH
010734  5701		JMP I MDSRCH

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 77






010735  1046	NXTFIL,	TAD T6
010736  7001		IAC
010737  4352		JMS BUMPXR	/SKIP REST OF NAME AND GARBAGE WORDS
010740  1417	SKPMTF,	TAD I XR	/GET LENGTH OF THIS ENTRY
010741  1045		TAD T5
010742  3045		DCA T5	/ADD TO BLOCK STARTING ADDRESS
010743  2053		ISZ NFILES
010744  5302		JMP FSRCLP
010745  3045		DCA T5		/RE-INITIALIZE BLOCK NUMBER FOR NEXT SEGMENT
010746  1535		TAD I [DLINK	/DIRECTORY EXHAUSTED - ANY MORE?
010747  7440		SZA
010750  5251		JMP MRDREN
010751  5701		JMP I MDSRCH

010752  0000	BUMPXR,	0		/ROUTINE TO SKIP (DWASTE+AC) WORDS

010753  1540		TAD I [DWASTE
010754  7041		CIA		/DWASTE IS NEGATIVE AND SO IS AC
010755  1017		TAD XR
010756  3017		DCA XR
010757  5752		JMP I BUMPXR

010760  0000	MWRCAT,	0
010761  1134		TAD [4210
010762  3365		DCA CATCTL
010763  6202		CIF 0
010764  4451		JMS I T9
010765  4210	CATCTL,	4210	/WRITE 2 RECORDS FROM FIELD 1
010766  1400		CCOVLY
010767  0001	MCATRC,	1
010770  5533	JMPME2,	JMP I [MERROR+2	/CANNOT REWRITE CATALOG
010771  5760		JMP I MWRCAT

			IFNZRO .-772	<REASSEMBLE CONFIG>	/USED TO BE 766
010772  0000	SDVHND,	ZBLOCK 17	/DEVICE HANDLER INFORMATION TABLE - SET BY CONFIG


/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 78







			IFZERO 1000&. <*1000>
			/ENTER PROCESSOR FOR MONITOR
			/FIND A HOLE IN THE DIRECTORY LARGE ENOUGH TO ACCOMODATE THE FILE
			/AND STICK IT IN. MAKE A NOTE THAT WE DID SO FOR THE
			/"CLOSE" PROCESSOR.
011011  3056	MENTER,	DCA EPASS	/SET UP FOR PASS 1
011012  4532		JMS I [MRDCAT	/READ CATALOG AND SET UP NFILES AND XR
011013  5531		JMP I [ERETRN	/NON-FILE-STRUCTURED DEVICE
011014  4530		JMS I [CONSOL
011015  3042		DCA T2		/INTIIALIZE STARTING BLOCK NUMBER COUNTER
011016  1140		TAD [DPROPR-1
011017  3017		DCA XR		/RESTORE XR (CONSOLIDATOR DESTROYED IT)
011020  1055		TAD MACARG
011021  7112		CLL RTR
011022  7012		RTR
011023  0127		AND [377	/GET REQUESTED LENGTH FROM AC BITS 0-7
011024  7041		CIA
011025  3043		DCA T3	/T3=REQUESTED LENGTH.  IF T3=0, MEANS RETURN
				/LARGEST EMPTY SPACE ON TAPE. IF T3<>0, MEANS RETURN
				/SMALLEST BLOCK OF LENGTH =>T3.
011026  1450		TAD I T8	/GET FCB ENTRY
011027  0126		AND [7
011030  7640		SZA CLA		/ANY ACTIVE TENTATIVE FILES ON THIS DEVICE?
011031  5566		JMP I [MRTRN+1	/YES - TAKE ERROR RETURN
011032  1417	MELOOP,	TAD I XR
011033  7650		SNA CLA
011034  5343		JMP MEMPTY	/EMPTY SPACE - LOOK AT LENGTH
011035  7346		MTHREE		/OCCUPIED - IGNORE
011036  4525		JMS I [BUMPXR
011037  1417		TAD I XR
011040  1042	MELEND,	TAD T2
011041  3042		DCA T2	/UPDATE T2 TO STARTING BLOCK # OF NEXT ENTRY
011042  2053		ISZ NFILES
011043  5232		JMP MELOOP	/GO TO NEXT ENTRY

			/DIRECTORY BLOCK EXHAUSTED
011044  1056		TAD EPASS
011045  7640		SZA CLA		/WHAT PASS ARE WE IN?
011046  5263		JMP EFINUP	/SECOND PASS - THIS IS FOR KEEPS
011047  1535		TAD I [DLINK	/FIRST PASS
011050  7440		SZA		/ANY MORE SEGMENTS?
011051  5524		JMP I [MRDREN	/YES - CONTINUE

			/DONE - SEE IF OUR BEST IS GOOD ENOUGH.
011052  1044		TAD T4
011053  4536		JMS I [FGETW
011054  7640		SZA CLA		/CHECK THAT FIRST WORD OF NAME IS NON-ZERO
011055  1046		TAD T6
011056  7650		SNA CLA		/AND THAT WE FOUND WHAT WE WANTED

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 78-1

011057  5566		JMP I [MRTRN2	/OTHERWISE GIVE ERROR RETURN
011060  1054		TAD ASFLAG	/GET NUMBER OF BEST SEGMENT
011061  2056		ISZ EPASS	/AND RESTART THE ALGORITHM IN PASS 2
011062  5524		JMP I [MRDREN	/(TAKES LESS SPACE THAN SAVING XR AND NAME)

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 79






			/EVERYTHING IS SET UP - PERFORM THE ACTUAL ENTRY OPERATION

011063  1017	EFINUP,	TAD XR
011064  3041		DCA T1
011065  1137		TAD [-4
011066  4525		JMS I [BUMPXR
011067  1540		TAD I [DWASTE
011070  7041		CIA
011071  1017		TAD XR		/CATALOG MUST HAVE ROOM FOR ONE MORE FILE
011072  1123		TAD [-1772	/AFTER THIS FILE IS ENTERED
011073  7700		SMA CLA		/WILL NEW ADDITION OVERFLOW CATALOG?
011074  5522		JMP I [EOVFLO	/YUP - CALL OVERLAY TO EXTEND DIRECTORY
011075  1441	MELP2,	TAD I T1	/MOVE REST OF CATALOG UP
011076  3417		DCA I XR	/TO CREATE SPACE FOR NEW ENTRY
011077  7240		CLA CMA
011100  1041		TAD T1
011101  3041		DCA T1
011102  7344		CLA CMA CLL RAL
011103  1017		TAD XR
011104  3017		DCA XR
011105  1041		TAD T1
011106  7161		CIA CLL CML
011107  1052		TAD NAME
011110  7640		SZA CLA		/HAVE WE PUSHED UP EVERYTHING?
011111  5275		JMP MELP2	/NO, KEEP PUSHING
011112  1137		TAD [-4
011113  3041		DCA T1		/NOW MOVE THE USERS FILE NAME
011114  1052		TAD NAME
011115  3017		DCA XR
011116  1044		TAD T4
011117  4536		JMS I [FGETW	/[IN THE USERS FIELD, OF COURSE)
011120  3417		DCA I XR
011121  2044		ISZ T4
011122  2041		ISZ T1	/INTO THE EMPTY SPACE JUST CREATED
011123  5316		JMP .-5
011124  1521		TAD I [MDATE	/PUT DATE OF CREATION INTO FILE NAME
011125  3417		DCA I XR	/THIS WILL BE DESTROYED IF DWASTE=0
011126  7001		IAC		/ADJUST XR BUMP BECAUSE OF DATE STORE
011127  4525		JMS I [BUMPXR
011130  3417		DCA I XR	/GIVE THE NEWLY ENTERED FILE A LENGTH OF 0
011131  1017		TAD XR	/PUT A POINTER TO THE LENGTH WORD OF THE
011132  3520		DCA I [DFLAG	/NEW ENTRY INTO THE DIRECTORY HEADER
011133  7240		CLA CMA
011134  1541		TAD I [DCOUNT
011135  3541		DCA I [DCOUNT	/INCREASE THE FILE COUNT BY 1
011136  1450		TAD I T8
011137  1054		TAD ASFLAG
011140  3450		DCA I T8	/SIGNAL AN OPEN OUTPUT FILE ON THIS DEVICE
011141  4517		JMS I [MWRCAT	/WRITE THE ALTERED CATALOG BACK OUT
011142  5516		JMP I [LRETRN	/STORE ARGS BACK JUST LIKE "LOOKUP"

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 80






011143  1417	MEMPTY,	TAD I XR
011144  7141		CIA CLL
011145  3041		DCA T1	/SAVE LENGTH OF CURRENT ENTRY
011146  1043		TAD T3
011147  1046		TAD T6
011150  7200		CLA		/LINK NOW EQUALS BEST LENGTH>=DESIRED LENGTH
011151  1043		TAD T3
011152  7450		SNA
011153  7020		CML		/IF DESIRED LENGTH=0 WE ALWAYS WANT MAXIMUM
011154  1041		TAD T1
011155  7220		CLA CML		/LINK IS NOW ON IF DESIRED LENGTH IS NOT IN BETWEEN
					/BEST LENGTH AND CURRENT LENGTH
011156  1041		TAD T1
011157  7041		CIA
011160  1046		TAD T6
011161  7670		SZL SNA CLA	/TAKE EITHER MIN OR MAX OF BEST AND CURRENT LENGTHS,
					/DEPENDING ON WHETHER LINK IS ON OR OFF
011162  5374		JMP MNOCHG	/MIN(MAX)=BEST - NOTHING TO DO
011163  1041		TAD T1
011164  3046		DCA T6		/MAKE CURRENT ENTRY NEW "BEST"
011165  7344		CLA CLL CMA RAL
011166  1017		TAD XR
011167  3052		DCA NAME	/REMEMBER CATALOG LOCATION
011170  1515		TAD I [MCATRC
011171  3054		DCA ASFLAG	/ALSO DIRECTORY SEGMENT NUMBER
011172  1042		TAD T2
011173  3045		DCA T5		/AND STARTING BLOCK NUMBER
011174  1041	MNOCHG,	TAD T1
011175  7041		CIA
011176  5240		JMP MELEND	/GO UPDATE THE BLOCK NUMBER


/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 81







			/CLOSE PROCESSOR - CLOSES  AN OUTPUT FILE WHICH WAS OPENED
			/BY THE "ENTER" CALL -- ARGUMENTS ARE THE DEVICE NUMBER AND THE
			/CLOSING LENGTH OF THE FILE.  PERFORMS A DIRECTORY CLEANUP AFTER
			/CLOSING THE FILE.  IF AN ENTRY ALREADY EXISTS WITH THE NEW FILE'S
			/NAME IT IS DELETED. (CLOSE MAY BE USED AS A "DELETE" COMMAND
			/ONLY IF NO OUTPUT FILE WAS ENTERED).  AN ERROR RETURN IS
			/GIVEN IF THE CLOSING LENGTH IS TOO BIG OR IF THERE WAS NEITHER
			/AN ACTIVE TENTATIVE FILE OR AN OLD FILE TO DELETE.

011177  4532	MCLOSE,	JMS I [MRDCAT	/GET THE CATALOG
011200  5267		JMP CRETRN	/NON-FILE STRUCTURED DEVICE - RETURN NORMALLY
011201  7201		CLA IAC		/GET THE NEXT WORD IN THE CALLING SEQUENCE
011202  4567		JMS I [FGET
011203  3041		DCA T1		/GET CLOSING LENGTH AND STORE IT AWAY
011204  4514		JMS I [MDSRCH	/SEARCH FOR THE OLD COPY
011205  5240		JMP NODLET		/NO OLD COPY
011206  7346		MTHREE
011207  1540		TAD I [DWASTE
011210  4363		JMS SQUISH	/SQUISH OUT 3+#WASTE WORDS OF THE OLD COPY
011211  3416		DCA I XR2	/AND MAKE THE OTHER TWO INTO AN EMPTY
011212  1046		TAD T6		/FILE ENTRY WITH THE SAME LENGTH
011213  7041		CIA
011214  3416		DCA I XR2	/AS THE OLD COPY
011215  1450		TAD I T8
011216  0126		AND [7
011217  7450		SNA		/IS THERE AN OPEN OUTPUT FILE ON THIS DEVICE
011220  5262		JMP EOCLOS	/NO - FINISH UP AND GET OUT
011221  7041		CIA		/GET THE SEGMENT NUMBER WE WANT
011222  1515		TAD I [MCATRC
011223  7650		SNA CLA
011224  5227		JMP .+3
011225  4273		JMS CONSOL
011226  4517		JMS I [MWRCAT	/NO - WRITE OUT THE ONE WE SQUISHED
011227  1520		TAD I [DFLAG	/GET LOCATION OF TENTATIVE FILE
011230  7141		CIA CLL
011231  1016		TAD XR2
011232  7630		SZL CLA		/IS THE ENTRY TO BE CLOSED ABOVE THE ONE
011233  5236		JMP .+3		/WE JUST DELETED?
011234  7346		MTHREE		/YES - MOVE THE POINTER DOWN
011235  1540		TAD I [DWASTE	/TO COMPENSATE FOR THE SQUISHING
011236  1520		TAD I [DFLAG	/THE POINTER WILL NOW POINT
011237  3520		DCA I [DFLAG	/TO THE LENGTH WORD.
			/(THIS WAS WASTED WORK UNLESS THE CORRECT SEGMENT IS IN CORE)

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 82






011240  1450	NODLET,	TAD I T8
011241  0126		AND [7
011242  7450		SNA		/IS THERE AN OPEN OUTPUT FILE ON THIS DEVICE?
011243  5566		JMP I [MRTRN+1	/WHAT DID HE CALL US FOR? - ERROR
011244  4532		JMS I [MRDCAT	/YES - READ IN THE CORRECT SEGMENT
011245  1520		TAD I [DFLAG
011246  3044		DCA T4		/T4 POINTS TO THE LENGTH OF THE TENTATIVE ENTRY
011247  1041		TAD T1
011250  7041		CIA		/IF T1=0, NEW ENTRY WILL BE DELETED AUTOMATICALLY
011251  3444		DCA I T4	/DURING CONSOLIDATION
011252  2044		ISZ T4
011253  2044		ISZ T4
011254  7120		CLL CML
011255  1041		TAD T1
011256  1444		TAD I T4	/SUBTRACT CLOSING LENGTH FROM FREE BLOCK ADJACENT TO ENTRY
011257  7460		SNL SZA
011260  5513		JMP I [MERROR+3	/THIS CREEP HAS GONE AND DESTROYED HIS TAPE
011261  3444		DCA I T4
011262  4273	EOCLOS,	JMS CONSOL	/CONSOLIDATE THE DIRECTORY
011263  1112		TAD [7770
011264  0450		AND I T8
011265  3450		DCA I T8
011266  7410		SKP
011267  1155	CRETRN,	TAD [7600	/DO A WRITE OF 0 PAGES. (MAGTAPE)
011270  4517		JMS I [MWRCAT
011271  2574		ISZ I [MONITO
011272  5566		JMP I [MRTRN2

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 83






			/CONSOLIDATOR - CHECKS FOR ENTRIES OF LENGTH 0 AND DELETES THEM.
			/ALSO CHECKS FOR ADJACENT FREE AREAS AND COMBINES THEM.
011273  0000	CONSOL,	0
011274  1140		TAD [DPROPR-1
011275  3017		DCA XR
011276  1541		TAD I [DCOUNT
011277  3047		DCA T7		/T7 = FILE COUNT
011300  1417	CONLP,	TAD I XR
011301  7650		SNA CLA		/EMPTY FILE?
011302  5322		JMP CONMTF	/YES - GO CHECK FOR NULL AND 2 IN A ROW
011303  7346		MTHREE
011304  4525		JMS I [BUMPXR	/GET PAST THE GARBAGE WORDS
011305  1417		TAD I XR	/GET COUNT
011306  7640		SZA CLA		/WOULD THIS HAPPEN TO BE A NULL FILE?
011307  5317		JMP CONLPT	/NAH, GO TO NEXT ONE
011310  1111		TAD [-5		/YEAH, REMOVE IT ENTIRELY
011311  1540		TAD I [DWASTE	/INCLUDING THE WASTE WORDS
011312  4363	SQCOMN,	JMS SQUISH
011313  2541		ISZ I [DCOUNT	/BUMP DOWN FILE COUNT IN DIRECTORY
011314  2053		ISZ NFILES	/AS WELL AS THE TEMPORARY ONE IN PAGE 0
011315  7000		NOP		/V3 RL INSISTS
011316  5274		JMP CONSOL+1	/REPEAT ENTIRE CONSOLIDATION - THIS DELETION MAY
					/HAVE BROUGHT TWO FREE ENTRIES TOGEHER
		/	THE ABOVE NOP FIXES THE KILLER CLOSE BUG
011317  2047	CONLPT,	ISZ T7
011320  5300		JMP CONLP	/MORE FILES - KEEP PLUGGING
011321  5673		JMP I CONSOL	/RETURN FROM CONSOLIDATOR
011322  1417	CONMTF,	TAD I XR	/IS THIS FREE ENTRY NULL?
011323  7450		SNA
011324  5341		JMP SQTRIV	/YES - SQUASHITLIKEABUG
011325  3042		DCA T2		/NO - SAVE LENGTH
011326  1017		TAD XR
011327  3363		DCA SQUISH		/SAVE POSITION OF LENGTH WORD
011330  2047		ISZ T7		/WAS IT THE LAST FILE?
011331  7410		SKP		/NO, THEN THERE IS ONE AFTER IT(GOOD THINKING!)
011332  5673		JMP I CONSOL	/YES - RETURN FROM CONSOLIDATOR
011333  1417		TAD I XR
011334  7640		SZA CLA		/TWO EMPTIES IN A ROW?
011335  5303		JMP CONLP+3	/NO - SLIP BACK INTO LOOP
011336  1417		TAD I XR
011337  1042		TAD T2		/YES - COMBINE LENGTHS
011340  3763		DCA I SQUISH	/STORE BACK IN FIRST LENGTH WORD AND SQUISH SECOND ENTRY
011341  7344	SQTRIV,	CLA CMA CLL RAL
011342  5312		JMP SQCOMN	/SQUISH OUT 2 WORDS


/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 84







011343  1164	MRESET,	TAD [-17
011344  3043		DCA T3
011345  1043	MRSETL,	TAD T3
011346  4560		JMS I [MCKDEV
		/LINK MUST BE ON AT THIS POINT
011347  1174		TAD [200
011350  7630		SZL CLA		/ZERO ALL DEVICE HANDLER SLOTS THAT AREN'T RESIDENT
011351  3441		DCA I T1
011352  4567		JMS I [FGET
011353  7640		SZA CLA
011354  1126		TAD [7
011355  7160		CMA STL
011356  0450		AND I T8
011357  3450		DCA I T8	/DELETE THE "FILE CURRENTLY OPEN" FLAG IF ASKED
011360  2043		ISZ T3
011361  5345		JMP MRSETL
011362  5510		JMP I [MNEXT

		/SUBR TO COLLAPSE DIRECTORY AFTER A  POINT
011363  0000	SQUISH,	0
011364  1017		TAD XR
011365  3015		DCA XR1
011366  7344		CLA CLL CMA RAL
011367  1015		TAD XR1
011370  3016		DCA XR2		/SET UP XR2 FOR CHANGING SQUISHED ENTRY
011371  1417	SQLOOP,	TAD I XR
011372  3415		DCA I XR1	/MOVE DOWN ONE WORD
011373  1017		TAD XR
011374  1107		TAD [-1777
011375  7640		SZA CLA	/AT END YET?
011376  5371		JMP SQLOOP	/NO, KEEP GOING
011377  5763		JMP I SQUISH

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 85






	1400		*1400	/"ENTER" OVERLAY TO USR - RUNS IN 11000
011400  5203		JMP .+3
011401  7771	MSEGLM,	-7	/# DIRECT. SEGS
011402  7770	NEWLEN,	-10
011403  1535	MEOVLP,	TAD I [DLINK
011404  7650		SNA CLA
011405  5305		JMP MELAST	/LAST SEGMENT - MUST CREATE A NEW ONE
011406  2541		ISZ I [DCOUNT	/BUMP ENTRY COUNT DOWN
011407  4517		JMS I [MWRCAT	/WRITE OUT THIS SEGMENT
011410  4342		JMS MSKIPF	/FIND END OF SHORTENED DIRECTORY
011411  3367		DCA MEFCNT	/PREPARE TO TRANSFER LAST ENTRY
011412  1377		TAD (MEOVLS-1
011413  3015		DCA XR1		/INTO NEXT DIRECTORY SEGMENT
011414  1417		TAD I XR
011415  3415		DCA I XR1
011416  2367		ISZ MEFCNT	/THROUGH A BUFFER AT LOC 11200
011417  1017		TAD XR
011420  7041		CIA
011421  1041		TAD T1		/T1 WAS SET UP BY "ENTER"
011422  7640		SZA CLA
011423  5214		JMP .-7
011424  1441		TAD I T1	/GET LENGTH OF MOVED ENTRY
011425  3366		DCA MEOCNT
011426  1535		TAD I [DLINK
011427  4532		JMS I [MRDCAT	/READ NEXT SEGMENT
011430  4530		JMS I [CONSOL	/MAKE SURE IT IS AT ITS SMALLEST
011431  1543		TAD I [DORG
011432  1366		TAD MEOCNT
011433  3543		DCA I [DORG	/BUMP FILE ORIGIN DOWN
011434  4342		JMS MSKIPF	/FIND LAST LOC IN NEW SEGMENT

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 86






011435  1017	MELP3,	TAD XR
011436  3370		DCA METMP1
011437  1017		TAD XR
011440  1367		TAD MEFCNT
011441  3371		DCA METMP2	/PREPARE TO PUSH ALL ENTRIES UP
011442  1770		TAD I METMP1
011443  3771		DCA I METMP2	/DO THE PUSHING
011444  7240		STA
011445  1017		TAD XR
011446  3017		DCA XR
011447  1017		TAD XR
011450  1376		TAD (-DWASTE
011451  7640		SZA CLA		/ARE WE THROUGH?
011452  5235		JMP MELP3	/NO
011453  1377		TAD (MEOVLS-1
011454  3017		DCA XR		/PREPARE TO MOVE THE SAVED ENTRY INTO THE
011455  7240		CLA CMA		/NEW SEGMENT
011456  1541		TAD I [DCOUNT
011457  3541		DCA I [DCOUNT	/INCREASE ENTRY COUNT OF NEW SEGMENT
011460  1367		TAD MEFCNT
011461  7041		CIA
011462  3367	MECOMN,	DCA MEFCNT	/STORE NUMBER OF WORDS TO MOVE
011463  1140		TAD [DWASTE
011464  3015		DCA XR1
011465  1417		TAD I XR
011466  3415		DCA I XR1
011467  2367		ISZ MEFCNT
011470  5265		JMP .-3		/MOVE THE ENTRY IN
011471  4342		JMS MSKIPF
011472  1017		TAD XR
011473  3041		DCA T1		/T1=LAST LOC IN SEGMENT
011474  1540		TAD I [DWASTE
011475  7041		CIA
011476  1017		TAD XR
011477  1123		TAD [-1772
011500  7700		SMA CLA		/HAVE WE MADE THIS SEGMENT TOO BIG?
011501  5203		JMP MEOVLP	/YES - LOOP UNTIL WE GET IT RIGHT
011502  4517		JMS I [MWRCAT	/WRITE OUT NEW SEGMENT
011503  5060		JMP MEOXIT	/READ IN ENTER AND CONTINUE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 87






011504  7001	MWRONG,	IAC
011505  1202	MELAST,	TAD NEWLEN
011506  3370		DCA METMP1	/LENGTH OF NEW SEGMENT
011507  1370		TAD METMP1
011510  7041		CIA
011511  1541		TAD I [DCOUNT
011512  7500		SMA		/WERE THERE "NEWLEN+1"
011513  5304		JMP MWRONG	/NO - SET OUR SIGHTS LOWER
011514  3541		DCA I [DCOUNT	/ADJUST LENGTH OF OLD SEGMENT
011515  4342		JMS MSKIPF	/FIND BOUNDARY LOC BETWEEN SEGMENTS
011516  1515		TAD I [MCATRC
011517  7001		IAC
011520  3535		DCA I [DLINK	/LINK THE OLD LAST SEGMENT TO
011521  1535		TAD I [DLINK	/THE NEWLY CREATED ONE
011522  1201		TAD MSEGLM
011523  7700		SMA CLA
011524  5775		JMP I (MEOERR	/PROVIDED THAT THERE IS ROOM FOR ANOTHER
011525  4517		JMS I [MWRCAT	/WRITE OUT THE NEXT-TO-LAST SEGMENT
011526  2515		ISZ I [MCATRC	/BUMP RECORD NUMBER FOR NEXT WRITE
011527  2007		ISZ OLDT9	/LIKEWISE BUMP DIRECTORY KEY
011530  1370		TAD METMP1
011531  3541		DCA I [DCOUNT
011532  1366		TAD MEOCNT
011533  7041		CIA
011534  1543		TAD I [DORG
011535  3543		DCA I [DORG	/SET UP PARAMETERS OF THE NEW SEGMENT
011536  3535		DCA I [DLINK	/MARK IT AS THE NEW LAST SEGMENT
011537  1017		TAD XR
011540  1107		TAD [-1777	/SET UP COUNT OF WORDS TO SLIDE DOWN
011541  5262		JMP MECOMN	/USE COMMON CODE TO SLIDE WORDS AND EXIT

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 88






011542  0000	MSKIPF,	0		/SUBR TO FIND LAST LOC USED IN A SEGMENT
					/ALSO FINDS NUMBER OF BLOCKS USED BY SEGMENT
011543  1541		TAD I [DCOUNT
011544  3372		DCA MNOFIL
011545  1140		TAD [DWASTE
011546  3017		DCA XR
011547  3366		DCA MEOCNT	/INITIALIZE POINTER(XR) AND COUNT(MEOCNT)
011550  1417	MSKPLP,	TAD I XR
011551  7650		SNA CLA
011552  5360		JMP MEOMTY
011553  7346		MTHREE
011554  1540		TAD I [DWASTE	/BUMP POINTER TO LENGTH WORD OF FILE ENTRY
011555  7041		CIA
011556  1017		TAD XR
011557  3017		DCA XR
011560  1417	MEOMTY,	TAD I XR
011561  1366		TAD MEOCNT
011562  3366		DCA MEOCNT
011563  2372		ISZ MNOFIL
011564  5350		JMP MSKPLP
011565  5742		JMP I MSKIPF

011566  0000	MEOCNT,	0
011567  0000	MEFCNT,	0
011570  0000	METMP1,	0
011571  0000	METMP2,	0
011572  0000	MNOFIL,	0
	1200		MEOVLS=1200	/DESTROYS PART OF "CLOSE" OP FOR BUFFER
011575  0245
011576  6374
011577  1177
	1600		PAGE

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 89






		/TM8E - EXTENDED HANDLER
		/
		/	THIS WILL REALLY BE EXECUTED FROM FIELD MYFLD BUT IS
		/	ASSEMBLED IN FIELD 0
		/
		/ *** MUST BE STORED IN BLOCK 26 ON SYS: *** (AFTER 'ENTER OVERLAY')
		/
		/LOADED AND CALLED BY THE SYSTEM TM8E HANDLER.
		/DESTROYS FIELD X
		/
		/CALLING SEQUENCE:
		/	CIF X
		/	JMS I (TM8EEX
		/		IF AC = -1 THEN
		/			IF WRITE - UNPACK BUFFER
		/			IF READ  - ZERO BUFFER
		/		IF AC = 00 THEN
		/			IF WRITE - DO NOTHING
		/			IF READ  - PACK BUFFER
		/	  WORD -- BIT 0 = 0 (READ); 1 (WRITE)
		/		  BITS 1-5 = # PAGES IN OS/8 BUFFER
		/			IF THIS IS ZERO AND CODE=6, THEN PACK OR
		/			UNPACK THE # WORDS INDICATED IN ARG 3.
		/		  BITS 6-8 = FIELD OF OS/8 BUFFER
		/		  BITS 9-11= FUNCTION CODE (ONLY 6 MEANINGFUL)
		/	  CORE -- STARTING LOCATION OF OS/8 BUFFER
		/	  BLOCK-- USED ONLY TO PASS BUFFER SIZE ON FN CODE 6.
		/
		/
		/LOCATIONS USED ON PAGE 0
	0017	TBUF=	17
	0020	HLFBLK=	20
	0021	NKNT=	21
	0022	NBUFF=	22
	0023	PKT1=	23
	0024	PKT2=	24
	0070	MAGSW=	70	/WHY?
	0100	PKT3=	100	/WHY?

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 90






	0200		RELOC 200
010200* 0000		ZBLOCK 2	/*KLUDGE FOR HANDLER*
010202* 0000	TM8EEX,	0		/ENTRY POINT AT 202!
010203* 3070		DCA MAGSW
010204* 6224		RIF		/GET THIS FIELD
010205* 1302		TAD MAGCDF
010206* 3306		DCA MYFLD
010207* 1215		TAD MAG377	/TAPBUF-1 **
010210* 3017		DCA TBUF
010211* 1340		TAD MAG100
010212* 0602		AND I TM8EEX	/SPECIAL CLEARING NEEDED IF
010213* 3020		DCA HLFBLK	/ WRITING 1/2 BLOCK
010214* 1602		TAD I TM8EEX	/GET WORD
010215* 0377	MAG377,	AND (3700	/MASK OFF # PAGES
010216* 7450		SNA		/^ MUST BE FIRST LITERAL
010217* 5356		JMP CKCODE
010220* 7140	RTRN1,	CMA CLL
010221* 3021		DCA NKNT	/IT'S NOW THE NUMBER OF 3 CHARACTER (2 WORD) GROUPS.
010222* 7330		CLA STL RAR	/SET LINK ON WRITE
010223* 1602		TAD I TM8EEX
010224* 0264		AND MAG70	/GET FIELD
010225* 1302		TAD MAGCDF
010226* 3270		DCA OSFLD1
010227* 1270		TAD OSFLD1
010230* 3316		DCA OSFLD2
010231* 2202		ISZ TM8EEX
010232* 1602		TAD I TM8EEX	/GET CORE LOCATION
010233* 3022		DCA NBUFF
010234* 1070		TAD MAGSW
010235* 7650		SNA CLA		/IF AC WAS =-1 EITHER UNPACK OR ZERO MAG BUFFER
010236* 5346		JMP READCK

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 91






		/	THE PLAN IS TO WRITE ON THE MAGTAPE.
		/	UNPACK THE OS8 BUFFER INTO THE TAPE BUFFER
		/	AND THEN RETURN TO THE HANDLER TO DO THE
		/	ACTUAL WRITE OPERATION.
		/
010237* 7420		SNL		/IF READ ...
010240* 3070	CLRPAK,	DCA MAGSW	/USE SWITCH TO CLEAR BUFFER
010241* 2021	UP1,	ISZ NKNT
010242* 5252		JMP UP2
010243* 1020		TAD HLFBLK	/DID WE UNPAK 1/2 BLOCK?
010244* 7450		SNA
010245* 5350		JMP TEXIT	/NO
010246* 7040		CMA		/YES - CLEAR THE REST
010247* 3021		DCA NKNT
010250* 3020		DCA HLFBLK
010251* 5240		JMP CLRPAK
010252* 3024	UP2,	DCA PKT2
010253* 4267		JMS UP9		/GET 1ST WORD
010254* 4262		JMS UP8
010255* 4267		JMS UP9		/GET 2ND WORD
010256* 4262		JMS UP8
010257* 1024		TAD PKT2
010260* 4262		JMS UP8
010261* 5241		JMP UP1
		/
010262* 0000	UP8,	0
010263* 0215		AND MAG377
010264* 0070	MAG70,	AND MAGSW
010265* 3417		DCA I TBUF
010266* 5662		JMP I UP8
		/
010267* 0000	UP9,	0
010270* 7402	OSFLD1,	HLT
010271* 1422		TAD I NBUFF
010272* 0344		AND MG7400
010273* 7004		RAL
010274* 1024		TAD PKT2
010275* 7006		RTL
010276* 7006		RTL
010277* 3024		DCA PKT2
010300* 1422		TAD I NBUFF
010301* 2022		ISZ NBUFF
010302* 6201	MAGCDF,	CDF 0		/DON'T CARE IF SKIPS
010303* 4305		JMS CDFRST
010304* 5667		JMP I UP9

010305* 0000	CDFRST,	0
010306* 7402	MYFLD,	HLT
010307* 5705		JMP I CDFRST

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 92






		/	READ OPERATION -- PACK THE TAPE BUFFER
		/	INTO THE OS8 BUFFER AFTER A TAPE READ.
		/	THIS INCLUDES MASKING OFF THE PARITY
		/	BITS THE HARDWARE INSERTS TO MAKE THINGS
		/	DIFFICULT FOR US.
		/
		/	THIS OPERATION STARTS AT LOC. <READ>.
		/
010310* 4305	PK1,	JMS CDFRST
010311* 4327		JMS PK8		/GO GET THE FIRST WORD
010312* 3023		DCA PKT1	/SAVE 1ST CHAR OF EACH TRIPLET
010313* 4327		JMS PK8		/GO GET THE NEXT
010314* 3024		DCA PKT2	/SAVE THIS (2ND) ONE TOO
010315* 4327		JMS PK8		/AND FINALLY, GET THE THIRD
010316* 7402	OSFLD2,	HLT		/SET THE OS8 FIELD
010317* 4333		JMS PK9		/PACK THE FIRST OS8 WORD AND STORE IT
010320* 1024		TAD PKT2
010321* 3023		DCA PKT1
010322* 1100		TAD PKT3
010323* 4333		JMS PK9		/AND ALSO THE SECOND WORD
010324* 2021	READ,	ISZ NKNT	/ANY MORE TO GO?
010325* 5310		JMP PK1		/YES
010326* 5350		JMP TEXIT	/NO -- BUFFER FINISHED
		/
010327* 0000	PK8,	0		/TRICK SUBROUTINE TO KEEP TRACK
					/  OF WHICH CHARACTER WR'RE WORKING
					/  ON AT ANY GIVEN TIME.
010330* 1417		TAD I TBUF	/GET A CHARACTER FROM TAPE BUFFER
010331* 0215		AND MAG377	/MASK OFF PARITY BIT
010332* 5727		JMP I PK8
		/
010333* 0000	PK9,	0		/GENERATE AND SAVE ONE PACKED CHARACTER
010334* 7006		RTL
010335* 7006		RTL
010336* 3100		DCA PKT3
010337* 1344		TAD MG7400
010340* 0100	MAG100,	AND PKT3
010341* 1023		TAD PKT1
010342* 3422		DCA I NBUFF
010343* 2022		ISZ NBUFF
010344* 7400	MG7400,	7400
010345* 5733		JMP I PK9

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 93






010346* 7420	READCK,	SNL		/IF AC WAS = 0 AND WRITE DO NOTHING
010347* 5324		JMP READ
010350* 6203	TEXIT,	CIF CDF 0
010351* 1022		TAD NBUFF
010352* 3602		DCA I TM8EEX	/RESET UPDATED BUFFER POINTER
010353* 2202		ISZ TM8EEX	/BUMP TO EXIT
010354* 2202		ISZ TM8EEX
010355* 5602		JMP I TM8EEX
		/
010356* 7326	CKCODE,	CLA STL RTL	/2+6=10
010357* 1602		TAD I TM8EEX
010360* 0376		AND (7		/MASK OFF CODE
010361* 7640		SZA CLA
010362* 5220		JMP RTRN1	/NOT SIX -- RETURN FOR NULL OPERATION
010363* 7126		CLL CML RTL	/2 => AC
010364* 1202		TAD TM8EEX
010365* 3021		DCA NKNT
010366* 1421		TAD I NKNT	/GET ACTUAL REQUESTED BUFFER SIZE
010367* 7130		CLL CML RAR	/WE NEED BUFFER 3/2 THIS SIZE
010370* 1421		TAD I NKNT
010371* 7041		CIA
010372* 5220		JMP RTRN1	/SEND IT BACK FOR USE
010376* 0007
010377* 3700
	0400		PAGE
	2000		RELOC

/OS8 MONITOR SYSTEM VERS. 50		  PAL8-V50X 10-JUL-88 PAGE 94







ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 94-1

			EJECT ABSLDR
			/ABSOLUTE LOADER FOR OS/8 - VERSION 6C
	2000		*2000
	3400		CTLBLK=3400
	3400		BUFFER=CTLBLK
	6230		RXM=6230	/KT8A INSTRUCTION
	6200		LXM=6200	/KT8A INSTRUCTION
	0020		XFIELD=20
	0021		ORIGIN=21
	0022		B1=22
	0023		B2=23
	0024		B3=24
	0025		C1=25
	0026		C2=26
	0027		C3=27
	0030		WD=30
	0031		WD1=31
	0032		WD2=32
	0033		FILPTR=33
	0034		PG7400=34
	0035		LSTFLD=35
	0070		XVALU=70	/XCODE
	0071		LSTADR=71
	0011		LOADXR=11
012000  4777	ABSLDR,	JMS I (CTINIT
012001  4777		JMS I (CTINIT
012002  5205		JMP CALLCD
012003  5210		JMP NOCD
012004  4776	NEXTCD,	JMS I (NEXFIL
012005  4574	CALLCD,	JMS I [200
012006  0005		5	/COMMAND DECODE
012007  0216		0216	/ASSUMED EXTENSION IS .BN
012010  1107	NOCD,	TAD [6001
012011  6201		CDF 0
012012  3571		DCA I [JSBITS	/SET JSBITS TO SAVE CD AREA NEXT TIME
012013  6211		CDF 10
012014  1506		TAD I [MPARAM+1
012015  0156		AND [100
012016  7640		SZA CLA		/IS /R SWITCH ON?
012017  4777		JMS I (CTINIT	/YES - RE-INITIALIZE LOADER TABLES
012020  7400	LD7400,	7400
012021  1375		TAD (MIFILE
012022  3033		DCA FILPTR
012023  4774		JMS I (SETADR	/GET THE STARTING ADDRESS IF IT APPEARS ON THE LINE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 95






012024  1373	NEWFIL,	TAD (7001
012025  3243		DCA HANDLR
012026  1433		TAD I FILPTR
012027  0105		AND [7760
012030  7440		SZA		/LENGTH OF 256 BLOCKS IMPLIES AT LEAST 256
012031  1151		TAD [17
012032  7132		CLL CML RTR
012033  7012		RTR
012034  3351		DCA RCDCNT
012035  1433		TAD I FILPTR
012036  2033		ISZ FILPTR
012037  7450		SNA
012040  5204		JMP NEXTCD	/FILE POINTER = 0 MEANS NO MORE INPUT FILES
012041  4574		JMS I [200
012042  0001		1		/ASSIGN
012043  7001	HANDLR,	7001		/LOAD INTO 7000 IF NOT ALREADY LOADED
012044  5772		JMP I (IOERR
012045  1433		TAD I FILPTR
012046  3276		DCA RECNO
012047  2033		ISZ FILPTR
012050  7240		CLA CMA
012051  3346		DCA CHCNT
012052  3345		DCA REOF
012053  1504		TAD I [MPARAM	/TEST FOR /I
012054  0371		AND (10
012055  7650		SNA CLA
012056  5770		JMP I (LOADER	/I IS NOT ON
012057  2352		ISZ OFLG	/IS /I ALLOWED?
012060  5767		JMP I (OERR	/NO!
012061  5766		JMP I (SLASHO

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 96






012062  0000	GETCH,	0		/GET-NEXT-INPUT-CHARACTER ROUTINE
012063  2313		ISZ JMPGET
012064  2346		ISZ CHCNT
012065  5313	JMPX,	JMP JMPGET
012066  4765		JMS I	(ABSCTC	/CHECK FOR ^C
012067  1345		TAD REOF
012070  7640		SZA CLA
012071  5662		JMP I GETCH	/EOF REACHED BEFORE LOGICAL END - ERROR
012072  6202		CIF 0
012073  4643		JMS I HANDLR
012074  0210		0210		/READ 2 RECORDS INTO FIELD 1
012075  3400	PBUFFR,	BUFFER
012076  0000	RECNO,	0
012077  5341		JMP RERROR
012100  2276		ISZ RECNO
012101  2351		ISZ RCDCNT
012102  7410		SKP
012103  2345		ISZ REOF
012104  1364		TAD (-601
012105  3346		DCA CHCNT
012106  1275		TAD PBUFFR
012107  3347		DCA CHPTR
012110  1265		TAD JMPX
012111  3313		DCA JMPGET
012112  5263		JMP GETCH+1

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 97






012113  5313	JMPGET,	JMP .
012114  5335		JMP CHAR1
012115  5331		JMP CHAR2
012116  1265	CHAR3,	TAD JMPX
012117  3313		DCA JMPGET
012120  1747		TAD I CHPTR
012121  0220		AND LD7400
012122  7112		CLL RTR
012123  7012		RTR
012124  1350		TAD CHTMP
012125  7012		RTR
012126  7012		RTR
012127  2347		ISZ CHPTR
012130  5336		JMP GCHCOM
012131  1747	CHAR2,	TAD I CHPTR
012132  0220		AND LD7400
012133  3350		DCA CHTMP
012134  2347		ISZ CHPTR
012135  1747	CHAR1,	TAD I CHPTR
012136  0363	GCHCOM,	AND (377
012137  2262		ISZ GETCH
012140  5662		JMP I GETCH
012141  7710	RERROR,	SPA CLA
012142  5772		JMP I (IOERR	/AN ACTUAL READ ERROR - AMAZING!
012143  2345		ISZ REOF
012144  5300		JMP RECNO+2
012145  0000	REOF,	0
012146  0000	CHCNT,	0
012147  0000	CHPTR,	0
012150  0000	CHTMP,	0
012151  0000	RCDCNT,	0
012152  7777	OFLG,	-1		/SWITCH FOR /O OPTION
012163  0377
012164  7177
012165  2342
012166  3600
012167  3345
012170  2411
012171  0010
012172  3273
012173  7001
012174  2740
012175  7617
012176  2330
012177  4353
	2200		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 98






	2200		*2200
012200  6530	PUTWD,	6530		/ABSLDR VERSION NUMBER V5X
012201  7040		CMA
012202  0423		AND I B2	/AND OUT THE PAGE SLOT IN THE PAGE TABLE
012203  3423		DCA I B2
012204  1021		TAD ORIGIN
012205  3330		DCA ORGX
012206  1070		TAD XVALU
012207  7110		CLL RAR
012210  7640		SZA CLA		/TEST FOR FIELDS 0 OR 1
012211  5272		JMP PUTIT	/NEITHER - STORE AS IS
012212  7420		SNL
012213  5306		JMP FLD0
012214  1021		TAD ORIGIN
012215  7510		SPA
012216  1103		TAD [-400
012217  7710		SPA CLA
012220  5265		JMP FLD1
012221  7332		CLA CLL CML RTR
012222  1021		TAD ORIGIN
012223  7700		SMA CLA
012224  5227		JMP .+3
012225  2777		ISZ I (OVLYFG	/SET FLAG THAT LOADER IS BEING OVERLAYED
012226  1376		TAD (2400	/LOADER OVERLAYS GO IN MTEMP+11 - MTEMP+15
012227  1021	LCOMPR,	TAD ORIGIN
012230  7006		RTL
012231  7006		RTL
012232  7004		RAL
012233  0151		AND [17
012234  1375		TAD (MTEMP
012235  3252	RLCOMN,	DCA PGTMP
012236  1324		TAD BUFREC
012237  7041		CIA
012240  1252		TAD PGTMP
012241  7650		SNA CLA
012242  5254		JMP DONTWR
012243  4314		JMS WRBUF
012244  7200	WRIBUF,	CLA		/MODIFIED..IF NOT /O GETS SZA CLA
012245  5254		JMP DONTWR
012246  6202		CIF 0
012247  4575		JMS I [SHNDLR
012250  0210		0210
012251  1400		CCOVLY		/USE CATALOG SPACE
012252  0000	PGTMP,	0
012253  5774		JMP I (LIOERR
012254  3007	DONTWR,	DCA OLDT9	/MARK THE CATALOG DESTROYED
012255  1252		TAD PGTMP
012256  3324		DCA BUFREC
012257  1021		TAD ORIGIN
012260  0127		AND [377

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 98-1

012261  1323		TAD PTRBFR
012262  3330		DCA ORGX
012263  6211		CDF 10
012264  5302		JMP PUTIT2

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 99






012265  7100	FLD1,	CLL
012266  1021		TAD ORIGIN	/IGNORE LOCATIONS ABOVE 17600
012267  1174		TAD [200
012270  7630		SZL CLA
012271  5600		JMP I PUTWD
012272  1020	PUTIT,	TAD XFIELD
012273  0373		AND	(104	/ARE WE OVER 32K?
012274  7640		SZA CLA
012275  6261		CDF 60		/DON'T KILL SYSTEM IF NO KT8A
012276  1020		TAD	XFIELD
012277  1372		TAD (6201
012300  3301		DCA .+1
012301  7402		HLT
012302  1027	PUTIT2,	TAD C3
012303  3730		DCA I ORGX
012304  6211	CDF10,	CDF 10
012305  5600		JMP I PUTWD
012306  1021	FLD0,	TAD ORIGIN	/CHECK FOR STUFF IN PAGE 7000
012307  1371		TAD (1000
012310  7620		SNL CLA		/IF NON ZERO,OVERLAY
012311  5272		JMP PUTIT
012312  2034		ISZ PG7400	/SET OVERLAY FLAG
012313  5227		JMP LCOMPR	/FORM RECORD NO. MTEMP+16

012314  0000	WRBUF,	0
012315  1324		TAD BUFREC
012316  7450		SNA
012317  5714		JMP I WRBUF
012320  6202		CIF 0
012321  4575		JMS I [SHNDLR
012322  4210		4210
012323  1400	PTRBFR,	CCOVLY
012324  0000	BUFREC,	0
012325  5774		JMP I (LIOERR	/BAD I/O ON SYSTEM DEVICE
012326  3324		DCA BUFREC
012327  5714		JMP I WRBUF

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 100






		ORGX,
012330  0000	NEXFIL,	0
012331  4314		JMS WRBUF	/WRITE WHATEVER
012332  1502		TAD I [MPARAM-1
012333  7710		SPA CLA
012334  5770		JMP I (BUILD
012335  1504		TAD I [MPARAM
012336  0367		AND (40
012337  7640		SZA CLA
012340  5770		JMP I (BUILD
012341  5730		JMP I NEXFIL

012342  0000	ABSCTC,	0
012343  1174		TAD [200
012344  6034		KRS
012345  1366		TAD (-203
012346  7650		SNA CLA
012347  6031		KSF
012350  5742		JMP I	ABSCTC
012351  5765		JMP I (MGET


012365  7667
012366  7575
012367  0040
012370  2600
012371  1000
012372  6201
012373  0104
012374  3333
012375  0027
012376  2400
012377  3126
	2400		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 101






	2400		*2400
012400  4273	ITSOVR,	JMS ASSEMB	/END OF FILE
012401  7041		CIA
012402  1333		TAD LCKSUM
012403  7640	SZAIN,	SZA CLA		/TEST CHECKSUM
012404  5777		JMP I (BADCKS
012405  1506		TAD I [MPARAM+1	/TEST FOR S OPTION
012406  0264		AND L40
012407  7650		SNA CLA
012410  5776		JMP I (NEWFIL	/TIME FOR ANOTHER FILE
012411  3333	LOADER,	DCA LCKSUM
012412  3775		DCA I (OFLG	/CANCEL FURTHER /I'S
012413  1203		TAD SZAIN
012414  3774		DCA I (WRIBUF
012415  4340		JMS GETFLD	/FIELD SETTING
012416  1174		TAD [200
012417  3021		DCA ORIGIN	/ORIGIN SETTING
012420  4773		JMS I (GETCH
012421  5776		JMP I (NEWFIL
012422  7450		SNA		/IGNORE ZEROES
012423  5220		JMP .-3
012424  1155		TAD [-200	/LOOKING FOR LEADER CODE
012425  7640		SZA CLA
012426  5212		JMP LOADER+1
012427  4773	LEADER,	JMS I (GETCH
012430  5776		JMP I (NEWFIL
012431  7450		SNA
012432  5212		JMP LOADER+1
012433  1155		TAD [-200
012434  7450		SNA		/IS IT LEADER CODE?
012435  5227		JMP LEADER
012436  7500	NEWWD,	SMA		/IS IT POSSIBLY AFIELD PSEUDO-OP?
012437  5302		JMP FIELDW
012440  1174		TAD [200	/IF NOT STORE FOR ASSEMBLING
012441  3031		DCA WD1

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 102






012442  3772	NEWD1,	DCA I (HT
012443  4773		JMS I (GETCH
012444  5771		JMP I (BADINP
012445  3032		DCA WD2		/STORE SECOND WORD FOR ASSEMBLING
012446  4773		JMS I (GETCH
012447  5771		JMP I (BADINP
012450  1155		TAD [-200
012451  7450		SNA		/TEST FOR TRAILER CODE
012452  5200		JMP ITSOVR
012453  3030		DCA WD		/STORE THIRD WORD
012454  4273		JMS ASSEMB
012455  7420		SNL
012456  5262		JMP DATAWD
012457  3021		DCA ORIGIN
012460  3770		DCA I (LOADWD	/ZERO 'DATA LOADED' FLAG V3
012461  5265		JMP GETNXT

012462  4770	DATAWD,	JMS I (LOADWD
012463  2021		ISZ ORIGIN
012464  0040	L40,	40
012465  1031	GETNXT,	TAD WD1
012466  1032		TAD WD2
012467  1333		TAD LCKSUM
012470  3333		DCA LCKSUM
012471  1030		TAD WD
012472  5236		JMP NEWWD

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 103






012473  0000	ASSEMB,	0		/ASSEMBLING WORDS...
012474  1031		TAD WD1
012475  7106		CLL RTL
012476  7006		RTL
012477  7006		RTL
012500  1032		TAD WD2
012501  5673		JMP I ASSEMB
012502  1367	FIELDW,	TAD (-32	/TESTING TO ISOLATE FIELD PSEUDO-OP
012503  7450		SNA		/IS IT A CONTROL/Z?
012504  5334		JMP CTLZ
012505  1366		TAD (-46
012506  7510		SPA		/IS IT GREATER THAN 300?
012507  5326		JMP NOTXP
012510  3031		DCA WD1
012511  1031		TAD WD1
012512  0126		AND [7
012513  7640		SZA CLA
012514  5326		JMP NOTXP
012515  1031		TAD WD1
012516  0365		AND (70
012517  2772		ISZ I (HT	/I.D. DISTINGUISHES BETWEEN GETFLD & FIELDW CALL
012520  4764		JMS I (XTEND	/GO SEARCH FOR GREATER THAN 32K FIELD SETTING
012521  4773		JMS I (GETCH
012522  5771		JMP I (BADINP
012523  1155		TAD [-200
012524  7440		SZA
012525  5236		JMP NEWWD
012526  7200	NOTXP,	CLA
012527  1333		TAD LCKSUM
012530  7650		SNA CLA
012531  5211		JMP LOADER
012532  5771		JMP I (BADINP
012533  0000	LCKSUM,	0
012534  1333	CTLZ,	TAD LCKSUM
012535  7640		SZA CLA
012536  5771		JMP I (BADINP
012537  5776		JMP I (NEWFIL

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 104






012540  0000	GETFLD,	0			/TEST FOR SPECIFIED FIELD SETTING
012541  3025		DCA C1
012542  3070		DCA XVALU		/INITIALIZE XVALU
012543  3020		DCA XFIELD		/AND XFIELD
012544  1763		TAD I (MPARAM+2		/COMMAND DECODER INPUT
012545  0362		AND (1774
012546  7450		SNA			/WAS FIELD SPECIFIED?
012547  5740		JMP I GETFLD
012550  7006		RTL			/IF SO, WHAT WAS IT?
012551  7004		RAL
012552  2025		ISZ C1
012553  7420		SNL
012554  5351		JMP .-3
012555  7240		CLA CMA
012556  1025		TAD C1			/FIELD...IS HERE
012557  4764		JMS I (XTEND		/MAKE NECESSARY ADJUSTMENTS(KT8A)
012560  5740		JMP I GETFLD
012562  1774
012563  7645
012564  4000
012565  0070
012566  7732
012567  7746
012570  3127
012571  3302
012572  4053
012573  2062
012574  2244
012575  2152
012576  2024
012577  3310
	2600		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 105






	2600		*2600
			/BUILD CORE CONTROL BLOCK
			/FIELDS AND PAGES TO BE SAVED HAVE BEEN ISOLATED
			/BY LOADWD.SEE CORTAB FOR MORE INFO ON TABLE.


012600  1377	BUILD,	TAD (CORTAB+140		/ROUTINE TO SEARCH SAVE TABLE
012601  3022		DCA B1
012602  1776		TAD I (CORTAB+3
012603  7140		CLL CMA
012604  0105		AND [7760
012605  7650		SNA CLA
012606  7020		CML
012607  1775		TAD I (CORTAB
012610  7040		CMA
012611  0105		AND [7760
012612  7650		SNA CLA
012613  7001		IAC
012614  7012		RTR
012615  3774		DCA I (CTLBLK+3
012616  1374		TAD (CTLBLK+3
012617  3011		DCA LOADXR
012620  1373		TAD	(40
012621  3337		DCA FIELDB
012622  3772		DCA I (CTLBLK
012623  4771	FLDLP,	JMS I	(EXTST	/SET NEXT FIELD
012624  1337		TAD FIELDB
012625  1370		TAD (-2
012626  7700		SMA CLA		/IGNORE 07600 AND 17600 IN CCB	/V3
012627  7040		CMA		/IN THE CORE MAP
012630  1101		TAD [-37
012631  3026		DCA C2		/PAGE COUNT
012632  3350		DCA LOWERA
012633  7240		STA
012634  3305		DCA	LUPPER	/KILL LAST UPPER LIMIT
012635  4767	MTLOOP,	JMS I (SHFT
012636  7620		SNL CLA
012637  5246		JMP INUSE
012640  1350		TAD LOWERA
012641  1174	MTRSME,	TAD [200
012642  3350		DCA LOWERA
012643  2026		ISZ C2
012644  5235		JMP MTLOOP
012645  5223		JMP FLDLP

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 106






012646  1350	INUSE,	TAD LOWERA
012647  1174		TAD [200
012650  3340		DCA UPPERA
012651  2026		ISZ C2
012652  7410		SKP
012653  5261		JMP ENDRGN-2
012654  4767		JMS I (SHFT
012655  7630		SZL CLA
012656  5263		JMP ENDRGN
012657  1340		TAD UPPERA
012660  5247		JMP INUSE+1
012661  7240		CLA CMA
012662  3026		DCA C2
012663  1350	ENDRGN,	TAD	LOWERA
012664  4777		JMS I	(AMERGE
012665  1350		TAD LOWERA
012666  0103		AND [7400
012667  3411		DCA I LOADXR
012670  2772		ISZ I (CTLBLK
012671  1350		TAD LOWERA
012672  0103	ACOMPR,	AND [7400
012673  7041		CIA
012674  1340		TAD UPPERA
012675  7110		CLL RAR
012676  1304		TAD XFB
012677  3411		DCA I LOADXR
012700  1340		TAD	UPPERA
012701  3305		DCA	LUPPER
012702  1340		TAD UPPERA
012703  5241		JMP MTRSME
012704  0000	XFB,	0
012705  7777	LUPPER,	-1

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 107






012706  1506	FLDOVR,	TAD I [MPARAM+1	/CLOBBER BATCH?
012707  0100		AND [400
012710  1766		TAD I (MPARAM+2	/AH ED, BUG IF YOU SPEC /P/1 TO LOADER
012711  0365		AND (403
012712  1774		TAD I (CTLBLK+3
012713  3774		DCA I (CTLBLK+3
012714  1035		TAD LSTFLD
012715  0364		AND (37
012716  4763		JMS I (BANKSW	/ADJUST FOR CDF
012717  1177		TAD [CDF CIF 0
012720  3762		DCA I (CTLBLK+1
012721  7410		SKP
012722  1174	ORG200,	TAD [200
012723  1071		TAD LSTADR
012724  7440		SZA		/V3
012725  5335		JMP NOORG	/V3 ALLOW EXPLICIT START ADDR TO OVERRIDE DEFAULT
012726  1761		TAD I (LOADWD	/V3 NO EXPLICIT START ADDR
012727  7640		SZA CLA		/V3 IS IT SELF STARTING BIN FORMAT?
012730  5322		JMP ORG200	/V3 NO
012731  1020		TAD XFIELD	/V3 YES
012732  1177		TAD [CIF CDF 0	/V3
012733  3762		DCA I (CTLBLK+1	/V3
012734  1760		TAD I (ORIGIN	/V3
012735  3757	NOORG,	DCA I (CTLBLK+2
012736  5756		JMP I (LGTOUT	/WRITE CONTROL BLOCK AND EXIT
012737  0000	FIELDB,	0

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 108






		UPPERA,
012740  0000	SETADR,	0
012741  1755		TAD I (MPARAM+3
012742  7450		SNA		/IS THERE A STARTING ADDRESS SPECIFIED?
012743  5740		JMP I SETADR	/NO
012744  3071		DCA LSTADR
012745  1502		TAD I [MPARAM-1
012746  3035		DCA LSTFLD
012747  5740		JMP I SETADR

012750  0000	LOWERA,	0
012755  7646
012756  3002
012757  3402
012760  0021
012761  3127
012762  3401
012763  4115
012764  0037
012765  0403
012766  7645
012767  3226
012770  7776
012771  4054
012772  3400
012773  0040
012774  3403
012775  4200
012776  4203
012777  4340
	3000		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 109






	3000		*3000
013000  7600	ZOFILE,	MOFILE
013001  7731	ZOUCNT,	-47
013002  1034	LGTOUT,	TAD PG7400
013003  7650		SNA CLA
013004  5213		JMP .+7
013005  6202		CIF 0
013006  4575		JMS I [SHNDLR
013007  0300		0300
013010  7000		7000
013011  0045		MTEMP+16
013012  5777		JMP I (LIOERR
013013  6202		CIF 0
013014  4575		JMS I [SHNDLR
013015  4210		4210
013016  3200		CTLBLK-200
013017  0037		MTEMP+10
013020  5777		JMP I (LIOERR
013021  1776		TAD I (CTLBLK+2
013022  3324		DCA CTL2		/MOVE THINGS INTO THIS PAGE
013023  1775		TAD I (CTLBLK+3
013024  3325		DCA CTL3	/SO WE CAN REFERENCE THEM WITH DF=0
013025  1504		TAD I [MPARAM
013026  0374		AND (40
013027  7650		SNA CLA
013030  5256		JMP LNOGO
013031  1325		TAD CTL3
013032  7004		RAL
013033  7710		SPA CLA		/ARE WE OVERLAYING THE I/O MONITOR?
013034  5242		JMP LKICKM		/NO
013035  6201		CDF 0
013036  3571		DCA I [JSBITS	/YES - SET JSBITS TO FORCE A READ
013037  6211		CDF 10
013040  4574		JMS I [200
013041  0013		13		/RESET I/O DEVICES AND FILES
013042  4574	LKICKM,	JMS I [200
013043  0011		11		/KICK MONITOR OUT
			/********************************************
			/NO PAGE ZERO REFERENCES AFTER THIS POINT
			/PAGE ZERO MAY CONTAIN USER CODE
			/********************************************
013044  3600		DCA I ZOFILE		/ZERO OUT COMMAND DECODER AREA
013045  2200		ISZ ZOFILE
013046  2201		ISZ ZOUCNT
013047  5244		JMP .-3
013050  1773		TAD I (CTLBLK+1
013051  6201		CDF 0
013052  3772		DCA I (MSTCDF
013053  1324		TAD CTL2
013054  3771		DCA I (MSTADR	/SET UP STARTING ADDRESS IN FIELD 0

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 109-1

013055  5267		JMP LMOVRD

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 110






013056  1325	LNOGO,	TAD CTL3	/ABOVE COMMENT DOESN'T APPLY TO NEXT 9 LINES
013057  7710		SPA CLA		/ARE WE OVERLAYING THE KEYBOARD MONITOR?
013060  1370		TAD (5		/NO - RETURN TO NON-SAVING ENTRY
013061  1155		TAD [7600
013062  6201		CDF 0
013063  3771		DCA I (MSTADR
013064  1306		TAD ZCDIF0
013065  3772		DCA I (MSTCDF
013066  7240		CLA CMA
013067  6211	LMOVRD,	CDF 10
013070  3767		DCA I (7700	/SET 7700 TO -1 IF NO GO
013071  1773		TAD I (CTLBLK+1
013072  6201		CDF 0
013073  3766		DCA I (JFIELD	/SET UP PARAMETERS IN FIELD 0
013074  1324		TAD CTL2
013075  3765		DCA I (JSTART
013076  1325		TAD CTL3
013077  3764		DCA I (JSBITS
013100  1315	LMOVLP,	TAD COMBO
013101  3713		DCA I COMBPT
013102  2300		ISZ LMOVLP
013103  2313		ISZ COMBPT
013104  2314		ISZ COMBCT
013105  5300		JMP LMOVLP	/MOVE THE READ OF THE LOADER OVERLAY INTO FIELD 0
013106  6203	ZCDIF0,	CDF CIF 0
013107  1326		TAD OVLYFG
013110  7640		SZA CLA
013111  5763		JMP I (MREAD	/LOADER OVERLAYED - GO READ OVERLAY
013112  5762		JMP I (MSTCDF-1	/LOADER NOT OVERLAYED - WHY READ?
013113  7756	COMBPT,	MREAD-1
013114  7771	COMBCT,	-7
013115  7607	COMBO,	7607
013116  4756		MREAD-1&177+4600	/JMS I .-1
013117  1210		1210
013120  2000		2000
013121  0040		MTEMP+11	/LOCATION OF SCRATCH BLOCKS FOR LOADER OVERLAY
013122  7402		HLT
013123  5372		MSTCDF-1&177+5200	/JMP MSTCDF-1
013124  0000	CTL2,	0
013125  0000	CTL3,	0
013126  0000	OVLYFG,	0

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 111






			/LOADWD CALCULATES AN INDEX INTO CORTAB
			/IT SETS APPROPRIATE BITS FOR IDENTIFYING MEMORY AREA
			/TO BE SAVED BY CCB.SEE CORTAB FOR MORE INFO
013127  0000	LOADWD,	0		/ROUTINE TO IDENTIFY FIELDS AND PAGES
013130  3027		DCA C3		/TO BE SAVED.
013131  1070		TAD XVALU	/FIELD VALUE-INDEX INTO CORTAB(SEE CORTAB)
013132  7104		CLL RAL
013133  1070		TAD XVALU
013134  1361		TAD (CORTAB-1
013135  3023		DCA B2
013136  1021		TAD ORIGIN
013137  0155		AND [7600
013140  7106		CLL RTL
013141  7006		RTL
013142  7006		RTL
013143  2023		ISZ B2
013144  1360		TAD (-14
013145  7500		SMA
013146  5343		JMP .-3
013147  3324		DCA CTL2
013150  7120		CLL CML
013151  7004		RAL
013152  2324		ISZ CTL2
013153  5351		JMP .-2
013154  4757		JMS I (PUTWD
013155  5727		JMP I LOADWD
013157  2200
013160  7764
013161  4177
013162  7772
013163  7757
013164  7746
013165  7745
013166  7744
013167  7700
013170  0005
013171  7775
013172  7773
013173  3401
013174  0040
013175  3403
013176  3402
013177  3333
	3200		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 112






	3200		*3200
013200  0000	ERPCH,	0
013201  0377		AND (77	/GET LOW ORDER 6 BITS
013202  7440		SZA
013203  5213		JMP NZCHAR
013204  4244		JMS ERR
		FILMSG,
		IFDEF  GERMAN <	TEXT	/ DATEI   0/>
013205  4006	IFNDEF GERMAN < TEXT	/ FILE    0/>
013206  1114
013207  0540
013210  4040
013211  4060
013212  0000
013213  1376	NZCHAR,	TAD (240
013214  0377		AND (77
013215  1376		TAD (240	/CONVERT TO ASCII
013216  4220		JMS LDRPCH	/PRINT
013217  5600		JMP I ERPCH	/AND RETURN
013220  0000	LDRPCH,	0
013221  6046		TLS
013222  6041		TSF
013223  5222		JMP .-1
013224  7200		CLA
013225  5620		JMP I LDRPCH
013226  0000	SHFT,	0
013227  7346		CLA CLL CMA RTL	/-3
013230  3027		DCA C3
013231  7326		CLA CLL CML RTL	/2
013232  1022		TAD B1
013233  3024	SHFTLP,	DCA B3
013234  1424		TAD I B3
013235  7004		RAL
013236  3424		DCA I B3
013237  7260		CLA CMA CML	/CML AND CML
013240  1024		TAD B3
013241  2027		ISZ C3
013242  5233		JMP SHFTLP
013243  5626		JMP I SHFT	/NOTE: SHFT LEAVES AC NON-ZERO

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 113






013244  0000	ERR,	0
013245  7200		CLA
013246  6211		CDF 10
013247  1775		TAD I (FILPTR	/ZERO CHAR GETS REPLACED BY "FILE #X"
013250  1374		TAD (1122	/MAGIC NUMBER
013251  7130		CLL CML RAR	/AC NOW CONTAINS "#X"
013252  3211		DCA FILMSG+4
013253  1644	ERRLUP,	TAD I ERR
013254  7450		SNA
013255  5266		JMP EOMESG	/MESSAGE MUST BE EVEN NUMBER OF CHARS LONG
013256  7012		RTR
013257  7012		RTR
013260  7012		RTR
013261  4200		JMS ERPCH
013262  1644		TAD I ERR
013263  4200		JMS ERPCH
013264  2244		ISZ ERR
013265  5253		JMP ERRLUP
013266  1373	EOMESG,	TAD (215	/TERMINATE MESSAGE WITH CR-LF
013267  4220		JMS LDRPCH
013270  1321		TAD T212
013271  4220		JMS LDRPCH
013272  5772	ERTRN,	JMP I (ABSLDR	/RETURN TO LOADER STARTING ADDRESS
013273  4244	IOERR,	JMS ERR
		IFDEF  GERMAN <	TEXT	\L/S-FEHLER,\>
013274  1157	IFNDEF GERMAN < TEXT	\I/O  ERROR,\>
013275  1740
013276  4005
013277  2222
013300  1722
013301  5400
013302  4244	BADINP,	JMS ERR
		IFDEF  GERMAN <	TEXT	/SCHLECHTE/>
013303  0201	IFNDEF GERMAN < TEXT	/BAD INPUT/>
013304  0440
013305  1116
013306  2025
013307  2400
013310  4244	BADCKS,	JMS ERR
		IFDEF  GERMAN <	TEXT	/?PRUEFSUMME?,/>
013311  0201	IFNDEF GERMAN < TEXT	/BAD CHECKSUM,/>
013312  0440
013313  0310
013314  0503
013315  1323
013316  2515
013317  5400

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 114






013320  4771	NULERR,	JMS I	(CTINIT
013321  0212	T212,	212
013322  4244		JMS ERR
		IFDEF  GERMAN <	TEXT	/NICHTS GELADEN/>
013323  1617	IFNDEF GERMAN < TEXT	/NO INPUT      />
013324  4011
013325  1620
013326  2524
013327  4040
013330  4040
013331  4040
013332  0000
013333  4244	LIOERR,	JMS ERR
		IFDEF  GERMAN <	TEXT	\SYS: L/S-FEHLER \>
013334  2331	IFNDEF GERMAN < TEXT	\SYSTEM I/O ERROR\>
013335  2324
013336  0515
013337  4011
013340  5717
013341  4005
013342  2222
013343  1722
013344  0000
013345  4244	OERR,	JMS ERR
		IFDEF  GERMAN <	TEXT	\/I VERBOTEN!\>
013346  5711	IFNDEF GERMAN < TEXT	\/I FORBIDDEN\>
013347  4006
013350  1722
013351  0211
013352  0404
013353  0516
013354  0000
013371  4353
013372  2000
013373  0215
013374  1122
013375  0033
013376  0240
013377  0077
	3400		PAGE

			/INITIAL DIRECTORY FOR MONITOR
			/DEFINES OS/8 ABSOLUTE LOADER (ABSLDR.SV)
	1400		RELOC 1400
011400* 7776	DCOUNT,	-2	/TWO ENTRIES
011401* 0070	DORG,	MFREE	/FILE STORAGE STARTS AT BLOCK "MFREE"
011402* 0000	DLINK,	0	/THIS IS THE ONLY DIRECTORY RECORD
011403* 0000	DFLAG,	0	/THERE ARE NO OPEN OUTPUT FILES ON THIS DEVICE
011404* 7777	DWASTE,	-1	/# OF WASTED WORDS PER ENTRY
011405* 0102	DPROPR,	0102	/AB

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 114-1

011406* 2314		2314	/SL
011407* 0422		0422	/DR
011410* 2326		2326	/.SV
011411* 0413		0413	/ENCODING FOR 1-JAN-89 (7777 SHOULD BE 0400)
011412* 7772		-6	/SIX BLOCKS LONG( 1 BLOCK = 256 WORDS)
011413* 0000		0	/EMPTY SPACE
011414* 7777		-1	/OVERLAYED BY DEVICE DEPENDENT PART WITH LENGTH

			IFNZRO .-1415 <CNFER,QQQ>
	3415		RELOC

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 115






	3600	*CTLBLK+200

		/CODE FOR OVERLAY OPTION IS HERE.IF /I IS NOT
		/USED IMMEDIATELY, THIS CODE WILL PROBABLY BE DESTROYED,
		/AS IT IS USED FOR A BUFFER

013600  7240	SLASHO,	CLA CMA
013601  3777		DCA I (OFLG	/RE ENABLE /I
013602  1776		TAD I (HANDLR
013603  3337		DCA GLONK	/ENTRY POINT TO HANDLER
013604  1775		TAD I (RECNO
013605  3212		DCA CCBLOK
013606  6202		CIF 0
013607  4737		JMS I GLONK	/READ IN CORE CONTROL BLOCK
013610  0110		0110
013611  3400	CCBPTR,	CTLBLK
013612  0000	CCBLOK,	0
013613  5774		JMP I (OERR	/DATA FAILURE
013614  1611		TAD I CCBPTR	/NO. SEGMENTS
013615  7104		CLL RAL
013616  7130		STL RAR		/TAKE OUT 32KOVER BIT
013617  3341		DCA	SEGCNT
013620  1341		TAD	SEGCNT
013621  7040		CMA		/TEST FOR BAD CORE IMAGE
013622  0165		AND [7740
013623  7640		SZA CLA
013624  5773		JMP I (BADINP	/NOT CORE IMAGE
013625  1744		TAD I SGSTAD	/THIS CODE IS NEW FOR V3D
013626  4772		JMS I	(CDFLOG	/CONVERT CDF TO LOGICAL
013627  3035		DCA	LSTFLD
013630  2344		ISZ SGSTAD
013631  1744		TAD I SGSTAD
013632  3071		DCA	LSTADR
013633  2344		ISZ SGSTAD
013634  1744		TAD I SGSTAD	/GET JSW FROM SAVE FILE
013635  0100		AND [400
013636  3306		DCA TEMP	/PRESERVE /P
013637  1506		TAD I [MPARAM+1
013640  0371		AND (7377
013641  1306		TAD TEMP
013642  3506		DCA I [MPARAM+1
013643  1744		TAD I SGSTAD
013644  0370		AND (3		/PRESERVE LAST 2 BITS
013645  3306		DCA TEMP
013646  1767		TAD I (MPARAM+2
013647  0137		AND [7774
013650  1306		TAD TEMP
013651  3767		DCA I (MPARAM+2
013652  2344		ISZ SGSTAD

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 116






013653  1744	NEWSEG,	TAD I SGSTAD	/SEGMENT START ADDRESS
013654  3021		DCA ORIGIN
013655  1743		TAD I SGFDLT	/FIELD AND LENGTH
013656  4766		JMS I	(CCBLOG	/CONVERT CCB TO LOGICAL
013657  1743		TAD I SGFDLT
013660  0173		AND [7700
013661  7450		SNA		/V3C
013662  7330		STL CLA RAR	/AC4000
013663  3342		DCA SEGLTH
013664  1342		TAD SEGLTH
013665  1155	TWOPG,	TAD [7600
013666  7700		SMA CLA		/NO.. IS TWO PAGE SEGMENT LEFT?
013667  1155		TAD [7600	/YES..-400 TO WORD COUNT
013670  1155		TAD [7600	/NO.. -200 TO WORD COUNT
013671  3340		DCA WDCT
013672  1342		TAD SEGLTH
013673  1155		TAD [7600	/BUMP DOWN LENGTH LEFT
013674  3342		DCA SEGLTH

013675  2212		ISZ CCBLOK	/POINT TO NEXT DATA RECORD
013676  1212		TAD CCBLOK
013677  3306		DCA DATRC
013700  3007		DCA OLDT9	/MARK DIRECTORY DESTROYED
013701  4765		JMS I	(ABSCTC	/CHECK FOR ^C
013702  6202		CIF 0
013703  4737		JMS I GLONK	/READ THE DATA RECORD IN
013704  0210		0210
013705  1400		CCOVLY		/INTO 11400
		TEMP,
013706  0000	DATRC,	0
013707  5764		JMP I (IOERR	/DATA FAILURE
013710  1363		TAD (1377	/SET UP INPUT POINTER
	0010		CHARPT=10
013711  3010		DCA CHARPT
013712  1410	LOOPI,	TAD I CHARPT
013713  4762		JMS I (LOADWD	/MOST OF THE WORK
013714  2021		ISZ ORIGIN
013715  7400	L7400,	7400		/NOP
013716  2340		ISZ WDCT	/FINISHED THIS BLOCK?
013717  5312		JMP LOOPI
013720  4761		JMS I (WRBUF	/YES.. WRITE THE STUFF OUT
013721  1342		TAD SEGLTH	/V3C (REARRANGED)
013722  7540		SMA SZA		/ALL PAGES DONE?
013723  5265		JMP TWOPG	/NO, NEXT! (IF DONE, FALL INTO 'GTSEG')
013724  7200		CLA
013725  2341		ISZ SEGCNT	/YES, ANY MORE SEGMENTS
013726  7410		SKP
013727  5345		JMP RENEW	/RESET CCB POINTER FOR NEXT /I
013730  7326		CLA CLL CML RTL
013731  1344		TAD SGSTAD

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 116-1

013732  3344		DCA SGSTAD
013733  7326		CLA CLL CML RTL
013734  1343		TAD SGFDLT
013735  3343		DCA SGFDLT	/POINT TO NEXT CCB ENTRIES
013736  5253		JMP NEWSEG

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 117






013737  0000	GLONK,	0		/HANDLER ENTRY POINT HERE
013740  0000	WDCT,	0
013741  0000	SEGCNT,	0
013742  0000	SEGLTH,	0
	3400	CTLBLK=3400

013743  3405	SGFDLT,	CTLBLK+5	/FIELD AND LENGTH WORD
013744  3401	SGSTAD,	CTLBLK+1	/SEGMENT START ADDRESS

013745  1360	RENEW,	TAD (CTLBLK+1
013746  3344		DCA SGSTAD
013747  1357		TAD (CTLBLK+5
013750  3343		DCA SGFDLT
013751  5756		JMP I (NEWFIL
013756  2024
013757  3405
013760  3401
013761  2314
013762  3127
013763  1377
013764  3273
013765  2342
013766  4124
013767  7645
013770  0003
013771  7377
013772  4136
013773  3302
013774  3345
013775  2076
013776  2043
013777  2152
	4000		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 118






	4000		*4000
014000  0000	XTEND,	0		/CODE TO HANDLE EXTENDED MEMORY BANK MANIPULATIONS
014001  3070		DCA XVALU	/STORE INFO TO BE PROCESSED
014002  1253		TAD HT		/IS IT A GETFLD OR A FIELDW CALL?
014003  7640		SZA CLA		/IF GETFLD CALL ALL WE WANT TO DO IS TRANSFORM
014004  5217		JMP XFLDT
014005  1070	XNDT,	TAD XVALU	/ TRANSFORM FROM ABCDE TO ACDEB00
014006  4315		JMS BANKSW
014007  3020		DCA XFIELD
014010  1020		TAD	XFIELD	/32K OVER?
014011  0077		AND	[70
014012  7640		SZA CLA
014013  1377		TAD	(7000	/YES, ENABLE KT8A
014014  6200		LXM		/NO, DISABLE KT8A
014015  7200		CLA		/IF NONE
014016  5600		JMP I XTEND
014017  4776	XFLDT,	JMS I (GETCH	/FIELDW CODE TEST FOR SECOND FIELD WORD
014020  5775		JMP I (BADINP
014021  1155		TAD [-200
014022  7450		SNA
014023  5774		JMP I (NOTXP
014024  7500		SMA
014025  5237		JMP XTD
014026  1174		TAD [200	/REPEATED NEWWD CODE
014027  3031		DCA WD1		/REPEATED NEWWD CODE
014030  1070		TAD XVALU	/IF NO SECOND FIELD WORD WE PROCEED AS NORMALLY
014031  3020		DCA XFIELD
014032  1070		TAD XVALU
014033  7112		CLL RTR
014034  7010		RAR
014035  3070		DCA XVALU
014036  5773		JMP I (NEWD1		/BY PASS NEWWD CODE -- ALREADY RAN IT
014037  1372	XTD,	TAD (-32		/REPITITION OF FIELDW CODE
014040  7450		SNA			/IS IT CONTROL/Z?
014041  5771		JMP I (CTLZ
014042  1370		TAD (-46
014043  7510		SPA			/IS IT ABOVE 300?
014044  5774		JMP I (NOTXP
014045  7112		CLL RTR
014046  7010		RAR
014047  0126		AND [7
014050  1031		TAD WD1
014051  3070		DCA XVALU
014052  5205		JMP XNDT
014053  0000	HT,	0

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 119






014054  0000	EXTST,	0		/BUILD CCB CODE TO HANDLE EXTENDED MEMORY
014055  7340		CLL STA		/FIELDB STARTS AT 40
014056  1767		TAD I	(FIELDB	/TRANSFORM LOGICAL TO CCB
014057  3767		DCA I	(FIELDB	/000/000/0AB/CDE/ TO
014060  7420		SNL		/000/000/CDE/BA0/
014061  5300		JMP	FLDEND	/FIELDB WAS ZERO-END
014062  1767		TAD I	(FIELDB
014063  7002		BSW
014064  7106		CLL RTL		/A /BCD/E00/000/000/
014065  7430		SZL
014066  1156		TAD [100	/BCD/E0A/000/000/
014067  7104		CLL RAL		/B /CDE/0A0/000/000/
014070  7430		SZL
014071  1100		TAD [400	/CDE/BA0/000/000/
014072  7002		BSW
014073  3766		DCA I (XFB
014074  7346		CLA CLL CMA RTL	/-3
014075  1022		TAD B1
014076  3022		DCA B1
014077  5654		JMP I	EXTST
014100  1765	FLDEND,	TAD I (CTLBLK
014101  7450		SNA
014102  5764		JMP I (NULERR
014103  7041		CIA
014104  3765		DCA I (CTLBLK
014105  6230		RXM
014106  7650		SNA CLA
014107  5763		JMP I	(FLDOVR
014110  1765		TAD I (CTLBLK
014111  7004		RAL
014112  7110		CLL RAR
014113  3765		DCA I (CTLBLK
014114  5763		JMP I	(FLDOVR

014115  0000	BANKSW,	0		/000/000/0AB/CDE/ TO  000/00A/CDE/B00
014116  7112		CLL RTR		/ISOLATE BANK AND FIELD BITS
014117  7012		RTR
014120  7002		BSW		/000/00A/CDE/000 B
014121  7430		SZL		/ADJUST FOR PROPER CDF CIF
014122  1362		TAD (4		/WAS THERE AN "B" BIT?
					/YES: 000/00A/CDE/B00
014123  5715		JMP I BANKSW

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 120






014124  0000	CCBLOG,	0		/CONVERT CCB TO LOGICAL
014125  0361		AND	(76	/000/000/CDE/BA0  TO
014126  7112		CLL RTR		/000/000/0AB/CDE
014127  7430		SZL		/"A" BIT ON?
014130  1360		TAD	(40	/000/000/A0C/DEB
014131  7110		CLL RAR
014132  7430		SZL		/"B" BIT ?
014133  1357		TAD	(10
014134  4200		JMS	XTEND
014135  5724		JMP I	CCBLOG

014136  0000	CDFLOG,	0		/CONVERT CDF TO LOGICAL
014137  0356		AND	(174	/000/00A/CDE/B00 TO 000/000/0AB/CDE
014140  7002		BSW		/CDE/B00/000/00A
014141  7110		CLL RAR
014142  7012		RTR		/0A0/CDE/B00/000
014143  7002		BSW		/B00/000/0A0/CDE
014144  7510		SPA
014145  1355		TAD	(4010
014146  4200		JMS	XTEND
014147  1070		TAD	XVALU
014150  5736		JMP I	CDFLOG
014155  4010
014156  0174
014157  0010
014160  0040
014161  0076
014162  0004
014163  2706
014164  3320
014165  3400
014166  2704
014167  2737
014170  7732
014171  2534
014172  7746
014173  2442
014174  2526
014175  3302
014176  2062
014177  7000
	4200		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 121







	4200		*4200
			/CORTAB IS A TABLE FOR STORING SAVE INFO
			/FOR EACH OF THE 0-37 FIELDS, THERE ARE THREE
			/IDENTIFYING WORDS...THE BITS IN THESE WORDS
			/CORRESPOND TO PAGES IN THE RESPECTIVE FIELD
			/E.G. CORTAB+130 REFERS TO 130%3=35TH FIELD
			/--- FIRST WORD,I.E. PAGES 0-14...
			/LOADWD BUILDS THE TABLE...
			/BUILD REFERENCES IT FOR CONSTRUCTING THE CCB
014200  0000	CORTAB,	ZBLOCK 140

014340  0000	AMERGE,	0		/MERGE SEGMENTS
014341  0103		AND	[7400	/COMES IN WITH LOWERA
014342  7041		CIA
014343  1777		TAD I	(LUPPER	/LAST UPPER LIMIT
014344  7640	MCSIZ,	SZA CLA
014345  5740		JMP I	AMERGE	/TOO FAR APART
014346  7344		CLA CLL CMA RAL
014347  1011		TAD	LOADXR	/BACK TO OLD SEGMENT
014350  3011		DCA	LOADXR
014351  1411		TAD I	LOADXR	/LOWER OF OLD SEGMENT
014352  5776		JMP I	(ACOMPR	/DON'T INC CCBCNT

014353  0000	CTINIT,	0
014354  4200	CALONC,	JMS	ONCE	/CALL ONCE-ONLY CODE
014355  1344		TAD	MCSIZ	/-140=7640=SZA CLA
014356  3025		DCA C1
014357  3020		DCA XFIELD	/INITIALIZE XFIELD
014360  1375		TAD (CORTAB-1
014361  3011		DCA LOADXR
014362  7240		CLA CMA
014363  3411		DCA I LOADXR
014364  2025		ISZ C1
014365  5362		JMP .-3
014366  3035		DCA	LSTFLD
014367  3071		DCA	LSTADR	/V3 SET INITIAL STARTING ADDRESS TO 0
014370  3774		DCA I (OVLYFG
014371  3034		DCA PG7400
014372  2353		ISZ CTINIT
014373  5753		JMP I CTINIT
014374  3126
014375  4177
014376  2672
014377  2705
	4400		PAGE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 122






	4200		*CORTAB
014200  0000	ONCE,	0		/ONCE-ONLY CODE TO CHECK FOR CORRECT MONITOR
014201  3354		DCA	CALONC	/DON'T CALL AGAIN
014202  1100		TAD [400
014203  1226		TAD K7400
014204  7640		SZA CLA
014205  5212		JMP	OLDMON
014206  1126		TAD	[7
014207  1227		TAD	M7
014210  7650		SNA CLA
014211  5600		JMP I ONCE	/THEY AGREE
014212  1233	OLDMON,	TAD KERR
014213  3630		DCA I XERTRN
014214  4631		JMS I PERR	/THEY DON'T
		IFDEF  GERMAN <	TEXT	/USR IST ALT!/>	/MUST BE AN EVEN # OF CHARS LONG
014215  1116	IFNDEF GERMAN < TEXT	/INCOMPATIBLE/>
014216  0317
014217  1520
014220  0124
014221  1102
014222  1405
014223  0000
014224  6203		CIF CDF 0
014225  5632		JMP I K7605
014226  7400	K7400,	7400
014227  7771	M7,	-7
014230  3272	XERTRN,	ERTRN
014231  3244	PERR,	ERR
014232  7605	K7605,	7605
014233  5644	KERR,	ERR&177+5600

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 123






			/PAGE 0 - TEMPORARIES AND LITERALS.
				/LOCATIONS 0-3 ARE RESERVED FOR POINTERS TO KEY LOCATIONS
				/IN THE MONITOR (SO THE CUSPS CAN GET AT THESE LOCATIONS)

				/LOCATIONS 4-6 ARE RESERVED FOR SYSTEM ODT FIELD 1 BREAKPOINTS

	0007		*7
010007  0000	OLDT9,	0		/POINTER TO DEVICE HANDLER OF DIRECTORY IN CORE

	0015		*15
010015  0000	XR1,	0
010016  0000	XR2,	0
010017  0000	XR,	0
	0020		*20		/ENTRY TO MONITOR FROM A CALL TO 17700 -
					/CAN BE DESTROYED AFTER IT IS EXECUTED
010020  1441	MSTART,	TAD I T1
010021  3055		DCA MACARG
010022  1573		TAD I [7700
010023  3574		DCA I [MONITO
010024  1572		TAD I [SMCIF
010025  3442		DCA I T2	/FAKE A CALL TO "MONITO"
010026  1574		TAD I [MONITO
010027  7004		RAL
010030  7720		SNL SMA CLA
010031  1572		TAD I [SMCIF
010032  1043		TAD T3
010033  7650		SNA CLA		/CHECK FOR A CALL FROM 10000-11777
010034  5547		JMP I [MERROR	/YES - GIVE ERROR IMMEDIATELY
010035  5444		JMP I T4	/NO - SLIDE INTO MONITOR CODE

	0036		*36		/POINTERS TO INTERNAL MONITOR LOCATIONS FOR "BUILD"
010036  0564		SDNAME		/SYSTEM DEVICE NAME TABLE
010037  0772		SDVHND		/DEVICE HANDLER ENTRY TABLE

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 124






	0040		*40		/LOCATIONS 20-37 RESERVED FOR CUSP SCRATCH SPACE
010040  0001	USERFG,	1	/MUST BE IN 40 - SEE CD LISTING
010041  7740	T1,	MARG1	/MUST BE AT 41
010042  0345	T2,	FGETX
010043  1565	T3,	-6213
010044  0206	T4,	MRENTR
010045  0000	T5,	0
010046  0000	T6,	0
010047  0000	T7,	0
010050  0000	T8,	0
010051  0000	T9,	0
010052  0000	NAME,	0
010053  0000	NFILES,	0
010054  0000	ASFLAG,	0
010055  0000	MACARG,	0
010056  0000	EPASS,	0
010057  4000	MERRNO,	4000
010060  6202	MEOXIT,	CIF 0		/RETURN FROM ENTER OVERLAY
010061  4575		JMS I [SHNDLR
010062  0210		0210
010063  1000		1000
010064  0015		MONTOR+2	/RESTORE LOCS 1000-1377 OF USR
010065  7402		HLT		/HELP!
010066  5467		JMP I .+1
010067  1011		MENTER		/RESTART ENTER OPERATION COMPLETELY

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 125






			$
010077  0070
010100  0400
010101  7741
010102  7642
010103  7400
010104  7643
010105  7760
010106  7644
010107  6001
010110  0323
010111  7773
010112  7770
010113  0252
010114  0701
010115  0767
010116  0610
010117  0760
010120  1403
010121  7666
010122  0371
010123  6006
010124  0651
010125  0752
010126  0007
010127  0377
010130  1273
010131  0613
010132  0622
010133  0251
010134  4210
010135  1402
010136  0343
010137  7774
010140  1404
010141  1400
010142  0250
010143  1401
010144  7757
010145  7646
010146  0771
010147  0247
010150  0015
010151  0017
010152  0617
010153  0177
010154  0246
010155  7600
010156  0100
010157  0321

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 125-1

010160  0544
010161  0240
010162  0020
010163  0563
010164  7761
010165  7740
010166  0620
010167  0220
010170  7730
010171  7746
010172  7736
010173  7700
010174  0200
010175  7607
010176  7764
010177  6203

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 126

ABSCTC 2342      CDFRST 0305      DATE2  1372      FIELDB 2737
ABSLDR 2000      CDF10  2304      DATRC  3706      FIELDW 2502
ACOMPR 2672      CDSWAP 0351      DA37   0604      FILE   0656
ADCNT  1626      CHARPT 0010      DCB    7760      FILMSG 3205
ADGTLP 0720      CHAR1  2135      DCBF   1051      FILPTR 0033
ADR1   0015      CHAR2  2131      DCOUNT 1400      FLDEND 4100
ADR2   0016      CHAR3  2116      DDELIM 0672      FLDLP  2623
AFINIS 0532      CHCNT  2146      DEAS   0637      FLDOVR 2706
ALTMOD 1302      CHERR  7513      DECIM  0673      FLD0   2306
AMERGE 4340      CHERR1 7545      DEVHND 0026      FLD1   2265
AMFLAG 0017      CHK32  1630      DFLAG  1403      FPUT   0240
AONUM  0737      CHLM1  1205      DFOUND 0446      FPUTX  0241
ASDONE 1163      CHLOOP 1207      DIGFLG 0047      FSRCLP 0702
ASFLAG 0054      CHPTR  2147      DIGTLP 1112      FUDJMP 0027
ASGN2  0453      CHTADC 7535      DLINK  1402      F0OVLY 1545
ASNM1  0503      CHTMP  2150      DLYLPX 1400      GCHCOM 2136
ASRET  0647      CH32   1754      DONTWR 2254      GDEVNO 0465
ASSEMB 2473      CH7200 7534      DORG   1401      GET    0511
ASSIGN 0436      CIERR  1472      DPROPR 1405      GETCCL 1362
BACK   1670      CINSRT 1244      DSFND  0441      GETCH  2062
BADCKS 3310      CKCODE 0356      DSRCH  0422      GETFLD 2540
BADINP 3302      CLENGT 0531      DSRCLP 0425      GETNAM 0211
BADNUM 0725      CLR    1106      DVHCLP 0507      GETNXT 2465
BANKSW 4115      CLRLIN 1277      DVHCTL 0501      GETOUT 1505
BATCH  0035      CLRPAK 0240      DVHLOC 0502      GETREC 0534
BCHGO  0046      CNV    0552      DVHNDL 7647      GETSW  0700
BEGLN  1000      COMBCT 3114      DVHORG 0016      GLINE  0024
BERR   4066      COMBO  3115      DVHREC 0503      GLONK  3737
BFDIFF 0401      COMBPT 3113      DWASTE 1404      GNAME  0025
BIPCCL 7777      CONLP  1300      D7600  1401      GODE   0723
BSLSH  1361      CONLPT 1317      EFINUP 1063      GTNMLP 0231
BUFFER 3400      CONMTF 1322      ENDRGN 2663      GTNMX  0222
BUFREC 2324      CONSOL 1273      EOCLOS 1262      HANDAD 0505
BUILD  2600      CORTAB 4200      EOMESG 3266      HANDLR 2043
BUMPXR 0752      COUNT  1703      EONAME 0303      HF3    1753
BUTTNG 0420      CRETRN 1267      EONUM  1130      HLFBLK 0020
B1     0022      CRLF   1166      EOVFLO 0371      HNDL   0307
B2     0023      CSOVLY 0400      EPASS  0056      HNDLAD 0564
B3     0024      CTINIT 4353      EPR    1533      HT     4053
CALLCD 2005      CTLBLK 3400      EPRINT 1520      INERLP 0635
CALONC 4354      CTLZ   2534      EPRLUP 1522      INIT   1077
CARRET 1252      CTL2   3124      ERETRN 0613      INLRDY 0670
CATCTL 0765      CTL3   3125      ERPCH  3200      INTGO  1041
CBMOVE 0453      CTRLC  1273      ERR    3244      INUSE  2646
CCB    7400      CTRLU  1273      ERRET  0033      IOERR  3273
CCBLOG 4124      C1     0025      ERRLUP 3253      ITSOVR 2400
CCBLOK 3612      C2     0026      ERTRN  3272      JFIELD 7744
CCBPTR 3611      C3     0027      EXPLTB 1627      JMPGET 2113
CCBTST 1460      DASHFG 0532      EXTEND 1672      JMPMAX 0244
CCLINC 0054      DASHSB 0522      EXTMP  0051      JMPME2 0770
CCLREC 0067      DATAWD 2462      EXTST  4054      JMPX   2065
CCLSW  0435      DATE   1367      FDC0   1531      JSBITS 7746
CCOVLY 1400      DATEN  0656      FGET   0220      JSTART 7745
CDE    1701      DATERR 0661      FGETW  0343      KERR   4233
CDFLOG 4136      DATEXX 0600      FGETX  0345      KEYMON 0403

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 126-1

KMER1  0765      MCALL1 7700      ME1000 0374      MTHREE 7346
KMER2  1522      MCATRC 0767      MFREE  0070      MTLOOP 2635
KMER3  0316      MCD    0263      MGET   7667      MTRSME 2641
KMER4  1447      MCDCTL 0364      MG7400 0344      MVCNT  1061
KMER5  1567      MCDREC 0051      MIFILE 7617      MVECB  0770
KMINIT 1005      MCHADR 7474      MINCOR 1151      MVFROM 1063
KMNTRY 0400      MCHAIN 0306      MIOERR 0246      MVT1   7637
KMONER 0003      MCHCTL 7473      MLNOTF 0321      MVT2   7640
KM1    0045      MCHFJM 7512      MLOOKU 0603      MVT3   7641
KM6203 1157      MCHND  7546      MMISC  7777      MWRCAT 0760
K1001  0575      MCHNX  7400      MNEXT  0323      MWRONG 1504
K12    0407      MCHN1  7445      MNOCHG 1174      MYFLD  0306
K7400  4226      MCHN2  7461      MNOFIL 1572      M12    0361
K7605  4232      MCHRD  7471      MOFILE 7600      M203   1175
LBCKUP 1324      MCHREC 7475      MONITO 0200      M240   0324
LCKSUM 2533      MCHT1  7511      MONPTR 0675      M256   0362
LCOMPR 2227      MCKDEV 0544      MONRD  7721      M301   0363
LDBLK  0313      MCLOSE 1177      MONS   0735      M340   0333
LDRCTL 4113      MCSIZ  4344      MONTOR 0013      M7     4227
LDRPCH 3220      MC7201 7433      MON1   1636      NAME   0052
LD7400 2020      MDATE  7666      MON2   1650      NBUFF  0022
LEADER 2427      MDSRCH 0701      MON3   1664      NEWD1  2442
LFEED  1344      MECOMN 1462      MON4   1703      NEWFIL 2024
LGTOUT 3002      MEFCNT 1567      MON5   1715      NEWLEN 1402
LIOERR 3333      MELAST 1505      MON6   1727      NEWLUP 0605
LKICKM 3042      MELEND 1040      MON7   1741      NEWSEG 3653
LMOVLP 3100      MELOOP 1032      MOVBUF 7626      NEWWD  2436
LMOVRD 3067      MELP2  1075      MOVEC  0760      NEXFIL 2330
LNOGO  3056      MELP3  1435      MOVECB 0450      NEXTCD 2004
LOADER 2411      MEMPTY 1143      MOVUP  1644      NFILES 0053
LOADF0 1542      MENTER 1011      MOVUPT 1755      NINSRT 0256
LOADWD 3127      MEOCNT 1566      MPARAM 7643      NKNT   0021
LOADXR 0011      MEOERR 0245      MRDCAT 0622      NMCT   0043
LOOPI  3712      MEOMTY 1560      MRDREN 0651      NM1    0034
LOWERA 2750      MEOVLP 1403      MREAD  7757      NM2    0035
LRETRN 0610      MEOVLS 1200      MRENTR 0206      NM3    0036
LSTADR 0071      MEOVLY 0026      MRESER 0064      NM4    0037
LSTFLD 0035      MEOXIT 0060      MRESET 1343      NOCD   2010
LUPPER 2705      MERCMN 1415      MRETRN 7730      NOCMPR 0433
LXM    6200      MERGED 0441      MRGLP  0400      NODLET 1240
LXR    0013      MERGEX 0664      MRSETL 1345      NOEXPL 1465
LXRBAK 0751      MERGLP 0702      MRSETP 0237      NOHASH 0421
L40    2464      MEROLP 1433      MRTRN  0617      NOORG  2735
L6177  0653      MERPCH 1511      MRTRN2 0620      NOTINC 0530
L7400  3715      MERR   0253      MRUNRC 0057      NOTXP  2526
MACARG 0055      MERRNO 0057      MSEGLM 1401      NUL    0562
MAGCDF 0302      MERROR 0247      MSKIPF 1542      NULERR 3320
MAGSW  0070      MERRTN 0056      MSKPLP 1550      NUM1   0601
MAG100 0340      MERRXR 1600      MSOVLY 0054      NUM2   0602
MAG377 0215      MERTST 0052      MSOVL2 0055      NXTFIL 0735
MAG70  0264      MERTYP 1607      MSTADR 7775      NXTONE 0436
MARG1  7740      MESCAP 0324      MSTART 0020      NXTSEG 0746
MASGN  0400      MESCPR 0341      MSTCDF 7773      NZCHAR 3213
MASSIG 0401      METMP1 1570      MSWITC 7764      N4     0322
MAXCMD 0013      METMP2 1571      MTEMP  0027      ODT    0573

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 126-2

ODTREC 0060      P6203  0030      SAVE2A 1411      SVXER  1560
OERR   3345      R      0455      SAVE3  1416      SWAPLP 4101
OFLG   2152      RADR   1737      SAVE3A 0462      SWFILE 1555
OLDMON 4212      RADR1  1704      SAVE4  1413      SWITCH 0670
OLDT9  0007      RBFLAG 0020      SAVE4B 1503      SWNTRY 0653
OLD1   0533      RBSPCL 1300      SAVE5  1420      SWRITE 1551
OLD2   0534      RCDCNT 2151      SAVE6  1430      SWSUBR 0677
ONCE   4200      RCTL   1736      SAVE7  1431      SXFLE  1571
ORGX   2330      RCTL1  1643      SAVE7A 1443      SYSHND 4124
ORG200 2722      RDCNT  0744      SAVE8  1464      SYSSWP 4074
ORIGIN 0021      READ   0324      SAVE8A 1463      SYSTEM 0022
OSFLD1 0270      READCK 0346      SAVXX  1400      SYTM1  4121
OSFLD2 0316      RECNO  2076      SAV2X  1431      SYTM2  4122
OS78   7771      RENEW  3745      SBLOCK 7776      SZAIN  2403
OUTRLP 0630      REOF   2145      SCDCIF 7675      S6203  0405
OV     1375      RERR   1756      SCOPE  7726      TBUF   0017
OVLYFG 3126      RERROR 2141      SCTL   1553      TEMP   3706
OVR32  1473      RESET  1551      SDLOOK 0460      TEMP1  0040
PATCHL 0261      RFILE  1627      SDNAME 0564      TEMP2  0021
PBUFFR 2075      RGETPG 0520      SDVHND 0772      TEXIT  0350
PCH    0023      RLCOMN 2235      SEGCNT 3741      TIE    0663
PCHAR  0350      RLOADR 0651      SEGLTH 3742      TIENTY 0650
PCRLF  0402      RMRD3  1764      SENTER 0050      TMP    0031
PDBUF  1062      ROT    1141      SETADR 2740      TMP1   0042
PERIOD 0276      ROTAT  1767      SFILE  0516      TMSY   4123
PERR   4231      ROT2   0741      SFND   1341      TM1    0041
PGNAME 0526      RSCOMN 0532      SGETOU 0542      TM8EEX 0202
PGTMP  2252      RTRN1  0220      SGFDLT 3743      TNM1   0323
PGTOUT 0032      RTWTPT 1050      SGSTAD 3744      TSLUP  0641
PG7400 0034      RUBOUT 1307      SGTNUM 0535      TS7    1760
PJSBTS 7674      RUN    0512      SHFT   3226      TWOPG  3665
PKT1   0023      RUNADR 1762      SHFTLP 3233      TX20   1702
PKT2   0024      RUNCNT 1763      SHNDLR 7607      TX212  1111
PKT3   0100      RUNFIL 1740      SKPMTF 0740      T1     0041
PK1    0310      RUNHND 1766      SLASHO 3600      T2     0042
PK8    0327      RUNSW  0046      SMCIF  7736      T212   3321
PK9    0333      RUNTWT 1717      SNUMLP 0420      T3     0043
PMSRST 1052      RUN1   0651      SOFSET 7747      T4     0044
PN     0044      RUN2   0706      SORTED 0756      T40    1641
PRDSW  0045      RUN5   0763      SPTST  0053      T5     0045
PRINLP 0325      RUN5A  0722      SQCOMN 1312      T6     0046
PRINT  0200      RUN6   1600      SQLOOP 1371      T6201  1700
PRINTQ 0364      RUN7   1610      SQTRIV 1341      T7     0047
PRMESG 0330      RUN7A  1612      SQUISH 1363      T76A   1642
PRNAME 1532      RUN8   1712      SRCH   1327      T8     0050
PRNT   1262      RUN9   1722      SRCWDL 0714      T9     0051
PROTAT 0564      RU37   1777      SSBITS 0600      UDNAME 7741
PRQMRK 1357      RU7700 1765      SSTADR 0504      UERRXR 1613
PRWD   0340      RXM    6230      START  0600      UERTYP 1623
PTRBFR 2323      R7000  0746      STARTX 0713      UPPERA 2740
PUTIT  2272      SADR   1554      STCOMN 0616      UP1    0241
PUTIT2 2302      SAVE   0545      STRTX  1113      UP2    0252
PUTWD  2200      SAVE1A 0400      SVDASH 0476      UP8    0262
P1     0711      SAVE12 0367      SVEND  0606      UP9    0267
P2     0712      SAVE2  1400      SVLNBF 1652      USERFG 0040

ABSLDR					  PAL8-V50X 10-JUL-88 PAGE 126-3

USRERR 1503      
VERSNO 0005      
WD     0030      
WDCT   3740      
WD1    0031      
WD2    0032      
WRBUF  2314      
WRCTLB 0564      
WRIBUF 2244      
WRITE  4724      
W6600  4072      
W7600  4073      
XERTRN 4230      
XFB    2704      
XFIELD 0020      
XFLDT  4017      
XFSP   1523      
XGLINE 1200      
XKMER1 0443      
XLOD   0534      
XNDT   4005      
XR     0017      
XR1    0015      
XR2    0016      
XTAT   0501      
XTD    4037      
XTEND  4000      
XVALU  0070      
X1     0014      
ZCDIF0 3106      
ZERO   1517      
ZOFILE 3000      
ZOUCNT 3001      



ERRORS DETECTED: 0
LINKS GENERATED: 0