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


/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 1

		/OS/8 V50 BUILD
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/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.
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 2






		/ABSTRACT--
		/BUILD IS THE SYSTEM CONFIGURATOR FOR THE OS/8 PROGRAMMING
		/SYSTEM. WITH BUILD, THE DEVICES WITHIN A PARTICULAR
		/SYSTEM CAN BE RAPIDLY AND EASILY CHANGED. BUILD ALSO
		/PROVIDES THE FACILITY FOR CREATING AN INITIAL OS/8 SYSTEM
		/FROM BINARY PAPER TAPES OR CASSETTES.

		/V3 CHANGES

		/0.	MADE BUILD SUPPORTABLE
		/1.	ADDED VE COMMAND (CURRENT VERSION # IS 3X WHERE X IS PATCH LEVEL)
		/2.	FIXED PROBLEM WITH Z'S AND 9'S IN FILENAMES
		/3.	CHANGED LENGTH OF DF32
		/4.	FIXED PROBLEM WITH RK8 BOOTSTRAP RECORD.
		/5.	ON LOAD, NULL EXTENSION FIRST SEARCHES FOR .BN
		/6.	CR TO $ DOESN'T GIVE ERROR
		/7.	FIXED BUG WITH BUILDING ROM SYS
		/8.	RUBOUTS TO BOL GIVE $
		/9.	^U RETYPES $
		/10.	ASSUME DSK: IF NO DEV GIVEN WITH LOAD
		/11.	NO DOT IS PRINTED IF NO EXTENSION
		/12.	^O STUFF NEW
		/13.	ALLOW PARITY ^C
		/14.	ADDED EXAMINE COMMAND
		/15.	FIXED BUG RE ACCESSING USR TABLE VIA POINTER
		/16.	CLEANED UP MOVE ROUTINE
		/17.	CLEANED UP NUMBER TOO BIG CHECKER
		/18.	OVERFLOW ERROR MESSAGE CHANGED TO 'BAD ORIGIN'
		/19.	DON'T ALLOW NAMES OVER 6 CHARS TO SPILL INTO EXTENSION;
		/	DON'T ALLOW MULTIPLE EXTENSIONS
		/20.	INCREASED NUMBER OF ALLOWABLE ENTRY PTS/HANDLER TO 16 (DEC)
		/21.	CLEANED UP SYMBOL PRINT ROUTINE
		/22.	GOT NAMES IN TABLE TO LINE UP.
		/23.	INSERT GRPNAME <CR> INSERTS FIRST HANDLER
		/24.	INSERT GRP,DEV1,DEV2,DEV3,...
		/25.	INSERT GRP,DEV1-5,...
		/26.	SAME FOR DELETE AND REPLACE
		/27.	COUNT DEVICES AND SLOTS ONLY ON BOOT
		/28.	FIXED BUG RE SYS RF08=4023
		/29.	GENERAL SUPPORT OF 2-PAGE SYS HANDLERS
		/30.	ADDED QL COMMAND
		/31.	SETS SA=00200, JSW=0
		/32.	UNLOAD UNLOADS AND DELETES
		/33.	ADDED DSK COMMAND
		/34.	BUILD COMMAND
		/35.	PRINT TELLS YOU ABOUT DSK
		/36.	TOOK OUT LOC DEPENDENT CHECK FOR SYSTEM HANDLERS
		/37.	INSERT ALLOWS SETTING # OF PLATTERS
		/38.	HANDLER HEADER LOADS DIRECTLY INTO DESCRIPTOR TABLE
		/39.	USES EXTRA CORE IF AVAILABLE (ALSO CHECKS SOFTWARE CORE SIZE)

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 2-1

		/40.	STOPS ECHOING ON INPUT LINE OVERFLOW
		/41.	*'S SYSTEM DEVICE
		/42.	REMEMBERS SYS ACROSS A BOOT
		/43.	'Y' INSTEAD OF 'YE'
		/44.	BO CHECKS DCB IN CORE TO SEE IF NEED REWRITE MONITOR
		/45.	ALLOW UNLOADING ENTRY POINT NAMES
		/46.	CTL COMMAND
		/47.	EACH COMMAND HAS ITS OWN MAXIMUM INPUT LINE SIZE
		/48.	ADDED CORE COMMAND
		/49.	FIXED ^U TO WRITE ZERO DIRECT MSG BUG
		/50.	HIT CONTINUE AFTER 'SYS ERR' TO RETRY
		/51.	PRESERVED DATE ACROSS BOOT
		/52.	MULTIPLE LOADS AND UNLOADS
		/53.	LOAD FROM SCRATCH USES INTERNAL ACTIVE HANDLERS
		/54.	CASSETTE SUPPORT
		/55.	SETS CORE CONTROL BLOCK

		/CHANGES SINCE FIELD RELEASE

		/A	'NO ROOM' DOESN'T PRINT 'BAD LOAD'
		/B	NO. OF ENTRY POINTS NOW CORRECTLY CHECKED FOR
		/C	FIXED BUG RE BUILDING TD8E FROM TD8E
		/D	BOOT CMD DISABLES BUILD CMD
		/E	JSW SET TO 1 BEFORE CHAINING TO ABSLDR
		/F	P CMD BUG FIXED
		/G	ALTER BUG FIXED
		/H	LENGTH OF INPUT LINE SYMBOLIC
		/I	SOFCOR STUFF OPTIMIZED
		/J	QL DOESN'T PRINT SPACE BETWEEN SYS'S GRP:NAME
		/K	FIXED BUG IN 32K
		/L	PAPER TAPE PUTS HLT IN 7600

		/THINGS TO DO:

		/?	DIES IF DATA OCCURS BEFORE *0
		/?	BOOT.ZE, .NZ  CMD?
		/?	GET 2-PAGE BIT OF CURRENT SYSTEM

		/CHANGES FOR MAINTENANCE RELEASE V3C:

		/	7-AUG-75

		/1.	CHANGED VERSION NUMBER TO V5
		/2.	INCORPORATED PATCH SEQ #1 (DSN APRIL 1975)
		/	ZERO LOCATION SOFSET WHILE BUILDING
		/3.	INCORPORATED PATCH SEQ #2 (DSN NOV. 1974)
		/	DISMISS USR AFTER ?NAME ERROR
		/4.	INCORPORATED PATCH SEQ #3 (DSN  MARCH 1975)
		/	DECREASE SYSTEM SIZE BY 5 (FOR ABSLDR) WHEN BUILDING FROM PAPER TAPE
		/5.	INCORPORATED PATCH SEQ #4 (DSN APRIL 1975)
		/	ADDED 'SIZE' COMMAND TO BUILD
		/6.	FIXED BUG WHICH CAUSES SYSXY.RS NOT FOUND TO BE PRINTED
		/	ON BOOTXY.RS COMMAND

		/CHANGES FOR V3D:

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 2-2


		/	1-MAY-77

		/1.	FIXED PROBLEM WITH CASSETTE BUILD (JSW WAS SET WRONG)
		/2.	ALLOWED SAVING OF HIGH-ORDER DATE BITS

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 3






		/BUILD PAGE 0
	0001		*1
000001  7402		HLT		/SAFETY HALT AND PATCH SPACE
000002  0000	SAV1,	0
000003  0000	SAV2,	0		/SAVES GROUP NAME
					/POINTER TO BATCH ROUTINE (GROSS BUT NEEDED THE ROOM)
000004  0315	BATT,	BATTST		/AGAIN GROSS BUT WHAT CAN I SAY?
	0010		*10		/AUTO INDEX REGISTERS
000010  0000	XR1,	0		/GENERAL PURPOSE REGISTERS
000011  0000	XR2,	0
000012  0000	XR3,	0
000013  0000	XR4,	0		/USED TO BUILD IMAGE TABLES
000014  0000	XR5,	0
000015  0000	LXR,	0
000016  0000	GNMXR,	0
000017  0600	L600,	600

	0020		*20
000020  0000	COUNT,	0		/GENERAL COUNTER LOCATION
000021  0000	CHAR,	0		/CHARACTER BUFFER
000022  0000	TEMP,	0		/TEMPORARIES
000023  0000	TMP1,	0


	5400		BUFFER=5400
	6000		BINARY=6000
	0400		DEVBUF=0400	/FIRST HANDLER AT 10400
					/FOR REASONS TOO LONG TO GO INTO HERE,
					/BUT WHICH HAVE TO DO WITH CURIOUS
					/PROPERTIES OF THE NUMBER 0,
					/HANDLERS CAN'T START AT 0.
					/THEY COULD HAVE STARTED AT 200.
	7747		SOFSET=7747	/SYSTEM OFFSET. (CURRENTLY =0)
	5400		PG7600=BUFFER	/RECORD 0 (IMAGES OF BOTH 7600'S)

	4113		LDRCTL=4113	/CHECK OS/8 ASSEMBLY
000024  0000	NAME1,	0		/NAME1-4 HOLDS FILE AND DEVICE NAMES
000025  0000	NAME2,	0
000026  0000	NAME3,	0
000027  0000	NAME4,	0
000030  6400	TABLMT,	DSCTAB		/HIGH CORE END OF DESCRIPTORS
					/FIRST FREE LOCATION
000031  0000	SIZE,	0
000032  0400	HNDPTR,	DEVBUF		/POINTS TO FIRST FREE LOCATION IN HANDLER TABLE

	0076		BLDSAV=76	/**** WILL DESTROY PREVIOUS FILES
					/START OF 40 BLOCK TO SAVE BUILD IN
	0010		HDRSIZ=10	/NUMBER OF ITEMS IN A DESCRIPTOR
000033  6400	DSCPTR,	DSCTAB		/ALWAYS POINTS TO BEGIN OF CURRENT DESCRIPTOR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 4






000034  0000	SLOT,	0
000035  0000	DSKG1,	0		/NAME OF 'DSK'
000036  0000	DSKG2,	0
000037  0000	DSKP1,	0
000040  0000	DSKP2,	0
000041  0000	NEWPAG,	0
000042  0000	OLDPAG,	0
000043  0000	NEWCOR,	0		/NEW CORE MAX
000044  0000	SAVDAT,	0		/REMEMBERS DATE ACROSS A BOOT
	7666		DATEWD=7666
000045  0001	FLAG2,	1		/0 IF PREVIOUS SYSTEM HAD A 2-PAGE HANDLER
		/SAMSYS,	1		/0 IF DIDN'T SPECIFY NEW SYS
	0000		BLOK66=0
000046  0000	SYSDCB,	0
	7744		SA=7744
	7746		JSW=7746
		/BOOTDV,	0		/HANDLER ADDRESS OF DEVICE WE'RE BOOTSTRAPPING TO
000047  0000	SAVHID,	0		/HIGH-ORDER DATE (BITS 3-4)

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 5






		/BEGLIN:	72 CHAR LINE BUFFER

		/NEW BUILD CORE ALLOCATION:

		/0000-5177	BUILD (ABSLD MUST BE ABOVE 4177)
		/5400-5777	DEVICE HANDLER FOR LOAD
		/5200-5377	PAPER TAPE/INIT/LINE BUFFER
		/6000-6377	INPUT BUFFER FOR LOAD (TEMP LOC OF USR)
		/6400-7577	DESCRIPTOR TABLE (DSCTAB)

		/BINARY MUST FOLLOW BUFFER
		/FIELD 1: HANDLERS (0400-7577)
		/10000-10377	BLOK66	BUFFER

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 6






	0200		*200

000200  7610		SKP CLA	/ENTRY FROM 'R BUILD'
000201  7402		HLT		/CHAIN ENTRY ADDRESS
000202  1577		TAD I [7600	/SEE IF SYSTEM ALREADY EXISTS
000203  7041		CIA
000204  1176		TAD [4207
000205  7640		SZA CLA	/IF NOT, BUILD SYSTEM FROM PAPER TAPE
000206  7201		CLA IAC	/NOTE FACT THAT OS/8 AINT AROUND
000207  3575		DCA I [RETSW
000210  4777		JMS I (CORE
000211  3776		DCA I (AMTCOR	/FIGURE OUT HOW MUCH CORE WE HAVE
000212  4775		JMS I (GOOD	/DO SOME INITIALIZATION; IT'LL DO YA GOOD
000213  1374		TAD (BATLS-1	/SET POINTER FOR BATCH OVERLAY
000214  4773		JMS I (BATTST	/GO CHECK FOR CALL FROM BATCH
000215  6201	CONFIG,	CDF 0
000216  3772		DCA I (ECHOFLG	/ALLOW TYPING
000217  4574		JMS I [CRLF
000220  1173	DOLR,	TAD ["$	/OUTPUT A $ BECAUSE I'M JEWISH
000221  4572		JMS I [TTYOUT
000222  3571		DCA I [SWAPER	/USE CURRENT HANDLER, NO SWAP ON ^C.
000223  1170		TAD [-LNLNGT
000224  4567		JMS I [GTEXT	/READ TTY LINE
000225  5220		JMP DOLR
000226  4566		JMS I [GNAME	/INTERPRET THE COMMAND
000227  1024		TAD NAME1
000230  7450		SNA
000231  5215		JMP CONFIG
000232  3021		DCA CHAR	/ENABLE TEST TO WORK

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 7






000233  4565		JMS I [TEST	/LOOK FOR THE COMMAND IN LIST
000234  6361		-1417;LOAD	/LOAD DEVICE HANDLER BINARY
000235  1071
000236  5573		-2205;REPLACE	/REPLACE IN SYSTEM
000237  1200
000240  6177		-1601;NAME	/ALTER PERMANENT NAME
000241  1606
000242  7664		-0114;ALTER	/CHANGE DEVICE HANDLER LOCATION
000243  1625
000244  5756		-2022;PRINT	/SYSTEM STATUS
000245  2000
000246  5447		-2331;SYSTEM	/SPECIFY SYSTEM DEVICE
000247  1216
000250  7561		-0217;BOOT	/BOOTSTRAP THE NEW SYSTEM
000251  3210
000252  5262		-2516;UNLOAD	/DELETE INACTIVE HANDLER
000253  2400
000254  7373		-0405;DELETE	/DELETE ACTIVE HANDLER
000255  1214
000256  6662		-1116;INSERT	/INSERT HANDLER IN SYSTEM
000257  1207
000260  5173		-2605;VERS	/TYPE VERSION #
000261  0740
000262  7250		-0530;EXAMINE	/EXAMINE LOCATION
000263  1624
000264  5664		-2114;QLIST	/QUICK LIST
000265  2107
000266  7355		-0423;DSK	/DSK
000267  1452
000270  7461		-0317;KORE	/CORE
000271  4301
000272  7375		-0403;DCBCM	/DCB
000273  1674
000274  7454		-0324;CTLCM	/CTL
000275  1675
000276  5467		-2311;SIZCM	/SIZE
000277  1673
000300  7262		-0516;END	/END COMMAND FOR BATCH
000301  4363
000302  7553	BD,	-0225;BUILD	/BUILD
000303  5303
000304  0000		0		/MUST TERMINATE LIST WITH 0
000305  5564		JMP I [WHAT	/DIDN'T FIND COMMAND

		/NEW HEADER BLOCK:

		/	DEVICE GROUPNAME
		/	DEVICE PERMANENT NAME
		/	DCB	(R/W,TYPE,MAX # OF PLATTERS)
		/	1/2 PAGE, SYSTEM BIT, CORES BIT, REL ENTRY PT

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 7-1

		/	MUST BE 0
		/	SIZE OF 1 PLATTER

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 8






		CORSIZ,
000306  0000	GETCHA,	0
000307  1033		TAD DSCPTR
000310  1706		TAD I GETCHA
000311  2306		ISZ GETCHA
000312  3326		DCA GETEM
000313  1726		TAD I GETEM
000314  5706		JMP I GETCHA

		/GOTCHA SUBROUTINE MOVED FOR ROOM

	4563		PUT=JMS I [GOTCHA
	4562		GET=JMS I [GETCHA


000315  0000	BATTST,	0		/SUBROUTINE TO SEE IF CALLED FROM BATCH
000316  3010		DCA XR1	/POINTER TO OVERLAY CODE IN FIELD 2
000317  1561		TAD I [7777	/GET THE BATCH SWITCH (JMP BATBK IF IN BATCH)
000320  7004		RAL		/BIT 1
000321  7700		SMA CLA	/IF NO BATCH MAY NOT HAVE FIELD 2
000322  5715		JMP I BATTST	/NOT CALLED FROM BATCH
000323  6222	BATBK,	CIF 20		/NOW TO FIELD 2
000324  4771		JMS I (BATSET	/GO DO SOME OVERLAYS
000325  5715		JMP I BATTST	/RETURN TO CALLER

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 9






		GETEM,			/POINTS INTO DSCTAB
000326  0000	RELCOR,	0
000327  7201		CLA IAC
000330  3306		DCA CORSIZ	/MAKE RE-USABLE
000331  1160		TAD [7400
000332  3352		DCA CORX	/MAKE ROUTINE REUSABLE ON 32K MACHINE
000333  6201	COR0,	CDF 0
000334  1306		TAD CORSIZ
000335  7006		RTL
000336  7004		RAL
000337  0350		AND COR70
000340  1363		TAD COREX
000341  3342		DCA .+1
000342  6201	COR1,	CDF /N
000343  1767		TAD I CORLOC
000344  7000	COR2,	NOP
000345  3342		DCA COR1
000346  1344		TAD COR2
000347  3767		DCA I CORLOC
000350  0070	COR70,	70
000351  1767		TAD I CORLOC
000352  7400	CORX,	7400
000353  1352		TAD CORX
000354  1370		TAD CORV
000355  7640		SZA CLA
000356  5363		JMP COREX
000357  1342		TAD COR1
000360  3767		DCA I CORLOC
000361  2306		ISZ CORSIZ
000362  5333		JMP COR0
000363  6201	COREX,	CDF 0
000364  7240		STA
000365  1306		TAD CORSIZ
000366  5726		JMP I RELCOR	/LEAVE WITH HIGHEST EXISTENT BANK

000367  0352	CORLOC,	CORX
000370  1400	CORV,	1400
000371  0200
000372  4551
000373  0315
000374  0227
000375  2617
000376  5067
000377  3147
	0400		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 10






		/GET	GETS DESCRIPTOR ITEM FROM CURRENT DESCRIPTOR
		/OP

		/PUT	PUTS DESCRIPTOR ITEM IN AC BACK IN SPECIFIED ITEM
		/OP	IN CURRENT DESCRIPTOR

		/ITEMS:

		/ACTIVE	BIT 0=1 MEANS ENTRY POINT HAS BEEN INSERTED (IS ACTIVE)
		/PERM1	PERMANENT NAME (FIRST 2 CHARS)
		/PERM2	2ND 2 CHARS
		/TWOPAG	BIT 0=1 MEANS 2-PAGE HANDLER, BIT 4 IGNORED, BITS 5-11 RELATIVE ENTRY PO
		/PAGRES	BITS 7-11 GIVE PAGE OF START OF HANDLER WHEN ROTATED 6 RT
		/GRPNM1	GROUP NAME (DEVICE NAME) FIRST 2 CHARS
		/GRPNM2	2ND 2 CHARS
		/DEVSIZ	GIVES SIZE OF 1 PLATTER
		/PLATNUM # OF PLATTERS IN BITS 2-4
		/DSKBIT	BIT 1 IS FLAG FOR 'DSK' (USED TEMPORARILY BY BUILD)
		/MAXPLT	MAXIMUM NUMBER OF PLATTERS ALLOWED (IN BITS 9-11)
		/DCB	D.C.B. BIT 0: FILESTRUCTURED, BITS 3-8 DEVICE TYPE
		/	BITS 9-11 MAX NO. OF PLATTERS
		/CORES	BIT 2 MEANS ENTRY PT IS CORESIDENT WITH SYS HANDLER
		/SYSBIT	BIT 1 IS A 1 IF THE DEVICE HAS NAME 'SYS' AND IS A SYS DEVICE

		/IF FIRST ENTRY OF A DESCRIPTOR IS GE 7600, THEN THIS
		/ENTRY IS A BOOTSTRAP ENTRY.
		/IT STARTS WITH THE NEGATIVE OF THE NUMBER OF WORDS IN THE
		/BOOTSTRAP (FOR THE PRECEDING DEVICE), FOLLOWED BY THAT MANY WORDS

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 11






	0000		GRPNM1=0
	0001		GRPNM2=1
	0002		PRMNM1=2
	0003		PRMNM2=3
	0004		DCB=4
	0004		MAXPLT=4
	0004		DVTYPE=4
	0005		TWOPAG=5	/BIT 0
	0005		SYSBIT=5	/BIT 1
	0006		ACTIVE=6
	0005		ENTPT=5
	0006		PAGRES=6
	0006		PLATNUM=6
	0007		DEVSIZ=7
	0006		DSKBIT=6	/BIT 1
	0005		CORES=5		/BIT 2

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 12






		/READ A LINE OF TEXT    RETURN 1 IS ^U RETURN
000400  0000	GTEXT,	0		/ROUTINE TO COLLECT TTY INPUT
000401  1377		TAD (-BEGLIN	/AC IS NON-ZERO
000402  3323		DCA ENDLIN
000403  3776		DCA I (RUBFLG	/INITIALIZE RUBOUT TO \
000404  1375		TAD (BEGLIN-1
000405  3015	RDTX,	DCA LXR		/BUFFER ADD. TO INDEX
000406  4557	RDTXT,	JMS I [TTYIN	/READ BLOODY TELETYPE
000407  1021		TAD CHAR
000410  3024		DCA NAME1	/SETUP FOR TEST AGAIN
000411  4565		JMS I [TEST
000412  7401		-377;RBOUT	/RUBOUT
000413  0447
000414  7566	LFMOD,	-212;LFEED	/LINE FEED..ECHO CURRENT COMMAND
000415  0476
000416  7563		-215;CARRET	/LINE TERMINATOR
000417  0467
000420  7545		-233;ALTMOD	/ALT MODE IN SEVERAL FLAVORS
000421  0511
000422  7403		-375;ALTMOD
000423  0511
000424  7402		-376;ALTMOD
000425  0511
000426  7600		-200;RDTXT	/IGNORE BLANKS
000427  0406
000430  7561		-217;RDTXT	/AS WELL AS ^O
000431  0406
000432  7575		-203;CTRLC	/BACK TO CURRENT SYSTEM
000433  4274
000434  7553		-225;CTRLU	/CTRLU
000435  0514
000436  0000		0		/IF NOT ONE OF THESE, PUT IN BUFFER
000437  1015		TAD LXR
000440  1323		TAD ENDLIN
000441  7650		SNA CLA
000442  5206		JMP RDTXT	/LINE OVERFLOW, STOP ECHOING
000443  4556		JMS I [PRNT	/PRINT THE CHARACTER
000444  1021		TAD CHAR
000445  3415		DCA I LXR	/AND PUT IN LINE BUFFER
000446  5206		JMP RDTXT	/NO PROBLEMS YET

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 13






000447  1015	RBOUT,	TAD LXR		/IS THERE TEXT TO RUB OUT?
000450  1155		TAD [1-BEGLIN
000451  7650		SNA CLA
000452  5321		JMP RBCR	/NO..SO DON'T DO ANYTHING
000453  1154		TAD ["\		/YES..ECHO BACKSLASH?
000454  2776		ISZ I (RUBFLG	/IF = -1, NO
000455  4572		JMS I [TTYOUT
000456  7240		CLA CMA		/IGNORE CONSECUTIVE RUBOUTS
000457  3776		DCA I (RUBFLG
000460  1015		TAD LXR
000461  3023		DCA TMP1
000462  1423		TAD I TMP1
000463  4572		JMS I [TTYOUT	/ECHO LAST CHAR
000464  7240	XRBACK,	CLA CMA
000465  1015		TAD LXR		/MOVE INDEX BACK ONE
000466  5205		JMP RDTX
000467  4574	CARRET,	JMS I [CRLF	/GENERATE 215,212
000470  3415	CAR1,	DCA I LXR
000471  3415		DCA I LXR	/GUARD AGAINS CMD <CR>
000472  1153		TAD [BEGLIN-1
000473  3016		DCA GNMXR	/SETUP FOR GNAME ROUTINE
000474  2200		ISZ GTEXT	/TAKE NORMAL RETURN
000475  5600		JMP I GTEXT

000476  3415	LFEED,	DCA I LXR	/A 0 TO MARK END
000477  1153		TAD [BEGLIN-1
000500  3015		DCA LXR
000501  4574		JMS I [CRLF
000502  1173		TAD ["$
000503  4572		JMS I [TTYOUT
000504  1415	ECHO,	TAD I LXR
000505  7450		SNA		/DONE ECHOING?
000506  5264		JMP XRBACK	/YES..REPOSITION LXR
000507  4572		JMS I [TTYOUT
000510  5304		JMP ECHO

000511  1173	ALTMOD,	TAD ["$		/ALT MODE ECHOES AS $
000512  4572		JMS I [TTYOUT
000513  5270		JMP CAR1

000514  1152	CTRLU,	TAD ["^
000515  4572		JMS I [TTYOUT	/GENERATE ^U
000516  1024		TAD NAME1
000517  1151		TAD [100
000520  4572		JMS I [TTYOUT
000521  4574	RBCR,	JMS I [CRLF
000522  5600		JMP I GTEXT	/TAKE ERROR RETURN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 14






	4550		GETCHR=JMS I [GETC
	4547		BAKCHR=JMS I [BAKC

		ENDLIN,
000523  0000	GETNUM,	0		/PICKS UP NUMBER FROM LINE BUFF
					/DELIM CHAR PUT IN 'CHAR'
					/PRINTS ERROR MESSAGE IF  GT 4095
					/IF NO NUMBER, TAKES RETURN 1
					/IF NUMBER, TAKES RET 2 WITH # IN 'SIZE'
000524  3031		DCA SIZE
000525  3366		DCA GOTSW	/HAVEN'T FOUND ANY DIGITS YET
000526  5342		JMP NCHAR
000527  3023	ROT,	DCA TMP1
000530  2366		ISZ GOTSW	/FOUND A DIGIT
000531  1031		TAD SIZE
000532  0146		AND [7000
000533  7640		SZA CLA
000534  5545		JMP I [BADARG	/NUMBER .GT. 4095
000535  1031		TAD SIZE
000536  7106		CLL RTL
000537  7004		RAL		/BUILD UP THE DIGIT
000540  1023		TAD TMP1
000541  3031		DCA SIZE
000542  4550	NCHAR,	GETCHR
000543  7450		SNA		/0 ENDS THE LINE
000544  5356		JMP NUMOUT
000545  1144		TAD [-240	/IGNORE SPACES
000546  7450		SNA
000547  5342		JMP NCHAR
000550  1374		TAD (-30	/TEST LIMITS
000551  7100		CLL
000552  1143		TAD [10		/MUST BE BETWEEN 0 AND 7
000553  7430		SZL
000554  5327		JMP ROT
000555  1373		TAD (260	/RESTORE CHAR
000556  3021	NUMOUT,	DCA CHAR	/SAVE AWAY THIS DELIMETER
000557  1366		TAD GOTSW	/DID WE GET ANY DIGITS?
000560  7640		SZA CLA		/?
000561  2323		ISZ GETNUM	/YES
000562  5723		JMP I GETNUM	/NO, RETURN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 15






000563  0000	GETC,	0		/GET THE NEXT CHARACTER, ADVANCE SCAN PAST IT
000564  1416		TAD I GNMXR
000565  5763		JMP I GETC

		GOTSW,			/1 MEANS GOT A DIGIT
000566  0000	BAKC,	0		/BACK UP SCAN TO THE CHARACTER JUST LOOKED AT
000567  7240		STA
000570  1016		TAD GNMXR
000571  3016		DCA GNMXR
000572  5766		JMP I BAKC
000573  0260
000574  7750
000575  5177
000576  4755
000577  2600
	0600		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 16






	4542		INIT=JMS I [INI
	4541		ADVDSC=JMS I [DSCADV
	4540		ADVBOT=JMS I [BOTADV

		/	JMS PRMNAM	/SEARCH TABLE FOR A PERMANENT NAME
					/GIVEN IN NAME1-NAME2
					/POINT TO DESCRIPTOR FOR THIS NAME
		/	JMS ACTNAM	/SAME BUT PERMANENT NAME MUST BE ACTIVE
		/	JMS BIGNAM	/SEARCHES FOR PERM & GRP NAME (GRP NAME IN SAV1,SAV2)
		/	JMS GRPNAM	/SAME BUT SEARCH FOR GROUP NAME

000600  0000	CHKNAM,	0
000601  4542		INIT
000602  4541	CHKLUP,	ADVDSC		/ADVANCE TO NEXT DESCRIPTOR
000603  4540		ADVBOT		/ADVANCE OVER ANY BOOTSTRAP
000604  5317		JMP NFOUND	/NO MORE- ERROR
000605  4562		GET
000606  0000	NM1,	GRPNM1		/GET GROUP OR PERMANENT NAME
000607  7041		CIA
000610  1024		TAD NAME1
000611  7640		SZA CLA		/DO FIRST WORDS MATCH?
000612  5202		JMP CHKLUP	/NO, TRY AGAIN
000613  4562		GET
000614  0001	NM2,	GRPNM2		/GET 2ND WORD
000615  7041		CIA
000616  1025		TAD NAME2
000617  7640		SZA CLA		/2ND WORD MATCH?
000620  5202		JMP CHKLUP	/NO
000621  1316		TAD BIGFLG
000622  7650		SNA CLA		/WANT BOTH GROUP AND PERM NAME?
000623  5240		JMP NOBIG	/NO
000624  4562		GET		/YES
000625  0000		GRPNM1
000626  7041		CIA
000627  1002		TAD SAV1
000630  7640		SZA CLA
000631  5202		JMP CHKLUP
000632  4562		GET
000633  0001		GRPNM2
000634  7041		CIA
000635  1003		TAD SAV2
000636  7640		SZA CLA
000637  5202		JMP CHKLUP
000640  1261	NOBIG,	TAD ACTSW	/FOUND MATCH
000641  7650		SNA CLA		/MUST HANDLER BE ACTIVE?
000642  5600		JMP I CHKNAM	/NO, RETURN
000643  4562		GET		/YES
000644  0006		ACTIVE
000645  7700		SMA CLA		/IS IT ACTIVE?
000646  5202		JMP CHKLUP	/NO, TRY AGAIN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 16-1

000647  5600		JMP I CHKNAM	/YES, RETURN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 17






000650  0000	GRPNAM,	0
000651  1377		TAD (GRPNM1	/WANT TO SEARCH FOR GROUP NAME
000652  3206		DCA NM1
000653  1376		TAD (GRPNM2
000654  3214		DCA NM2
000655  3261		DCA ACTSW	/NEED NOT BE ACTIVE
000656  3316		DCA BIGFLG
000657  4200		JMS CHKNAM	/GO SEARCH
000660  5650		JMP I GRPNAM

000661  0000	ACTSW,	0		/1 MEANS HANDLER MUST BE ACTIVE

000662  0000	PRMNAM,	0
000663  3261		DCA ACTSW	/AC MAY BE NON ZERO (TO MEAN ACTIVE ONLY)
000664  1375		TAD (PRMNM1	/WANT TO SEARCH FOR PERMANENT NAME
000665  3206		DCA NM1
000666  1374		TAD (PRMNM2
000667  3214		DCA NM2
000670  3316		DCA BIGFLG
000671  4200		JMS CHKNAM	/GO SEARCH
000672  5662		JMP I PRMNAM

000673  4574	BADLOD,	JMS I [CRLF
000674  4537		JMS I [PRWD
000675  7702		TEXT	/?BAD LOAD/
000676  0104
000677  4014
000700  1701
000701  0400
000702  3430		DCA I TABLMT	/RESTORE SENTINEL 0
000703  5536		JMP I [CONFIG

000704  0000	BIGNAM,	0
000705  3261		DCA ACTSW
000706  1375		TAD (PRMNM1
000707  3206		DCA NM1
000710  1374		TAD (PRMNM2
000711  3214		DCA NM2
000712  7201		CLA IAC
000713  3316		DCA BIGFLG
000714  4200		JMS CHKNAM
000715  5704		JMP I BIGNAM

		/SOMETIMES CHKNAM CAME FROM DSKASK INSTEAD OF GETSYS ****

000716  0000	BIGFLG,	0		/SET TO 1 TO CHECK GROUP & PERMANENT NAME

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 18






000717  4535	NFOUND,	JMS I [PRNAME
000720  4537		JMS I [PRWD
000721  4016		TEXT / NOT FOUND/
000722  1724
000723  4006
000724  1725
000725  1604
000726  0000
000727  5536		JMP I [CONFIG

000730  4537	NOROOM,	JMS I [PRWD
000731  7716		TEXT /?NO ROOM/
000732  1740
000733  2217
000734  1715
000735  0000
000736  3430		DCA I TABLMT	/RESTORE SENTINEL 0
000737  5536		JMP I [CONFIG

000740  4537	VERS,	JMS I [PRWD
000741  0225		TEXT	/BUILD V50B/
000742  1114
000743  0440
000744  2665
000745  6002
000746  0000
000747  5536		JMP I [CONFIG

		/BUILD CORE CONTROL BLOCK
		/	***** CAUTION IF BUILD GROWS FROM FIELD 2

000750  7775	BLDCCB,	-3		/3 SEGMENTS
000751  6203		6203		/FIELD 0
000752  0200		0200		/200 IS S.A.
000753  0000		0000		/JSW
000754  0000		0000
000755  1020		1020		/20000-21777
000756  0000		0000		/10000-17577
000757  3710		3710
000760  0000		0000		/00000-07577
000761  3700		3700
		/GOES INTO WORDS 200-377 OF BLOCK 37

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 19






000774  0003
000775  0002
000776  0001
000777  0000
	1000		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 20






		/LOAD A 1- OR 2-PAGE HANDLER INTO BUFFER
		/USE IT TO ABSLD

001000  0000	SETUP,	0
001001  1134		TAD [NAME1
001002  3257		DCA FILPTR	/POINT TO FILENAME AREA
001003  1377		TAD (BUFFER+1	/LOAD 2 PAGE HANDLER INTO 'BUFFER'
001004  3233		DCA DRIVER	/SET UP ASSIGN DEVICE HANDLER
001005  4566		JMS I [GNAME	/GET DEVICE NAME
001006  1024		TAD NAME1
001007  7650		SNA CLA
001010  5600		JMP I SETUP	/NO ARG
001011  2200		ISZ SETUP
001012  1776		TAD I (RETSW
001013  7640		SZA CLA
001014  5775		JMP I (BLDLOD	/WHEN LOADING STANDALONE, USE INTERNAL HANDLERS
001015  1021		TAD CHAR
001016  1133		TAD [-":
001017  7640		SZA CLA
001020  5774		JMP I (SETDSK	/USE 'DSK ' IF NO DEVICE GIVEN
001021  1024		TAD NAME1
001022  3231		DCA DVNM1
001023  1025		TAD NAME2
001024  3232		DCA DVNM1+1	/LOOKUP DEVICE NAME
001025  4773	GETU,	JMS I (GETUSR
001026  6212		CIF 10
001027  4532		JMS I [200	/FETCH HANDLER
001030  0001		1
		SUBLUP,
001031  0000	DVNM1,	0
		LODTMP,
001032  0000	DVNUM,	0		/NAME GOES IN HERE
001033  0000	DRIVER,	0
001034  5772		JMP I (KICKM	/NO DEVICE. RELEASE MONITOR
001035  1021		TAD CHAR
001036  7640		SZA CLA
001037  4566		JMS I [GNAME	/PICK UP FILE NAME
001040  1232		TAD DVNM1+1	/DEVICE NUMBER
001041  4771		JMS I (DTYPE	/SEE IF FILE STRUCTURED
001042  1024		TAD NAME1	/IF FILE STRUCTURED WITH NO NAME
001043  7650		SNA CLA		/IT IS AN ERROR
001044  5770		JMP I (NMER	/V3C
001045  1027		TAD NAME4	/SAVE ORIGINAL EXTENSION
001046  3022		DCA TEMP
001047  1027		TAD NAME4
001050  7450		SNA		/IF NULL
001051  1367		TAD (0216	/TRY .BN FIRST
001052  3027	TRYAGN,	DCA NAME4
001053  1232		TAD DVNUM	/GET DEVICE NUMBER
001054  6212		CIF 10

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 20-1

001055  4532		JMS I [200	/DO LOOKUP OF FILENAME
001056  0002		2
001057  0024	FILPTR,	NAME1
001060  0000		0
001061  5353		JMP LDEXT	/DIDN'T FIND FILE. DO SOMETHING
001062  6212		CIF 10
001063  4532		JMS I [200	/KICK OUT MONITOR
001064  0011		11
001065  1233		TAD DRIVER
001066  3531	LOADIN,	DCA I [DVICE	/ENTRY POINT OF HANDLER
001067  4766		JMS I (IOPEN	/IF HERE, IT WILL FIT
001070  5600		JMP I SETUP

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 21






001071  4200	LOAD,	JMS SETUP	/SET UP FOR INPUT
001072  5530		JMP I [NODEV	/NO LOAD DEVICE
001073  7344		STA CLL RAL	/-2 DO A HANDLER LOAD
001074  6223		CIF CDF 20	/OFF TO FIELD 2
001075  4765		JMS I (LDABS
001076  5527		JMP I [BADLOD	/BAD
001077  1430		TAD I TABLMT	/SEE IF HEADER INFORMATION IS OK
001100  7500		SMA
001101  5527		JMP I [BADLOD
001102  1364		TAD (20		/ALLOW 16 HANDLERS/BINARY
001103  7710		SPA CLA
001104  5526		JMP I [BADINP	/TOO MANY
001105  1430		TAD I TABLMT
001106  3232		DCA LODTMP	/# OF LOOPS TO EXECUTE
001107  1030		TAD TABLMT
001110  1125		TAD [PAGRES+1	/POINT TO FIRST 'PAGRES' WORD
001111  3352		DCA HDPTR	/GO THERE FOR DESCRIPTORS
001112  1032		TAD HNDPTR
001113  4524		JMS I [ROTL
001114  3022		DCA TEMP	/PAGE OF RESIDENCE
001115  1022	PGLUP,	TAD TEMP
001116  3752		DCA I HDPTR	/INSERT PAGE OF RESIDENCE
001117  1352		TAD HDPTR
001120  1143		TAD [HDRSIZ
001121  3352		DCA HDPTR
001122  2232		ISZ LODTMP
001123  5315		JMP PGLUP
001124  1123		TAD [2-HDRSIZ
001125  1352		TAD HDPTR
001126  3352		DCA HDPTR	/POINT TO AFTER DESCRIPTORS
001127  1352		TAD HDPTR
001130  7041		CIA
001131  1763		TAD I (NEWLIM
001132  7650		SNA CLA		/AT END?
001133  5762		JMP I (OK		/YES
001134  1752		TAD I HDPTR	/NO, MAYBE A BOOTSTRAP RECORD
001135  7100		CLL
001136  1132		TAD [200
001137  7620		SNL CLA
001140  5527		JMP I [BADLOD	/NO
001141  1752		TAD I HDPTR	/MAYBE
001142  7041		CIA
001143  7001		IAC		/OVER COUNT
001144  1352		TAD HDPTR
001145  7041		CIA
001146  1763		TAD I (NEWLIM
001147  7640		SZA CLA
001150  5527		JMP I [BADLOD	/NO
001151  5762		JMP I (OK

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 22






001152  0000	HDPTR,	0		/POINTS INTO NEW HEADER

		/DESCRIPTOR TABLE DESCRIPTION:

		/'TABLMT' ALWAYS POINTS TO FIRST FREE LOCATION
		/'DSCPTR' ALWAYS POINTS TO BEGIN OF CURRENT HEADER BLOCK
		/ITEMS ARE OF 3 FORMS:
		/(A) GROUP COUNT: IN RANGE -1 TO -20  (IGNORED AND HAS NO MEANING)
		/	IT IS THERE FOR COMPATIBILITY WITH OLD BUILD
		/(B) HEADER BLOCK STARTS WITH NUMBER IN RANGE 0-7577
		/	CONSISTS OF 'HDRSIZ' CONSECUTIVE WORDS
		/	DESCRIBED ELSEWHERE
		/(C) BOOTSTRAP BLOCK: STARTS WITH NUMBER IN RANGE 7600-7757
		/	THIS IS THE NEGATIVE OF THE NUMBER OF WORDS TO FOLLOW

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 23






		/NON-SYSTEM HEADER INFO:

		/	- NUMBER OF ENTRY POINTS

		/FOR EACH ENTRY POINT:

		/0,1	GROUP NAME
		/2,3	ENTRY POINT NAME	(PERMANENT NAME)
		/4	R/W FILE-STR, DEVICE TYPE, MAX # OF PLATTERS
		/5	1/2 PAGE, REL ENTRY PT, SYSBIT, CORES
		/6*	PAGE OF HANDLER, ACTIVE BIT, # OF PLATS, DSKBIT
		/7	SIZE OF DEVICE

		/* SUPPLIED BY BUILD

001153  1022	LDEXT,	TAD TEMP	/DIDN'T FIND FILE
001154  7640		SZA CLA
001155  5772		JMP I (KICKM	/NO RESORT
001156  2022		ISZ TEMP
001157  5252		JMP TRYAGN	/TRY NULL EXTENSION

001162  3615
001163  3614
001164  0020
001165  0400
001166  3635
001167  0216
001170  3631
001171  2144
001172  1520
001173  1524
001174  1513
001175  1534
001176  5165
001177  5401
	1200		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 24






001200  4777	REPLACE,JMS I (DEL	/DELETE PERMANENT NAME SPECIFIED NEXT
001201  1021		TAD CHAR
001202  1240		TAD MEQ
001203  7640		SZA CLA		/AFTER ALL DELETIONS, MUST FIND A "="
001204  5522		JMP I [SYNTAX	/IF NOT, WARN THE GUY
001205  4231		JMS INS		/IF FOUND IT, NOW PERFORM INSERTIONS
001206  5536		JMP I [CONFIG	/THE GUY HAS BEEN HUMORED

001207  4231	INSERT,	JMS INS
001210  1021	TSTEOL,	TAD CHAR	/THERE SHOULDN'T BE ANYTHING AFTER EOC
001211  7650		SNA CLA
001212  5536		JMP I [CONFIG	/THERE WASN'T
001213  5522		JMP I [SYNTAX	/WARN BLOKE ABOUT EXTRA STUFF

001214  4777	DELETE,	JMS I (DEL	/DELETE PERMANENT NAMES SPECIFIED
001215  5210		JMP TSTEOL

001216  4231	SYSTEM,	JMS INS		/SYS IS SAME AS INSERT
001217  4562		GET
001220  0005		SYSBIT
001221  7006		RTL
001222  7730		SPA SZL CLA	/BUT SYSBIT OR CORES SHOULD BE ON
001223  5210		JMP TSTEOL	/JUST TO HUMOR IT'S NAME
001224  4537	TWOSYS,	JMS I [PRWD	/AND FOR COMPATIBILITY REASONS
001225  7723		TEXT	/?SYS/
001226  3123
001227  0000
001230  5536		JMP I [CONFIG

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 25






001231  0000	INS,	0
001232  1376		TAD (STL RAR
001233  3775		DCA I (ACTION	/SET 'ACTION' FOR INSERTIONS
001234  4521		JMS I [TSTNAM	/LOOK FOR A NAME
001235  4520		JMS I [GRPNAM	/GET GROUP NAME
001236  4336		JMS SAVNAM
001237  4565		JMS I [TEST
001240  7503	MEQ,	-"=;ACT
001241  1267
001242  7524		-",;INSNAM
001243  1251
001244  7506		-":;INSNAM
001245  1251
001246  4000		4000;ACT
001247  1267
001250  0000		0
001251  4521	INSNAM,	JMS I [TSTNAM	/GRAB A NAME
001252  4517	INSGN,	JMS I [BIGNAM	/GET PERMANENT NAME WITH SPECIFIED GROUP NAME
001253  4562		GET
001254  0000		GRPNM1
001255  7041		CIA
001256  1002		TAD SAV1
001257  7640		SZA CLA
001260  5516		JMP I [NFOUND	/MAKE SURE PERMANENT NAME FOUND
001261  4562		GET		/HAS GROUP NAME PREVIOUSLY SPECIFIED
001262  0001		GRPNM2
001263  7041		CIA
001264  1003		TAD SAV2
001265  7640		SZA CLA
001266  5516		JMP I [NFOUND
001267  4774	ACT,	JMS I (SETACT	/SET ACTIVE BIT
001270  4565	COM,	JMS I [TEST
001271  7523		-"-;HYPH
001272  1344
001273  7524		-",;INSNAM
001274  1251
001275  7503		-"=;INPLAT
001276  1301
001277  0000		0
001300  5631		JMP I INS

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 26






001301  4515	INPLAT,	JMS I [GETNUM	/AN "="
001302  5522		JMP I [SYNTAX
001303  1031		TAD SIZE
001304  7650		SNA CLA
001305  5545		JMP I [BADARG	/=0 ILLEGAL
001306  4562		GET
001307  0004		MAXPLT
001310  0125		AND [7		/GET MAXIMUM # OF PLATTERS ALLOWED
001311  7450		SNA
001312  7001		IAC		/0 MEANT 1
001313  7140		CMA CLL
001314  1031		TAD SIZE	/COMPARE WITH USER'S REQUEST
001315  7630		SZL CLA		/IS HIS REQUEST OKAY?
001316  5331		JMP BADPLT	/REQUEST-SHMEST.  TOO MANY PLATTERS
001317  1031		TAD SIZE
001320  4514		JMS I [ROTR
001321  3031		DCA SIZE
001322  4562		GET
001323  0006		PLATNUM
001324  0373		AND (6177
001325  1031		TAD SIZE	/STORE AWAY HIS STATED NUMBER OF PLATTERS
001326  4563		PUT		/FOR FUTURE USE BY 'BOOT'
001327  0006		PLATNUM
001330  5270		JMP COM		/REJOIN PROCESSING

001331  4537	BADPLT,	JMS I [PRWD
001332  7720		TEXT	/?PLAT/
001333  1401
001334  2400
001335  5536		JMP I [CONFIG

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 27






001336  0000	SAVNAM,	0
001337  1024		TAD NAME1
001340  3002		DCA SAV1	/SAVE GROUP NAME
001341  1025		TAD NAME2
001342  3003		DCA SAV2
001343  5736		JMP I SAVNAM

001344  1025	HYPH,	TAD NAME2
001345  0113		AND [77
001346  7041		CIA
001347  3360		DCA DETEM
001350  4550		GETCHR
001351  0113		AND [77
001352  1360		TAD DETEM	/GET CHAR AFTER HYPEN
001353  7650		SNA CLA		/REACHED IT YET?
001354  5361		JMP IGET	/YES, WELL TRY FOR MORE STUFF
001355  4547		BAKCHR		/NO, PUT IT BACK FOR FUTURE USE
001356  2025		ISZ NAME2	/FORM NEXT SEQUENTIAL NAME
001357  5252		JMP INSGN	/GO INSERT IT
		/DO WE REALLY HAVE TO START SEARCH AT CURRENT DESCR?

001360  0000	DETEM,	0

001361  4550	IGET,	GETCHR
001362  3021		DCA CHAR
001363  5270		JMP COM

001364  4537	NODEV,	JMS I [PRWD
001365  7704		TEXT	/?DEVICE/
001366  0526
001367  1103
001370  0500
001371  5536		JMP I [CONFIG
001373  6177
001374  1400
001375  1404
001376  7130
001377  1410
	1400		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 28






		INTEM,
001400  0000	SETACT,	0
001401  4562		GET
001402  0006		ACTIVE		/GET ACTIVATION BIT
001403  7004		RAL
001404  7130	ACTION,	STL RAR		/ACTIVATE IT (SET TO 'CLL RAR' TO DEACT)
001405  4563		PUT
001406  0006		ACTIVE		/RESTORE
001407  5600		JMP I SETACT

001410  0000	DEL,	0
001411  1377		TAD (CLL RAR
001412  3204		DCA ACTION
001413  4521	DELNAM,	JMS I [TSTNAM	/PARSE OFF A NAME
001414  4512	DELGN,	JMS I [ACTNAM	/FIND IT AS AN ACTIVE PERMANENT NAME
001415  4200		JMS SETACT	/DEACTIVATE IT
001416  4562		GET
001417  0006		PLATNUM
001420  0111		AND [6177	/SET # OF PLATTERS TO 0
001421  4563		PUT
001422  0006		PLATNUM
001423  4565	DCOM,	JMS I [TEST
001424  7523		-"-;DHYPH
001425  1432
001426  7524		-",;DELNAM
001427  1413
001430  0000		0
001431  5610		JMP I DEL

001432  1025	DHYPH,	TAD NAME2
001433  0113		AND [77
001434  7041		CIA
001435  3200		DCA INTEM
001436  4550		GETCHR
001437  0113		AND [77
001440  1200		TAD INTEM
001441  7650		SNA CLA		/REACHED FINAL NAME?
001442  5247		JMP DGET	/YES
001443  4547		BAKCHR		/NO, PUT FINAL LETTER BACK
001444  2025		ISZ NAME2	/YES, BUMP TO NEXT NAME
001445  0423	L0423,	423
001446  5214		JMP DELGN	/DELETE NEXT ONE IN SUCCESSION

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 29






001447  4550	DGET,	GETCHR
001450  3021		DCA CHAR
001451  5223		JMP DCOM


/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 30






		/DSK=ACTIVE PERMANENT NAME
		/DSK=GROUPNAME:PERMANENT NAME
		/DSK=<CR>	MEANS NO DSK SPECIFIED, USE 'SYS'

		/JUST REMEMBERS NAME (NOTHING ELSE)

001452  4566	DSK,	JMS I [GNAME	/GET A NAME
001453  1024		TAD NAME1
001454  7650		SNA CLA
001455  5301		JMP NODSK
001456  1021		TAD CHAR
001457  7450		SNA
001460  5303		JMP NOCOL
001461  1133		TAD [-":
001462  7640		SZA CLA		/IS IT FOLLOWED BY A ":"?
001463  5522		JMP I [SYNTAX	/NO, ASSUME HE'S GIVING AN ACTIVE PERMANENT NAME
					/THIS IS FOR COMPATIBILITY WITH OLD BUILD
		/	JMS I [GRPNAM	/YES, ITS A GROUP NAME
001464  1024		TAD NAME1	/SAVE IT
001465  3035		DCA DSKG1
001466  1025		TAD NAME2
001467  3036		DCA DSKG2
001470  4521		JMS I [TSTNAM	/GET PERMANENT NAME
001471  1024	PN,	TAD NAME1
001472  3037		DCA DSKP1	/DON'T WORRY NOW IF IT'S AROUND
001473  1025		TAD NAME2
001474  3040		DCA DSKP2
001475  1021		TAD CHAR
001476  7640		SZA CLA
001477  5522		JMP I [SYNTAX
001500  5536		JMP I [CONFIG

001501  3035	NODSK,	DCA DSKG1	/FIRST WORD 0 MEANS NONE SPECIFIED
001502  5536		JMP I [CONFIG

001503  4512	NOCOL,	JMS I [ACTNAM	/IT MUST BE AN ACTIVE HANDLER
001504  4562		GET
001505  0000		GRPNM1
001506  3035		DCA DSKG1
001507  4562		GET
001510  0001		GRPNM2
001511  3036		DCA DSKG2
001512  5271		JMP PN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 31






001513  1245	SETDSK,	TAD L0423	/DS
001514  3776		DCA I (DVNM1
001515  1375		TAD (1300	/K
001516  3774		DCA I (DVNM1+1
001517  5773		JMP I (GETU

001520  6212	KICKM,	CIF 10		/RELEASE MONITOR AND RELOAD
001521  4532		JMS I [200	/OUR DEVICES
001522  0011		11
001523  5516		JMP I [NFOUND

001524  0000	GETUSR,	0
001525  6212		CIF 10
001526  4510		JMS I [7700	/LOCK IN MONITOR
001527  0010		10
001530  6212		CIF 10		/RESET RESIDENT HANDLER TABLE
001531  4532		JMS I [200
001532  0013		13
001533  5724		JMP I GETUSR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 32






		/	CODE FOR USING INTERNAL HANDLERS ON STANDALONE LOAD:

001534  3772	BLDLOD,	DCA I (FILPTR	/LOAD DEV
001535  4512		JMS I [ACTNAM	/MUST BE ACTIVE
001536  4507		JMS I [GETPG
001537  3343		DCA HNDLOK	/LOCATION OF HANDLER
001540  1160		TAD [-400
001541  4506		JMS I [MOVE
001542  6211		CDF 10
001543  7402	HNDLOK,	HLT
001544  6201		CDF 0
001545  5400	PBUFFER,BUFFER
001546  4562		GET
001547  0004		DCB
001550  3356		DCA BLDCB
001551  4562		GET
001552  0005		ENTPT
001553  0105		AND [177
001554  1345		TAD PBUFFER	/GET ENTRY POINT OF HANDLER
001555  5771		JMP I (LOADIN

001556  0000	BLDCB,	0		/CONTAINS DCB OF CURRENT LOAD HANDLER
001571  1066
001572  1057
001573  1025
001574  1032
001575  1300
001576  1031
001577  7110
	1600		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 33






001600  0000	GETPG,	0
001601  4562		GET
001602  0006		PAGRES
001603  4514		JMS I [ROTR
001604  0177		AND [7600
001605  5600		JMP I GETPG

		/FORMAT:	NAME OLDNAME=NEWNAME

001606  4363	NAME,	JMS TSTNAM	/SEE IF ARGUMENT SUPPLIED
					/SEARCH PERMANENT TABLES
001607  4512		JMS I [ACTNAM	/GET ACTIVE PERMANENT NAME DESCRIPTOR
001610  1021		TAD CHAR
001611  1304		TAD MEQL	/CHECK FOR =
001612  7640		SZA CLA
001613  5545		JMP I [BADARG
001614  4363		JMS TSTNAM	/GET NEW DEVICE NAME
001615  1024		TAD NAME1	/REPLACE THE NAME
001616  4563		PUT
001617  0002		PRMNM1
001620  1025		TAD NAME2
001621  4563		PUT
001622  0003		PRMNM2
001623  5536		JMP I [CONFIG

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 34






001624  7201	EXAMINE,CLA IAC
001625  3316	ALTER,	DCA XSWTCH
001626  4521		JMS I [TSTNAM	/ALTER ALLOWS MODS TO A PARTICULAR
001627  4520		JMS I [GRPNAM	/HANDLER'S ACTUAL CODE.
					/LOOK AT DEVICE TYPE ENTRY
001630  4200		JMS GETPG	/GET PAGE OF RESIDENCE
001631  3272		DCA PAGAD	/SAVE IT.
001632  4515		JMS I [GETNUM	/GET RELATIVE LOC TO ALTER
001633  5522		JMP I [SYNTAX	/NO NUMBER
001634  4562		GET
001635  0005	P2PAG,	TWOPAG		/IS THIS A 2-PAGE HANDLER?
001636  7710		SPA CLA
001637  1177		TAD [7600
001640  1177		TAD [7600	/ALLOW 200 OR 400 MAXIMUM
001641  7100		CLL
001642  1031		TAD SIZE	/IS THE # TO ALTER TOO LARGE?
001643  7630		SZL CLA
001644  5545		JMP I [BADARG	/I GUESS IT IS
001645  1031		TAD SIZE
001646  1272		TAD PAGAD	/GET ABSOLUTE LOCATION
001647  3272		DCA PAGAD
001650  1316		TAD XSWTCH
001651  7640		SZA CLA		/EXAMINE OR ALTER?
001652  5331		JMP EXAM	/EXAMINE
001653  1021		TAD CHAR	/ALTER
001654  7640		SZA CLA		/CR?
001655  5264		JMP GETVAL	/NO
001656  4333		JMS EXAMSB	/YES, GIVE GUY  OLD VALUE FIRST
001657  1104	ODTL,	TAD ["/		/ODT LIKE
001660  4572		JMS I [TTYOUT
001661  1110		TAD [-100
001662  4567		JMS I [GTEXT
001663  5257		JMP ODTL
001664  4515	GETVAL,	JMS I [GETNUM	/GET NEW CONTENTS
001665  5777		JMP I (TSTEOL	/NO NUMBER
001666  1031		TAD SIZE
001667  6211		CDF 10
001670  3672		DCA I PAGAD	/REPLACE THAT LOC.
001671  5536		JMP I [CONFIG	/AND GET OUT
001672  0000	PAGAD,	0

		/ALTER GROUPNAME,LOC=NEWVALUE
		/ALTER GROUPNAME,LOC
		/EXAMINE GROUPNAME,LOC

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 35






		/SIZE ACTNAM
		/SIZE ACTNAM=VALUE
		/DCB ACTNAM
		/DCB ACTNAM=VALUE
		/CTL ACTNAM
		/CTL ACTNAM=VALUE

001673  1376	SIZCM,	TAD (3		/SIZE COMMAND V3C
001674  1161	DCBCM,	TAD [-1		/EXAMINE DCB WORD
001675  1235	CTLCM,	TAD P2PAG	/EXAMINE CONTROL WORD
001676  3316		DCA PUTAT
001677  1316		TAD PUTAT
001700  3321		DCA LOOKAT
001701  4521		JMS I [TSTNAM	/GET A NAME
001702  4512		JMS I [ACTNAM	/IT MUST BE ACTIVE
001703  4565		JMS I [TEST
001704  7503	MEQL,	-"=;INPDCB
001705  1712
001706  4000		4000;EXAMDCB
001707  1720
001710  0000		0
001711  5522		JMP I [SYNTAX
001712  4515	INPDCB,	JMS I [GETNUM
001713  5536		JMP I [CONFIG	/IGNORE = NOTHING
001714  1031		TAD SIZE
001715  4563		PUT
		XSWTCH,			/0 MEANS ALTER, 1 MEANS EXAMINE
001716  0004	PUTAT,	DCB
001717  5536		JMP I [CONFIG	/THE USER LIVES DANGEROUSLY

001720  4562	EXAMDCB,GET
001721  0004	LOOKAT,	DCB
001722  4341		JMS PUTNUM
001723  1104		TAD ["/
001724  4572		JMS I [TTYOUT
001725  1110		TAD [-100
001726  4567		JMS I [GTEXT
001727  5320		JMP EXAMDCB
001730  5312		JMP INPDCB	/NOW PARSE OFF THE REPLY

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 36






001731  4333	EXAM,	JMS EXAMSB
001732  5536		JMP I [CONFIG

001733  0000	EXAMSB,	0
001734  6211		CDF 10
001735  1672		TAD I PAGAD	/GET CURRENT CONTENTS
001736  6201		CDF 0
001737  4341		JMS PUTNUM	/PRINT IT
001740  5733		JMP I EXAMSB

001741  0000	PUTNUM,	0		/PRINT AN OCTAL NUMBER
001742  3362		DCA PTM
001743  1103		TAD [-4		/4 DIGITS
001744  3363		DCA PKNT
001745  1362	PLOOP,	TAD PTM
001746  7006		RTL
001747  7006		RTL
001750  0125		AND [7
001751  1375		TAD (60
001752  4572		JMS I [TTYOUT
001753  1362		TAD PTM
001754  7006		RTL
001755  7004		RAL
001756  3362		DCA PTM
001757  2363		ISZ PKNT
001760  5345		JMP PLOOP
001761  5741		JMP I PUTNUM
001762  0000	PTM,	0

		PKNT,
001763  0000	TSTNAM,	0
001764  4566		JMS I [GNAME	/COLLECT NAME
001765  1024		TAD NAME1	/IF NO NAME FOUND, GIVE ERROR
001766  7640		SZA CLA
001767  5763		JMP I TSTNAM
001770  4537	NAMERR,	JMS I [PRWD
001771  7716		TEXT	/?NAME/
001772  0115
001773  0500
001774  5536		JMP I [CONFIG
001775  0060
001776  0003
001777  1210
	2000		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 37






		/PRINT FUNCTION TYPES OUT THE STATUS OF BUILD ON COMMAND
		/AN * BESIDE A DEVICE INDICATES THAT IT IS CURRENTLY MARKED
		/FOR INSERTION IN THE SYSTEM BEING BUILT.

		TTY240,
002000  7240	PRINT,	STA
002001  3042		DCA OLDPAG	/SET ILLEGAL OLD PAGE
002002  4542		INIT
002003  2777		ISZ I (LINEUP	/MAKE THINGS LINE UP
002004  4541	PRLUP,	ADVDSC		/ADVANCE TO NEXT DESCRIPTOR
002005  4540		ADVBOT		/ADVANCE PAST A BOOTSTRAP (IF ANY)
002006  5246		JMP DONE	/ALL DONE
002007  4507		JMS I [GETPG	/GET PAGE OF NEW HANDLER
002010  3041		DCA NEWPAG
002011  1041		TAD NEWPAG
002012  7041		CIA
002013  1042		TAD OLDPAG	/COMPARE WITH LAST HANDLER'S PAGE
002014  7650		SNA CLA		/SAME?
002015  5224		JMP PRTPER	/YES
002016  4574		JMS I [CRLF	/NO, GO TO NEXT LINE
002017  1041		TAD NEWPAG
002020  3042		DCA OLDPAG
002021  4234		JMS PGNAME
002022  1200		TAD TTY240
002023  4572		JMS I [TTYOUT
002024  4562	PRTPER,	GET		/GET ACTIVE BIT
002025  0006		ACTIVE
002026  7710		SPA CLA		/IS IT ACTIVE?
002027  1376		TAD ("*-STA	/YES, PRINT *
002030  1200		TAD TTY240	/NO, PRINT SPACE
002031  4572		JMS I [TTYOUT
002032  4326		JMS PNAME	/PRINT PERMANENT NAME
002033  5204		JMP PRLUP

002034  0000	PGNAME,	0
002035  4562		GET
002036  0000		GRPNM1
002037  4775		JMS I (PRINTE	/PRINT GROUP NAME
002040  4562		GET
002041  0001		GRPNM2
002042  4775		JMS I (PRINTE
002043  1374		TAD (":
002044  4572		JMS I [TTYOUT
002045  5634		JMP I PGNAME

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 38






002046  3777	DONE,	DCA I (LINEUP	/NO MORE LINE-UP
002047  1035		TAD DSKG1
002050  7650		SNA CLA
002051  5272		JMP TELCOR
002052  4574		JMS I [CRLF	/TELL GUY ABOUT 'DSK'
002053  4574		JMS I [CRLF
002054  4537		JMS I [PRWD
002055  0423		TEXT	/DSK=/
002056  1375
002057  0000
002060  1035		TAD DSKG1
002061  4775		JMS I (PRINTE
002062  1036		TAD DSKG2
002063  4775		JMS I (PRINTE
002064  1374		TAD (":
002065  4572		JMS I [TTYOUT
002066  1037		TAD DSKP1
002067  4775		JMS I (PRINTE
002070  1040		TAD DSKP2
002071  4775		JMS I (PRINTE
002072  1043	TELCOR,	TAD NEWCOR
002073  7450		SNA
002074  5536		JMP I [CONFIG	/NO SPECIFIED CORE LIMIT
002075  4524		JMS I [ROTL
002076  1373		TAD (6000
002077  3305		DCA CORMSG+3
002100  4574		JMS I [CRLF
002101  4537		JMS I [PRWD
002102  0317	CORMSG,	TEXT	/CORE= /
002103  2205
002104  7540
002105  0000
002106  5536		JMP I [CONFIG

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 39






		/QUICK PRINT

002107  4542	QLIST,	INIT
002110  4541	QLUP,	ADVDSC		/ADVANCE TO NEXT DESCRIPTOR
002111  4540		ADVBOT		/ADVANCE OVER ANY BOOTSTRAP IF NECESSARY
002112  5246		JMP DONE	/GO AWAY WHEN NO MORE
002113  4562		GET
002114  0006		ACTIVE		/GET ACTIVE BIT
002115  7700		SMA CLA		/IS IT ACTIVE?
002116  5310		JMP QLUP	/NO, IGNORE IT
002117  4562		GET		/YES
002120  0005		SYSBIT
002121  7004		RAL
002122  7710		SPA CLA		/IS IT 'SYS'?
002123  4234		JMS PGNAME	/YES, PRINT GROUP NAME TOO
002124  4326		JMS PNAME	/NO, PRINT PERMANENT NAME ONLY
002125  5310		JMP QLUP

		DT,
002126  0000	PNAME,	0
002127  4562		GET
002130  0002		PRMNM1
002131  4775		JMS I (PRINTE
002132  4562		GET
002133  0003		PRMNM2
002134  4775		JMS I (PRINTE
002135  1200		TAD TTY240
002136  4572		JMS I [TTYOUT
002137  5726		JMP I PNAME

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 40






	7760		DCBTBL=7760

002140  4535	WHAT,	JMS I [PRNAME
002141  4537		JMS I [PRWD
002142  7700		TEXT /?/	/FOR WHEN A COMMAND ERROR OCCURS
002143  5536		JMP I [CONFIG


002144  0000	DTYPE,	0		/RETURNS TYPE OF OUTPUT
002145  1372		TAD (DCBTBL-1
002146  3326		DCA DT		/ENTRY AC HAD DEVICE #
002147  6211		CDF 10
002150  1726		TAD I DT	/IF FILE DEVICE, LINK=0
002151  6201		CDF 0
002152  7044		CMA RAL		/ALSO, IF FILE AC=0 ON EXIT
002153  7204		CLA RAL
002154  5744		JMP I DTYPE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 41






002155  0000	WRITCC,	0
002156  1123		TAD [-6		/PUT IN DATA BREAK FILLERS
002157  4506		JMS I [MOVE
002160  6201		CDF 0
002161  2240		K7750
002162  6201		CDF 0
002163  5750		PG7600+200+150
002164  1371		TAD (4200
002165  4502		JMS I [SYS	/WRITE NEW CCB
002166  0550		BLDCCB-200
002167  0037		37
002170  5755		JMP I WRITCC
002171  4200
002172  7757
002173  6000
002174  0272
002175  4622
002176  1012
002177  4704
	2200		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 42






002200  4537	TOOMANY,JMS I [PRWD
002201  7710		TEXT	/?HANDLERS/
002202  0116
002203  0414
002204  0522
002205  2300
002206  5536		JMP I [CONFIG

002207  0000	GOTCHA,	0
002210  3777		DCA I (GOTEM
002211  1607		TAD I GOTCHA
002212  1033		TAD DSCPTR
002213  2207		ISZ GOTCHA
002214  3220		DCA GETEMP
002215  1777		TAD I (GOTEM
002216  3620		DCA I GETEMP
002217  5607		JMP I GOTCHA

002220  0000	GETEMP,	0		/TEMP FOR GOTCHA

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 43






002221  0000	TEST,	0		/TEST CHAR AGAINST ARGUMENTS
002222  1621		TAD I TEST	/PICK UP ARGUMENT FROM LIST
002223  7450		SNA		/0 TERMINATES
002224  5621		JMP I TEST
002225  1021		TAD CHAR	/SEE IF THEY COMPARE =
002226  0376		AND (3777	/COMPARE ONLY LOW ORDER, THUS ALLOWING '4000' TO MEAN '0'
002227  7650		SNA CLA
002230  5234		JMP TSTOVR	/THEY DO..DISPATCH TO TABLE
002231  2221		ISZ TEST
002232  2221		ISZ TEST
002233  5222		JMP TEST+1	/THEY DON'T. KEEP GOING
002234  2221	TSTOVR,	ISZ TEST
002235  1621		TAD I TEST
002236  3022		DCA TEMP
002237  5422		JMP I TEMP

002240  7750	K7750,	7750		/DATA BREAK FILLERS
002241  7751		7751
002242  7752		7752
002243  7753		7753
002244  7754		7754
002245  7755		7755

002246  0000	SYS,	0		/SAVES A FEW WORDS IN SYSTEM CALLS
002247  3257		DCA SYCTL	/SAVE FUNCTION WORD
002250  1646		TAD I SYS
002251  3260		DCA SYBUF	/BUFFER BEING USED
002252  2246		ISZ SYS
002253  1646		TAD I SYS
002254  3261		DCA SYREC	/RECORD #
002255  2246		ISZ SYS		/THERE IS NO ERROR RETURN
		/IF SWAPER SET AND BOOTDV SET, USE SPECIAL BOOT HANDLER HERE
002256  4673	GO,	JMS I SYSENT
002257  0000	SYCTL,	0
002260  0000	SYBUF,	0
002261  0000	SYREC,	0
002262  7610		SKP CLA
002263  5646		JMP I SYS
002264  4537		JMS I [PRWD
002265  2331		TEXT	/SYS ERR/
002266  2340
002267  0522
002270  2200
002271  7402		HLT		/IF USER IS DARING, HIT CONTINUE TO RETRY
002272  5256		JMP GO

002273  7607	SYSENT,	7607

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 44






		/*****************
		/
		/	SYS HANDLER IS 2-PAGES LONG IF LOCATION 7612 IS A 3
		/
		/******************

002274  0000	CLRTBL,	0
002275  1101		TAD [BEGLIN
002276  3010		DCA XR1
002277  1177		TAD [-200	/ZERO OUT 5200-5377
002300  3023		DCA TMP1
002301  3410		DCA I XR1
002302  2023		ISZ TMP1
002303  5301		JMP .-2
002304  5674		JMP I CLRTBL

		/FOR HANDLER ONLY
002305  0000	ORGLIM,	0		/THIS ROUTINE MAKES CERTAIN THAT
002306  3274		DCA CLRTBL	/THE ORIGIN FOR LDABS IS WITHIN
002307  1274		TAD CLRTBL	/THE BOUNDS SPECIFIED BY SIZE
002310  1177		TAD [7600	/AND THE CONTENTS OF HNDPTR
002311  7510		SPA
002312  5333		JMP BADORG	/ORIGIN BELOW 200
002313  7041		CIA
002314  1167		TAD [400	/IS ORIGIN WITHIN UPPER BOUND?
002315  7710		SPA CLA
002316  5333		JMP BADORG
002317  1274		TAD CLRTBL
002320  1177		TAD [7600	/NOW GIVE BACK RELATIVE BUFFER
002321  1032		TAD HNDPTR	/ADDRESS IN FIELD 1
002322  3274		DCA CLRTBL
002323  1274		TAD CLRTBL
002324  0177		AND [7600
002325  1132		TAD [200
002326  7650		SNA CLA
002327  5775		JMP I (NOROOM	/CAN'T 'ORIGIN' INTO PAGE 7600
002330  1274		TAD CLRTBL
002331  6223		CIF CDF 20	/CALLED FROM FIELD 2
002332  5705		JMP I ORGLIM

002333  4537	BADORG,	JMS I [PRWD
002334  7717		TEXT /?ORIGIN/
002335  2211
002336  0711
002337  1600
002340  5774		JMP I (OVROUT

		/SOMEWHERE TEST IF HE GAVE US A 2-PAGE BUT REQ A 1-PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 45






		/	PG7600_0
		/	BLOK66_66
		/	IF OLD SYS WAS 1 PAGE, BLOK66/L_PG7600/L

002341  0000	RECZRO,	0		/READS FIELD 1 CODE, EVEN FOR 12K TD8E
002342  1132		TAD [200
002343  4502		JMS I [SYS	/READ RECORD 0
002344  5400		PG7600
002345  0000		0		/THAT NORMALLY CONTAINS FIELD 1
002346  1373		TAD (210
002347  4502		JMS I [SYS	/READ RECORD 66
002350  0000		BLOK66
002351  0066		66
002352  1045		TAD FLAG2	/DID PREVIOUS SYSTEM HAVE A 2-PAGE HANDLER?
002353  7640		SZA CLA
002354  1177		TAD [-200	/NO
002355  4506		JMS I [MOVE	/YES
002356  6201		CDF 0
002357  5400		PG7600
002360  6211		CDF 10
002361  0000		BLOK66
002362  5741		JMP I RECZRO

002363  4537	NOTNUF,	JMS I [PRWD
002364  7703		TEXT	/?CORE/
002365  1722
002366  0500
002367  5536		JMP I [CONFIG
002373  0210
002374  4726
002375  0730
002376  3777
002377  3147
	2400		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 46






002400  4521	UNLOAD,	JMS I [TSTNAM	/PULL OFF A NAME
002401  4520		JMS I [GRPNAM	/IT HAD BETTER BE A GROUP NAME
002402  4565		JMS I [TEST
002403  7506		-":;UNLPRM
002404  2411
002405  4000		4000;UNLGRP
002406  2423
002407  0000		0
002410  5522		JMP I [SYNTAX

002411  4777	UNLPRM,	JMS I (SAVNAM	/UNLOAD PARTICULAR HANDLER
002412  4521	UNLNAM,	JMS I [TSTNAM
002413  4517		JMS I [BIGNAM
002414  1033		TAD DSCPTR	/DELETE A SINGLE DESCRIPTOR
002415  3336		DCA SAVPTR	/DON(T DELETE HANDLER
002416  1033		TAD DSCPTR	/OR BOOTSTRAP
002417  1143		TAD [HDRSIZ	/NO RELOCATION NECESSARY
002420  3334		DCA LSTPTR
002421  1030		TAD TABLMT
002422  5330		JMP NOMOR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 47






002423  4507	UNLGRP,	JMS I [GETPG	/GET PAGE OF RESIDENCE
002424  3245		DCA TOMOV	/START OF HANDLER
002425  4562		GET
002426  0005		TWOPAG		/IS IT A 1- OR 2- PAGE HANDLER?
002427  7710		SPA CLA
002430  1132		TAD [200	/2 PAGE
002431  1132		TAD [200	/1 PAGE
002432  3353		DCA UNSIZE
002433  1245		TAD TOMOV	/DELETE HANDLER AND MOVE ALL FOLLOWING DOWN
002434  1353		TAD UNSIZE
002435  3243		DCA FROMOV	/GET FIRST LOCATION AFTER HANDLER
002436  1032		TAD HNDPTR	/GET NEXT FREE LOCATION FOR HANDLER
002437  7041		CIA
002440  1243		TAD FROMOV	/GET NUMBER OF LOCS TO MOVE
002441  4506		JMS I [MOVE
002442  6211		CDF 10
002443  0000	FROMOV,	0
002444  6211		CDF 10
002445  0000	TOMOV,	0		/UPDATE POINTERS; SEARCH DESCRIPTORS
002446  1353		TAD UNSIZE	/FOR REFS TO MOVED HANDLERS AND DECREASE
002447  7041		CIA		/THOSE REFS BY -UNSIZE
002450  1032		TAD HNDPTR
002451  3032		DCA HNDPTR	/FREES SOME BUFFER SPACE
002452  1030		TAD TABLMT
002453  3347		DCA OLDTOP	/REMEMBER ORIGINAL TOP OF STACK
002454  7240		STA		/BACK UP OVER GROUP COUNT
002455  1033		TAD DSCPTR
002456  3336		DCA SAVPTR	/REMEMBER THIS LOCATION
002457  1353		TAD UNSIZE
002460  4524		JMS I [ROTL
002461  7041		CIA
002462  3353		DCA UNSIZE
002463  1033		TAD DSCPTR
002464  1143		TAD [HDRSIZ
002465  3334		DCA LSTPTR	/'LSTPTR' POINTS TO FIRST DESCRIPTOR BEING MOVED

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 48






		/COMPRESS THE DESCRIPTORS ABOVE THIS ONE

002466  4541	ADV,	ADVDSC		/ADVANCE TO NEXT DESCRIPTOR
002467  5312		JMP BADV	/ENCOUNTERED A BOOTSTRAP RECORD
002470  5327		JMP NOMORE	/NO MORE, THROUGH
002471  4507	GT,	JMS I [GETPG	/GET PAGE OF THIS DESCRIPTOR
002472  7141		CLL CIA
002473  1245		TAD TOMOV	/COMPARE WITH PAGE OF DELETED HANDLER
002474  7650		SNA CLA
002475  5306		JMP SAMPAG	/THEY'RE THE SAME
002476  7430		SZL		/THEY'RE NOT THE SAME.  WHICH IS HIGHER?
002477  5266		JMP ADV		/IT WAS BELOW HANDLER.  NO SWEAT.
002500  4562		GET		/IT WAS ABOVE HANDLER, HAVE TO ACCOUNT FOR THIS
002501  0006		PAGRES		/POINT TO NEW HANDLER LOCATION
002502  1353		TAD UNSIZE
002503  4563		PUT
002504  0006		PAGRES
002505  5266		JMP ADV		/CONTINUE
002506  1143	SAMPAG,	TAD [HDRSIZ
002507  1033		TAD DSCPTR
002510  3334		DCA LSTPTR	/NOTE LOCATION OF NEXT DESCRIPTOR
002511  5266		JMP ADV
		/ADVANCE PAST BOOTSTRAP OR DELETE IT AS NECESSARY
002512  1033	BADV,	TAD DSCPTR
002513  7041		CIA
002514  1334		TAD LSTPTR
002515  7640		SZA CLA		/IS THIS BOOT PART OF GROUP BEING UNLOADED?
002516  5324		JMP BDV		/NO
002517  1433		TAD I DSCPTR	/YES
002520  7041		CIA
002521  7001		IAC
002522  1033		TAD DSCPTR
002523  3334		DCA LSTPTR	/SET 'LSTPTR' TO BEGIN OF NEXT DESCRIPTOR
002524  4540	BDV,	ADVBOT		/ADVANCE OVER BOOTSTRAP
002525  5327		JMP NOMORE	/DONE
002526  5271		JMP GT		/GO ON TO NEXT DESCRIPTOR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 49






		/ALL DESCRIPTORS FOR THE SAME HANDLER ARE CONSECUTIVE
		/MOVE DOWN DESCRIPTORS

002527  1347	NOMORE,	TAD OLDTOP
002530  7041	NOMOR,	CIA
002531  1334		TAD LSTPTR	/MINUS # OF WORDS TO MOVE
002532  4506		JMS I [MOVE
002533  6201		CDF 0
002534  0000	LSTPTR,	0		/FIRST DESCRIPTOR NOT CONSIDERED
002535  6201		CDF 0
002536  0000	SAVPTR,	0		/POINTS TO INITIAL DESCRIPTOR BEING DELETED
002537  1334		TAD LSTPTR
002540  7041		CIA
002541  1336		TAD SAVPTR	/GET NUMBER OF WORDS DELETED
002542  1030		TAD TABLMT
002543  3030		DCA TABLMT	/UPDATE TABLMT
002544  3430		DCA I TABLMT	/MUST HAVE 0 AT TABLE END SO DON'T THINK IT'S A BOOTSTRAP
002545  4500		JMS I [COMMA
002546  5212		JMP UNLNAM

		OLDTOP,			/ORIGINAL TOP OF DESCRIPTORS
002547  0000	INI,	0
002550  1376		TAD (DSCTAB-HDRSIZ
002551  3033		DCA DSCPTR
002552  5747		JMP I INI

	4542		INIT=JMS I [INI

		/RETURN TO CONFIG IF EOL, OR BACK IN-LINE IF COMMA

		UNSIZE,
002553  0000	COMMA,	0
002554  1021		TAD CHAR
002555  7450		SNA
002556  5536		JMP I [CONFIG
002557  1375		TAD (-",
002560  7650		SNA CLA
002561  5753		JMP I COMMA
002562  5522		JMP I [SYNTAX

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 50






002563  7640	BOOTQ,	SZA CLA		/MAY BE OVERLAID
002564  5370		JMP SAMEE
002565  3774		DCA I (DRECT	/DON'T TOUCH DIRECTORY IF DIDN'T COPY SYS
002566  4477	SAMF,	JMS I [SYSWP
002567  5773		JMP I (BOOT4
002570  4772	SAMEE,	JMS I (SYSCPY	/OR IF OLD DEV=NEW DEV
002571  5366		JMP SAMF
002572  4037
002573  4462
002574  3505
002575  7524
002576  6370
002577  1336
	2600		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 51






002600  0000	LOCSYS,	0
002601  1377		TAD (2331	/"SY"
002602  3024		DCA NAME1
002603  1376		TAD (2300	/"S "
002604  3025		DCA NAME2
002605  3026		DCA NAME3	/V3C
002606  3027		DCA NAME4
002607  4512		JMS I [ACTNAM	/LOOK UP 'SYS'
002610  5600		JMP I LOCSYS

002611  4537	NOSLOT,	JMS I [PRWD
002612  7723		TEXT	/?SLOTS/
002613  1417
002614  2423
002615  0000
002616  5536		JMP I [CONFIG

002617  0000	GOOD,	0
002620  1176		TAD [4207	/RESTORE 7600 TO NORMAL
002621  3577		DCA I [7600
002622  1077		TAD [5000
002623  3476		DCA I [7601
002624  1375		TAD (CDF CIF
002625  3475		DCA I [SA	/SET SA=00200
002626  1132		TAD [200
002627  3774		DCA I (SA+1
002630  3773		DCA I (JSW	/SET JOB STATUS WORD=0
002631  7240		STA
002632  3772		DCA I (DRECT
002633  7346		CLL STA RTL	/-3
002634  1474		TAD I [7612	/FUDGE FOR 12K TD8E
002635  3045		DCA FLAG2	/SET FLAG2=0 IF PREV SYSTEM WAS 2 PAGE
002636  5617		JMP I GOOD

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 52






002637  2263	PACK,	ISZ PROTECT	/OK TO PACK IT?
002640  5244		JMP PACKOK	/YES
002641  7240		STA
002642  3263		DCA PROTECT	/INHIBIT OTHER PACKS ALSO
002643  5323		JMP GNAME2
002644  2264	PACKOK,	ISZ SWIT	/PACK LEFT OR RIGHT
002645  5253		JMP RIGHT
002646  1021		TAD CHAR
002647  0113		AND [77
002650  4524		JMS I [ROTL	/ROTATE 6 LEFT
002651  3422		DCA I TEMP	/STORE THE CHARACTER
002652  5323		JMP GNAME2
002653  7240	RIGHT,	CLA CMA		/RESET FLIP FLOP
002654  3264		DCA SWIT
002655  1021		TAD CHAR
002656  0113		AND [77
002657  1422		TAD I TEMP
002660  3422		DCA I TEMP
002661  2022		ISZ TEMP	/POINT TO NEXT WORD
002662  5323		JMP GNAME2
002663  0000	PROTECT,0		/-1 MEANS DON'T ACCEPT CHAR, IGNORE IT
002664  0000	SWIT,	0


002665  0000	ACTNAM,	0		/THEY MUST BE ACTIVE
002666  7201		CLA IAC
002667  4771		JMS I (PRMNAM
002670  5665		JMP I ACTNAM

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 53






002671  7240	DOT,	CLA CMA
002672  3264		DCA SWIT
002673  1370		TAD (-3		/NOW ALLOW ONLY A 2-CHAR EXTENSION
002674  3263		DCA PROTECT
002675  1367		TAD (NAME4
002676  3022		DCA TEMP
002677  2302		ISZ DOTCNT	/HAD WE SEEN A DOT BEFORE?
002700  5350		JMP SYNTAX	/YES
002701  5323		JMP GNAME2	/NO

002702  7777	DOTCNT,	-1		/-1 MEANS HAVEN'T SEEN A DOT

002703  3021	EOL,	DCA CHAR
002704  5705		JMP I GNAME

002705  0000	GNAME,	0		/COLLECT A WORD IN NAME1-NAME4
					/LEAVE DELIMITING CHAR IN 'CHAR'
002706  6201		CDF 0
002707  1073		TAD [-7		/MAX 6 CHARACTERS
002710  3263		DCA PROTECT
002711  3024		DCA NAME1	/FIRST CLEAR OUT COLLECTION AREA
002712  3025		DCA NAME2
002713  3026		DCA NAME3
002714  3027		DCA NAME4
002715  7240		CLA CMA
002716  3264		DCA SWIT	/L-R PACKING SWITCH
002717  7240		STA
002720  3302		DCA DOTCNT	/ALLOW ONLY ONE DOT PER NAME
002721  1366		TAD (NAME1
002722  3022		DCA TEMP
002723  4550	GNAME2,	GETCHR
002724  7450		SNA		/A 0 ENDS THE SEARCH
002725  5303		JMP EOL
002726  3021		DCA CHAR
002727  1021		TAD CHAR
002730  1365		TAD (-"A	/GET ONLY A-Z OR 0-9
002731  7100		CLL
002732  1373		TAD ("A-"Z-1
002733  7620		SNL CLA		/IS IT A-Z?
002734  5237		JMP PACK	/YES..PACK IT AWAY
002735  1021		TAD CHAR
002736  1364		TAD (-"0
002737  7100		CLL
002740  1363		TAD ("0-"9-1
002741  7620		SNL CLA
002742  5237		JMP PACK	/FOUND 0-9
002743  4565		JMS I [TEST	/TEST FOR DELIMITING CHARS
002744  7522		-".;DOT		/ADVANCE POINTERS
002745  2671
002746  0000		0

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 53-1

002747  5705		JMP I GNAME

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 54






002750  4537	SYNTAX,	JMS I [PRWD
002751  7723		TEXT /?SYNTAX/
002752  3116
002753  2401
002754  3000
002755  5536		JMP I [CONFIG

002756  4537	DSKBAD,	JMS I [PRWD
002757  7704		TEXT	/?DSK/
002760  2313
002761  0000
002762  5536		JMP I [CONFIG

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 55






	5260		SRES=BEGLIN+60	/RESIDENCY TABLE
	5300		SDCB=BEGLIN+100	/DCB
	5320		SHND=BEGLIN+120	/SLOT ASSSIGNED?
	5340		SNAME=BEGLIN+140/NAME
	5360		SBUFF=BEGLIN+160/ADDRESS OF HANDLER


		/	SYSTEM TABLES:

		/THOSE IN USR:

		/PDNT	PERMANENT DEVICE NAME TABLE	(SNAME)
		/	POINTED TO BY LOCATION 10036 IN USR
		/	CONTAIN HASH CODE OF DEVICE NAME
		/	ADD TWO WORDS OF NAME TOGETHER AND TURN ON BIT 0
		/	IF SECOND WORD WAS NON-ZERO
		/	AN ENTRY OF 0 MEANS THERE IS NO DEVICE FOR THAT ENTRY

		/DHIT	DEVICE HANDLER INFORMATION TABLE	(SHND)
		/	POINTED TO BY LOCATION 10037 IN USR
		/	BIT 0		=1 IF THIS IS A TWO-PAGE HANDLER
		/	BITS 1-4	RELATIVE BLOCK LOCATION OF HANDLER ON SYSTEM DEVICE
		/			(BLOCK SLOT).  ADD 15 TO GET ACTUAL BLOCK #.
		/	BITS 5-11	RELATIVE ENTRY POINT OF HANDLER


		/DHRT	DEVICE HANDLER RESIDENCY TABLE	(SRES)
		/	IN LOCATIONS 17647-17665
		/	ACTUAL ENTRY POINT OF HANDLER
		/	WE ONLY CARE ABOUT IT IF THE HANDLER IS RESIDENT.
		/	OTHERWISE IT'S ZERO.
		/	THE SYSTEM HANDLER AND ALL HANDLERS CORESIDENT WITH
		/	IT ARE ALWAYS RESIDENT IN CORE AND HAVE THIS ENTRY NON-0.


		/DCWT	DEVICE CONTROL WORD TABLE	(SDCB)
		/	RESIDES IN LOCATIONS 17760-17776
		/	BIT 0		1 IF DEVICE IS FILE STRUCTURED
		/	BIT 1		1 IF THE DEVICE IS READ ONLY
		/	BIT 2		1 IF THE DEVICE IS WRITE-ONLY
		/	BITS 3-8	PHYSICAL DEVICE TYPE
		/	BITS 9-11	DIRECTORY BLOCK # (WE SET TO 0)

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 56






		/PRE-ASSIGNED DEVICE TYPES

		/0	TELETYPE
		/1	HIGH SPEED PAPER TAPE READER
		/2	HIGH SPEED PAPER TAPE PUNCH
		/3	CARD READER
		/4	LINE PRINTER (ANY TYPE)
		/5	RK8 DISK
		/6	RF08 (1 PLATTER)
		/7	RF08 (2 PLATTERS)
		/10	RF08 (3 PLATTERS)
		/11	RF08 (4 PLATTERS)
		/12	DF32 (1 PLATTER)
		/13	DF32 (2 PLATTERS)
		/14	DF32 (3 PLATTERS)
		/15	DF32 (4 PLATTERS)
		/16	TC08 DECTAPE
		/17	LINCTAPE
		/20	TM8E MAGTAPE
		/21	TD8E DECTAPE (12K OR ROM)
		/22	BAT:
		/23	RK8E DISK
		/27	TU60 CASSETTES
		/30	VR12 (PDP-12 SCOPE)
002763  7766
002764  7520
002765  7477
002766  0024
002767  0027
002770  7775
002771  0662
002772  3505
002773  7746
002774  7745
002775  6203
002776  2300
002777  2331
	3000		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 57






003000  1377	BOOT2A,	TAD (15
003001  3034		DCA SLOT	/START ASSIGNING AT BLOCK SLOT 16 (16-25)
003002  1376		TAD (-17	/ALLOW 16 ACTIVE HANDLERS NOT COUNTING DSK
003003  3020		DCA COUNT
003004  4775		JMS I (CLRTBL	/CLEAR OUT IN-CORE TABLES
003005  1374		TAD (SHND+1	/ASSIGN SLOTS, COUNT ACTIVE HANDLERS
003006  3010		DCA XR1		/XR1 POINTS TO SLOT TABLE (DHIT)
003007  1373		TAD (SDCB+1
003010  3011		DCA XR2		/XR2 POINTS TO DCB TABLE
003011  1372		TAD (SNAME+1
003012  3012		DCA XR3		/XR3 POINTS TO PERMANENT DEVICE NAME TABLE
003013  1371		TAD (SBUFF+1
003014  3013		DCA XR4		/XR4 POINTS TO HANDLER BUFFER ADDRESSES
003015  1370		TAD (SRES+1
003016  3014		DCA XR5		/XR5 POINTS TO RESIDENCY TABLE
003017  7201		CLA IAC		/??
003020  3042		DCA OLDPAG	/SET 'OLDPAG' TO A RIDICULOUS VALUE
003021  4542		INIT
003022  4541	SLTLUP,	ADVDSC		/GO TO NEXT DESCRIPTOR
003023  4540		ADVBOT		/ADVANCING OVER ANY BOOTSTRAPS
003024  5234		JMP BOOT2X	/ALL DONE CREATING INTERNAL COPIES OF TABLES
003025  4562		GET
003026  0006		ACTIVE
003027  7700		SMA CLA		/IS IT ACTIVE?
003030  5326		JMP INACT	/NO
003031  2020		ISZ COUNT	/YES, UPDATE COUNT
003032  5256		JMP ACTIV
003033  5767		JMP I (TOOMANY	/TOO MANY ACTIVE HANDLERS

		BOOT2X,/	TAD I (SNAME	/SEE IF SYS WAS SPECIFIED
		/	DCA SAMSYS	/0 IF DIDN'T SPECIFY NEW SYS
		/	TAD SAMSYS
		/	SZA CLA
		/	JMP CHKDSK
		/	CDF 10
		/	TAD I (7760	/DIDN'T SPECIFY SYS SO USE CURRENT SYS
		/	CDF 0
		/	DCA I (SDCB
		/	TAD (7607
		/	DCA I (SRES
		/CHKDSK,	TAD DSKG1	/WAS DSK SPECIFIED?
		/	SZA CLA
		/	JMP I (BOOT3	/YES, ALREADY SET UP
		/	TAD I (SDCB
		/	DCA I (SDCB+1
		/	TAD (7607
		/	DCA I (SRES+1
		/	DCA I (SBUFF+1
003034  5766		JMP I (BOOT3

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 58






003035  0000	CHKRES,	0
003036  4507		JMS I [GETPG	/GET PAGE OF RESIDENCE
003037  3041		DCA NEWPAG
003040  1041		TAD NEWPAG
003041  1042		TAD OLDPAG
003042  7650		SNA CLA		/SAME OR PREVIOUS PAGE?
003043  5635		JMP I CHKRES	/YES, SAME PAGE
003044  2235		ISZ CHKRES
003045  4562		GET		/NO, A NEW PAGE, NEEDS NEW SLOT, ETC.
003046  0005		CORES
003047  7006		RTL		/GET CORES BIT
003050  7710		SPA CLA		/IS THIS ALLOWED TO START A NEW GROUP?
003051  5765		JMP I (TWOSYS	/NO, IT MAY ONLY BE CORESIDENT WITH SOMETHING EARLIER
003052  1041		TAD NEWPAG	/YES
003053  7041		CIA
003054  3042		DCA OLDPAG	/GOT NEW 'OLDPAG'
003055  5635		JMP I CHKRES

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 59






003056  4235	ACTIV,	JMS CHKRES
003057  5343		JMP SAMPG
003060  4562		GET
003061  0005		SYSBIT
003062  7004		RAL
003063  7710		SPA CLA		/IS IT A 'SYS' HANDLER?
003064  5764		JMP I (SETSY	/YES
003065  4763		JMS I (GETSLOT	/NO
003066  4762		JMS I (SETSLT	/SET BLOCK SLOT
003067  3410		DCA I XR1
003070  1041		TAD NEWPAG
003071  3413	HNDLOC,	DCA I XR4	/STORE AWAY ADDRESS OF HANDLER (OR 0 IF PREVIOUSLY USED)
003072  4761		JMS I (GETDCB
003073  3411		DCA I XR2	/SET DCB
003074  4562		GET		/HASH CODE NAME
003075  0003		PRMNM2
003076  3022		DCA TEMP	/SAVE 2ND WORD
003077  4562		GET
003100  0002		PRMNM1
003101  1022		TAD TEMP	/ADD 2 WORDS
003102  3023		DCA TMP1	/SAVE SUM
003103  1022		TAD TEMP
003104  7650		SNA CLA		/WAS 2ND WORD 0?
003105  5312		JMP NO4C	/YES
003106  1023		TAD TMP1	/NO, FORCE BIT 0 ON
003107  7004		RAL
003110  7130		STL RAR
003111  3023		DCA TMP1
003112  1023	NO4C,	TAD TMP1	/TAKE CODED NAME
003113  3412		DCA I XR3	/SET PERMANENT NAME TABLE
003114  4562		GET
003115  0005		CORES
003116  7006		RTL		/GET CORESIDENT BIT
003117  7700		SMA CLA		/IS IT RESIDENT?
003120  5325		JMP NORE	/NO
003121  4562		GET		/YES
003122  0005		ENTPT		/GET RELATIVE ENTRY POINT
003123  0105		AND [177
003124  1177		TAD [7600	/CORESIDENT ENTRY POINTS TO SYS MUST BE ON PAGE 7600
003125  3414	NORE,	DCA I XR5	/SET RESIDENCY TABLE
003126  4562	INACT,	GET		/BUT MAYBE IT'S 'DSK'
003127  0006		DSKBIT
003130  7006		RTL
003131  7620		SNL CLA		/IS IT DSK?
003132  5222		JMP SLTLUP	/NO, IT'S TO BE IGNORED
003133  4760		JMS I (SLOTDSK	/YES ASSIGN 'DSK''S LOCATION SLOT
003134  4562		GET		/GET RID OF DSK BIT
003135  0006		DSKBIT
003136  7006		RTL
003137  7112		CLL RTR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 59-1

003140  4563		PUT
003141  0006		DSKBIT
003142  5222		JMP SLTLUP	/REITERATE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 60






003143  1034	SAMPG,	TAD SLOT	/ALREADY HAVE SLOT
003144  4762		JMS I (SETSLT
003145  3410		DCA I XR1
003146  5271		JMP HNDLOC

		GOTEM,
003147  0000	CORE,	0
003150  1561		TAD I [7777
003151  0072		AND [70
003152  7112		CLL RTR
003153  7010		RAR
003154  7450		SNA
003155  4757		JMS I (RELCOR
003156  5747		JMP I CORE
003157  0326
003160  3262
003161  3242
003162  3331
003163  3200
003164  3311
003165  1224
003166  3506
003167  2200
003170  5261
003171  5361
003172  5341
003173  5301
003174  5321
003175  2274
003176  7761
003177  0015
	3200		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 61






		/	STEPS IN BOOTSTRAPPING:

		/1.	ASSIGN DSK, IF SPECIFIED, MAKE SURE NFS		[BOOT2]
		/2.	ASSIGN SLOTS					[BOOT2A]
		/3.	GIVE ERROR IF TOO MANY ACTIVE OR TOO MANY SLOTS	[BOOT2A]
		/4.	BUILD INTERNAL COPIES OF DCB, SLOT, NAME, RES	[BOOT2A]
		/5.	ALSO BUILD HANDLER ADDRESS TABLE, CONTAINS	[BOOT2A]
		/	HANDLER ADDRESS IF NOT PREVIOUSLY WRITTEN OUT
		/6.	COMPARE DCB'S OF NEW AND OLD SYSTEM, IF DIFF,	[BOOT3]
		/	COPY SYSTEM OVER.  LEAVE NEW SYSTEM HANDLER
		/	IN CORE
		/7.	ASK GUY ABOUT NEW DIRECTORY			[BOOT4]
		/8.	READ IN USR, UPDATE ITS TABLES, WRITE OUT USR	[BOOTC]
		/	NAME TABLE, DHIT (SLOT, 2-PAGE,ENTPT)
		/9.	READ IN CURRENT PAGE 7600 IMAGES		[BOOT5]
		/	SET UP AS FOLLOWS:
		/	PG7600/L:	BOOT
		/	PG7600/H:	07600 IMAGE
		/	BLOK66/L:	17600 IMAGE
		/	BLOK66/U:	27600 IMAGE
		/	THIS IS ACCOMPLISHED VIA:
		/	PG7600_0
		/	BLOK66_66
		/	IF OLD SYS WAS 1 PAGE, BLOK66/L_PG7600/L
		/10.	MOVE DCB AND RESIDENCY TABLES INTO 17600 IMAGE	[BOOT6]
		/11.	MOVE BOOTSTRAP INTO PAGE 7600 IMAGES (2 PLACES)	[BOOT7]
		/12.	WRITE OUT HANDLERS				[BOOT8]
		/13.	ZERO DIRECTORY IF REQUESTED			[BOOTD]
		/14.	PUT SYS, DATA BREAK, CORE LIM IN 07600 IMAGE	[BOOTE]
		/15.	WRITE 7600 IMAGES BACK OUT ONTO TAPE		[BOOTF]
		/	IF NEW SYS IS 1-PAGE, PG7600/L_BLOK66/L
		/	0_PG7600
		/	66_BLOK66
		/16.	READ BACK PAGE 7600 IMAGES.  MOVE IN FIELD 1 STUFF
		/	EXCEPT FOR CD AREA, RESTORE TODAY'S DATE,
		/	BRANCH TO 7600

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 62






003200  0000	GETSLOT,0
003201  2034		ISZ SLOT	/USE NEXT SLOT
003202  1034		TAD SLOT
003203  1377		TAD (-26
003204  7650		SNA CLA
003205  5776		JMP I (NOSLOT
003206  1034		TAD SLOT
003207  5600		JMP I GETSLOT

003210  2775	BOOT,	ISZ I (RETSW	/***?
003211  7201		CLA IAC
003212  3774		DCA I (BD	/DISABLE 'BUILD' CMD
		/SEE IF ARGUMENT WAS GIVEN; TREAT IT AS BOOT DEVICE,
		/SAVE HANDLER ADDRESS (MUST BE AN ACTIVE HANDLER)
003213  4773		JMS I (LOCSYS	/IN CASE DSK=SYS
		/	JMS I [GETNUM
		/	NOP
		/	TAD SIZE
		/	DCA BOOTDV	/CHECK THAT # IS GT 7600
003214  1035	BOOT2,	TAD DSKG1	/FIND OUT ABOUT 'DSK'
003215  7450		SNA
003216  5227		JMP GOTD	/DSK=SYS
003217  3002		DCA SAV1
003220  1036		TAD DSKG2
003221  3003		DCA SAV2
003222  1037		TAD DSKP1
003223  3024		DCA NAME1
003224  1040		TAD DSKP2
003225  3025		DCA NAME2
003226  4517		JMS I [BIGNAM	/FIND IT IN TABLES
003227  4562	GOTD,	GET
003230  0004		DCB
003231  7700		SMA CLA		/IS IT FILE-STRUCTURED?
003232  5772		JMP I (DSKBAD	/NO
003233  4562		GET		/YES
003234  0006		DSKBIT
003235  7006		RTL
003236  7132		STL RTR		/TURN ON BIT 1
003237  4563		PUT
003240  0006		DSKBIT
003241  5771		JMP I (BOOT2A

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 63






003242  0000	GETDCB,	0
003243  4562		GET
003244  0006		PLATNUM
003245  4524		JMS I [ROTL
003246  0125		AND [7		/GET # OF PLATTERS
003247  7450		SNA
003250  7001		IAC		/0 MEANS 1
003251  1161		TAD [-1		/SUBTRACT 1
003252  7106		CLL RTL
003253  7004		RAL		/TIMES 10
003254  3023		DCA TMP1
003255  4562		GET
003256  0004		DCB
003257  0071		AND [7770	/MASK OFF USEFUL INFO
003260  1023		TAD TMP1
003261  5642		JMP I GETDCB

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 64






003262  0000	SLOTDSK,0
003263  4770		JMS I (CHKRES
003264  5326		JMP SMPG
003265  1041		TAD NEWPAG
003266  3767		DCA I (SBUFF+1
003267  4200		JMS GETSLOT
003270  4331		JMS SETSLT
003271  3766	B,	DCA I (SHND+1
003272  4242		JMS GETDCB
003273  3765		DCA I (SDCB+1
003274  1364		TAD (5723	/'DSK' HASHED
003275  3763		DCA I (SNAME+1
003276  4562		GET
003277  0005		SYSBIT
003300  7006		RTL		/SYSBIT TO L, CORES BIT TO AC0
003301  7720		SNL SMA CLA	/IS IT EITHER SYS OR CORESIDENT WITH SYS?
003302  5307		JMP NORE2	/NO, SO IT'S NOT CORE-RESIDENT
003303  4562		GET		/YES, RESIDENT AT ALL TIMES IN 07600
003304  0005		ENTPT
003305  0105		AND [177
003306  1177		TAD [7600
003307  3762	NORE2,	DCA I (SRES+1
003310  5662		JMP I SLOTDSK

003311  1041	SETSY,	TAD NEWPAG
003312  3761		DCA I (SBUFF
		/	JMS SETSLT	/NO BLOCK SLOT
003313  3760		DCA I (SHND
003314  4242		JMS GETDCB
003315  3757		DCA I (SDCB	/SET DCB
003316  1756		TAD I (SNAME
003317  7640		SZA CLA
003320  5755		JMP I (TWOSYS
003321  1354		TAD (4631	/HASH CODING FOR 'SYS'
003322  3756		DCA I (SNAME
		/CHECK THAT NAME IS 'SYS'
003323  1070		TAD [7607
003324  3753		DCA I (SRES
		/CHECK REL ENTRY PT IS 7
003325  5752		JMP I (INACT

003326  1034	SMPG,	TAD SLOT
003327  4331		JMS SETSLT
003330  5271		JMP B

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 65






003331  0000	SETSLT,	0
003332  7450		SNA
003333  5336		JMP .+3
003334  1067		TAD [-15
003335  4514		JMS I [ROTR
003336  3023		DCA TMP1
003337  4562		GET		/
003340  0005		CORES		/
003341  7006		RTL		/
003342  7730		SPA SZL CLA	/
003343  5731		JMP I SETSLT	/SYS &CORES HANDLERS GET 0 ENTRY (UNFORTUNATELY)
003344  4562		GET
003345  0005		ENTPT
003346  0351		AND (4177
003347  1023		TAD TMP1
003350  5731		JMP I SETSLT


003351  4177
003352  3126
003353  5260
003354  4631
003355  1224
003356  5340
003357  5300
003360  5320
003361  5360
003362  5261
003363  5341
003364  5723
003365  5301
003366  5321
003367  5361
003370  3035
003371  3000
003372  2756
003373  2600
003374  0302
003375  5165
003376  2611
003377  7752
	3400		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 66






	0013		USRBLK=13	/BLOCK OF USR ON SYSTEM DEVICE
	0036		USRNPT=36	/POINTS TO USR PTR TO PERMANENT DEVICE NAME TABLE
	0037		USRHPT=37	/POINTS TO USR PTR TO DEVICE HANDLER INFORMATION TABLE

003400  1132	BOOTC,	TAD [200	/READ FIRST BLOCK OF USR
003401  4502		JMS I [SYS
003402  5400		BUFFER		/INTO BUFFER
003403  0013		USRBLK
003404  1466		TAD I [BUFFER+USRNPT	/GET POINTER TO NAME TABLE
003405  1077		TAD [BUFFER-400	/ADD IN OFFSET FOR RELOCATION
003406  3223		DCA T1AD	/ASSUME BOTH TABLES OCCUR IN THE SECOND
003407  1465		TAD I [BUFFER+USRHPT	/BLOCK OF THE USR
003410  1077		TAD [BUFFER-400
003411  3231		DCA T2AD	/GET POINTER TO DHIT
003412  1167		TAD [400	/READ BLOCKS 2 AND 3 OF USR
003413  4502		JMS I [SYS	/INTO BUFFER,BINARY
003414  5400		BUFFER
003415  0014		USRBLK+1
003416  1064		TAD [-17
003417  4506		JMS I [MOVE	/MOVE IN PERMANENT DEVICE NAME TABLE
003420  6201		CDF 0
003421  5340		SNAME
003422  6201		CDF 0
003423  7402	T1AD,	HLT
		/	TAD SAMSYS	/WAS SYS SPECIFIED?
		/	SZA CLA
		/	JMP CHKD2	/YES
		/	TAD I T2AD	/NO, USE CURRENT SYS INFO
		/	DCA I (SHND
		/CHKD2,	TAD DSKG1
		/	SZA CLA		/WAS DSK SPECIFIED?
		/	JMP MVSHND	/YES
		/	TAD I T2AD	/MAKE SAME AS SYS
		/	DCA I (SHND+1
003424  1064	MVSHND,	TAD [-17	/NOW PUT IN SLOT WORDS (DHIT)
003425  4506		JMS I [MOVE
003426  6201		CDF 0
003427  5320		SHND
003430  6201		CDF 0
		TMP2,
003431  7402	T2AD,	HLT
003432  1106		TAD [4400	/RE-WRITE USR
003433  4502		JMS I [SYS
003434  5400	L5400,	BUFFER
003435  0014		USRBLK+1
003436  5463		JMP I [BOOT5
			IFNZRO BUFFER-5400 <ERRRR,XX>

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 67






003437  1305	BOOTD,	TAD DRECT	/WANT NEW DIRECTORY?
003440  7650	SNACLA,	SNA CLA
003441  5246		JMP BOOTE
003442  1234		TAD L5400	/YEP. WRITE ONE
003443  4502		JMS I [SYS
003444  4157		DPROPR
003445  0001		1
003446  1043	BOOTE,	TAD NEWCOR
003447  7104		CLL RAL
003450  7006		RTL
003451  1047		TAD SAVHID	/V3D SET NEW H.O. DATE WORD
003452  3561		DCA I [7777	/SET UP NEW CORE LIMIT
003453  1357		TAD SYSLOC	/MOVE IN FRESH COPY OF SYS HANDLER
003454  1125		TAD [7
003455  3261		DCA SYSL2
003456  1062		TAD [7607-7743-1
003457  4506		JMS I [MOVE
003460  6211		CDF 10
003461  7402	SYSL2,	HLT
003462  6201		CDF 0
003463  7607		7607
003464  1177		TAD [-200	/PUT SYS HANDLER INTO REC 0 BUFF. ???
003465  4506		JMS I [MOVE
003466  6201		CDF 0
003467  7600		7600
003470  6201		CDF 0
003471  5600		PG7600+200	/RESIDENT F0 CODE
003472  4777		JMS I (WRITCC	/WRITE CCB AND DATA BREAK FILLERS
003473  1132		TAD [200
003474  1357		TAD SYSLOC	/MOVE IN COPY OF 27600 AGAIN
003475  3301		DCA SYSL3
003476  1177		TAD [-200
003477  4506		JMS I [MOVE
003500  6211		CDF 10
003501  7402	SYSL3,	HLT
003502  6211		CDF 10
003503  0200		BLOK66+200
003504  5776		JMP I (BOOTF

003505  7777	DRECT,	-1		/1 MEANS WRITE A ZERO DIRECTORY
					/0 MEANS DON'T TOUCH DIRECTORY
					/-1 MEANS ASK GUY FOR OPTION

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 68






		/SEE IF NEW SYSTEM HAS SAME DCB AS CURRENT SYSTEM
		/THIS MAY WELL CAUSE EXTRA I/O WHEN GOING FROM RF08=K TO RF08=M

003506  6211	BOOT3,	CDF 10
003507  1775		TAD I (DATEWD
003510  3044		DCA SAVDAT	/SAVE TODAY'S DATE FOR FUTURE REFERENCE
003511  1774		TAD I (DCBTBL	/GET DCB OF CURRENT SYSTEM
003512  6201		CDF 0
003513  0071		AND [7770
003514  3231		DCA TMP2
003515  4773		JMS I (PATCH	/V3D
003516  1361		TAD SAVLOC	/DON'T COPY IF DID 'BUILD'
003517  7650		SNA CLA		/WAS THE 'BU' COMMAND USED?
003520  1071		TAD [-10	/NO, USE 'SZA CLA'
003521  1240		TAD SNACLA	/YES, USE 'SNA CLA'
003522  3772		DCA I (BOOTQ
003523  4330		JMS SETUPSYS
003524  1046		TAD SYSDCB
003525  7041		CIA
003526  1231		TAD TMP2
003527  5772		JMP I (BOOTQ

		/NOTE: THIS PROCEDURE DOESN'T COPY BOOTSTRAP IF NEW DEV=OLD DEV.
		/	THEREFORE YOU CAN'T CHANGE BOOTSTRAPS
		/	CHECK ON AFFECT FOR TD8E/ROM INTERACTION

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 69






003530  0000	SETUPSYS,0
003531  3361		DCA SAVLOC
003532  1361		TAD SAVLOC
003533  3771		DCA I (SAVLC
003534  4770		JMS I (LOCSYS
003535  4507		JMS I [GETPG	/GET PAGE OF SYS HANDLER
003536  3357		DCA SYSLOC	/PAGE OF START OF NEW SYSTEM HANDLER
003537  4767		JMS I (GETDCB
003540  3046		DCA SYSDCB
003541  4766		JMS I (GETLEN
003542  4562		GET
003543  0005		TWOPAG
003544  3765		DCA I (SYSSIZ
003545  1765		TAD I (SYSSIZ
003546  7700		SMA CLA		/IS IT 1- OR 2-PAGES?
003547  5354		JMP ONEPG	/GUESS WHAT THIS MEANS [HINT LOOK AT LABEL]
003550  7240		STA
003551  1764		TAD I (AMTCOR
003552  7650		SNA CLA
003553  5763		JMP I (NOTNUF	/WE CAN'T RUN IN 8 K
003554  1160	ONEPG,	TAD [-400
003555  4506		JMS I [MOVE
003556  6211		CDF 10
003557  7402	SYSLOC,	HLT		/MOVE SYSTEM HANDLER
003560  6211		CDF 10
003561  0000	SAVLOC,	0		/TO 10000-10377
003562  5730		JMP I SETUPSYS
003563  2363
003564  5067
003565  4273
003566  4132
003567  3242
003570  2600
003571  5070
003572  2563
003573  4552
003574  7760
003575  7666
003576  4322
003577  2155
	3600		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 70






003600  0000	FIRST,	0		/SUBROUTINE FOR LDABS IN FIELD 2
003601  1213		TAD KLUD
003602  3214		DCA NEWLIM
003603  6223		CIF CDF 20
003604  5600		JMP I FIRST

		/0:	LOADING OS/8
		/-2:	LOADING HEADER OF HANDLER
		/-1:	LOADING HANDLER

003605  6221	HND,	CDF 20		/DATA FIELD 2
003606  1777		TAD I (ORIGIN
003607  3213		DCA KLUD
003610  1030		TAD TABLMT
003611  6223		CIF CDF 20		/BACK TO FIELD 2
003612  5776		JMP I (ORI

003613  0000	KLUD,	0
003614  0000	NEWLIM,	0		/NEW END OF DESCRIPTORS


003615  7240	OK,	STA		/NOW USE ORIGIN TO TELL US HOW BIG A
003616  6221		CDF 20
003617  1777		TAD I (ORIGIN	/HANDLER WAS LOADED
003620  6201		CDF 00		/BACK TO OUR FIELD
003621  0177		AND [7600
003622  1132		TAD [200	/REMEMBER THAT ORIGIN IS ONE GREATER
003623  3032		DCA HNDPTR	/THAN ACTUAL LAST LOCATION.
					/BETTER TO USE 2-PAGE BIT
003624  1214		TAD NEWLIM
003625  3030		DCA TABLMT	/SET NEW TABLE TOP
003626  3430		DCA I TABLMT	/NEED 0 AT END
003627  4500		JMS I [COMMA
003630  5775		JMP I (LOAD



003631  6212	NMER,	CIF 10		/V3C
003632  4532		JMS I [200	/DISMISS USR FROM CORE
003633  0011		11
003634  5774		JMP I (NAMERR


/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 71






003635  0000	IOPEN,	0		/PREPARE TO READ INPUT
003636  7240		CLA CMA
003637  3773		DCA I (CHCNT
003640  1772		TAD I (JMPX	/RESTORE SWITCH
003641  3771		DCA I (JMPGET
003642  1770		TAD I (FILPTR	/RESULTS OF LOOKUP
003643  3767		DCA I (RECNO
003644  3766		DCA I (REOF
003645  1365		TAD (CDF 0
003646  6221		CDF 20		/OFF TO FIELD 2
003647  3764		DCA I (XFIELD	/SETUP LDABS FOR FIELD 0
003650  6201		CDF 00		/BACK TO FIELD 0
003651  5635		JMP I IOPEN

003652  0000	TTYIN,	0		/TTY INPUT ROUTINE
003653  6031		KSF
003654  5253		JMP .-1
003655  6036		KRB
003656  7450		SNA		/LOW LEVEL BLANK IGNORE
003657  5253		JMP TTYIN+1
003660  0105		AND [177	/HANDLE PARITY
003661  1363		TAD (-140
003662  7500		SMA
003663  1061		TAD [-40
003664  1362		TAD (340
003665  3021		DCA CHAR
003666  5652		JMP I TTYIN
003762  0340
003763  7640
003764  0451
003765  6201
003766  5161
003767  5107
003770  1057
003771  5121
003772  5100
003773  5162
003774  1770
003775  1071
003776  0472
003777  0556
	4000		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 72







		/BLOCK 0 OF DEVICE CONTAINS INITIAL IMAGE
		/OF 17600 FOLLOWED BY 07600

		/17600-17646	CD AREA	INITIALLY CONTAINS BOOTSTRAP
		/17647-17665	RESIDENCY TABLE
		/17666		DATE
		/17667-17677	PART OF OS/8 KBM
		/17700-17740	PART OF OS/8 USR
		/17741-17757	USER DEVICE NAME TABLE/ODT
		/17760-17776	CONTROL WORD TABLE (DCB)
		/17777		UNUSED

		/07600-07606	PART OF OS/8 CODE
		/07607-07743	SYSTEM HANDLER
		/07744-07745	STARTING ADDRESS
		/07746		JOB STATUS WORD (JSW)
		/07747		MUST BE 0 (SOFSET)
		/07750-07755	DATA BREAK LOCATIONS RESERVED FOR HARDWARE
		/07756-07775	KBM AND ODT
		/07776		MUST BE 0 (SBLOCK)
		/07777		SOFTWARE CORE SIZE, BATCH FLAGS

		/IF SYSTEM HANDLER IS TWO PAGES LONG, THEN WE HAVE INSTEAD:

		/BLOCK 66 (LOWER) CONTAINS 17600 IMAGE
		/BLOCK 66 (UPPER) CONTAINS 27600 IMAGE (MUST END WITH 4 ZERO'S)
		/BLOCK 0  (LOWER) CONTAINS BOOTSTRAP
		/BLOCK 0  (UPPER) CONTAINS 07600 IMAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 73






	4000		*4000
004000  0000	DSCADV,	0		/ADVANCE TO NEXT DESCRIPTOR
					/RETURN 2 MEANS NO MORE
					/RETURN 1 MEANS NOW AT BOOTSTRAP BLOCK
					/RETURN 3 OTHERWISE
004001  1033		TAD DSCPTR
004002  1143		TAD [HDRSIZ
004003  3033		DCA DSCPTR
004004  4777		JMS I (SKPCRD	/SKIP A POSSIBLE GROUP COUNT
004005  1433		TAD I DSCPTR
004006  7100		CLL
004007  1132		TAD [200
004010  7630		SZL CLA
004011  5600		JMP I DSCADV	/TAKE RETURN1 UPON REACHING BOOTSTRAP RECORD
004012  2200		ISZ DSCADV
004013  1433		TAD I DSCPTR
004014  7640		SZA CLA
004015  2200		ISZ DSCADV	/TAKE RETURN 2 IF ADVANCED TO END
004016  5600		JMP I DSCADV

		/RETURN 1 MEANS NO MORE DESCRIPTORS
004017  0000	BOTADV,	0
004020  1433		TAD I DSCPTR
004021  7041		CIA
004022  7001		IAC		/COUNT IS ONE MORE
004023  1033		TAD DSCPTR
004024  3033		DCA DSCPTR	/POINT TO BEGIN OF NEXT DESCRIPTOR
004025  4777		JMS I (SKPCRD
004026  1433		TAD I DSCPTR
004027  7100		CLL
004030  1132		TAD [200
004031  7630		SZL CLA
004032  5220		JMP BOTADV+1	/WIERD CASE OF CONSECUTIVE BOOTSTRAPS
004033  1433		TAD I DSCPTR
004034  7640		SZA CLA
004035  2217		ISZ BOTADV	/TAKE RETURN1 IF ADVANCED TO END
004036  5617		JMP I BOTADV

		/WIERD CASES CAN OCCUR IF GUY DELETES ALL ENTRY POINTS IN A GROUP SEPARATELY

		/DESCRIPTOR ENTRIES:

		/FIRST WORD:
		/	0		MEANS END OF TABLE
		/	-1 TO -20	MEANS GROUP COUNT (NOT NECESSARILY ACCURATE)
		/	-21 TO -400 APPROX MEANS BOOTSTRAP RECORD COUNT
		/	OTHER		MEANS DESCRIPTOR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 74






004037  0000	SYSCPY,	0		/COPY OS/8 SYSTEM
004040  7240		STA
004041  1776		TAD I (AMTCOR
004042  7640		SZA CLA
004043  1143		TAD [10		/GT 8K
004044  3332		DCA CORBIT
004045  1332		TAD CORBIT
004046  7640		SZA CLA
004047  5256		JMP COP2
004050  4477		JMS I [SYSWP	/SWAP IN NEW SYS HANDLER
004051  1375		TAD (7410
004052  4502		JMS I [SYS	/SAVE PART OF BUILD TO MAKE A BIG BUFFER
004053  0400		400		/SAVE 400-
004054  0027		27		/SAVE IN BLOCK 27
004055  4477		JMS I [SYSWP	/GET BACK ORIGINAL HANDLER
004056  1060	COP2,	TAD [4210
004057  4307		JMS COPY	/COPY BLOCK 0
004060  0000		0
004061  1374		TAD (5610
004062  4307		JMS COPY	/COPY 7-15
004063  0007		7
004064  1060		TAD [4210
004065  4307		JMS COPY	/COPY 26
004066  0026		26
004067  1375		TAD (7410
004070  4307		JMS COPY	/COPY 51-66
004071  0051		51
004072  1060		TAD [4210
004073  4307		JMS COPY	/COPY 67
004074  0067		67
004075  1332		TAD CORBIT
004076  7640		SZA CLA
004077  5306		JMP COP3
004100  4477		JMS I [SYSWP	/GET BACK NEW HANDLER FOR A MOMENT
004101  1373		TAD (3410	/RESTORE CORE WE SAVED
004102  4502		JMS I [SYS
004103  0400		400
004104  0027		27
004105  4477		JMS I [SYSWP	/RESTORE ORIGINAL SYS HANDLER
004106  5637	COP3,	JMP I SYSCPY

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 75






004107  0000	COPY,	0
004110  1332		TAD CORBIT
004111  3023		DCA TMP1
004112  1707		TAD I COPY
004113  3322		DCA COPREC	/ARG 1 CONTAINS FIRST BLOCK TO COPY
004114  1322		TAD COPREC
004115  3327		DCA CPREC2	/MAKE TWO COPIES
004116  7130		STL RAR		/CONVERT 'WRITE' TO READ
004117  1023		TAD TMP1
004120  4502		JMS I [SYS	/READ FROM ORIGINAL DEVICE
004121  0400		400
004122  7402	COPREC,	HLT
004123  4477		JMS I [SYSWP
004124  1023		TAD TMP1
004125  4502		JMS I [SYS	/WRITE ON NEW DEVICE
004126  0400		400
004127  7402	CPREC2,	HLT
004130  4477		JMS I [SYSWP	/LEAVE WITH ORIGINAL SYSTEM HANDLER STILL IN SYSTEM
004131  5707		JMP I COPY	/FALL THROUGH RECORD NUMBER

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 76






		CORBIT,
004132  0000	GETLEN,	0
004133  4562		GET		/GET LENGTH OF DEVICE
004134  0006		PLATNUM
004135  4524		JMS I [ROTL	/GET NUMBER OF PLATTERS
004136  0125		AND [7
004137  7450		SNA
004140  7001		IAC		/0 MEANS 1
004141  7041		CIA
004142  3020		DCA COUNT
004143  4562		GET
004144  0007		DEVSIZ
004145  3023		DCA TMP1
004146  1023	SIZLUP,	TAD TMP1
004147  7450		SNA
004150  7240		STA		/4096 BECOMES 4095
004151  2020		ISZ COUNT
004152  5346		JMP SIZLUP
004153  7041		CIA
004154  1072		TAD [70		/LEAVE ROOM FOR OS/8
004155  3365		DCA DLENGTH
004156  5732		JMP I GETLEN

004157  7777	DPROPR,	-1		/INITIAL EMPTY DIRECTORY
004160  0070		MFREE
004161  0000		0
004162  0000		0
004163  7777		-1
004164  0000		0		/1 EMPTY FILE
004165  0000	DLENGT,	0


004166  4537	BADARG,	JMS I [PRWD
004167  7701		TEXT	/?ARG/
004170  2207
004171  0000
004172  5536		JMP I [CONFIG
004173  3410
004174  5610
004175  7410
004176  5067
004177  4541
	4200		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 77






		/WANT TO COPY

		/SYS	0
		/KBM	7-12
		/USR	13-15
		/ENTER,TM8E	26
		/CD	51-53
		/SAVE,DATE 54-55
		/ERR	56
		/CHAIN	57
		/ODT	60-63
		/CCL	64,65,67
		/SYS	66

		/EXTRA (DON'T WANT TO COPY):

		/HANDLERS	16-25
		/SCRATCH	27-50

		/NEW ALGORITHM:

		/SET FIELD 2 IF 12K OR MORE AND SKIP *'ED ITEMS

		/1.	MOVE NEW SYS HANDLER TO 0,200
		/2.*	SAVE 34 PAGES STARTING AT 10400 IN BLOCK 27 OF NEW DEVICE
		/3.	COPY BLOCKS 7-15
		/4.	COPY BLOCK 26
		/5.	COPY BLOCKS 51-66
		/6.	COPY BLOCK 67
		/7.*	RESTORE 34 PAGES

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 78






		/THE FOLLOWING ROUTINES AND VARIABLES MUST BE ABOVE THE LOCATIONS
		/IN WHICH OS/8 AND CD LOAD INTO, BECAUSE THEY ARE CALLED BY LDABS.
		/FURTHERMORE, NONE OF THESE ROUTINES MAY USE PAGE 0 LITERALS
		/OR MAY USE ANY PAGE 0 TEMPORARIES, EXCEPT THAT SOME MAY USE
		/PAGE ZERO TEMPORARIES IF THE STORE INTO THEM FIRST
		/(EXCEPT THOSE COMMENTED OTHERWISE, WHICH MUST PRESERVE
		/THE NEW PAGE 0 AT ALL COSTS, UNTIL IT IS WRITTEN OUT

		/LDABS
		/ICHAR
		/BADINP
		/OVER
		/ASSEMB
		/CTCTST
		/PRWD
		/CTRLC
		/OVROUT
		/ROTL
		/PRINTE
		/TTYOUT
		/ROTR
		/PWORD
		/ECHOFL
		/LINEUP
		/CRLF
		/PRNT
		/RUBFLG
		/MOVE
		/SYSWP
		/AMTCOR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 79






	7760		SYDCB=7760	/LOCATION OF SYS,DSK DCB WORDS

004200  4777	BOOT5,	JMS I (RECZRO
004201  1064	BOOT6,	TAD [-17
004202  4506		JMS I [MOVE	/PUT RESIDENT FIELD 1 TABLES INTO
004203  6201		CDF 0
004204  5300		SDCB		/FIXED SPOTS
004205  6211		CDF 10
004206  0160		BLOK66+160
004207  1064		TAD [-17
004210  4506		JMS I [MOVE
004211  6201		CDF 0
004212  5260		SRES
004213  6211		CDF 10
004214  0047		BLOK66+47	/COULD SET USER DEVICE NAMES HERE IF DESIRED
004215  4776	BOOT7,	JMS I (LOCSYS
		/	TAD SAMSYS
		/	SZA CLA		/SAME SYSTEM?
		/	JMP BOOT8	/YES
004216  4541	BLOOK,	ADVDSC		/SEARCH FOR BOOTSTRAP
004217  5222		JMP FNDBOT	/FOUND BOOTSTRAP RECORD AMONGST DESCRIPTORS
004220  7402		HLT		/IT WASN'T THERE!
004221  5216		JMP BLOOK	/KEEP LOOKING

004222  1033	FNDBOT,	TAD DSCPTR
004223  7001		IAC		/POINT TO BOOTSTRAP
004224  3230		DCA FROMBO
004225  1433		TAD I DSCPTR	/LENGTH OF BOOTSTRAP
		/CHECK THAT'S IT'S LE 47 LOCS IF 1-PAGE SYSTEM
004226  4506		JMS I [MOVE
004227  6201		CDF 0
004230  7402	FROMBO,	HLT
004231  6201		CDF 0
004232  5400		PG7600
004233  1057		TAD [-47	/MOVE FIRST 47 LOCS INTO CD AREA IN 17600 IMAGE
004234  4506		JMS I [MOVE
004235  6201		CDF 0
004236  5400		PG7600
004237  6211		CDF 10
004240  0000		BLOK66
004241  1375	BOOT8,	TAD (-16
004242  3020		DCA COUNT
004243  1374		TAD (SBUFF
004244  3010		DCA XR1
004245  1373		TAD (SHND
004246  3011		DCA XR2
004247  1410	DVLOOP,	TAD I XR1
004250  7450		SNA
004251  5271		JMP NOHN
004252  3264		DCA DVBUF	/LOCATION OF HANDLER

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 79-1

004253  1411		TAD I XR2
004254  4524		JMS I [ROTL
004255  0056		AND [17
004256  7450		SNA
004257  5266		JMP CN		/NO BLOCK SLOT
004260  1302		TAD L15		/CONVERT TO ACTUAL BLOCK #
004261  3265		DCA DVREC
004262  1060		TAD [4210
004263  4502		JMS I [SYS
004264  7402	DVBUF,	HLT
004265  7402	DVREC,	HLT
004266  2020	CN,	ISZ COUNT
004267  5247		JMP DVLOOP
004270  5772		JMP I (BOOTD
004271  2011	NOHN,	ISZ XR2
004272  5266		JMP CN

004273  0000	SYSSIZ,	0		/MINUS MEANS 2-PAGE SYS HANDLER

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 80






004274  6032	CTRLC,	KCC		/CLEAR ^C FLAG
004275  1771		TAD I (SWAPER	/DO WE HAVE TO SWITCH?
004276  7640		SZA CLA
004277  4770		JMS I (SYSWP	/YES. INSERT OLD HANDLER
004300  5363		JMP END	/GO CHECK BATCH BEFORE RETURNING

004301  4515	KORE,	JMS I [GETNUM
004302  0015	L15,	15		/NOTHING MEANS 0
004303  1031		TAD SIZE
004304  0071		AND [7770
004305  7640		SZA CLA
004306  5545		JMP I [BADARG	/MUST BE BETWEEN 0 AND 7
004307  4767		JMS I (RELCOR	/FIND REAL AMOUNT OF CORE
004310  7040		CMA
004311  1031		TAD SIZE
004312  7700		SMA CLA
004313  5766		JMP I (NOTNUF	/MUST BE .LE. REAL AMT OF CORE
004314  1021		TAD CHAR
004315  7640		SZA CLA
004316  5522		JMP I [SYNTAX
004317  1031		TAD SIZE
004320  3043		DCA NEWCOR
004321  5536		JMP I [CONFIG

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 81






		/	IF NEW SYS IS 1-PAGE,   PG7600/L_BLOK66/L
		/	0_PG7600
		/	66_BLOK66

004322  1273	BOOTF,	TAD SYSSIZ
004323  7700		SMA CLA		/IS NEW SYS TWO PAGES?
004324  1177		TAD [-200	/NO
004325  4506		JMS I [MOVE	/YES, NULL MOVE
004326  6211		CDF 10
004327  0000		BLOK66
004330  6201		CDF 0
004331  5400		PG7600
004332  1063		TAD [4200
004333  4502		JMS I [SYS
004334  5400		PG7600
004335  0000		0
004336  1060		TAD [4210
004337  4502		JMS I [SYS
004340  0000		BLOK66
004341  0066		66
004342  7000	BOOTG,	NOP
		/	JMS I (RECZRO	/SIMULATE BOOTSTRAP
004343  1055		TAD [-131	/MOVE UP FIELD 1 CODE
004344  4506		JMS I [MOVE
004345  6211		CDF 10
004346  0047		BLOK66+47
004347  6211		CDF 10
004350  7647		7600+47
004351  1044		TAD SAVDAT
004352  6211		CDF 10
004353  3765		DCA I (DATEWD
004354  6201		CDF 0
004355  4537		JMS I [PRWD
004356  2331		TEXT /SYS BUILT/
004357  2340
004360  0225
004361  1114
004362  2400

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 82









		/MUST DO SOME CLEAN UP IF BATCH IS RUNNING
		/ALL OVERLAYED CODE MUST BE RESET IN CASE USER WANTS
		/TO REUSE THIS COPY OF BUILD.

004363  4404	END,	JMS I BATT	/JUMP TO BATCH TEST ROUTINE FOR CLEAN UP
004364  5577		JMP I [7600	/OTHERWISE GO HOME WITH NEW SYSTEM
					/THIS IS FROM BATCH
004365  7666
004366  2363
004367  0326
004370  5000
004371  5073
004372  3437
004373  5320
004374  5360
004375  7762
004376  2600
004377  2341
	4400		PAGE


/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 83







		/MOVE MOVES CORE AROUND	(CALLABLE FROM ANY FIELD)

		/	TAD (-# OF LOCS TO MOVE
		/	JMS MOVE
		/	CDF FROM FIELD
		/	FROM BUFFER LOCATION START
		/	CDF 'TO' FILED
		/	TO BUFFER

		/MUSTN'T DESTROY OS/8 LOCS, NO PAGE 0 TEMPS!

004400  0000	MOVE,	0
004401  3247		DCA MVCT
004402  6214		RDF
004403  1377		TAD (CIF CDF
004404  3235		DCA MOVRET
004405  1600		TAD I MOVE	/GET CDF FROM-FLD
004406  3224		DCA MVCDF2
004407  2200		ISZ MOVE	/POINT TO FROM-BUF
004410  1600		TAD I MOVE	/GET LOC TO MOVE
004411  3313		DCA MVTM1
004412  2200		ISZ MOVE	/POINT TO TO-CDF
004413  1600		TAD I MOVE
004414  3226		DCA MVDF	/GET CDF TO FIELD OF DESTINATION
004415  2200		ISZ MOVE	/POINT TO TARGET AREA
004416  1600		TAD I MOVE
004417  3320		DCA MVTM2
004420  2200		ISZ MOVE	/POINT TO RETURN
004421  1247		TAD MVCT
004422  7650		SNA CLA
004423  5235		JMP MOVRET	/NOTHING TO MOVE
004424  6201	MVCDF2,	CDF 0		/GETS ALTERED TO PICK UP F1
004425  1713		TAD I MVTM1
004426  7402	MVDF,	HLT
004427  3720		DCA I MVTM2
004430  2313		ISZ MVTM1	/BUMP POINTERS TO AREAS
004431  2320		ISZ MVTM2
004432  0020	MV20,	20
004433  2247		ISZ MVCT
004434  5224		JMP MVCDF2
004435  7402	MOVRET,	HLT		/RETURN TO CALLING FIELD
004436  5600		JMP I MOVE

004437  0000	CTCTST,	0
004440  1336		TAD MV7600	/ALLOW FOR PARITY
004441  6034		KRS
004442  1376		TAD (-7603
004443  7650		SNA CLA
004444  6031		KSF

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 83-1

004445  5637		JMP I CTCTST
004446  5775		JMP I (CTRLC

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 84






004447  0000	MVCT,	0


004450  0000	ASSEMB,	0		/ASSEMBLE TWO 6 BIT WORDS
004451  6221		CDF 20
004452  1657		TAD I LWD1
004453  4661		JMS I PROTL
004454  1660		TAD I LWD2
004455  6201		CDF 00
004456  5650		JMP I ASSEMB

004457  0557	LWD1,	WD1
004460  0560	LWD2,	WD2
004461  4513	PROTL,	ROTL


/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 85






004462  1774	BOOT4,	TAD I (DRECT
004463  7700		SMA CLA
004464  5773		JMP I (BOOTC	/HE'S SPECIFIED ABOUT DIRECTORY ZERO
004465  4537		JMS I [PRWD	/YES, NO NEED TO COPY SYSTEM
004466  2722		TEXT	/WRITE ZERO DIRECT?/
004467  1124
004470  0540
004471  3205
004472  2217
004473  4004
004474  1122
004475  0503
004476  2477
004477  0000
004500  1071		TAD [-10	/DON'T WANT TO DESTROY PRECIOUS TABLES
004501  4567		JMS I [GTEXT	/GET REPLY
004502  5262		JMP BOOT4
004503  4566		JMS I [GNAME
004504  1024		TAD NAME1
004505  0110		AND [7700
004506  1372		TAD (-3100
004507  7650		SNA CLA
004510  7201		CLA IAC		/Y
004511  3774		DCA I (DRECT	/NO; COULD HAVE SAVED LOCATION BUT I FEEL SAFER THIS WAY
004512  5773		JMP I (BOOTC

		MVTM1,
004513  0000	ROTL,	0
004514  7106		CLL RTL
004515  7006		RTL
004516  7006		RTL
004517  5713		JMP I ROTL

		MVTM2,
004520  0000	ROTR,	0
004521  7112		CLL RTR
004522  7012		RTR
004523  7012		RTR
004524  5720		JMP I ROTR

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 86






004525  0000	TTYOUT,	0		/YOU GUESSED IT
004526  3341		DCA TM
004527  1351		TAD ECHOFL
004530  7640		SZA CLA		/ARE WE ECHOING?
004531  5725		JMP I TTYOUT	/NO
004532  1341		TAD TM		/YES
004533  6046		TLS
004534  6041		TSF
004535  5334		JMP .-1
004536  7600	MV7600,	7600		/CLA
004537  4771		JMS I (CTCTST	/TEST FOR ^C.
004540  5725		JMP I TTYOUT

		TM,
004541  0000	SKPCRD,	0
004542  1433		TAD I DSCPTR
004543  7100		CLL
004544  1232		TAD MV20		/A GROUP COUNT MUST BE IN THE RANGE -1 TO -20
004545  7620		SNL CLA
004546  5741		JMP I SKPCRD
004547  2033		ISZ DSCPTR	/IT'S A DARN GROUP COUNT, GO PAST IT
004550  5342		JMP SKPCRD+1	/WIERD CASE OF CONSECUTIVE GROUP COUNTS

004551  0000	ECHOFL,	0		/1 MEANS NOT ECHOING, SAW ^O

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 87






004552  0000	PATCH,	0
004553  1561		TAD I [7777	/V3D
004554  0017		AND L600
004555  3047		DCA SAVHID	/SAVE HIGH ORDER DATE BITS
004556  5752		JMP I PATCH
004571  4437
004572  4700
004573  3400
004574  3505
004575  4274
004576  0175
004577  6203
	4600		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 88






004600  0000	PRNAME,	0		/ROUTINE TO PRINT NAME1-NAME4
004601  1377		TAD (NAME1
004602  3022		DCA TEMP
004603  7346		CLL STA RTL	/-3
004604  3020		DCA COUNT
004605  1422	PRNM2,	TAD I TEMP
004606  4222		JMS PRINTE	/TYPE OUT CHARS
004607  2022		ISZ TEMP
004610  2020		ISZ COUNT	/EXHAUSTED ALL?
004611  5205		JMP PRNM2
004612  1422		TAD I TEMP
004613  7650		SNA CLA
004614  5600		JMP I PRNAME	/NO . IF NO EXTENSION
004615  1376		TAD (".		/PRINT '.'
004616  4775		JMS I (TTYOUT
004617  1422		TAD I TEMP
004620  4222		JMS PRINTE
004621  5600		JMP I PRNAME

004622  0000	PRINTE,	0
004623  3272		DCA CHTMP2
004624  1272		TAD CHTMP2	/EXTRACT LEFT HAND SIDE
004625  4774		JMS I (ROTR
004626  4232		JMS PWORD
004627  1272		TAD CHTMP2
004630  4232		JMS PWORD
004631  5622		JMP I PRINTE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 89






004632  0000	PWORD,	0
004633  0373		AND (77
004634  7450		SNA		/IF NULL, GET OUT
004635  5254		JMP NULL
004636  3335		DCA PRTM
004637  1372		TAD (200
004640  6034		KRS
004641  1371		TAD (-217	/^O
004642  7650		SNA CLA		/STOP ECHOING?
004643  6031		KSF		/MAYBE
004644  7410		SKP		/NO
004645  5273		JMP CTO		/YES
004646  1335		TAD PRTM
004647  1370		TAD (240
004650  0373		AND (77
004651  1370	PRSPAC,	TAD (240
004652  4775		JMS I (TTYOUT
004653  5632		JMP I PWORD
004654  1304	NULL,	TAD LINEUP
004655  7650		SNA CLA		/PRINT SPACE?
004656  5622		JMP I PRINTE	/NO
004657  5251		JMP PRSPAC	/YES

004660  0000	PRWD,	0
004661  7200		CLA
004662  1660	PRWD2,	TAD I PRWD
004663  4222		JMS PRINTE
004664  1660		TAD I PRWD
004665  2260		ISZ PRWD
004666  0373		AND (77
004667  7640		SZA CLA
004670  5262		JMP PRWD2
004671  5660		JMP I PRWD	/LEAVE IF LAST WORD ENDED WITH 00

004672  0000	CHTMP2,	0

004673  6032	CTO,	KCC
004674  1367		TAD ("^
004675  4775		JMS I (TTYOUT
004676  1366		TAD ("O
004677  4775		JMS I (TTYOUT
004700  4336		JMS CRLF
004701  7201		CLA IAC
004702  3765		DCA I (ECHOFL
004703  5632		JMP I PWORD

004704  0000	LINEUP,	0		/NON-ZERO MEANS PRINT NULLS AS SPACES

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 90






004705  4764	OVER,	JMS I (ASSEMB	/EXTENSION OF LDABS.
004706  7041		CIA
004707  6221		CDF 20		/OFF TO FIELD 2
004710  1734		TAD I LCKSUM	/CHECKSUM OK?
004711  6201		CDF 00		/BACK TO OUR FIELD
004712  7640		SZA CLA
004713  5316		JMP BADINP	/SOORY ABOUT THAT
004714  7201		CLA IAC
004715  5326		JMP OVROUT	/SKIP ERROR EXIT
004716  4260	BADINP,	JMS PRWD
004717  7702		TEXT /?BAD INPUT/
004720  0104
004721  4011
004722  1620
004723  2524
004724  0000
004725  4336		JMS CRLF
004726  6221	OVROUT,	CDF 20
004727  1763		TAD I (LDABS
004730  6201		CDF 00
004731  3333		DCA OTEMP
004732  5733		JMP I OTEMP
004733  0000	OTEMP,	0


004734  0562	LCKSUM,	CKSUM
004735  0000	PRTM,	0

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 91






004736  0000	CRLF,	0
004737  1362		TAD (215
004740  3024		DCA NAME1
004741  4345		JMS PRNT
004742  1361		TAD (212
004743  4775		JMS I (TTYOUT
004744  5736		JMP I CRLF

004745  0000	PRNT,	0		/CHARACTER PRINT ROUTINE
004746  1360		TAD ("\		/IF NOT RUBOUT, AND IF RUBOUT WAS
004747  2355		ISZ RUBFLG	/LAST, ECHO \.
004750  7610		SKP CLA
004751  4775		JMS I (TTYOUT
004752  1024		TAD NAME1
004753  4775		JMS I (TTYOUT
004754  5745		JMP I PRNT
004755  0000	RUBFLG,	0		/RUBOUT FLAG
004760  0334
004761  0212
004762  0215
004763  0400
004764  4450
004765  4551
004766  0317
004767  0336
004770  0240
004771  7561
004772  0200
004773  0077
004774  4520
004775  4525
004776  0256
004777  0024
	5000		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 92






		/ASSUMES NEW PROPOSED SYSTEM HANDLER IS IN 10000-10377

		/CAN'T DESTROY OS/8, IE. CAN'T USE PG 0 TEMPS

005000  0000	SYSWP,	0		/ROUTINE TO MOVE SYS HANDLER AROUND
005001  2273		ISZ SWAPER	/DIDDLE SWAP INDICATOR
005002  7240		CLA CMA		/-1 MEANS NEW HANDLER IS IN
005003  3273		DCA SWAPER
005004  7240		STA
005005  1267		TAD AMTCOR
005006  7650		SNA CLA		/DO WE HAVE 8K?
005007  5237		JMP SWAPLW	/YES, DON'T SWAP WITH FIELD 2
005010  1234		TAD L7600	/NO, CAN'T HURT TO SWAP FIELD 2
005011  3272		DCA OUT
005012  1270		TAD SAVLC
005013  1305		TAD P200
005014  3271		DCA IN
005015  1377		TAD (4-200
005016  3274		DCA STEMP	/SWAP ENTIRE PAGE (EXCEPT LAST 4 LOCATIONS)
005017  6211	SWAP3,	CDF 10		/SWAP 27600 & 2ND PAGE OF HANDLER
005020  1671		TAD I IN
005021  3321		DCA SYSQ
005022  6221		CDF 20
005023  1672		TAD I OUT
005024  6211		CDF 10
005025  3671		DCA I IN
005026  1321		TAD SYSQ
005027  6221		CDF 20
005030  3672		DCA I OUT
005031  2271		ISZ IN
005032  7400	L7400,	7400		/NOP
005033  2272		ISZ OUT
005034  7600	L7600,	7600
005035  2274		ISZ STEMP
005036  5217		JMP SWAP3
005037  6201	SWAPLW,	CDF 0
005040  1376		TAD (7607
005041  3272		DCA OUT		/7607 ALWAYS TARGET DESTINATION
005042  1270		TAD SAVLC
005043  1375		TAD (7
005044  3271		DCA IN
005045  1374		TAD (7607-7743-1/ONLY 7607-7743 GETS MOVED
005046  3274		DCA STEMP
005047  6211	SWAP2,	CDF 10
005050  1671		TAD I IN
005051  3321		DCA SYSQ	/TEMP STORE
005052  6201		CDF 0
005053  1672		TAD I OUT
005054  6211		CDF 10
005055  3671		DCA I IN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 92-1

005056  1321		TAD SYSQ
005057  6201		CDF 0
005060  3672		DCA I OUT
005061  2271		ISZ IN
005062  2272		ISZ OUT
005063  2274		ISZ STEMP
005064  5247		JMP SWAP2
005065  3773		DCA I (SOFSET	/V3C
005066  5600		JMP I SYSWP

005067  0001	AMTCOR,	1		/HIGHEST CORE BANK
005070  0000	SAVLC,	0		/MUST BE ABOVE 3577
		CHTMP,
005071  0000	IN,	0		/POINTS TO HANDLER AREA AT ONE NAMED SYS
005072  0000	OUT,	0		/POINTS TO 7607 HANDLER
005073  0000	SWAPER,	0		/-1 MEANS NEW HANDLER IN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 93







		/MUST BE ABOVE OS/8,  NO PAGE 0 LITERALS

		STEMP,
005074  0000	ICHAR,	0
005075  4772		JMS I (CTCTST
005076  2321		ISZ JMPGET	/POINT TO CORRECT CHAR
005077  2362		ISZ CHCNT	/NEED WE READ?
005100  5321	JMPX,	JMP JMPGET	/NOT YET
005101  1361		TAD REOF	/YES. DID LAST YIELD EOF?
005102  7640		SZA CLA
005103  5771		JMP I (BADINP	/SOMETHING IS WRONG.
005104  4764	RDIN,	JMS I DVICE
005105  0200	P200,	0200		/READ INTO FIELD 0
005106  6000	BINBUF,	BINARY
005107  0000	RECNO,	0
005110  5347		JMP RERROR	/READ ERROR
005111  2307	RECNO2,	ISZ RECNO	/POINT TO NEXT RECORD
005112  1370		TAD (-601
005113  3362		DCA CHCNT	/NEW CHARACTER COUNT
005114  1306		TAD BINBUF
005115  3363		DCA CHPTR
005116  1300		TAD JMPX
005117  3321		DCA JMPGET	/RESET JUMP SWITCH
005120  5275		JMP ICHAR+1
		SYSQ,
005121  5321	JMPGET,	JMP .		/IF WE GET CAUGHT HERE, WE KNOW IT
005122  5343		JMP CHAR1	/ASSEMBLE FIRST CHAR
005123  5337		JMP CHAR2	/SECOND CHAR
005124  1300		TAD JMPX	/THIRD CHAR HERE
005125  3321		DCA JMPGET	/RESET SWITCH
005126  1763		TAD I CHPTR
005127  0232		AND L7400
005130  7112		CLL RTR
005131  7012		RTR
005132  1271		TAD CHTMP	/ADD IN THE LAST TEMP STORE
005133  7012		RTR
005134  7012		RTR
005135  2363		ISZ CHPTR	/TO NEXT CHAR
005136  5344		JMP GCHCOM
005137  1763	CHAR2,	TAD I CHPTR
005140  0232		AND L7400
005141  3271		DCA CHTMP	/SAVE FOR THIRD CHAR
005142  2363		ISZ CHPTR
005143  1763	CHAR1,	TAD I CHPTR
005144  0367	GCHCOM,	AND (377
005145  2274		ISZ ICHAR	/PASS UP ERROR RET
005146  5357		JMP TO20		/RETURN
005147  7710	RERROR,	SPA CLA		/FATAL, OR EOF?
005150  5353		JMP IOERR	/FATAL

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 93-1

005151  2361		ISZ REOF	/END OF FILE
005152  5311		JMP RECNO2	/BACK TO MAINSTREAM
005153  4766	IOERR,	JMS I (PRWD
005154  7711		TEXT	\?I/O\
005155  5717
005156  0000
005157  6223	TO20,	CIF CDF 20		/BACK TO FIELD 2
005160  5674		JMP I ICHAR


005161  0000	REOF,	0
005162  0000	CHCNT,	0
005163  0000	CHPTR,	0
005164  0000	DVICE,	0
005165  0000	RETSW,	0		/0 MEANS RAN FROM 0S/8, 1 MEANS RNA STANDALONE
005166  4660
005167  0377
005170  7177
005171  4716
005172  4437
005173  7747
005174  7643
005175  0007
005176  7607
005177  7604
	5200		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 94






	0103		LNLNGT=103
005200  0000	BEGLIN,	ZBLOCK LNLNGT

	7776		SBLOCK=7776	/??
		/CTCFAK,	.+1		/^C MUST NOT RETURN TO ANY SYSTEM.
		/	JMP I CTCFAK	/CTCFAK MARKS OUR PLACE DURING
		/			/SYSGEN, AND ^C WILL RETURN TO THAT PLACE.
		/*** THIS STUFF GOES AWAY ON A BOOT

005303  6211	BUILD,	CDF 10
005304  1454		TAD I [7200	/HAS SPECIAL CODE BEEN OVERLAID BY HANDLERS?
005305  6201		CDF 0
005306  1053		TAD [-1234
005307  7640		SZA CLA
005310  5777		JMP I (NOROOM	/YES, TOO BAD
		/	TAD (5601
		/	DCA I [7600
		/	TAD (CTCFAK+1
		/	DCA I (7601
005311  1052		TAD [6600	/SAVE OLD SYSTEM HANDLER IN 16600
005312  4776		JMS I (SETUPSYS
		/	JMS CTCFAK
005313  4537	RDOS8,	JMS I [PRWD
005314  1417		TEXT	\LOAD OS/8: \
005315  0104
005316  4017
005317  2357
005320  7072
005321  4000
005322  4347		JMS RD
005323  5313		JMP RDOS8
005324  6213		CIF CDF 10
005325  4775		JMS I (WROS8
005326  4774		JMS I (SYSWP
		/	JMS CTCFAK
005327  4574	RDCD,	JMS I [CRLF
005330  4537		JMS I [PRWD
005331  1417		TEXT	/LOAD CD: /
005332  0104
005333  4003
005334  0472
005335  4000
005336  3354		DCA DVER
005337  4347		JMS RD
005340  5327		JMP RDCD
005341  6213		CIF CDF 10
005342  4773		JMS I (WRCD
005343  1772		TAD I (RETSW
005344  7650		SNA CLA		/NOT IF FROM SCRATCH
005345  4774		JMS I (SYSWP	/GET OLD HANDLER IF ANY BACK IN

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 94-1

005346  5536		JMP I [CONFIG

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 95






005347  0000	RD,	0
005350  1061		TAD [-40
005351  4567		JMS I [GTEXT
005352  5747		JMP I RD
005353  4771		JMS I (SETUP
005354  5770	DVER,	JMP I (NODEV
005355  4774		JMS I (SYSWP	/PUT IN NEW HANDLER
005356  6213		CIF CDF 10
005357  4767		JMS I (SAVE
005360  4774		JMS I (SYSWP
005361  6223		CIF CDF 20	/OFF TO PAGE 2
005362  4567		JMS I [LDABS	/PAST HERE PAGE 0 IS GONE
005363  5747		JMP I RD
005364  4774		JMS I (SYSWP
005365  2347		ISZ RD
005366  5747		JMP I RD
005367  7452
005370  1364
005371  1000
005372  5165
005373  7313
005374  5000
005375  7201
005376  3530
005377  0730
	5400		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 96







/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 97






	6400		*6400

006400  0000	DSCTAB,	ZBLOCK 1200

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 98






		/RELIC:

	7600		*7600
007600  0000		0		/ONLY LOADED FROM PAPER TAPE.

	7777		*7777
007777  0000		0		/SET SOFTWARE CORE SIZE TO 'UNKNOWN'
000052  6600
000053  6544
000054  7200
000055  7647
000056  0017
000057  7731
000060  4210
000061  7740
000062  7643
000063  4200
000064  7761
000065  5437
000066  5436
000067  7763
000070  7607
000071  7770
000072  0070
000073  7771
000074  7612
000075  7744
000076  7601
000077  5000
000100  2553
000101  5200
000102  2246
000103  7774
000104  0257
000105  0177
000106  4400
000107  1600
000110  7700
000111  6177
000112  2665
000113  0077
000114  4520
000115  0523
000116  0717
000117  0704
000120  0650
000121  1763
000122  2750
000123  7772
000124  4513

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 98-1

000125  0007
000126  4716
000127  0673
000130  1364
000131  5164
000132  0200
000133  7506
000134  0024
000135  4600
000136  0215
000137  4660
000140  4017
000141  4000
000142  2547
000143  0010
000144  7540
000145  4166
000146  7000
000147  0566
000150  0563
000151  0100
000152  0336
000153  5177
000154  0334
000155  2601
000156  4745
000157  3652
000160  7400
000161  7777
000162  0306
000163  2207
000164  2140
000165  2221
000166  2705
000167  0400
000170  7675
000171  5073
000172  4525
000173  0244
000174  4736
000175  5165
000176  4207
000177  7600
	0001		FIELD 1
	0000		*0
010000  0000		0		/FORCE ABSLDR TO LOAD THIS PAGE
	0400		*400
010400  0000		ZBLOCK 5400
016000  0000		0

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 99






	6600		*6600

	6000		RELOC BINARY

016000* 6211	BINPUN,	CDF 10
016001* 7200		CLA
016002* 1377		TAD (-400
016003* 6202		CIF 0
016004* 4776		JMS I (MOVE
016005* 6211		CDF 10
016006* 6600		6600
016007* 6201		CDF 0
016010* 6000		BINARY		/MOVE ONESELF DOWN
016011* 6203		CIF CDF 0
016012* 5775		JMP I (LDR	/EXECUTE IN FIELD 0
016013* 4307	LDR,	JMS LEDER	/PUNCH 72 FRAMES OF 200
016014* 3331		DCA CHECK	/0 CHECKSUM
016015* 1374		TAD (102
016016* 4332		JMS CKSUMM
016017* 4317		JMS PNCH
016020* 4773	STARTB,	JMS I (CRLF
016021* 1372		TAD ("*
016022* 4771		JMS I (TTYOUT
016023* 1370		TAD (-100
016024* 4767		JMS I (GTEXT
016025* 5220		JMP STARTB
016026* 4766		JMS I (GETNUM
016027* 5765		JMP I (OVERB
016030* 1031		TAD SIZE
016031* 0364		AND (7770
016032* 7640		SZA CLA
016033* 5220		JMP STARTB
016034* 1031		TAD SIZE
016035* 7106		CLL RTL
016036* 7004		RAL
016037* 3325		DCA FLD
016040* 4766		JMS I (GETNUM	/GET LOWER LIMIT
016041* 5220		JMP STARTB
016042* 1031		TAD SIZE
016043* 3326		DCA LIM1
016044* 4766		JMS I (GETNUM	/GET UPPER LIMIT
016045* 5220		JMP STARTB
016046* 1031		TAD SIZE
016047* 3327		DCA LIM2
016050* 1327		TAD LIM2
016051* 7040		CMA
016052* 1326		TAD LIM1
016053* 3330		DCA COUNT2
016054* 1325		TAD FLD
016055* 1363		TAD (300

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 99-1

016056* 4317		JMS PNCH
016057* 1325		TAD FLD
016060* 1362		TAD (CDF 0
016061* 3272		DCA BUFLD
016062* 1326		TAD LIM1
016063* 4761		JMS I (ROTR
016064* 0360		AND (77
016065* 1357		TAD (100
016066* 4332		JMS CKSUMM
016067* 1326		TAD LIM1
016070* 0360		AND (77
016071* 4332		JMS CKSUMM
016072* 7402	BUFLD,	HLT
016073* 1726		TAD I LIM1
016074* 4761		JMS I (ROTR
016075* 0360		AND (77
016076* 4332		JMS CKSUMM
016077* 1726		TAD I LIM1
016100* 0360		AND (77
016101* 4332		JMS CKSUMM
016102* 2326		ISZ LIM1
016103* 2330		ISZ COUNT2
016104* 5272		JMP BUFLD
016105* 6203		CIF CDF 0
016106* 5220		JMP STARTB

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 100






016107* 0000	LEDER,	0		/PUNCH LEADER/TRAILER
016110* 1356		TAD (-200
016111* 3330		DCA COUNT2
016112* 1355		TAD (200
016113* 4317		JMS PNCH
016114* 2330		ISZ COUNT2
016115* 5312		JMP .-3
016116* 5707		JMP I LEDER

016117* 0000	PNCH,	0
016120* 6026		PLS
016121* 6021		PSF
016122* 5321		JMP .-1
016123* 7200		CLA
016124* 5717		JMP I PNCH

016125* 0000	FLD,	0
016126* 0000	LIM1,	0
016127* 0000	LIM2,	0
016130* 0000	COUNT2,	0
016131* 0000	CHECK,	0

016132* 0000	CKSUMM,	0
016133* 3342		DCA CK1
016134* 1342		TAD CK1
016135* 1331		TAD CHECK
016136* 3331		DCA CHECK
016137* 1342		TAD CK1
016140* 4317		JMS PNCH
016141* 5732		JMP I CKSUMM

016142* 0000	CK1,	0
016155* 0200
016156* 7600
016157* 0100
016160* 0077
016161* 4520
016162* 6201
016163* 0300
016164* 7770
016165* 6200
016166* 0523
016167* 0400
016170* 7700
016171* 4525
016172* 0252
016173* 4736
016174* 0102
016175* 6013
016176* 4400

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 100-1

016177* 7400
	6200		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 101






016200* 1233	OVERB,	TAD Q300
016201* 4634		JMS I QPNCH	/FIELD 0
016202* 1235		TAD Q176
016203* 4636		JMS I QCKSUM
016204* 4636		JMS I QCKSUM	/*7600
016205* 1237		TAD Q74
016206* 4636		JMS I QCKSUM
016207* 7326		STL CLA RTL
016210* 4636		JMS I QCKSUM	/HALT
016211* 1240		TAD Q177
016212* 1241		TAD Q77
016213* 4636		JMS I QCKSUM	/*7777
016214* 4636		JMS I QCKSUM
016215* 4636		JMS I QCKSUM	/*0000
016216* 1242		TAD Q102
016217* 4636		JMS I QCKSUM
016220* 4636		JMS I QCKSUM
016221* 1643		TAD I QCHECK
016222* 4644		JMS I QROTR
016223* 0241		AND Q77
016224* 4634		JMS I QPNCH
016225* 1643		TAD I QCHECK
016226* 0241		AND Q77
016227* 4634		JMS I QPNCH
016230* 4645		JMS I QLEDER
016231* 7402		HLT
016232* 5231		JMP .-1	/ALL DONE
016233* 0300	Q300,	300
016234* 6117	QPNCH,	PNCH
016235* 0176	Q176,	176
016236* 6132	QCKSUM,	CKSUMM
016237* 0074	Q74,	74
016240* 0177	Q177,	177
016241* 0077	Q77,	77
016242* 0102	Q102,	102
016243* 6131	QCHECK,	CHECK
016244* 4520	QROTR,	ROTR
016245* 6107	QLEDER,	LEDER
	6400		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 102







	7200		RELOC
	3400		DIRLOC=3400	/FROM OS/8 ASSEMBLY

	4777		READ=JMS I (7607
	4777		WRITE=READ
	0070		MFREE=70
	4776		ERR=JMS I (WRERR

	7200		*7200


017200  1234		1234		/MAGIC NUMBER WHICH IF NOT HERE, MEANS HANDLERS OVERLAID

017201  0000	WROS8,	0
017202  6202		CIF 0
017203  1307		TAD Z7600
017204  4775		JMS I (MOVE	/SAVE CURRENT 7600
017205  6201		CDF 0
017206  7600		7600
017207  6201		CDF 0
017210  7000		7000		/IN 07000
017211  1374		TAD (-7		/MOVE 6600 TO 7600
017212  6202		CIF 0
017213  4775		JMS I (MOVE
017214  6201		CDF 0
017215  6600		6600
017216  6201		CDF 0
017217  7600		7600
017220  1373		TAD (-34	/FINISH MOVING FIELD 0
017221  6202		CIF 0
017222  4775		JMS I (MOVE
017223  6201		CDF 0
017224  6744		6744
017225  6201		CDF 0
017226  7744		7744
017227  6201		CDF 0
017230  1372		TAD (6		/V3D DEV EXT LENGTH OF ABSLDR
017231  1771		TAD I (DLENGTH	/FILL IN INITIAL LENGTH
017232  6211		CDF 10
017233  3770		DCA I (DIRLOC+14	/OS8 HAS INITIAL DIRECTORY
017234  6202		CIF 0;WRITE;4200;7400;0;ERR	/INITIAL REC.0
017235  4777
017236  4200
017237  7400
017240  0000
017241  4776
017242  6202		CIF 0;WRITE;4200;7400;66;ERR	/ALSO WRITE RECORD 66
017243  4777
017244  4200

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 102-1

017245  7400
017246  0066
017247  4776
017250  6202		CIF 0;WRITE;4210;DIRLOC;1;ERR	/INITIAL DIRECTORY
017251  4777
017252  4210
017253  3400
017254  0001
017255  4776
017256  6202		CIF 0;WRITE;5000;0;7;ERR	/KBM
017257  4777
017260  5000
017261  0000
017262  0007
017263  4776
017264  6202		CIF 0;WRITE;4610;0;13;ERR	/USR
017265  4777
017266  4610
017267  0000
017270  0013
017271  4776
017272  6223		CIF CDF 20	/OFF IN FIELD 2
017273  5767		JMP I (BAK
017274  6201	WHER,	CDF 0	/RETURN FROM RELOCATED ROUTINES.
017275  1766		TAD I (RETSW
017276  6211		CDF 10
017277  7650		SNA CLA		/SCRATCH BUILD?
017300  5765		JMP I (RES76	/NO
017301  1307		TAD Z7600	/YES	/MOVE 17600 UP THERE
017302  6202		CIF 0
017303  4775		JMS I (MOVE
017304  6201		CDF 0
017305  7400		7400
017306  6211		CDF 10
017307  7600	Z7600,	7600
017310  4764		JMS I (RESTORE
017311  6203		CIF CDF 0
017312  5601		JMP I WROS8

		/RELATIONSHIP BEWTWEEN OS/8 CORE IMAGE AND BLOCKS ON SYSTEM DEVICE:

		/ITEM		CORE LOC	BLOCKS

		/KBM		0000-1777	7-12
		/OVERLAYS	2000-3577	54-57
		/INIT DIR	DIRLOC-		1
		/ABSLDR CCB	LDRCTL-		70
		/INIT BLOCK 0	7400-7777	0
		/USR		10000-11377	13-15
		/ABSLDR		12000-14377	71-75
		/ENTER,TM8E	11400-11777	26
		/EXT SAVE & ODT			64
		/SYS		06600-06606	PART OF 07600
		/SYS		06744-06777	"
017313  0000	WRCD,	0

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 102-2

017314  6202		CIF 0;WRITE;4600;0;51;ERR	/CD
017315  4777
017316  4600
017317  0000
017320  0051
017321  4776
017322  6202		CIF 0;WRITE;5011;0;60;ERR	/ODT
017323  4777
017324  5011
017325  0000
017326  0060
017327  4776

		/THE NEXT ROUTINE IS TO FINISH LOADING BLOCK 64 OF THE
		/SYSTEM DEVICE THAT HAD BEEN RESERVED.  THE FIRST PART
		/WAS WRITTEN WITH OS8 AND NOW THE OTHER PART MUST BE
		/WRITTEN ON THAT SAME BLOCK FROM CD.

017330  6202		CIF 0;READ;210;0;64;ERR		/GET PART OF ODT WRITTEN
017331  4777
017332  0210
017333  0000
017334  0064
017335  4776
			/MOVE LOCATIONS 11600-11663 TO 10000-10063
017336  6202		CIF 0
017337  1363		TAD (-64
017340  4775		JMS I (MOVE
017341  6211		CDF 10
017342  1600		1600
017343  6211		CDF 10
017344  0000		0000
017345  6202		CIF 0;WRITE;4210;0;64;ERR
017346  4777
017347  4210
017350  0000
017351  0064
017352  4776

		/END OF ROUTINE TO LOAD BLOCK 64

017353  4764		JMS I (RESTORE
017354  4762		JMS I (CASIT
017355  6203		CIF CDF 0
017356  5713		JMP I WRCD
017362  7517
017363  7714
017364  7434
017365  7477
017366  5165
017367  1000
017370  3414
017371  4165
017372  0006
017373  7744

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 102-3

017374  7771
017375  4400
017376  7507
017377  7607
	7400		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 103







/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 104







/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 105







/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 106






	4777		READ=JMS I (7607
	4307		ERR=JMS WRERR

		/SPECIAL CODE TO CHAIN TO ABSLDR, TO READ IN MCPIP

017400  4776		JMS I (7700
017401  0010		10		/LOCK USR IN CORE
017402  1345		TAD R7600	/ZERO CD AREA
017403  3316		DCA CDPTR
017404  1375		TAD (-47
017405  3317		DCA CDKNT
017406  3716		DCA I CDPTR
017407  2316		ISZ CDPTR
017410  2317		ISZ CDKNT
017411  5206		JMP .-3
017412  7330		STL CLA RAR	/ALTMODE
017413  3774		DCA I (7642
017414  4773		JMS I (200
017415  0012		12		/INQUIRE
017416  4503		4503	/ENCODE CSA0
017417  0000	CDN,	0
017420  0000		0
017421  7402		HLT
017422  1217		TAD CDN		/TAKE DEVICE NUMBER
017423  3772		DCA I (7617	/STORE DEVICE NUMBER OF CASSETTE
017424  2771		ISZ I (7620	/V3C FORCE BLOCK 1
017425  7201		CLA IAC
017426  6201		CDF 0		/V3D
017427  3770		DCA I (7746	/SET JSW SO CHAIN DOESN'T DO USROUT
017430  6211		CDF 10
017431  4773		JMS I (200	/CHAIN TO ABSLDR
017432  0006		6
017433  0070		70

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 107






017434  0000	RESTORE,0
017435  6202		CIF 0;READ;3701;0;BLDSAV;ERR
017436  4777
017437  3701
017440  0000
017441  0076
017442  4307
017443  6202		CIF 0;READ;3510;0;BLDSAV+20;ERR	/RESTORE BUILD
017444  4777
017445  3510
017446  0000
017447  0116
017450  4307
017451  5634		JMP I RESTORE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 108






	4777		WRITE=JMS I (7607
	4307		ERR=JMS WRERR

017452  0000	SAVE,	0
017453  6201		CDF 0
017454  3767		DCA I (SOFSET
017455  3766		DCA I (SBLOCK
017456  3765		DCA I (DRECT	/HAVE TO KEEP DIRECTORY LATER
017457  6211		CDF 10
017460  6202		CIF 0;WRITE;7701;0;BLDSAV;ERR
017461  4777
017462  7701
017463  0000
017464  0076
017465  4307
017466  6202		CIF 0;WRITE;7510;0;BLDSAV+20;ERR
017467  4777
017470  7510
017471  0000
017472  0116
017473  4307
017474  4317		JMS CASIT
017475  6203		CIF CDF 0
017476  5652		JMP I SAVE

017477  1764	RES76,	TAD I (Z7600
017500  6202		CIF 0
017501  4763		JMS I (MOVE
017502  6201		CDF 0
017503  7000		7000		/RESTORE OLD PAGE 7600
017504  6201		CDF 0
017505  7600		7600
017506  5764		JMP I (Z7600

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 109






017507  0000	WRERR,	0		/WRITE ERROR
017510  7602		HLT CLA		/HIT CONTINUE TO RETRY
017511  1307		TAD WRERR
017512  1362		TAD (-6
017513  3307		DCA WRERR	/POINT BACK TO CIF OF CALL
017514  5707		JMP I WRERR	/RETRY

		/RELATIONSHIP BETWEEN CD CORE IMAGE AND BLOCKS ON SYSTEM DEVICE:

		/ITEM		CORE LOC	BLOCKS
		/CD		00000-01377	51-63
		/ODT		10000-11777	60-63

017515  0000	CSA,	0		/CASSETTE HANDLER ENTRY PT
017516  0000	CDPTR,	0

		CDKNT,
017517  0000	CASIT,	0
017520  6201		CDF 0
017521  1761		TAD I (RECNO
017522  7450		SNA
017523  7201		CLA IAC		/IF BLOCK 0, CHANGE TO 1
017524  3761		DCA I (RECNO
017525  1752		TAD I PRETSW
017526  7650		SNA CLA		/BUILDING FROM SCRATCH?
017527  5717		JMP I CASIT	/NO
017530  1760		TAD I (BLDCB	/YES, GET DCB OF LOAD HANDLER
017531  0343		AND L770
017532  1344		TAD M270	/CASSETTE DEVICE CODE=27
017533  7640		SZA CLA
017534  5717		JMP I CASIT	/NOT A CASSETTE
017535  1757		TAD I (DVICE
017536  3315		DCA CSA		/GET HANDLER ENTRY POINT
017537  6211		CDF 10
017540  6202		CIF 0
017541  4715		JMS I CSA
017542  0003		3		/SKIP TO NEXT FILE
017543  0770	L770,	770
017544  7510	M270,	-270
017545  7600	R7600,	7600		/IGNORE ERRORS
017546  6202		CIF 0
017547  4715		JMS I CSA
017550  0100		100		/DUMMY READ A PAGE
017551  6000		BINARY		/TO SKIP HEADER
017552  5165	PRETSW,	RETSW
017553  7610		SKP CLA		/WANT AN ERROR
017554  7402		HLT		/A GOOD READ IS BAD!
017555  5717		JMP I CASIT



/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 109-1

		/INITIALIZATION CODE FOR BATCH OPERATION



/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 110







017557  5164
017560  1556
017561  5107
017562  7772
017563  4400
017564  7307
017565  3505
017566  7776
017567  7747
017570  7746
017571  7620
017572  7617
017573  0200
017574  7642
017575  7731
017576  7700
017577  7607
	0002		FIELD 2

	0010	*10
020010  0000	BATXR1,	0		/INDEX REG. 1 FOR BATCH
020011  0000	BATXR2,	0		/INDEX REG. 2 FOR BATCH


	0200	*200

020200  0000	BATSET,	0
020201  1777		TAD I (XR1	/GET THE OVERLAY POINTER
020202  7440		SZA		/IF ZERO USE OLD VALUE
					/THIS SAVES ME SOME FIELD 0 SPACE
020203  3010		DCA BATXR1	/SAVE THE POINTER
020204  1577		TAD I [7777	/NOW GET THE BATCH FIELD
020205  6221		CDF 20		/TO FIELD 2
020206  0376		AND (0070	/NOW GET THE FIELD BITS
020207  1375		TAD (CIF	/MAKE A CIF FOR OVERLAY
020210  3231		DCA CBATI	/SAVE IN INPUT ROUTINE
020211  1231		TAD CBATI	/ALSO OUTPUT
020212  3240		DCA CBATO	/OVERLAY

020213  1410	BATMOV,	TAD I BATXR1	/GET NEXT STORAGE ADDRESS
020214  7450		SNA		/IF ZERO ALL DONE (SECOND TIME THRU)
020215  5226		JMP BATDON	/RETURN TO CALLER
020216  3011		DCA BATXR2	/OTHERWISE SAVE POINTER TO TARGET CODE
020217  1410	BATLUP,	TAD I BATXR1	/GET A PATCH WORD
020220  7450		SNA		/ZERO MEANS END OF THIS PATCH
020221  5213		JMP BATMOV	/GO GET ANOTHER POINTER OR MAYBE ALL DONE
020222  6201		CDF 0		/BACK TO FIELD ZERO
020223  3411		DCA I BATXR2	/NOW CODE IS BATCHABLE
020224  6221		CDF 20		/BACK TO FIELD 2

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 110-1

020225  5217		JMP BATLUP	/DO IT ALL AGAIN

020226  6203	BATDON,	CIF CDF 0	/RETURN TO CALLER
020227  5600		JMP I BATSET	/BYE


/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 111







020230  3652	BATLS,	TTYIN		/POINTER TO MOVE DATA
	0231		CBATI=.	/SET CIF BATCH
020375  6202
020376  0070
020377  0010
	3653		RELOC TTYIN+1	/RELOCATABLE CODE
023653* 6202		CIF
023654* 4657		JMS I BATINI	/JUMP TO GET INPUT FROM BATCH
023655* 7402		HLT		/BAD ERROR
023656* 7410		SKP		/SKIP OVER POINTER
023657* 5400	BATINI,	5400		/POINTER TO BATCH INPUT ROUTINE
023660* 0000		0		/TERMINATOR

023661* 4532		TTYOUT+5	/NOW FOR OUTPUT
	0240		RELOC
	0240		CBATO=.	/SET FOR CIF BATCH
	4533		RELOC TTYOUT+6	/POINTER TO MOVE DATA
024533* 6202		CIF		/CIF BATCH
024534* 4735		JMS I .+1	/GO SEND DATA TO BATCH
024535* 7400		7400		/POINTER TO BATCH OUTPUT PROCESSOR
024536* 0000		0		/TERMINATOR


024537* 0414		LFMOD		/POINTER TO LINE FEED MOD
	0415		RELOC LFMOD+1	/RLOCATE THE CODE
020415* 0406		RDTXT		/IGNORE LINE FEEDS
020416* 0000		0		/TERMINATOR

020417* 0316		BATTST+1	/POINTER TO MODIFY BATCH TEST
	0317		RELOC BATTST+2	/RELOCATE THE CODE
020317* 5323		JMP BATBK	/JUMP AROUND THE BATCH SWITCH TEST
					/WITH A NEW SYSTEM THE TEST IS ILLOGICAL
					/WHICH IS THE CASE IF A BOOT IS REQUESTED
020320* 0000		0		/TERMINATOR
	0252		RELOC

020252  0000		0		/FINAL OVERLAY TERMINATOR



		/NOW COMES THE RESET CODE TO PUT THINGS BACK
		/ THE WAY THEY WERE TO BEGIN WITH.

020253  3652		TTYIN		/POINTER TO MOVE DATA
	3653		RELOC TTYIN+1	/RELOCATABLE CODE
023653* 6031		KSF		/SKIP ON FLAG
023654* 5253		JMP .-1
023655* 6036		KRB		/READ A CHAR
023656* 7450		SNA		/LOW LEVEL BLANK IGNORE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 111-1

023657* 5253		JMP TTYIN+1	/GO GET ANOTHER
023660* 0000		0		/OVERLAY TERMINATOR

023661* 4532		TTYOUT+5	/NOW FOR OUTPUT
	4533		RELOC TTYOUT+6	/RELOCATE AGAIN
024533* 6046		TLS		/PRINT THE CHAR
024534* 6041		TSF		/DONE?
024535* 5334		JMP .-1	/NO.
024536* 0000		0		/OVERLAY TERMINATOR

024537* 0414		LFMOD		/POINTER TO LINE FEED MOD
	0415		RELOC LFMOD+1	/RELOCATE ONE MORE TIME
020415* 0476		LFEED		/LINE FEED..ECHO CURRENT COMMAND
020416* 0000		0		/TERMINATOR

020417* 0316		BATTST+1	/POINTER TO BATCH TEST
	0317		RELOC BATTST+2	/RELOCATE THE CODE
020317* 1577		TAD I [7777	/RESET THE CODE TO ORIGINAL STATE
020320* 0000		0		/OVERLAY TERMINATOR

	0275		RELOC
020275  0000		0		/FINAL OVERLAY TERMINATOR
	0400		PAGE


/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 112







		/LDABS DOES A REAL LIVE ABSLOAD IF AC=0
		/IF AC=-2 THEN IT IS LOADING A HANDLER, THIS IS DONE AS FOLLOWS:
		/SEARCH FOR *0
		/THEN LOAD CONSEC WORDS INTO DESCRIPTOR TABLE
		/AT NEXT ORIGIN, LOAD WORDS INTO HANDLER AREA (ALLOW ORIGINS)

		/CAN'T USE PAGE 0 LITERALS IN CASE LOADING OS/8

020400  0000	LDABS,	0
020401  3363		DCA LODTST	/-2 IF HANDLER, 0 IF OS8
020402  1322	LDABS2,	TAD JMPNXT
020403  3300		DCA TSTO0
020404  3362		DCA CKSUM	/CLEAR CHECKSUM
020405  4777		JMS I (ICHA	/GET A BUFFER CHAR
020406  5351		JMP LDAB	/NO INPUT FOUND
020407  7450		SNA
020410  5205		JMP .-3		/IGNORE BLANKS
020411  1376		TAD (-200
020412  7640		SZA CLA		/IS IT LEADER?
020413  5353		JMP BADIN	/WASN'T 200..PROBABLY NOT BINARY
020414  4777	LEADER,	JMS I (ICHA
020415  5351		JMP LDAB	/STRANGE....ALL LEADER!!!
020416  7450		SNA
020417  5202		JMP LDABS2	/START OVER.BLANKS AFTER LEADER
020420  1376		TAD (-200	/IS IT STILL LEADER?
020421  7450		SNA
020422  5214		JMP LEADER	/YES
020423  7500	NEWWD,	SMA		/IS IT < 200?
020424  5323		JMP FIELDW	/NO.TEST FOR FIELD SEETING
020425  1375		TAD (200	/RESTORE CHARACTER
020426  3357		DCA WD1
020427  4777		JMS I (ICHA
020430  5353		JMP BADIN	/EOF BETWEEN WORDS. HOW NICE!
020431  3360		DCA WD2
020432  4777		JMS I (ICHA
020433  5353		JMP BADIN
020434  1376		TAD (-200	/200 FINISHES US UP
020435  7450		SNA
020436  5347		JMP OVE
020437  3361		DCA WD
020440  4774		JMS I (ASSEM	/ASSEMBLE LAST WORD READ
020441  3355		DCA ORGX	/ALSO TEMP
020442  7430		SZL		/IS IT AN ORIGIN?
020443  5264		JMP ORGTST	/YES
020444  1356		TAD ORIGIN
020445  1375		TAD (200	/GIVE ERROR IF ORIGIN ADVANCES TO 7600
020446  7650		SNA CLA
020447  5353		JMP BADIN
020450  1355		TAD ORGX	/GET WORD BACK

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 112-1

020451  7402	XFIELD,	HLT		/GETS CDF N
020452  3756		DCA I ORIGIN	/STORE THIS WORD
020453  6221	CDF20,	CDF 20
020454  2356		ISZ ORIGIN	/SHOULD NEVER SKIP, BUT...
020455  0007	LD7,	7
020456  1357	NEXT,	TAD WD1
020457  1360		TAD WD2		/MAKE UP CHECKSUM
020460  1362		TAD CKSUM
020461  3362		DCA CKSUM
020462  1361		TAD WD
020463  5223		JMP NEWWD

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 113






		ORGTST,			/TEST FOR ORIGIN
020464  1363		TAD LODTST	/GET POINTER TO PROPER ORIGIN
020465  7650		SNA CLA
020466  5271		JMP .+3
020467  6203		CIF CDF 0	/JUMP TO HANDLER TEST
020470  5773		JMP I (HND
020471  1355		TAD ORGX	/OS/8 - USE REAL ORIGIN
020472  3356	ORI,	DCA ORIGIN	/BUFFER AREA
020473  1363		TAD LODTST	/HANDLER LOAD?
020474  7650		SNA CLA
020475  5256		JMP NEXT	/NOPE
020476  1355		TAD ORGX	/DON'T START LOAD UNTIL *0 IS FOUND
020477  7640		SZA CLA
020500  5256	TSTO0,	JMP NEXT
020501  3300		DCA .-1		/FOUND *0..DO THE LOAD
020502  2363		ISZ LODTST	/YES. BUMP LODTST TO LOAD HANDLER NEXT
020503  5256		JMP NEXT
020504  1251		TAD XFIELD
020505  1372		TAD (-CDF 0
020506  7640		SZA CLA
020507  5312		JMP .+3		/JUMP AROUND IF NOT FIRST TIME
020510  6203		CIF CDF 0	/SUBROUTINE IN FIELD 0
020511  4576		JMS I [FIRST	/FIRST TIME THROUGH


		/DO THIS BETTER; ALSO MAKE SURE HANDLER DOESN(T HAVE A FILED PSEUDO
020512  1371		TAD (CDF 10
020513  3251		DCA XFIELD	/AT THIS POINT, WE START
020514  7240		CLA CMA		/LOADING THE HANDLER INTO THE
020515  3363		DCA LODTST	/AREA SPECIFIED BY HNDORG+1
		/CHECK 'ORIGIN' TO SEE IF HEADER WAS RIGHT SIZE
		/ALSO ELSEWHERE, CAN CHECK ORIGIN WHEN BUMPING TO SEE
		/IF WE HIT ANY MAGIC LOCATIONS
020516  1355		TAD ORGX	/SEE IF LEGAL RE ORIGIN
020517  6203		CIF CDF 0	/OFF ON FIELD 0
020520  4770		JMS I (ORGLIM
020521  3356		DCA ORIGIN	/ACTUAL FIELD 1 ORIGIN
		/	TAD SNACLA	/LOADING FIELD 1..TEST ORIGINS
		/	DCA JMPRE
020522  5256	JMPNXT,	JMP NEXT
020523  1367	FIELDW,	TAD (-100	/LESS THAN 300 FAILS
020524  7510		SPA
020525  5353		JMP BADIN
020526  3357		DCA WD1
020527  1357		TAD WD1
020530  0255		AND LD7
020531  7640		SZA CLA
020532  5353		JMP BADIN	/DISECT WORD TO CATCH GARBAGE
020533  1363		TAD LODTST	/IF LOADING HANDLER, IGNORE FIELD
020534  7640		SZA CLA

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 113-1

020535  5342		JMP FIELD2
020536  1357		TAD WD1
020537  0366		AND (70		/EXTRACT FIELD SETTING
020540  1175		TAD [CDF 0
020541  3251		DCA XFIELD
020542  4777	FIELD2,	JMS I (ICHA
020543  5353		JMP BADIN
020544  1376		TAD (7600
020545  7440		SZA
020546  5223		JMP NEWWD
020547  6203	OVE,	CIF CDF 0	/ROUTINE IN FIELD 0
020550  5574		JMP I [OVER

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 114






020551  6203	LDAB,	CIF CDF 0	/BACK TO FIELD 0
020552  5600		JMP I LDABS	/RETURN FROM SUBROUTINE

020553  6203	BADIN,	CIF CDF 0	/BACK TO FIELD 0
020554  5573		JMP I [BADINP	/BAD INPUT


020555  0000	ORGX,	0
020556  0000	ORIGIN,	0
020557  0000	WD1,	0
020560  0000	WD2,	0
020561  0000	WD,	0
020562  0000	CKSUM,	0
020563  0000	LODTST,	0
020566  0070
020567  7700
020570  2305
020571  6211
020572  1577
020573  3605
020574  0606
020575  0200
020576  7600
020577  0600
	0600		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 115






020600  0000	ICHA,	0		/ICHAR CALL ROUTINE FOR FIELD 0
020601  6203		CIF CDF 0	/OFF TO FIELD 0
020602  4777		JMS I (ICHAR	/JUMP TO ICHAR
020603  5600		JMP I ICHA	/ERROR RETURN
020604  2200		ISZ ICHA	/GOOD RETURN
020605  5600		JMP I ICHA	/RETURN TO CALLER



020606  0000	ASSEM,	0		/ASSEMBLE A WORD
					/THIS CODE APPEARS IN FIELD 0 ALSO
020607  1776		TAD I (WD1	/GET WORD 1
020610  7106		CLL RTL		/NOW DO THE ROTATE
020611  7006		RTL;RTL
020612  7006
020613  1775		TAD I (WD2	/NOW FOR THE SECOND PART
020614  5606		JMP I ASSEM	/BACK TO CALLER
020775  0560
020776  0557
020777  5074
	1000		PAGE

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 116






	4777		WRITEX=JMS I (7607	/OFF TO WRITE TO DEV.
	4250		ERROR=JMS ERRX		/ERROR SUBROUTINE
		BAK,
021000  6202		CIF 0;WRITEX;4211;1400;26;ERROR	/ENTER,TM8E OVERLAY
021001  4777
021002  4211
021003  1400
021004  0026
021005  4250
021006  6202		CIF 0;WRITEX;4701;2000;54;ERROR	/SAVE, DATE, MON ERROR, CHAIN OVERLAYS
021007  4777
021010  4701
021011  2000
021012  0054
021013  4250
021014  6221		CDF 20
021015  6202		CIF 0;WRITEX;4101;LDRCTL;70;ERROR /ABSLDR CORE CONTROL BLOCK
021016  4777
021017  4101
021020  4113
021021  0070
021022  4250
021023  1376		TAD (-114
021024  6202		CIF 0
021025  4775		JMS I (MOVE
021026  6201		CDF 0
021027  4264		4264
021030  6201		CDF 0
021031  3464		3464
021032  6202		CIF 0;WRITEX;4200;3400;64;ERROR
021033  4777
021034  4200
021035  3400
021036  0064
021037  4250
021040  6202		CIF 0;WRITEX;5210;2000;71;ERROR	/ABSLDR
021041  4777
021042  5210
021043  2000
021044  0071
021045  4250
021046  6213		CIF CDF 10	/BACK TO FIELD 1
021047  5774		JMP I (WHER

021050  0000	ERRX,	0		/WRITE ERROR
021051  7602		HLT CLA		/HIT CONTINUE TO RETRY
021052  1250		TAD ERRX
021053  1373		TAD (-6		/BACK TO TRY AGAIN
021054  3250		DCA ERRX	/AGAIN
021055  5650		JMP I ERRX	/RETRY

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 116-1




/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 117







021173  7772
021174  7274
021175  4400
021176  7664
021177  7607
020173  4716
020174  4705
020175  6201
020176  3600
020177  7777
	0000		FIELD 0
	0200		*200
			$

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 118

ACT    1267      BOOTG  4342      CORX   0352      DVNUM  1032
ACTION 1404      BOOTQ  2563      COR0   0333      DVREC  4265
ACTIV  3056      BOOT2  3214      COR1   0342      DVTYPE 0004
ACTIVE 0006      BOOT2A 3000      COR2   0344      ECHO   0504
ACTNAM 2665      BOOT2X 3034      COR70  0350      ECHOFL 4551
ACTSW  0661      BOOT3  3506      COUNT  0020      END    4363
ADV    2466      BOOT4  4462      COUNT2 6130      ENDLIN 0523
ADVBOT 4540      BOOT5  4200      CPREC2 4127      ENTPT  0005
ADVDSC 4541      BOOT6  4201      CRLF   4736      EOL    2703
ALTER  1625      BOOT7  4215      CSA    7515      ERR    4307
ALTMOD 0511      BOOT8  4241      CTCTST 4437      ERROR  4250
AMTCOR 5067      BOTADV 4017      CTLCM  1675      ERRX   1050
ASSEM  0606      BUFFER 5400      CTO    4673      EXAM   1731
ASSEMB 4450      BUFLD  6072      CTRLC  4274      EXAMDC 1720
B      3271      BUILD  5303      CTRLU  0514      EXAMIN 1624
BADARG 4166      CARRET 0467      DATEWD 7666      EXAMSB 1733
BADIN  0553      CAR1   0470      DCB    0004      FIELDW 0523
BADINP 4716      CASIT  7517      DCBCM  1674      FIELD2 0542
BADLOD 0673      CBATI  0231      DCBTBL 7760      FILPTR 1057
BADORG 2333      CBATO  0240      DCOM   1423      FIRST  3600
BADPLT 1331      CDF20  0453      DEL    1410      FLAG2  0045
BADV   2512      CDKNT  7517      DELETE 1214      FLD    6125
BAK    1000      CDN    7417      DELGN  1414      FNDBOT 4222
BAKC   0566      CDPTR  7516      DELNAM 1413      FROMBO 4230
BAKCHR 4547      CHAR   0021      DETEM  1360      FROMOV 2443
BATBK  0323      CHAR1  5143      DEVBUF 0400      GCHCOM 5144
BATDON 0226      CHAR2  5137      DEVSIZ 0007      GET    4562
BATINI 3657      CHCNT  5162      DGET   1447      GETC   0563
BATLS  0230      CHECK  6131      DHYPH  1432      GETCHA 0306
BATLUP 0217      CHKLUP 0602      DIRLOC 3400      GETCHR 4550
BATMOV 0213      CHKNAM 0600      DLENGT 4165      GETDCB 3242
BATSET 0200      CHKRES 3035      DOLR   0220      GETEM  0326
BATT   0004      CHPTR  5163      DONE   2046      GETEMP 2220
BATTST 0315      CHTMP  5071      DOT    2671      GETLEN 4132
BATXR1 0010      CHTMP2 4672      DOTCNT 2702      GETNUM 0523
BATXR2 0011      CKSUM  0562      DPROPR 4157      GETPG  1600
BD     0302      CKSUMM 6132      DRECT  3505      GETSLO 3200
BDV    2524      CK1    6142      DRIVER 1033      GETU   1025
BEGLIN 5200      CLRTBL 2274      DSCADV 4000      GETUSR 1524
BIGFLG 0716      CN     4266      DSCPTR 0033      GETVAL 1664
BIGNAM 0704      COM    1270      DSCTAB 6400      GNAME  2705
BINARY 6000      COMMA  2553      DSK    1452      GNAME2 2723
BINBUF 5106      CONFIG 0215      DSKBAD 2756      GNMXR  0016
BINPUN 6000      COPREC 4122      DSKBIT 0006      GO     2256
BLDCB  1556      COPY   4107      DSKG1  0035      GOOD   2617
BLDCCB 0750      COP2   4056      DSKG2  0036      GOTCHA 2207
BLDLOD 1534      COP3   4106      DSKP1  0037      GOTD   3227
BLDSAV 0076      CORBIT 4132      DSKP2  0040      GOTEM  3147
BLOK66 0000      CORE   3147      DT     2126      GOTSW  0566
BLOOK  4216      CORES  0005      DTYPE  2144      GRPNAM 0650
BOOT   3210      COREX  0363      DVBUF  4264      GRPNM1 0000
BOOTC  3400      CORLOC 0367      DVER   5354      GRPNM2 0001
BOOTD  3437      CORMSG 2102      DVICE  5164      GT     2471
BOOTE  3446      CORSIZ 0306      DVLOOP 4247      GTEXT  0400
BOOTF  4322      CORV   0370      DVNM1  1031      HDPTR  1152

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 118-1

HDRSIZ 0010      LXR    0015      OK     3615      QCKSUM 6236
HND    3605      L0423  1445      OLDPAG 0042      QLEDER 6245
HNDLOC 3071      L15    4302      OLDTOP 2547      QLIST  2107
HNDLOK 1543      L5400  3434      ONEPG  3554      QLUP   2110
HNDPTR 0032      L600   0017      ORGLIM 2305      QPNCH  6234
HYPH   1344      L7400  5032      ORGTST 0464      QROTR  6244
ICHA   0600      L7600  5034      ORGX   0555      Q102   6242
ICHAR  5074      L770   7543      ORI    0472      Q176   6235
IGET   1361      MAXPLT 0004      ORIGIN 0556      Q177   6240
IN     5071      MEQ    1240      OTEMP  4733      Q300   6233
INACT  3126      MEQL   1704      OUT    5072      Q74    6237
INI    2547      MFREE  0070      OVE    0547      Q77    6241
INIT   4542      MOVE   4400      OVER   4705      RBCR   0521
INPDCB 1712      MOVRET 4435      OVERB  6200      RBOUT  0447
INPLAT 1301      MVCDF2 4424      OVROUT 4726      RD     5347
INS    1231      MVCT   4447      PACK   2637      RDCD   5327
INSERT 1207      MVDF   4426      PACKOK 2644      RDIN   5104
INSGN  1252      MVSHND 3424      PAGAD  1672      RDOS8  5313
INSNAM 1251      MVTM1  4513      PAGRES 0006      RDTX   0405
INTEM  1400      MVTM2  4520      PATCH  4552      RDTXT  0406
IOERR  5153      MV20   4432      PBUFFE 1545      READ   4777
IOPEN  3635      MV7600 4536      PGLUP  1115      RECNO  5107
JMPGET 5121      M270   7544      PGNAME 2034      RECNO2 5111
JMPNXT 0522      NAME   1606      PG7600 5400      RECZRO 2341
JMPX   5100      NAMERR 1770      PKNT   1763      RELCOR 0326
JSW    7746      NAME1  0024      PLATNU 0006      REOF   5161
KICKM  1520      NAME2  0025      PLOOP  1745      REPLAC 1200
KLUD   3613      NAME3  0026      PN     1471      RERROR 5147
KORE   4301      NAME4  0027      PNAME  2126      RESTOR 7434
K7750  2240      NCHAR  0542      PNCH   6117      RES76  7477
LCKSUM 4734      NEWCOR 0043      PRETSW 7552      RETSW  5165
LDAB   0551      NEWLIM 3614      PRINT  2000      RIGHT  2653
LDABS  0400      NEWPAG 0041      PRINTE 4622      ROT    0527
LDABS2 0402      NEWWD  0423      PRLUP  2004      ROTL   4513
LDEXT  1153      NEXT   0456      PRMNAM 0662      ROTR   4520
LDR    6013      NFOUND 0717      PRMNM1 0002      RUBFLG 4755
LDRCTL 4113      NMER   3631      PRMNM2 0003      R7600  7545
LD7    0455      NM1    0606      PRNAME 4600      SA     7744
LEADER 0414      NM2    0614      PRNM2  4605      SAMEE  2570
LEDER  6107      NOBIG  0640      PRNT   4745      SAMF   2566
LFEED  0476      NOCOL  1503      PROTEC 2663      SAMPAG 2506
LFMOD  0414      NODEV  1364      PROTL  4461      SAMPG  3143
LIM1   6126      NODSK  1501      PRSPAC 4651      SAVDAT 0044
LIM2   6127      NOHN   4271      PRTM   4735      SAVE   7452
LINEUP 4704      NOMOR  2530      PRTPER 2024      SAVHID 0047
LNLNGT 0103      NOMORE 2527      PRWD   4660      SAVLC  5070
LOAD   1071      NORE   3125      PRWD2  4662      SAVLOC 3561
LOADIN 1066      NORE2  3307      PTM    1762      SAVNAM 1336
LOCSYS 2600      NOROOM 0730      PUT    4563      SAVPTR 2536
LODTMP 1032      NOSLOT 2611      PUTAT  1716      SAV1   0002
LODTST 0563      NOTNUF 2363      PUTNUM 1741      SAV2   0003
LOOKAT 1721      NO4C   3112      PWORD  4632      SBLOCK 7776
LSTPTR 2534      NULL   4654      P2PAG  1635      SBUFF  5360
LWD1   4457      NUMOUT 0556      P200   5105      SDCB   5300
LWD2   4460      ODTL   1657      QCHECK 6243      SETACT 1400

/OS/8 V50 BUILD				  PAL8-V50X 11-OCT-90 PAGE 118-2

SETDSK 1513      TSTNAM 1763      
SETSLT 3331      TSTOVR 2234      
SETSY  3311      TSTO0  0500      
SETUP  1000      TTYIN  3652      
SETUPS 3530      TTYOUT 4525      
SHND   5320      TTY240 2000      
SIZCM  1673      TWOPAG 0005      
SIZE   0031      TWOSYS 1224      
SIZLUP 4146      T1AD   3423      
SKPCRD 4541      T2AD   3431      
SLOT   0034      UNLGRP 2423      
SLOTDS 3262      UNLNAM 2412      
SLTLUP 3022      UNLOAD 2400      
SMPG   3326      UNLPRM 2411      
SNACLA 3440      UNSIZE 2553      
SNAME  5340      USRBLK 0013      
SOFSET 7747      USRHPT 0037      
SRES   5260      USRNPT 0036      
STARTB 6020      VERS   0740      
STEMP  5074      WD     0561      
SUBLUP 1031      WD1    0557      
SWAPER 5073      WD2    0560      
SWAPLW 5037      WHAT   2140      
SWAP2  5047      WHER   7274      
SWAP3  5017      WRCD   7313      
SWIT   2664      WRERR  7507      
SYBUF  2260      WRITCC 2155      
SYCTL  2257      WRITE  4777      
SYDCB  7760      WRITEX 4777      
SYNTAX 2750      WROS8  7201      
SYREC  2261      XFIELD 0451      
SYS    2246      XRBACK 0464      
SYSBIT 0005      XR1    0010      
SYSCPY 4037      XR2    0011      
SYSDCB 0046      XR3    0012      
SYSENT 2273      XR4    0013      
SYSLOC 3557      XR5    0014      
SYSL2  3461      XSWTCH 1716      
SYSL3  3501      Z7600  7307      
SYSQ   5121      
SYSSIZ 4273      
SYSTEM 1216      
SYSWP  5000      
TABLMT 0030      
TELCOR 2072      
TEMP   0022      
TEST   2221      
TM     4541      
TMP1   0023      
TMP2   3431      
TOMOV  2445      
TOOMAN 2200      
TO20   5157      
TRYAGN 1052      
TSTEOL 1210      



ERRORS DETECTED: 0
LINKS GENERATED: 0