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


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 1

		/OS/8 SYMBOLIC EDITOR, V50
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
		/		AND 1979 BY DATAPLAN GMBH
		/               AND 2015 W. VAN DER MARK
		/
		/
		/
		/
		/
		/
		/THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
		/SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU-
		/SION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANT OTHER
		/COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE
		/TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
		/AGREES TO THESE LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE
		/SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
		/
		/
		/THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
		/NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
		/EQUIPMRNT COROPATION.
		/
		/DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
		/SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
		/
		/
		/
		/
		/
		/

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 2


		/5 JULY 1972		EF

		/COPYRIGHT 1971,1972 DIGITAL EQUIPMENT CORPORATION
		/	MAYNARD, MASSACHUSSETTS 01754

		/THE SYMBOLIC EDITOR IS A LINE-ORIENTED
		/TEXT EDITOR WITH CHARACTER AND STRING
		/SEARCH CAPABILITIES.  IT IS DESIGNED
		/TO BE COMPATIBLE WITH THE OS/8 SYSTEM.

		/THE DESIGN OF THE EDITOR IS SIMILAR
		/TO THAT OF THE PAPER TAPE SYMBOLIC
		/EDITOR AND THE DISK MONITOR SYSTEM
		/EDITOR.


		/	OS/8 V3 CHANGES		S.R.

		/1.	?5 ERROR REMOVED
		/2.	ALLOW CHAINING TO EDIT
		/3.	ADDED VERSION # COMMAND	(#)
		/4.	COMBINED ^C ROUTINES, TAKING OUT BRANCH THRU 17667
		/5.	ALLOWED PARITY CHARACTERS EVERYWHERE
		/
		/
		/ FIX FOR V10 J.K.	1975
		/
		/ THE CLOSE ERROR MESAGE 2? WAS BEING
		/ GIVEN INSTEAD OF FILE FULL MESSAGE
		/ WHEN THE INPUT FILE FIT INTO THE EDIT BUFFER
		/ BUT WAS TOO LARGE FOR THE AVAILIBLE SPACE ON THE
		/ OUTPUT DEVICE.

		/	V11 CHANGES 25-MAY-77 DAVID SPECTOR

		/1.	ESCAPE KEY NO LONGER ECHOED
		/2.	SCOPE MODE SUPPORTED
		/3.	ONCE-ONLY CODE MOVED TO INPUT HANDLER
		/	AREA IN ORDER TO FREE LOCS 3000-3177

		/	V12 CHANGES 27-JUN-77 EDWARD P. STEINBERGER
		/
		/ALLOWED ESCAPE(233) TO BE AN INPUT CHARACTER IN TEXT MODE.
		/ECHOS AS "$" ON TERMINAL OR LINEPRINTER (IF V), OUTPUT
		/TO FILE AS ESCAPE
		/	V 40 CHANGES 1-JUL-79 W.V.D.MARK
		/
		/1.	DEC PATCH FOR TAB
		/2.	MULTI8 ADAPTED
		/3.	SETS ADAPTED
		/4.	LOWER CASE COMMANDS
		/5.	SYMBIONT
		/6.	# COMMAND IMMEDIATE
		/7.	UPARROW CNTRL'S

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 2-1

		/8.	XON/XOF FOR VT100
		/9.	TEXT ERROR MESSAGES
		/10.	BACKSPACE KEEPS TABS CORRECT
		/11.	ALL THIS IN SAME SPACE
		/	GERMAN=1

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 3


		/THE LOADING AND SAVING PROCEDURE FROM PAPER TAPE IS:
		/	.R ABSLDR
		/	*PTR:/9/P$
		/	.SAVE SYS EDIT
		/

		/THE STARTING ADDRESS IS 00200.

		/COMMAND DECODER RULES:
		/*OUTPUT FILE<UP TO 9 INPUT FILES/OPTIONS

		/OPTIONS:
		/A	RETURN CONTROL TO EDITOR AFTER FILE CLOSE
		/	(CALLS COMMAND DECODER FOR NEW FILES)
		/	(DEFAULT IS RETURN TO MONITOR)
		/B	CONVERT 2 OR MORE SPACES TO TAB ON INPUT
		/D	DELETE OLD COPY OF OUTPUT FILE BEFORE
		/	STORING NEW FILE

		/ERROR CODES:
		/  0	FAILURE IN INPUT DEVICE HANDLER
		/  1	FAILURE IN OUTPUT DEVICE HANDER
		/  2	COULD NOT CLOSE FILE
		/  3	COULD NOT OPEN FILE
		/  4	DEVICE HANDLER COULD NOT BE LOADED

			DECIMAL
	0062		VERSION=50
	0330		PATCH="X	/PATCH LEVEL X
			OCTAL

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 4


		/COMMANDS:

		/A	APPEND TEXT TO BUFFER
		/I	INSERT TEXT INTO BUFFER
		/C	CHANGE TEXT IN BUFFER
		/L	LIST TEXT IN BUFFER
		/D	DELETE TEXT IN BUFFER
		/K	KILL BUFFER
		/M	MOVE TEXT WITHIN BUFFER
		/G	GET AND LIST TAGGED LINE IN BUFFER
		/B	LIST # OF CORE LOCATIONS LEFT IN BUFFER
		/S	CHARACTER SEARCH
		/J	INTER-BUFFER STRING SEARCH
		/F	AFTER J, SEARCH FOR NEXT OCCURRANCE
		/	OF SAME STRING
		/$	INTRA-BUFFER STRING SEARCH
		/R	READ TEXT INTO BUFFER FROM INPUT DEVICE
		/N	WRITE BUFFER, KILL, AND READ NEXT PAGE
		/Y	INPUT TEXT PAGE, NO OUTPUT
		/P	WRITE TEXT BUFFER TO OUTPUT DEVICE
		/T	PUNCH TRAILER TAPE
		/E	OUTPUT BUFFER, TRANSFER REST OF
		/	INPUT FILE TO OUTPUT FILE
		/	CLOSE OUTPUT FILE
		/Q	IMMEDIATE END OF FILE
		/V	PRINT ON LP08
		/#	TYPE VERSION NUMBER

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 5



		/ABBREVIATIONS

		/.LT.	LESS THAN
		/.LE.	LESS THAN OR EQUAL TO
		/.GT.	GREATER THAN
		/.GE.	GREATER THAN OR EQUAL TO
		/ R	RIGHT
		/ L	LEFT

		/SPECIAL COMMENTS

		/SINCE THE EDITOR IS CODED ACROSS PAGE BOUNDARIES, IT IS
		/NECESSARY TO BE AWARE OF THE EFFECTS OF THE INSERTION
		/OR DELETION OF CODE.  FOR THIS REASON, THE LIMITS
		/OF PERMISSABLE PAGE BOUNDARY WANDERING
		/ARE INDICATED WITH THE FOLLOWING CONSTRUCTION:

		/-----------------------------------------------------------------------
		/SOMEWHERE BETWEEN LINES, THE PAGE BOUNDARY MUST OCCUR
		/-----------------------------------------------------------------------

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 6



	0000	*0

000000  3144		LPT		/*WM* FOR SETS
000001  6232		CIF	30
000002  5001		JMP	1	/SYMBIONT

000003  0243	SIGN,	"#		/V40

000004  0000		ZBLOCK 3	/FOR ODT

000007  0077	C77,	77
		NONE,			/V40
000010  7737	M41,	NOP-CIA		/=-41
000011  0100	C100,	100
000012  0277	C277,	277		/QUESTION MARK

		/AUTO-INDEX REGISTERS

000013  0000	AXOUT,	0 		/OUTPUT INDEX
000014  0000	AXCOMB,	0 		/COMBINE POINTER
000015  0000	AXTEM,	0 		/TEMPORARY INDEX
000016  0000	AXIN,	0 		/STORAGE INDEX

		/CONSTANTS

000017  7774	M4,	-4		/LETTER COUNT
000020  0177	P177,	177
000021  7563	MCR,	-215
000022  7540	M240,	-240
000023  0040	P40,	40
000024  0200	C200,	200		/(START & RESTART)
000025  6100	BUFEND,	6100		/WARNING FOR END OF BUFFER
000026  7700	P7700,	7700		/MONITOR CALL LOCATION
000027  7701	M77,	-77

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 7




		/LISTS

		/TAG SEARCH LIST-
	0030	LIST7=.

000030  0240	C240,	240		/SPACE
000031  0257		257		/COMMENT DELIMITER (/)

		/OUTPUT LIST
	0032	LIST4=.

000032  0233	ESC,	233		/ESC-V12
000033  0211	CTAB,	211		/TAB
000034  0215	C215,	215		/CARRIAGE RETURN
000035  0212		212		/LINE FEED
000036  0214		214		/FORM FEED
000037  0377		377		/RUBOUT
000040  0207		207		/ ^G BELL
000041  0210		210		/ ^H BACKSPACE
000042  7751	M27,	-27		/LIST DELIMITER

		/SPECIAL CHARACTER LIST FOR
		/INPUT IN TEXT MODE
	0043	LIST5=.			/USED AT AONE
000043  0240		240		/SPACE
	0044	LIST6=.			/USED AT SFOUND
000044  0225	CTU,	225		/ ^U
000045  0214	C214,	214		/FORM FEED
000046  0207	BELL,	207		/ ^G (BELL)
000047  0212	C212,	212		/LINE FEED
000050  0377	CRO,	377		/RUBOUT

	0051	LIST3=.
000051  0215		215	 	/LIST BRANCHER
000052  0000		000	 	/(SEARCH CHARACTER)
000053  1707	RST3I,	RESET3		/RESET AND SAVE BUFFER
000054  4645	MCHIN1,	-CHIN-1		/LIST DELIMITER

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 8




		/CONSTANTS AND POINTERS

	0034	CCR=C215		/CARRIAGE RETURN
	0047	CLF=C212		/LINE FEED
000055  7770	MTABS,	-10		/TAB COUNTER
000056  0635	DELT,	DELP
000057  3132	CHI1,	CHIN
000060  3133	IGNORE,	CHIN+1
000061  0200	END,	200
000062  1641	KEYBD,	I33
000063  5414	CCON,	JMP I AXCOMB
000064  1327		COM1-1
000065  0531	UTR1,	UTRA
000066  1015	FIN1,	FIND
000067  0677	LIS1,	LIST
000070  0704	LIS,	LISTER
000071  0012	NINE,	12
000072  7506	NUMB,	-272
000073  3027	OUT1,	OUT
	0074	OUTL1=.
000074  1651	LOW,	OUTL
000075  7000	CZ,	NOP		/CONTENTS OF START
000076  0224	ONUM,	GTOP
000077  0337	SORTJ,	SORTB
000100  0457	PACK1,	PACBUF

000101  1110	SXS1,	TAD CHAR	/CONTENTS OF L3
000102  5364	SXS2,	SLOOK&177+5200	/JMP SLOOK
000103  0747	L3I,	L3		/PATCH POINTER
000104  0745	L2I,	L2		/CONTINUE SEARCH - LETTERS
000105  1610	ENDLNI,	ENDLN
000106  0455	SPCNO,	MOR+4		/PACK
000107  0452	SPCGO,	MOR+1		/SORT

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 9




		/CHAR IS ALWAYS SET BY OUT, SOMETIMES BY SORTB;
		/IT IS ALWAYS USED BY PACK AND SORTB.
000110  0000	CHAR,	0
	0111	MOV1=.
000111  0000	COUNTP,	0		/NUMBER OF PAGES
	0112	CNT=.			/PRINT COUNTER
000112  0000	XCT,	0		/UNPACK SWITCH
000113  0000	XCTIN,	0		/PACK SWITCH
000114  0001	ECHOSW,	1		/NON-ZERO TO PRINT
000115  0000	SAVE,	0
000116  0000	TABIND,	0		/TABS OR SPACES SWITCH
000117  0000	TEMP,	0		/V3
000120  0000	THIS,	0		/LINE POINTER.
000121  1651	OUTDEV,	OUTL		/POINTER TO OUTPUT SUBROUTINE
000122  2600	GRBAGE,	GARBAG		/GARBAGE COLLECTOR
000123  0000	MARK,	0		/OBJECT LINE IN G.C.
000124  0000	XSAV,	0		/HOLD INPUT POINTER.
000125  0200	BUFR,	200
000126  0174	CFRS,	FRST
000127  1547	KILL1,	KILL+3
000130  1501	CHKARG,	CHKARX
000131  4143	ERSW,	ERROR		/ERROR ROUTINE
000132  0723	L1I,	L1

000133  0000	EKILLL,	0		/E CMD SWITCH  1 IF E NOT ALLOWED

		/I-O RELATED POINTERS AND WORDS

000134  0232	P232,	232		/V3
000135  2031	BUFRDI,	BUFRD		/OR CHIN...IN DEVICE POINTER
000136  2062	BUFWTI,	BUFWT		/WRITE OUTPUT TO DEVICE
000137  2006	CLFLI,	FLCLOS		/SET TO CLOSE FILE
000140  0037	P37,	37		/V3
000141  5250	JMPCH,	PUNCH&177+5200	/DESTROYED BY YANK

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 10



		/ERROR ROUTINE POINTERS
000142  2721	PRERR,	DEVERR

	0143	GTEM=.		/NEXT 6-BITS OF UNPACK
	0143	DTEM=.		/NEXT POINTER IN DELETE CHAIN


		/ERROR ROUTINE
		/REJECTS ILLEGAL COMMAND
		/AND TYPES ?

	4143	ERROR=JMS .
000143  0000		0		/ALSO TEMP
000144  7600	ELIM,	7600 		/GRP2-CLA
000145  1012		TAD C277
000146  4474		JMS I OUTL1	/PRINT "?"
000147  1075	CZONE,	TAD CZ		/RESET PATCHES
000150  3555		DCA I TE1
000151  5555	JMPTE1,	JMP I TE1	/*RETURN TO COMMAND MODE*


000152  1753	MONITOR, MONIT		/MONITOR EXIT ROUTINE
000153  0000	STRIND,	0
000154  2400	STRFIN,	SFIND1
000155  0203	TE1,	START

		/VARIABLES
000156  0000	THSN,	0		/CURRENT LINE NUMBER
000157  0000	LSTN,	0		/LAST LINE NUMBER
000160  0000	TCNT,	0		/TAB COUNT
000161  0000	ADD,	0
000162  0000	ARG0,	0
000163  0240	ARG1,	0240
000164  7777	ARG2,	-1

000165  7110	POTYPE,	OTYPE
000166  1336	COMM5,	COM5
000167  7600	K7600,	7600
000170  0000	TEMPO,	0
000171  1210	K1210,	1210
000172  7575	X203,	-203
000173  1320	K1320,	1320

000174  0000	FRST,	0		/FIRST LINE ADDRESS
	0170	MOV2=TEMPO
000175  0000	LSTCHK,	0	/DIGIT ACCEPTED FLAG

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 11


	0177		*177
000177  3000		INIT		/INITIALIZATION CODE
					/EITHER 3000 OR VALUE OF RESET


	0200		*200
000200  7240		STA		/V3 NORMAL START OR RESTART ADDR
000201  3117		DCA TEMP	/V3 CHAIN START ADDR
000202  5577		JMP I 177	/START AT 3000 OR RESET
		/HANDLER FOR ^U (IF IN COMMAND MODE)
000203  7000	START,	NOP		/V3 MAY BE MODIFIED
000204  1074		TAD LOW		/ENTER COMMAND MODE
000205  3121		DCA OUTDEV	/INITIALIZE KEYBOARD
000206  3116		DCA TABIND	/CLEAR TAB INDICATOR
000207  2114		ISZ ECHOSW	/SET UP FOR ECHO
000210  3052		DCA LIST3+1
000211  1101		TAD SXS1
000212  3503		DCA I L3I
000213  1131		TAD ERSW	/RESET ERROR SWITCH AT L1
000214  3532		DCA I L1I
000215  1147		TAD CZONE
000216  3566		DCA I COMM5
000217  3175		DCA LSTCHK	/CLEAR DIGIT ACCEPTED
000220  1034		TAD CCR		/OUTPUT CARRIAGE RETURN
000221  4473		JMS I OUT1
		/HANDLER FOR CARRIAGE RETURN (COMMAND MODE)
000222  1003		TAD SIGN	/OUTPUT #
000223  4473		JMS I OUT1
000224  3162	GTOP,	DCA ARG0 	/CLEAR ARGUMENTS
000225  3164		DCA ARG2
		/HANDLER FOR SPACE OR +
000226  1010	GEXP,	TAD NONE
		/HANDLER FOR -
000227  1350	GMIN,	TAD CMPT
000230  3242		DCA G2		/SET SIGN TO + OR -
000231  3117	DBCV2,	DCA TEMP
000232  4457	CMCHK,	JMS I CHI1	/INPUT ONE CHARACTER
000233  1072		TAD NUMB
000234  7100		CLL
000235  1071		TAD NINE
000236  7430		SZL		/WAS IT A DIGIT?
000237  5327		JMP COUNT	/YES - CONTINUE ACCEPTING NUMBERS

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 12




000240  7200	GLOM,	CLA		/NO
000241  1117		TAD TEMP	/GET ACCUMULATED NUMBER
000242  7402	G2,	HLT 		/(NOP) OR (CIA) TO HANDLE SIGN
000243  1164		TAD ARG2
000244  3164		DCA ARG2	/STORE NEW ARGUMENT
000245  4337		JMS SORTB	/WAS LAST CHARACTER SPECIAL?
000246  1342		LIST1-1		/YES - COMPARE TO LIST
000247  0214		OPS1-LIST1 	/AND BRANCH TO HANDLER
000250  1110		TAD CHAR	/NO - SAVE COMMAND CHARACTER
000251  0260		AND P337	/ACCEPT LOWER CASE IN 'SAVE'
000252  3115		DCA SAVE
000253  4457		JMS I CHI1 	/INPUT ONE CHARACTER
000254  4337		JMS SORTB	/IS IT CARRIAGE RETURN, ^C, OR ^U?
000255  1365		LIST1A-1	/YES - EXIT TO HANDLER
000256  0217		OPS1A-LIST1A
000257  4143		ERROR		/NO - TRY AGAIN
000260  0337	P337,	337

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 13



		/CHECK LEGALITY OF ARGUMENTS
		/ARG0 CONTAINS FIRST ARGUMENT
		/ARG2 CONTAINS SECOND ARGUMENT

000261  1162	RETRN,	TAD ARG0	
000262  7450		SNA		/IS ARG0=0?
000263  1164		TAD ARG2	/YES - ARG0=ARG2
000264  3162		DCA ARG0	/NO
000265  1164		TAD ARG2
000266  7040		CMA
000267  1162		TAD ARG0
000270  7500		SMA		/IS ARG0 .LE. ARG2?
000271  4143		ERROR		/NO
000272  3163		DCA ARG1 	/YES - ARG1=ARG0-ARG2-1
000273  1162		TAD ARG0
000274  7710		SPA CLA		/IS ARG0 .GE. 0?
000275  4143		ERROR		/NO
000276  1115		TAD SAVE	/YES - GET COMMAND CHARACTER
000277  4337		JMS SORTB	/IS IT A LEGAL COMMAND?
000300  0302		LIST2-1		/YES - MATCH TO LIST
000301  0062		OPS2-LIST2	/AND BRANCH TO ITS HANDLER
000302  4143		ERROR		/NO - TRY AGAIN 


		/COMMAND IDENTIFICATION LIST
	0303	LIST2=.		/COMMAND LETTERS
000303  0305		305 		/E
000304  0301		301 		/A
000305  0311		311 		/I
000306  0303		303 		/C
000307  0313		313 		/K
000310  0304		304 		/D
000311  0314		314 		/L
000312  0316		316 		/N
000313  0320		320 		/P
000314  0322		322 		/R
000315  0312		312		/J
000316  0306		306		/F
000317  0324		324 		/T
000320  0315		315 		/M
000321  0307		307 		/G
000322  0323		323		/S
000323  0331		331		/Y
000324  0321		321		/Q
000325  0302		302		/B
000326  0326		326		/V

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 14


		/DECIMAL ADDITION ROUTINE
		/FOR NUMERIC ARGUMENTS OF COMMANDS
		/ENTER WITH INPUT DIGIT IN SORTB
		/EXIT WITH ACCUMULATED NUMBER IN AC

000327  3337	COUNT,	DCA SORTB
000330  2175		ISZ LSTCHK	/GOT A DIGIT NOW
000331  1117		TAD TEMP
000332  7106		RTL CLL		/V40 ** IS END OF LIST2
000333  1117		TAD TEMP
000334  7004		RAL
000335  1337		TAD SORTB
000336  5231		JMP DBCV2	/RETURN TO MAIN SEQUENCE

		/SORT AND BRANCH ROUTINE
		/LOOKS FOR MATCH BETWEEN CHAR
		/AND ELEMENTS OF TABLE 1 SPECIFIED
		/CALLING SEQUENCE:
		/	JMS I (SORTB
		/	TABLE1-1
		/	TABLE2-TABLE1
		/	RETURN IF NO MATCH
		/DISPATCHES TO CORRESPONDING ADDRESS IN TABLE 2

000337  0000	SORTB,	0
000340  7440		SZA		/IS CHARACTER STORED YET? 
000341  3110		DCA CHAR	/NO - STORE IT
000342  1737		TAD I SORTB	/YES
000343  2337		ISZ SORTB
000344  3015		DCA AXTEM	/STORE TABLE 1 ADDRESS
000345  1415		TAD I AXTEM	/GET TABLE ENTRY
000346  7510		SPA		/DONE YET?
000347  5362		JMP SEX		/YES - EXIT
000350  7041	CMPT,	CIA		/NO
000351  1110		TAD CHAR	/GET CHARACTER
000352  7640		SZA CLA		/DO THEY MATCH?
000353  5345		JMP .-6		/NO - KEEP TRYING
000354  1015		TAD AXTEM	/YES - THEY MATCH
000355  1737		TAD I SORTB	/GET DISPATCH TABLE ADDRESS
000356  3337		DCA SORTB
000357  1737		TAD I SORTB
000360  3337		DCA SORTB	/SET RETURN ADDRESS 
000361  5737		JMP I SORTB	/--RETURN--VIA DISPATCH TABLE
000362  2337	SEX,	ISZ SORTB 	/MATCH NOT FOUND
000363  7200		CLA
000364  5737		JMP I SORTB	/--

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 15


		/-----------------------------------------------------------------

		/DISPATCH LIST FOR COMMAND HANDLERS
000365  1461	OPS2,	ENDFIL		/E 
000366  1231		APP 		/A
000367  1230		XNS 		/I
000370  1227		CNGE 		/C
000371  1544		KILL 		/K
000372  1742		DELE 		/D
000373  0677		LIST 		/L
000374  1310		COMBO 		/N
000375  1250		PUNCH		/P 
000376  1300		TELE 		/R
000377  2243		JERK		/J
000400  2271		BARROW		/F
000401  1256		PUNCT 		/T
000402  1413		MOVEM 		/M
000403  1371		GETTAG 		/G
000404  1173		XCRET 		/S
000405  1306		YANK		/Y
000406  2000		Q		/Q
000407  1042		CORSPC		/B
000410  2703		VIEW		/V

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 16


		/END OF INPUT TEXT LINE ROUTINE

000411  4505	EOL,	JMS I ENDLNI	/RESET LINK CELLS
000412  2157		ISZ LSTN	/INCREMENT LINE POINTERS
000413  2156		ISZ THSN
000414  1025		TAD BUFEND
000415  7141		CLL CIA
000416  1016		TAD AXIN
000417  7620		SNL CLA		/IS THE BUFFER FULL?
		/------------------------------------------------------------
000420  5251		JMP MOR		/NO - KEEP FILLING
000421  1046		TAD BELL	/YES - RING WARNING BELL
000422  4474		JMS I OUTL1
000423  5555		JMP I TE1	/*RETURN TO COMMAND MODE*


		/CONTINUATION OF HANDLERS FOR A, C, AND I COMMANDS
000424  1157	APP1,	TAD LSTN	/APPEND
000425  3162		DCA ARG0	/RESET ARG0 TO END OF TEXT
000426  5232		JMP INS
000427  4456	CNGE1,	JMS I DELT	/CHANGE - DELETE LINES AND
000430  1162	XNS1,	TAD ARG0	/INSERT
000431  7650		SNA CLA		/ANY ARGUMENTS?
000432  2162	INS,	ISZ ARG0	/NO - INSERT AT BEGINNING OF TEXT
000433  1162		TAD ARG0
000434  4466		JMS I FIN1	/FIND THE POINTER
000435  3120		DCA THIS
000436  2116		ISZ TABIND	/SET TAB INDICATOR
000437  6211		CDF 10
000440  1520		TAD I THIS	/GET LINK TO BUFFER
000441  6201		CDF 0
000442  3124		DCA XSAV
000443  7040		CMA
000444  1162		TAD ARG0
000445  3156		DCA THSN	/SET LINE POINTER
000446  1125	AONE,	TAD BUFR	/BEGIN LINE
000447  3016		DCA AXIN
000450  3113		DCA XCTIN
000451  4535	MOR,	JMS I BUFRDI	/GET A CHARACTER
000452  4477		JMS I	SORTJ	/IS IT SPECIAL? (SEE LIST)
000453  0042		LIST5-1
000454  0534		INLIST-LIST5	/YES - GO TO ITS HANDLER
000455  4257		JMS PACBUF	/NO - PACK IT
000456  5251		JMP MOR		/FETCH ANOTHER

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 17



		/CHARACTER PACKING ROUTINE
		/CONVERTS CHARACTER IN CHAR TO INTERNAL CODE
		/AND CALLS PCK1 TO PACK IT INTO BUFFER
		/ENTER AND EXIT WITH AC CLEAR

000457  0000	PACBUF,	0
000460  7100		CLL
000461  1016		TAD AXIN	/DON'T ADD CHARACTERS
000462  1171		TAD K1210	/IF AXIN ABOVE 6570
000463  7630		SZL CLA		/IS THERE ROOM FOR THIS ONE?
000464  4143		ERROR		/NO
000465  1110		TAD CHAR	/YES
000466  1022		TAD M240
000467  7510		SPA		/IS IT 200-237?
000470  5303		JMP ESCA	/YES - ATTACH 77
000471  1027		TAD M77
000472  7540		SMA SZA		/IS IT 337 OR LESS?
000473  5303		JMP ESCA	/NO - ATTACH 77
000474  1023		TAD P40		/YES - IS IT 277?
000475  7650		SNA CLA
000476  5303		JMP ESCA	/YES - ATTACH 77
000477  1110	TR1,	TAD CHAR	/240-337 EXCEPT 277
000500  0007		AND C77		/MASK OUT LEFT 6 BITS
000501  4307		JMS PCK1	/PACK IT
000502  5657		JMP I PACBUF	/--RETURN--
000503  7200	ESCA,	CLA		/200-237, 277,340-377
000504  1007		TAD C77		/PACK A 77
000505  4307		JMS PCK1
000506  5277		JMP TR1		/PACK THE CHARACTER

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 18



		/PACK CHARACTERS INTO TEXT BUFFER
		/ENTER WITH 6-BIT CODE IN AC

000507  0000	PCK1,	0
000510  2113		ISZ XCTIN	/LEFT HALF OR RIGHT HALF?
000511  5322		JMP ROT		/LEFT HALF
000512  3331		DCA UTRA	/RIGHT HALF - STORE CHARACTER
000513  1331		TAD UTRA	/GET CHARACTER
000514  1161		TAD ADD		/GET PREVIOUS CHARACTER
000515  6211		CDF 10
000516  3416		DCA I AXIN	/STORE IN FIELD 1 BUFFER
000517  6201		CDF 0
000520  3161		DCA ADD
000521  5707		JMP I PCK1	/--RETURN--
000522  7106	ROT,	CLL RTL		/LEFT HALF
000523  7006		RTL
000524  7006		RTL		/ROTATE 6 LEFT
000525  3161		DCA ADD		/RETAIN UNTIL NEXT CHARACTER
000526  7040		CMA		/IS READY
000527  3113		DCA XCTIN	/RESET L OR R SWITCH
000530  5707		JMP I PCK1	/--RETURN--

	0457		UTEST=PACBUF	/TEMPORARY

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 19



		/CHARACTER UNPACKING ROUTINE
		/CONVERTS ONE CHARACTER FROM
		/BUFFER FORMAT TO 8-BIT ASCII
		/EXIT WITH CHARACTER IN AC

000531  0000	UTRA,	0
000532  7240		CLA CMA		/INITIALIZE TO -1
000533  3257		DCA UTEST
000534  2112	EXTR,	ISZ XCT		/LEFT HALF OR RIGHT HALF?
000535  5347		JMP GET3	/RIGHT HALF
000536  6211		CDF 10		/LEFT HALF
000537  1413		TAD I AXOUT	/GET BUFFER WORD
000540  6201		CDF 0
000541  3143		DCA GTEM
000542  1143		TAD GTEM
000543  7012		RTR		/ROTATE 6 RIGHT
000544  7012		RTR
000545  7012		RTR
000546  5352		JMP GET4	/SKIP TO GETA
000547  7240	GET3,	CLA CMA		/RESET L - R SWITCH
000550  3112		DCA XCT
000551  1143		TAD GTEM
000552  0007	GET4,	AND C77		/MASK OUT LEFT 6 BITS
000553  1027		TAD M77
000554  7100		CLL
000555  7450		SNA		/WAS IT 77?
000556  2257		ISZ UTEST	/YES - WAS IT LEFT HALF?
000557  5361		JMP GET5	/NO - CONTINUE
000560  5334		JMP EXTR	/YES - GET OTHER HALF
000561  1140	GET5,	TAD P37
000562  2257		ISZ UTEST	/RESTORE THE CHARACTER
000563  7020		CML
000564  7420		SNL
000565  1011		TAD C100
000566  1030		TAD C240
000567  1172		TAD X203	/IS IT A ^C?
000570  7450		SNA
000571  5332		JMP UTRA+1	/YES - IGNORE IT
000572  1042		TAD M27		/NO - IS IT A ^Z?
000573  7450		SNA
000574  5332		JMP UTRA+1	/YES - IGNORE IT
000575  1134		TAD P232	/NO - RESTORE CHARACTER
000576  5731		JMP I UTRA	/--RETURN--

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 20



		/-------------------------------------------------------------
		/INPUT LIST FOR SPECIAL CHARACTERS IN TEXT MODE
	0577	INLIST=.
000577  1522		SPACES		/SPCS
000600  1476		CTRLU		/^U
000601  0606		FULL		/FORM
000602  0606		FULL		/BELL
000603  1154		RUB4+1		/LINE FEED
000604  1103		RUB1		/RUBOUT
000605  0411		EOL		/CARRIAGE RETURN

		/HANDLER FOR FORM FEED OR ^G
000606  1060	FULL,	TAD IGNORE	/
000607  1054		TAD MCHIN1	/
000610  7650		SNA CLA		/IN APPEND MODE?
000611  5555		JMP I TE1	/YES*RETURN TO COMMAND MODE*
000612  1157		TAD LSTN	/NO - IS BUFFER EMPTY?
000613  7650		SNA CLA		/
		/--------------------------------------------------------------
000614  5616		JMP I MORI	/YES - IGNORE FORM FEED
000615  5555		JMP I TE1	/NO*RETURN TO COMMAND MODE*

000616  0451	MORI,	MOR


		/SET UP TO READ FROM INPUT DEVICE
		/USED BY C AND R COMMANDS
		/CALLED WITH SEQUENCE
		/	JMS I PSETUP
		/	INPUT ROUTINE
		/	CONTINUATION OF HANDLER
		/EXITS TO CONTINUATION OF HANDLER

000617  0000	SETUP,	0
000620  1617		TAD I SETUP	/GET READ AREA FROM ARGS
000621  3135		DCA BUFRDI
000622  1617		TAD I SETUP	/LOCATION FOR IGNORED CHARACTERS
000623  7101		IAC CLL		/V12
000624  3060		DCA IGNORE
000625  2217		ISZ SETUP	/SETUP PROPER RETURN POINT
000626  1617		TAD I SETUP
000627  3217		DCA SETUP
000630  1125		TAD BUFR
000631  1173		TAD K1320
000632  7630		SZL CLA		/IS BUFFER FULL?
000633  4143		ERROR		/YES - DON'T READ
000634  5617		JMP I SETUP	/--RETURN--

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 21



		/SUPERVISOR FOR DELETION OF TEXT LINES

000635  0000	DELP,	0
000636  4530		JMS I CHKARG	/CHECK ARGUMENT VALIDITY
000637  1162		TAD ARG0
000640  3156		DCA THSN	/SET CURRENT LINE #
000641  1163		TAD ARG1	/SAVE # DELETED
000642  3304		DCA LISTER
000643  1162		TAD ARG0	/GET POINTER TO LINE
000644  4466		JMS I FIN1	/TO BE DELETED
000645  3120		DCA THIS	/STORE IT
000646  6211	DELP1,	CDF 10
000647  1520		TAD I THIS
000650  3123		DCA MARK	/CORE ADDRESS OF OBJECT LINE
000651  1523		TAD I MARK
000652  3520		DCA I THIS	/CHAIN NEW POINTERS TO DELETE LINE
000653  1123		TAD MARK
000654  6201		CDF 0
000655  4522		JMS I GRBAGE	/PHYSICALLY DELETE THE LINE
000656  2163		ISZ ARG1	/ALL SPECIFIED LINES DELETED?
000657  5246		JMP DELP1	/NO - CONTINUE
000660  1157		TAD LSTN	/IF 1,/D..MAKE CURRENT=0
000661  7650		SNA CLA
000662  3156		DCA THSN
000663  1304		TAD LISTER	/BUMP TOTAL DOWN
000664  1157		TAD LSTN
000665  3157		DCA LSTN
000666  5635		JMP I DELP	/YES--RETURN--


		/HANDLER FOR <
000667  7344	EXLAS,	CLA CLL CMA RAL /PRINT LAST LINE - AC=7776=-2
		/HANDLER FOR > OR LINE FEED
000670  1156	EXNEX,	TAD THSN	/PRINT NEXT LINE
000671  7001		IAC
000672  7450		SNA		/IS IT AN EXISTING LINE?
000673  4143		ERROR		/NO
000674  3162		DCA ARG0	/YES SAVE EFFECTIVE ARGUMENTS
000675  7040		CMA
000676  3163		DCA ARG1
		/HANDLER FOR L COMMAND
000677  1074	LIST,	TAD LOW		/SET KEYBOARD AS OUTPUT
000700  3121		DCA OUTDEV
000701  2116		ISZ TABIND	/SET TAB INDICATOR
000702  4304		JMS LISTER	/OUTPUT LINE(S)
000703  5555		JMP I TE1	/*RETURN TO COMMAND MODE*

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 22



		/LISTING OUTPUT ROUTINE
		/OUTPUTS LINES INDICATED BY ARG0,ARG1

000704  0000	LISTER,	0
000705  1162		TAD ARG0
000706  7640		SZA CLA		/ANY ARGUMENTS?
000707  5317		JMP L0		/YES - SET THEM UP
000710  1175		TAD LSTCHK	/ALLOW 0L?
000711  7640		SZA CLA
000712  4143		ERROR		/NOPE
000713  1157		TAD LSTN	/NO - SET TO LIST BUFFER
000714  7041		CIA
000715  3163		DCA ARG1
000716  2162		ISZ ARG0	/SET TO LINE 1
000717  1162	L0,	TAD ARG0
000720  7041		CIA
000721  1157		TAD LSTN
000722  7710		SPA CLA		/ARGUMENTS IN RIGHT RANGE?
000723  4143	L1,	ERROR		/NO -( OR JMP I TE1)
000724  1162		TAD ARG0
000725  4466		JMS I FIN1	/GET POINTERS
000726  3120		DCA THIS	/SAVE POINTER
000727  7040		CMA
000730  6211		CDF 10
000731  1520		TAD I THIS	/GET START
000732  3013		DCA AXOUT
000733  1413		TAD I AXOUT	/SAVE POINTER FOR SEARCH
000734  3124		DCA XSAV
000735  1013		TAD AXOUT	/SAVE OBJECT LINE FOR GARBAGE COLLECT
000736  3123		DCA MARK
000737  6201		CDF 0
000740  7040		CMA
000741  3112		DCA XCT
000742  1162		TAD ARG0	/SET POINTER
000743  3156		DCA THSN
000744  2162		ISZ ARG0	/SET FOR NEXT LINE
		/(HANDLER FOR FORM FEED DURING CHARACTER SEARCH)
000745  4465	L2,	JMS I UTR1	/UNPACK A  CHARACTER
000746  4473		JMS I OUT1	/PRINT A CHARACTER
000747  1110	L3,	TAD CHAR	/OR (JMP SLOOK) **
000750  1021		TAD MCR
000751  7640		SZA CLA		/WAS IT END OF LINE?
000752  5345		JMP L2		/NO - KEEP UNPACKING
000753  2163		ISZ ARG1	/YES - DONE YET?
000754  5317		JMP L0		/NO - GET NEXT LINE
000755  5704		JMP I LISTER	/YES --RETURN--

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 23



		/SEARCH ROUTINES

		/HANDLER FOR CARRIAGE RETURN
000756  4505	SRETN,	JMS I ENDLNI	/TERMINATE THIS LINE
000757  1123		TAD MARK	/AND NOW GARBAGE COLLECT
000760  4522		JMS I GRBAGE
000761  2163		ISZ ARG1	/DONE YET?
000762  5467		JMP I LIS1	/NO - GET NEXT LINE
000763  5555		JMP I TE1	/YES*RETURN TO COMMAND MODE*

			IFNZRO SLOOK&1000 <PGERR,XXX>
000764  4477	SLOOK,	JMS I SORTJ	/SEARCH DONE?
		/------------------------------------------------------------
000765  0050		LIST3-1		/(CARRIAGE RETURN OR SEARCH CHARACTER)
000766  1406		LISTGO-LIST3	/YES - GO TO ITS HANDLER
000767  4500		JMS I PACK1	/NO-PACK SEARCHED CHARACTERS
000770  5504		JMP I L2I	/CONTINUE SEARCH

		/HANDLER FOR ^G DURING CHARACTER SEARCH
		/CHANGE SEARCH CHARACTER
000771  4462	SCONT,	JMS I KEYBD	/FETCH NEW SEARCH CHARACTER
000772  3052		DCA LIST3+1	/STORE IT IN LIST
000773  5504		JMP I L2I	/CONTINUE SEARCH

		/HANDLER FOR LINE FEED DURING SEARCH
000774  1034	SLINE,	TAD CCR
000775  3110		DCA CHAR
000776  4505		JMS I ENDLNI
000777  2162		ISZ ARG0	/MOVE POINT
001000  2156		ISZ THSN	/BUMP CURRENT LINE COUNT
001001  2157		ISZ LSTN	/ADD A LINE.
		/HANDLER FOR _ DURING SEARCH
001002  1034	SBAR,	TAD CCR		/CTRL-U
001003  4473		JMS I OUT1	/OUTPUT CARRIAGE RETURN
001004  1125		TAD BUFR	/RESTART PACK BUFFER
001005  3016		DCA AXIN
001006  3113		DCA XCTIN
		/-------------------------------------------------------------------
001007  4457	SFOUND,	JMS I CHI1 	/GET A CHARACTER
001010  4477		JMS I SORTJ 	/SPECIAL SEARCH COMMAND?
001011  0043		LIST6-1
001012  1406		SRNLST-LIST6	/YES - GO TO HANDLER
		/HANDLER FOR SEARCH CHARACTER FOUND
001013  4500	SGOT,	JMS I PACK1	/NO-PACK INSERTS
001014  5207		JMP SFOUND	/CONTINUE INPUT

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 24



		/SEARCH TEXT BUFFER FOR LINE
		/WHOSE NUMBER IS ONE LESS THAN
		/THE CONTENTS OF THE AC
		/EXIT WITH ADDRESS OF LINK CELL IN AC

001015  0000	FIND,	0		/LOCATE LINE BUFFER
001016  7041		CIA
001017  7500		SMA		/IS LINE NUMBER TOO SMALL?
001020  4143		ERROR		/YES
001021  3117		DCA TEMP	/NO - STORE NEGATIVE OF LINE #
001022  1117		TAD TEMP
001023  7001		IAC
001024  1157		TAD LSTN
001025  7710		SPA CLA		/IS LINE NUMBER TOO LARGE?
001026  4143		ERROR		/YES
001027  1126		TAD CFRS	/NO
001030  5235		JMP FIND1
001031  6211	FIND2,	CDF 10
001032  1515		TAD I SAVE	/CHAIN THROUGH LIST
001033  6201		CDF 0
001034  7440		SZA		/FAILSAFE
001035  3115	FIND1,	DCA SAVE
001036  2117		ISZ TEMP	/DONE YET?
001037  5231		JMP FIND2	/NO - KEEP CHAINING
001040  1115		TAD SAVE	/YES - GET LINE NUMBER
001041  5615		JMP I FIND	/--RETURN--

		/HANDLER FOR B COMMAND

001042  1125	CORSPC,	TAD BUFR	/SET UP NUMBER OF LOCATIONS
001043  7161		STL CIA		/IN ARG2
001044  1025		TAD BUFEND
001045  1302		TAD K360
001046  7430		SZL		/IS ANY CORE LEFT?
001047  7300		CLA CLL		/NO - WRITE 0
001050  3164		DCA ARG2	/FALL INTO 'PRNT'

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 25



	0111	BOX=COUNTP
	0162	VAL=ARG0

		/HANDLER FOR : OR =
		/PRINTS REQUESTED LINE NUMBER
		/WHICH IS FOUND IN ARG2 ON ENTRY

001051  1164	PRNT,	TAD ARG2
001052  3162		DCA VAL		/SET NUMBER TO BE PRINTED
001053  1017		TAD M4
001054  3112		DCA CNT		/SET CHARACTER COUNT
001055  1301		TAD ADDR
001056  3215		DCA FIND	/SET ADDRESS OF PWRS OF TEN
001057  7240	FLOOZ,	STA		/SET TO -1
001060  3111		DCA BOX
001061  7100	ADDXYZ,	CLL
001062  2111		ISZ BOX		/FIRST TIME: BOX=0 AND SKIP
001063  3162		DCA VAL
001064  1162		TAD VAL
001065  1615		TAD I FIND	/TAD I (ADDR) +() SOME DISPLACEMENT
001066  7430		SZL
001067  5261		JMP ADDXYZ	/KEEP ADDING THE SAME CONSTANT
001070  7200		CLA
001071  1111		TAD BOX		/BOX HAS THE NUMBER COUNT
001072  1300		TAD C260	/MAKE ASCII DIGIT
001073  4474		JMS I OUTL1	/OUTPUT THE DIGIT
001074  2215		ISZ FIND	/ADD IN NEXT CONVERSION CONSTANT LATER
001075  2112		ISZ CNT		/DONE ALL FOUR?
001076  5257		JMP FLOOZ	/NO - KEEP CONVERTING
001077  5555		JMP I TE1	/YES*RETURN TO COMMAND MODE*

001100  0260	C260,	260
001101  1167	ADDR,	CON
001102  0360	K360,	360

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 26


		/HANDLER FOR RUBOUT IN TEXT OR SEARCH
001103  1016	RUB1,	TAD AXIN
001104  7041		CIA
001105  1125		TAD BUFR
001106  1113		TAD XCTIN
001107  7640		SZA CLA		/IS THERE ANYTHING ON THIS LINE?
001110  1114		TAD ECHOSW	/OR ECHO INHIBITED?
001111  7650		SNA CLA
001112  5460		JMP I IGNORE	/YES-IGNORE RUBOUT
001113  6211		CDF 10		/LOOK AT "SCOPE" BIT IN
001114  1766		TAD I P7726	/RESIDENT MONITOR
001115  6201		CDF 00
001116  0024		AND C200
001117  7640		SZA CLA
001120  5323		JMP RP1
001121  1364		TAD SPLAT	/NO SCOPE, PRINT BACKSLASH
001122  5330		JMP RP2
001123  1365	RP1,	TAD P210	/SCOPE, PRINT BACK SPACE
001124  4473		JMS I OUT1
001125  1030		TAD C240	/THEN A SPACE
001126  4473		JMS I OUT1
001127  1365		TAD P210	/THEN ANOTHER BACK SPACE
001130  4473	RP2,	JMS I OUT1
		/DELETE CHAR FROM BUFFER
001131  1016		TAD AXIN	/GET LAST WORD OF INPUT
001132  3111		DCA MOV1
001133  6211		CDF 10
001134  3525		DCA I BUFR	/PREVENTS INFINITE RUBOUTS
001135  1511		TAD I MOV1
001136  2113		ISZ XCTIN	/WHICH HALF OF WORD?
001137  5356		JMP RUB2
001140  0007		AND C77
001141  1027		TAD M77
001142  7640		SZA CLA		/TEST EXTENSION
001143  5353		JMP RUB4
001144  7040	RUB3,	CMA
001145  3113		DCA XCTIN
001146  7040		CMA
001147  1016		TAD AXIN
001150  3016		DCA AXIN
001151  1511		TAD I MOV1
001152  0026		AND P7700
001153  3161	RUB4,	DCA ADD
001154  6201		CDF 0
001155  5460		JMP I IGNORE	/CHIN+1
001156  0026	RUB2,	AND P7700
001157  1011		TAD C100
001160  7640		SZA CLA
001161  5344		JMP RUB3
001162  3511		DCA I MOV1
001163  5345		JMP RUB3+1
001164  0334	SPLAT,	334		/ACKNOWLEDGE RUBOUT
001165  0210	P210,	210
001166  7726	P7726,	7726

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 27


		/-----------------------------------------------------------------------

001167  6030	CON,	6030	/CONVERSION CONSTANTS
001170  7634		7634
001171  7766		7766
001172  7777		7777

		/I-O SUBROUTINES

		/HANDLER FOR S COMMAND

001173  4462	XCRET,	JMS I KEYBD	/GET THE SEARCH CHARACTER
001174  3052		DCA LIST3+1	/SAVE IT IN LIST
001175  1102		TAD SXS2
001176  3503		DCA I L3I	/MAKE LISTER JUMP TO SLOOK
001177  1125		TAD BUFR
001200  3016		DCA AXIN	/BUILD NEW TEXT IMAGE HERE
001201  3113		DCA XCTIN
001202  1057		TAD CHI1	/READ POINT IS CHIN
001203  7001		IAC
001204  3060		DCA IGNORE
001205  5467		JMP I LIS1

		/LIST OF SPECIAL CHARACTERS FOR G COMMAND
	1206	TAGLIST=.
001206  1377		GTAG2	/SPACE
001207  1377		GTAG2	//
001210  1377		GTAG2	/ESC
001211  1377		GTAG2	/TAB
001212  1377		GTAG2	/CARRIAGE RETURN

		/HANDLER FOR $ (PART OF M COMMAND)

001213  1162	MOVE,	TAD ARG0	/ARG2 .GE. ARG0
001214  7041		CIA
001215  1164		TAD ARG2
001216  7710		SPA CLA		/ARE LINES TO BE MOVED LEGITIMATE
001217  4143		ERROR		/NO
001220  1162		TAD ARG0	/YES-
001221  3111		DCA MOV1	/SET POINTER TO FIRST LINE
001222  1164		TAD ARG2
001223  3170		DCA MOV2	/SET POINTER TO LAST LINE
001224  5476		JMP I ONUM 	/CONTINUE COMMAND INPUT

		/-----------------------------------------------------------------------


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 28



		/SET UP APPEND, CHANGE, INSERT TO WORK
		/EACH READS KEYBOARD, NOT DEVICE

001225  7777	CNGEL,	CNGE1-XNS1
001226  0004	XNSL,	XNS1-APP1

		/HANDLER FOR C COMMAND
001227  1225	CNGE,	TAD CNGEL

		/HANDLER FOR I COMMAND
001230  1226	XNS,	TAD XNSL

		/HANDLER FOR A COMMAND
001231  1305	APP,	TAD APPL
001232  3236		DCA DEST	/RETURN POINT
001233  2114		ISZ ECHOSW
001234  4742		JMS I PSETUP
001235  3132		CHIN		/KEYBOARD INPUT
001236  0424	DEST,	APP1


		/SPECIAL OUTPUT LIST
	1237	OUTLIS=.
001237  3056		ESCOUT	/233 - ESC - V12
001240  3115		OUTTAB	/211 - TAB
001241  3100		OUTCRL	/215 - CARRIAGE RETURN
001242  3050		OUTX+1	/212 - LINE FEED
001243  3050		OUTX+1	/214 - FORM FEED
001244  3050		OUTX+1	/377 - RUBOUT
001245  3046		OUTX-1	/207 - CNTRL G - BELL
001246  3074		BCKSPC	/210 - CNTRL H - BACKSPACE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 29


		/HANDLER FOR P COMMAND

001247  3116	PUNCHQ,	DCA	TABIND	/ORIGINAL DEC PATCH
001250  2114	PUNCH,	ISZ ECHOSW
001251  1136		TAD BUFWTI	/SETUP TO WRITE INTO OUTPUT BUFFER
001252  3121		DCA OUTDEV
001253  4470	PUNC,	JMS I LIS	/WRITE THE EDITOR BUFFER
001254  1045		TAD C214	/OUTPUT FORM FEED
001255  4521		JMS I OUTDEV
		/HANDLER FOR T COMMAND
001256  6211	PUNCT,	CDF 10
001257  1567		TAD I K7600
001260  6201		CDF 0
001261  7650		SNA CLA		/IS THERE AN OUTPUT DEVICE?
001262  5555		JMP I TE1	/NO*RETURN TO COMMAND MODE*
001263  1136		TAD BUFWTI	/YES - SET UP TO WRITE INTO
001264  3121		DCA OUTDEV	/OUTPUT BUFFER
001265  1010		TAD M41		/V40
001266  3170		DCA TEMPO	/SET TRAILER COUNTER
001267  6212		CIF 10
001270  4565		JMS I POTYPE	/
001271  7700		SMA CLA		/DIRECTORY DEVICE FOR OUTPUT?
001272  4521		JMS I OUTDEV	/NO - OUTPUT LEADER TRAILER
001273  2170		ISZ TEMPO	/DONE YET?
001274  5267		JMP .-5		/NO - CONTINUE
001275  6041		TSF		/YES - RESET FLAG
001276  5275		JMP .-1
001277  5555		JMP I TE1	/*RETURN TO COMMAND MODE*

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 30


		/HANDLER FOR R COMMAND

	1300	TELE=.
001300  6041	TELEN,	TSF
001301  5300		JMP .-1
001302  3114		DCA ECHOSW	/INHIBIT ECHO
001303  4742		JMS I PSETUP	/SETUP TO READ FROM
001304  2031		BUFRD		/INPUT DEVICE
001305  0424	APPL,	APP1		/APPEND TEXT TO BUFFER

		/HANDLER FOR Y COMMAND

001306  1330	YANK,	TAD COM1	/YANK KILLS 'P' PART OF N
001307  5311		JMP COMBOA

		/HANDLER FOR N COMMAND

001310  1141	COMBO,	TAD JMPCH	/YANK WIPES COM1-1
001311  3464	COMBOA,	DCA I CCON+1
001312  1162		TAD ARG0
001313  7450		SNA		/ANY ARGUMENTS
001314  7001		IAC		/NO - ASSUME 1
001315  7041		CIA
001316  3111		DCA COUNTP	/SET NUMBER OF PAGES TO YANK
001317  1063		TAD CCON	/(JMP I AXCOMB)
001320  3555		DCA I TE1	/SET TE1 TO ALLOW LOOPING
001321  1064	COMB,	TAD CCON+1 	/THROUGH PUNCH, KILL, READ
001322  3014		DCA AXCOMB	/CYCLE
001323  3162		DCA ARG0	/CLEAR ARGUMENTS
001324  3164		DCA ARG2
001325  3175		DCA LSTCHK	/DON'T INHIBIT LISTER!
001326  3116		DCA TABIND	/CLEAR IN CASE OF MULTIPLE N
001327  5253		JMP PUNC	/OUTPUT BUFFER
001330  5527	COM1,	JMP I KILL1	/KILL BUFFER
001331  5300		JMP TELEN	/READ NEW BUFFER FULL
001332  2111		ISZ COUNTP	/DONE YET?
001333  5321		JMP COMB	/NO - CONTINUE
001334  7324		CLA CLL CML RAL	/YES-AC=1 - RESET CURRENT LINE NUMBER
001335  3156		DCA THSN	/.=1 ON RETURN
001336  1075	COM5,	TAD CZ		/RESTORE TE1
001337  3555		DCA I TE1
001340  5555		JMP I TE1	/*RETURN TO COMMAND MODE*
		/IT IS VITAL TO KEEP DUMB1 AND COM5 ON THE SAME PAGE
001341  2244	DUMB1,	JERK1
001342  0617	PSETUP,	SETUP		/V3

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 31



		/-----------------------------------------------------------------------

	1343	LIST1=.
001343  0212		212		/LINE FEED
001344  0240		240		/SPACE
001345  0253		253		/PLUS (+)
001346  0254		254		/COMMA (,)
001347  0255		255		/MINUS (-)
001350  0256		256		/PERIOD (.)
001351  0257		257		/SLASH (/)
001352  0274		274		/<
001353  0275		275		/=
001354  0276		276		/>
001355  0000		000		/DUMMY FOR . AND /
001356  0243		"#		/FOR VERSION V40
001357  0375		375		/ALTMODE ASR-33
001360  0376		376		/ALTMODE ASR-35
001361  0233		233		/ESCAPE KEY
001362  0242		242		/DOUBLE QUOTE (")
001363  0244		244		/DOLLAR SIGN ($)
001364  0377		377		/RUBOUT
001365  0272		272		/COLON (:)
001366  0215	LIST1A,	215		/CARRIAGE RETURN
001367  0225		225		/^U
001370  0203		203		/^C


		/HANDLER FOR G COMMAND

001371  2156	GETTAG,	ISZ THSN
001372  1162		TAD ARG0
001373  7450		SNA		/ANY ARGUMENTS
001374  1156		TAD THSN	/NO - BEGIN WITH NEXT LINE (.+1)
001375  3162		DCA ARG0	/YES - SET ARGUMENTS
001376  7410		SKP
001377  2162	GTAG2,	ISZ ARG0
001400  7001		IAC
001401  1162		TAD ARG0
001402  4466		JMS I FIN1	/GET NEXT LINE
001403  3013		DCA AXOUT
001404  7040		CMA
001405  3112		DCA XCT
001406  4465		JMS I UTR1	/UNPACK FIRST CHARACTER
001407  4477		JMS I SORTJ	/DOES IT BEGIN A TAG?
001410  0027		LIST7-1		/NO - TAGLIST EXITS
001411  1156		TAGLIST-LIST7	/TO GTAG2
001412  5467		JMP I LIS1	/YES - PRINT LINE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 32



	0163	MP1=ARG1
	0162	MP2=ARG0
	0164	MP3=ARG2

		/HANDLER FOR M COMMAND
		/ENTER WITH FIRST LINE TO MOVE IN MOV1
		/LAST LINE TO MOVE IN MOV2
		/MOV2 .GT. MOV1
		/DESTINATION LINE IN ARG2


001413  1111	MOVEM,	TAD MOV1
001414  7041		CIA		/ARG2 MAY NOT BE BETWEEN
001415  1164		TAD ARG2	/MOV1 AND MOV2
001416  7710		SPA CLA		/IS MOV1 .GT. ARG2?
		/-----------------------------------------------------------------------
001417  5225		JMP .+6		/YES - O.K.
001420  1170		TAD MOV2
001421  7040		CMA
001422  1164		TAD ARG2
001423  7750		SPA SNA CLA	/IS MOV2 .LT. ARG2?
001424  4143		ERROR		/NO-FAULTY LOGIC IN COMMAND
001425  1111		TAD MOV1	/YES
001426  4466		JMS I FIN1
001427  3163		DCA MP1		/STORE FIRST LINE POINTER
001430  7001		IAC
001431  1170		TAD MOV2
001432  4466		JMS I FIN1
001433  3162		DCA MP2		/STORE LAST LINE POINTER
001434  1164		TAD ARG2
001435  4466		JMS I FIN1
001436  3164		DCA MP3		/STORE DESTINATION LINE POINTER
001437  6211		CDF 10		/ALL FOUND
001440  1563		TAD I MP1	/SWAP POINTERS-
001441  3117		DCA TEMP	/RESET THE LINK COORDS
001442  1562		TAD I MP2
001443  3563		DCA I MP1
001444  1564		TAD I MP3
001445  3562		DCA I MP2
001446  1117		TAD TEMP
001447  3564		DCA I MP3
001450  6201		CDF 0
001451  5555		JMP I TE1	/*RETURN TO COMMAND MODE*

	1452	SRNLST=.
001452  1002		SBAR		/BACK ARROW (_)
001453  0745		L2		/FORM FEED
001454  0771		SCONT		/BELL
001455  0774		SLINE		/LINE FEED
001456  1103		RUB1		/RUB OUT

	1457	LISTGO=.
001457  0756		SRETN		/CARRIAGE RETURN

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 32-1

001460  1013		SGOT		/SEARCH CHARACTER FOUND

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 33



		/HANDLER FOR E COMMAND

001461  1133	ENDFIL,	TAD EKILLL	/IS E COMMAND ALLOWED?
001462  7640		SZA CLA
001463  4143		ERROR		/NO-NO INPUT SPECIFIED
001464  7240		CLA CMA		/YES-RESET ARGUMENTS
001465  3162		DCA ARG0
001466  1151		TAD JMPTE1	/SKIP LISTER IF EMPTY BUFFER
001467  3532		DCA I L1I
001470  1274		TAD FLCLSI	/CLOSE FILE SETUP
001471  3144		DCA ELIM	/CLOSES FILE ON READ FAILURE
001472  5673		JMP I COMBOP

001473  1310	COMBOP,	COMBO
001474  5537	FLCLSI,	JMP I CLFLI
001475  0446	AONEI,	AONE

		/HANDLER FOR ^U IN TEXT MODE
001476  1034	CTRLU,	TAD CCR		/AND A CR/LF
001477  4473		JMS I OUT1
001500  5675		JMP I AONEI	/AND CONTINUE

		/CHECK VALIDITY OF ARGUMENTS
		/FOR D COMMAND
001501  0000	CHKARX,	0 
001502  1162		TAD ARG0
001503  7041		CIA
001504  7001		IAC
001505  1163		TAD ARG1
001506  1157		TAD LSTN
001507  7710		SPA CLA		/DO LINES EXIST?
001510  4143		ERROR		/NO
001511  5701		JMP I CHKARX	/YES--RETURN--

		/HANDLER FOR .
001512  1156	PERI,	TAD THSN
001513  7410		SKP
		/HANDLER FOR /
001514  1157	SLAS,	TAD LSTN
001515  3117		DCA TEMP	/SAVE LINE NUMBER
001516  3110		DCA CHAR
001517  2175		ISZ LSTCHK	/GOT EITHE . OR / IN ARGS
001520  5721		JMP I .+1	/FETCH REST OF ARGUMENT
001521  0240		GLOM


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 34



		/HANDLER FOR SPACE IN TEXT MODE
001522  1114	SPACES,	TAD ECHOSW
001523  7200		CLA		/OR SZA CLA IF B OPTION
001524  5506		JMP I SPCNO	/PACK IT - (MOR+4)
001525  7040		CMA		/SET COUNTER 
001526  3112	SP2,	DCA CNT
001527  4535		JMS I BUFRDI	/GET LAST CHARACTER
001530  1022		TAD M240
001531  7650		SNA CLA		/WAS IT SPACE?
001532  5326		JMP SP2		/YES-IGNORE EXTRA SPACES
		/-----------------------------------------------------------------------
001533  1110		TAD CHAR	/NO
001534  3115		DCA SAVE	/SAVE NON-SPACE
001535  2112		ISZ CNT		/WAS THERE MORE THAN 1 SPACE?
001536  1042		TAD M27		/YES- STORE TAB
001537  1030		TAD C240	/NO-STORE SPACES
001540  3110		DCA CHAR
001541  4500		JMS I PACK1
001542  1115		TAD SAVE
001543  5507		JMP I SPCGO	/SORT - (MOR+1)

		/HANDLER FOR K COMMAND

001544  1162	KILL,	TAD ARG0	/IN CASE HE TYPED N,MK
001545  7640		SZA CLA		/INSTEAD OF N,ML. SAVE HIM!!
001546  4143		ERROR
001547  1061		TAD END		/RESET BUFFER POINTERS
001550  3125		DCA BUFR	/TO REFLECT EMPTY BUFFER
001551  3157		DCA LSTN
001552  3156		DCA THSN
001553  6211		CDF 10		/ZERO FIELD 1 POINTER
001554  3526		DCA I CFRS
001555  6201		CDF 0
001556  5555		JMP I TE1	/*RETURN TO COMMAND MODE*


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 35



001557  0670	OPS1,	EXNEX		/LINE FEED
001560  0226		GEXP		/SPACE
001561  0226		GEXP		/PLUS
001562  2716		FIRS		/COMMA
001563  0227		GMIN		/MINUS
001564  1512		PERI		/POINT(.)
001565  1514		SLAS		/SLASH
001566  0667		EXLAS		/BACKUP(<)
001567  1051		PRNT		/=
001570  0670		EXNEX		/ALT(>)
001571  0231		DBCV2		/DUMMY FOR . AND /
001572  2326		VERSN		/# VERSION
001573  2235		AMODE		/ALTMODE ASR-33
001574  2235		AMODE		/ALTMODE ASR-35
001575  2235		AMODE		/ESCAPE KEY
001576  2275		DBLQUO		/"
001577  1213		MOVE		/DOLLAR SIGN
001600  0144		ELIM		/COMMAND RUBOUT
001601  1051		PRNT		/:
001602  0222		GTOP-2 		/CARRIAGE RETURN
001603  0203		START		/^U
001604  1753		MONIT		/^C (MONITOR RESTART)
001605  0261	OPS1A,	RETRN		/RETURN
		/-----------------------------------------------------------------------
001606  0203	OLDTE1,	START		/^U
001607  1753		MONIT		/^C

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 36


		/END OF A NEW TEXT LINE
		/PACK CARRIAGE RETURN INTO BUFFER
		/SET LINK CELLS AROUND NEW LINE
		/ENTER WITH:
		/	CHAR CONTAINS CARRIAGE RETURN
		/	THIS CONTAINS ADDRESS OF LINK
		/	CELL OF PRECEDING TEXT LINE
		/	XSAV CONTAINS ADDRESS OF LINK
		/	CELL OF FOLLOWING TEXT LINE
		/	BUFR CONTAINS ADDRESS OF LINK
		/	CELL OF NEW TEXT LINE

001610  0000	ENDLN,	0
001611  4500		JMS I PACK1	/PACK CARRIAGE RETURN
001612  6211		CDF 10
001613  1161		TAD ADD
001614  7440		SZA
001615  3416		DCA I AXIN
001616  1125		TAD BUFR	/RESET LINK CELL
001617  3520		DCA I THIS	/OF PREVIOUS LINE
001620  1124		TAD XSAV
001621  3525		DCA I BUFR	/RESET LINK CELL OF NEW LINE
001622  1125		TAD BUFR
001623  3120		DCA THIS	/RESET POINTER TO LINK CELL
001624  2016		ISZ AXIN
001625  1016		TAD AXIN
001626  3125		DCA BUFR	/RESET FOR NEXT LINE
001627  3113		DCA XCTIN	/CR CHARACTER SWITCH
001630  6201		CDF 0
001631  5610		JMP I ENDLN	/--RETURN--


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 37


		/CHECK FOR CONTROL C

001632  0000	CTCK,	0
001633  1024		TAD C200
001634  6034		KRS
001635  1172		TAD X203
001636  7450		SNA
001637  5552		JMP I MONITOR
001640  5632		JMP I CTCK

		/LOW SPEED INPUT ROUTINE
		/CHECKS FOR ^C
		/EXIT WITH CHARACTER IN AC

001641  0000	I33,	0
001642  6031		KSF
001643  5242		JMP .-1
001644  4232		JMS CTCK
001645  6036		KRB
001646  0020		AND P177
001647  1024		TAD C200
001650  5641		JMP I I33	/NO--RETURN--

		/LOW SPEED OUTPUT ROUTINE
		/ENTER WITH CHARACTER IN AC

001651  0000	OUTL,	0
001652  6046		TLS
001653  6041		TSF
001654  5253		JMP .-1
001655  4257		JMS	COPSQ	/CHECK ^COPSQ
001656  5651		JMP I OUTL	/NO, --RETURN--

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 38



001657  0000	COPSQ,	0
001660  7200		CLA
001661  6031		KSF		/IS KEYBOARD ACTIVE?
001662  5657		JMP I	COPSQ	/NO
001663  4232	CHKAGA,	JMS	CTCK	/GET CHAR, CHECK ^C
001664  1377		TAD	(-20+3	/WAS IT ^P?
001665  7440		SZA
001666  7001		IAC		/NO, WAS IT ^O?
001667  7450		SNA
001670  5305		JMP	CLRCOP	/CLEAR EITHER ^O OR ^P
001671  1376		TAD	(-23+17	/FINALLY, WAS IT ^S?
001672  7450		SNA
001673  5301		JMP	CTRLS	/YES, HANG UP
001674  7001		IAC
001675  7001		IAC
001676  7650		SNA CLA		/OR WAS IT ^Q?
001677  6032		KCC		/YES, THROW AWAY
001700  5657		JMP I	COPSQ	/NOW GO ON
001701  6032	CTRLS,	KCC		/CLEAR ^S
001702  6031		KSF
001703  5302		JMP	.-1	/WAIT FOR ^Q HOPEFULLY
001704  5263		JMP	CHKAGA	/INVESTIGATE NEW CHAR
001705  6032	CLRCOP,	KCC
001706  5555		JMP I	TE1	/*RETURN TO COMMAND MODE*

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 39


		/RESET POINTERS AND SAVE BUFFERS
001707  4346	RESET3,	JMS FXSTWD
001710  6212	CIFTEN,	CIF 10		/CLEAR BIT 11 OF JSW
001711  4426		JMS I P7700	/CALL USER SERVICE ROUTINES
001712  0010		10		/*LOCK USR IN CORE*
001713  1310		TAD CIFTEN	/RESET POINTERS
001714  3741		DCA I BUFRD1
001715  3133		DCA EKILLL
001716  1206		TAD OLDTE1
001717  3155		DCA TE1
001720  1075		TAD CZ
001721  3555		DCA I TE1
001722  1167		TAD K7600
001723  3144		DCA ELIM
001724  1167		TAD K7600
001725  3740		DCA I SPCP1A
001726  1074		TAD LOW
001727  3121		DCA OUTDEV
001730  2114		ISZ ECHOSW
001731  1141		TAD JMPCH
001732  3464		DCA I CCON+1
001733  2346		ISZ FXSTWD	/WASTE TIME FOR TTY FLAG
001734  5331		JMP .-3
001735  6213		CIF CDF 10
001736  5737		JMP I .+1	/GO CALL COMMAND DECODER
001737  6606		START1
001740  1523	SPCP1A,	SPACES+1
001741  2032	BUFRD1,	BUFRD+1

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 40


001742  4456	DELE,	JMS I	DELT	/DELETE THE LINES
001743  6041		TSF
001744  5343		JMP	.-1
001745  5555		JMP I	TE1

		/CLEAR BIT 11 OF JOB STATUS WORD

001746  0000	FXSTWD,	0
001747  6212		CIF 10
001750  4752		JMS I JSWSET	/IF NONZERO TEXT,SAVE BUFFER
001751  5746		JMP I FXSTWD	/--RETURN--
001752  7126	JSWSET,	INSET

		/HANDLER FOR ^C
		/AND OTHER EXITS TO MONITOR

001753  4346	MONIT,	JMS FXSTWD	/SET JOB STATUS TO SAVE CORE
001754  6041		TSF		/MAKE SURE TTY FLAG IS SET
001755  5354		JMP .-1
001756  5567		JMP I K7600	/****EXIT TO MONITOR****

		IFNDEF GERMAN <
001757  0311	REDMES,	"I; "n; "p; "u; "t; 0
001760  0356
001761  0360
001762  0365
001763  0364
001764  0000
001765  0304	DEVMES,	"D; "e; "v; "i; "c; "e; 0
001766  0345
001767  0366
001770  0351
001771  0343
001772  0345
001773  0000
			>
		IFDEF  GERMAN <
		REDMES,	"L; "e; "s; "e; 0
		DEVMES,	"G; "e; "r; "a; "e; "t; 0
			>
001776  7774
001777  7763
	2000		PAGE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 41



		/-----------------------------------------------------------------------
		/-----------------------------------------------------------------------

		/READ,WRITE,AND RELATED ROUTINES

	0004		OURECS=4	/SIZE OF OUTPUT BUFFER

		/HANDLER FOR Q COMMAND

002000  4741	Q,	JMS I FXSWDI	/CLEAR BIT 11 OF JSW
002001  6211		CDF 10
002002  1567		TAD I K7600
002003  6201		CDF 0
002004  7650		SNA CLA		/WAS AN OUTPUT DEVICE SPECIFIED?
002005  4143		ERROR		/NO-
002006  1157	FLCLOS,	TAD LSTN
002007  7650		SNA CLA		/IS BUFFER EMPTY?
002010  5215		JMP FLCLS1	/YES-CLOSE FILE
002011  1261		TAD FLCLI	/NO-
002012  3155		DCA TE1		/SET UP RETURN FROM P COMMAND
002013  5614		JMP I .+1
002014  1247		PUNCHQ

		/CLOSE FILE ON E OR Q COMMAND

002015  6212	FLCLS1,	CIF 10
002016  4763		JMS I	OCLSI	/CLOSE FILE
002017  5225		JMP	CLERR	/WAS ERROR
002020  7240		CLA CMA		/TELL SYSTEM I/O MONITOR IS IN CORE
002021  6211		CDF 10
002022  3426		DCA I P7700
002023  6201		CDF 0
002024  5567		JMP I K7600	/****EXIT TO MONITOR***

002025  7710	CLERR,	SPA CLA
002026  4542		JMS I	PRERR	/**FILE CLOSE FAILED**2*
002027  0002		2
002030  5273		JMP	ERWT+2	/RAN OUT OF SPACE WHILE CLOSING

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 42




		/INPUT ROUTINE FROM DEVICE
		/VIA INPUT DEVICE HANDLER
002031  0000	BUFRD,	0
002032  6212		CIF 10
002033  4660		JMS I ICHARI	/FETCH A CHARACTER
002034  5244		JMP ERRD	/ERROR IN READING FROM BUFFER
002035  3110		DCA CHAR	/INTERFACE LOCATION
002036  1110		TAD CHAR
002037  0020		AND P177
002040  7450		SNA		/IS IT L/T?
002041  5232		JMP BUFRD+1	/YES-GET NEXT CHARACTER
002042  1024		TAD C200	/NO RESTORE CHARACTER
002043  5631		JMP I BUFRD	/--RETURN--

002044  7710	ERRD,	SPA CLA		/FATAL OR EOF?
002045  4542		JMS I PRERR	/FATAL-OUTPUT ERROR MESSAGE
002046  0000		0		/*FAILED IN READIN DEVICE*0*
002047  1131		TAD ERSW	/DISABLE FURTHER READS
002050  3232		DCA BUFRD+1
002051  1566		TAD I COMM5	/IF THIS IS NEGATIVE, DO ONE
002052  7700		SMA CLA		/MORE SEARCH (POSSIBLY) IN THE CASE
002053  5232		JMP BUFRD+1	/THAT NO FINAL FORM FEED EXISTS
002054  7201		CLA IAC		/SET CURRENT LINE TO 1 AND SEARCH
002055  3156		DCA THSN	/ONCE MORE
002056  5657		JMP I .+1
002057  2440		SFIND2

002060  7412	ICHARI,	ICHAR		/CHARACTER ROUTINES
002061  2015	FLCLI,	FLCLS1


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 43



		/OUTPUT ROUTINE TO DEVICE
		/VIA OUTPUT DEVICE HANDLER

002062  0000	BUFWT,	0
002063  6212		CIF 10
002064  4744		JMS I OCHARI	/OUTPUT A CHARACTER
002065  5271		JMP ERWT	/OUTPUT FAILED
002066  1136	BUFRTN,	TAD BUFWTI	/RESET OUTPUT DEVICE HANDLER POINTER
002067  3121		DCA OUTDEV
002070  5662		JMP I BUFWT	/--RETURN--

002071  7710	ERWT,	SPA CLA		/FATAL, OR NO MORE ROOM?
002072  4542		JMS I PRERR	/FATAL-OUTPUT ERROR MESSAGE
002073  0001		1		/*FATAL WRITE ERROR*1*
002074  4741		JMS I FXSWDI	/FIX JOB STATUS WORD-NO MORE ROOM
002075  1555		TAD I TE1	/STORE POINTERS
002076  3362		DCA PTE1
002077  1144		TAD ELIM
002100  3361		DCA PELIM
002101  1155		TAD TE1
002102  3360		DCA PPTE1
002103  6211		CDF 10
002104  2743		ISZ I PANICI	/SET PANIC DUMP
002105  1345		TAD MORECS	/PREPARE TO CLOSE PRESENT OUT FILE
002106  1742		TAD I OCNTI	/THIS GIVES OPTIMUM CLOSE LENGTH
002107  7510		SPA
002110  5334		JMP	OVRFLW
002111  3742		DCA I OCNTI
002112  1747		TAD I OREC	/WRITE A ^Z
002113  3322		DCA CLSREC	/DIRECTLY TO THE DEVICE
002114  1750		TAD I OHNDL	/HANDLER ENTRY POINT
002115  3170		DCA TEMPO
002116  6201		CDF 0
002117  4570		JMS I TEMPO	/CALL OUTPUT DEVICE HANDLER
002120  4110		4110		/THE BUFFER IS A PAGE OF THE EDITOR
002121  7000		7000		/WITH A 232 IN THE FIRST LOCATION
002122  0000	CLSREC,	0		/RECORD NUMBER HERE
002123  4542		JMS I PRERR	/**WRITE FAILURE** 1*
002124  0001		1
002125  6213		CDF CIF 10
002126  4763		JMS I OCLSI	/CLOSE THE FILE IN PANIC MODE
002127  4542		JMS I PRERR	/**FILE CLOSE FAILED**2*
002130  0002		2
002131  6212		CIF 10
002132  4424		JMS I C200	/CALL USER SERVICE ROUTINES
002133  0011		11		/*DISMISS USR FROM CORE*
002134  6201	OVRFLW,	CDF 0
002135  7200		CLA
002136  4746		JMS I	POINT	/PRINT 'FULL'
002137  2164		FULMES
002140  5453		JMP I RST3I	/-RESET & CALL COMMAND DECODER

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 44



002141  1746	FXSWDI,	FXSTWD
002142  7344	OCNTI,	OUCCNT
002143  6746	PANICI,	PANIC
002144  7015	OCHARI,	OCHAR
002145  7775	MORECS,	-OURECS+1	/THIS ALLOWS US TO 'MANUALLY' WRITE
					/A FORM FEED AND A ^Z.
002146  2331	POINT,	PRINT
002147  7270	OREC,	OUREC
002150  7215	OHNDL,	OUHNDL

		/RESET POINTERS STORED PREVIOUSLY
002151  1360	BUFRET,	TAD PPTE1
002152  3155		DCA TE1
002153  1362		TAD PTE1
002154  3555		DCA I TE1
002155  1361		TAD PELIM
002156  3144		DCA ELIM
002157  5266		JMP BUFRTN

002160  0000	PPTE1,	0
002161  0000	PELIM,	0
002162  0000	PTE1,	0
002163  7277	OCLSI,	OCLOSE		/V3 FILE CLOSE ROUTINE

		/-----------------------------------------------------------------------

		IFNDEF GERMAN <
002164  0306	FULMES,	"F; "u; "l; "l; 240; "!; "!; 215; 212; 0
002165  0365
002166  0354
002167  0354
002170  0240
002171  0241
002172  0241
002173  0215
002174  0212
002175  0000
			>
		IFDEF  GERMAN <
		FULMES,	"V; "o; "l; "l; 240; "!; "!; 215; 212; 0
			>

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 45



002176  0000	SRCBUF,	ZBLOCK 24	/SEARCH BUFFER


		/SPECIAL CHARACTER LIST FOR STRING SEARCH
	2222	SLST=.
002222  0247		247		/"
002223  0242		242		/'
002224  0377		377		/RUBOUT
002225  0203		203		/^C
002226  0225		225		/^U
		/-----------------------------------------------------------------------
002227  5741	NEXBUF,	DUMB1&177+5600	/JMP I DUMB1	

		/DISPATCH LIST FOR STRING SEARCH

002230  2431	OSLST,	QUO1		/"
002231  2430		QUO2		/'
002232  2573		FORGET		/RUBOUT
002233  1753		MONIT		/^C
002234  0203		START		/^U IN STRING SEARCH

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 46


		/HANDLER FOR ALTMODE

002235  3153	AMODE,	DCA STRIND	/NEED SETUP
002236  4554		JMS I STRFIN	/SEARCH FOR STRING
002237  4143		ERROR
002240  1156		TAD THSN	/RESULT IS LINE NUMBER
002241  5642		JMP I .+1	/LINK TO COMMAND STRUCTURE
002242  0225		GTOP+1


		/HANDLER FOR J COMMAND

002243  3153	JERK,	DCA STRIND	/SETUP FOR SEARCH
002244  4554	JERK1,	JMS I STRFIN	/SEARCH FOR STRING
002245  5253		JMP GMOR	/GET NEXT BUFFER
002246  6041		TSF
002247  5246		JMP .-1		/JUST TO BE SURE
002250  1075		TAD CZ		/RESTORE MONITOR EXIT
002251  3555		DCA I TE1
002252  5555		JMP I TE1	/*POSSIBLE RETURN TO COMMAND MODE*

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 47



		/GET NEXT BUFFER FOR S SEARCH

002253  1674	GMOR,	TAD I CNTRI
002254  7650		SNA CLA		/IS BUFFER EMPTY?
002255  4143		ERROR		/NO
002256  2153		ISZ STRIND	/YES-BYPASS SETUP
002257  1227		TAD NEXBUF
002260  3566		DCA I COMM5	/SET UP READ OF ONE BUFFER
002261  7001		IAC
002262  3162		DCA ARG0
002263  1133		TAD EKILLL
002264  7640		SZA CLA		/IS THERE AN OUTPUT DEVICE?
002265  5667		JMP I .+2	/NO
002266  5670		JMP I .+2	/YES
002267  1306		YANK		/NO OUTPUT
002270  1310		COMBO		/THERE IS OUTPUT


		/HANDLER FOR F COMMAND

002271  2153	BARROW,	ISZ STRIND	/CONTINUES LOOKING FOR EXISTING STRING
002272  2156		ISZ THSN	/INCREMENT FOR NEXT LINE
002273  5244		JMP JERK1
002274  2564	CNTRI,	CNTR

		/HANDLER FOR "

002275  2156	DBLQUO,	ISZ THSN	/USES STRING NOW IN BUFFER
002276  2153		ISZ STRIND	/NO SETUP REQUIRED
002277  5236		JMP AMODE+1


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 48


		/ROUTINE TO REASSIGN INPUT HANDLER
		/AFTER A PANIC DUMP AND RESTART

002300  6213	PIASGN,	CDF CIF 10
002301  1725		TAD I PINEOF
002302  7640		SZA CLA		/IS THERE A HANDLER TO RESTORE?
002303  5721		JMP I PIRETN	/NO - BACK TO FIELD 1
002304  1723		TAD I IHPAGE	/YES -
002305  3312		DCA PIHND	/GET HANDLER PAGE
002306  1724		TAD I IDVNO
002307  6201		CDF 0		/I/O MONITOR IS IN CORE AT THIS POINT
002310  4424		JMS I C200	/CALL USER SERVICE ROUTINES
002311  0001		1		/*FETCH HANDLER*
002312  0000	PIHND,	0
002313  4542		JMS I PRERR	/**DEVICE HANDLER ERROR**4**
002314  0004		4
002315  1312		TAD PIHND
002316  6213		CDF CIF 10
002317  3722		DCA I PIHNDL	/PUT NEW HANDLER ADDRESS BACK
002320  5721		JMP I PIRETN	/AND RETURN

002321  6665	PIRETN,	PANOPN		/GO OPEN OUTPUT FILES
002322  7436	PIHNDL,	INHNDL
002323  7564	IHPAGE,	I1		/I1 CONTAINS "INDEVH+1"
002324  7411	IDVNO,	INDEV
002325  7561	PINEOF,	INEOF

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 49


		/HANDLER FOR # COMMAND


002326  4331	VERSN,	JMS	PRINT
002327  2344		VERMES
002330  5555		JMP I	TE1	/PRINT VERSION MESSAGE AND RESTART

002331  0000	PRINT,	0
002332  1731		TAD I	PRINT	/GET ADD OF MESS
002333  2331		ISZ	PRINT
002334  3170		DCA	TEMPO
002335  7410		SKP
002336  4474		JMS I	OUTL1	/ON TTY:
002337  1570		TAD I	TEMPO	/FETCH CHARACTER
002340  2170		ISZ	TEMPO
002341  7440		SZA		/DONE YET?
002342  5336		JMP	.-4
002343  5731		JMP I	PRINT	/YES

	0005		VV1=VERSION%12
	0062		VV2=VV1^12

002344  0326	VERMES,	"V; "0+VV1; "0+VERSION-VV2; PATCH; 0
002345  0265
002346  0260
002347  0330
002350  0000

		IFNDEF GERMAN <
002351  0317	WRTMES,	"O; "u; "t; "p; "u; "t; 0
002352  0365
002353  0364
002354  0360
002355  0365
002356  0364
002357  0000
002360  0305	OPNMES,	"E; "n; "t; "e; "r; 0
002361  0356
002362  0364
002363  0345
002364  0362
002365  0000
			>
		IFDEF  GERMAN <
		WRTMES,	"S; "c; "h; "r; "e; "i; "b; 0
		OPNMES,	"E; "i; "n; "t; "r; "a; "g; "u; "n; "g; "s; 0
			>
	2400		PAGE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 50


		/-----------------------------------------------------------------------
		/-----------------------------------------------------------------------
		/STRING SEARCH ROUTINE
		/CALLED BY $(ALTMODE) AND J COMMAND HANDLERS

002400  0000	SFIND1,	0
002401  2114		ISZ ECHOSW
002402  1153		TAD STRIND	/IS SETUP NECESSARY
002403  7640		SZA CLA
002404  5240		JMP SFIND2	/NO.
002405  1372		TAD MSCNT
002406  3366		DCA BUFCNT	/SET COUNTER
002407  1371		TAD SBUF
002410  3016		DCA AXIN	/BEGIN SEARCH BUFFER
002411  1361		TAD ATSIGN
002412  4474		JMS I OUTL1	/OUTPUT $
002413  2116		ISZ TABIND
002414  4457	RLOOP,	JMS I CHI1	/FETCH CHARACTER FROM TTY
002415  4477		JMS I SORTJ	/IS IT SPECIAL FOR SEARCH STRING?
002416  2221		SLST-1		/YES-HANDLE IT
002417  0006		OSLST-SLST
002420  2366		ISZ BUFCNT	/NO-SEARCH BUFFER FULL?
002421  5225		JMP STORE	/NO-STORE THIS CHARACTER
002422  7240		CLA CMA
002423  3366		DCA BUFCNT	/YES-DON'T ALLOW ANY MORE
002424  5213		JMP RLOOP-1	/BUT KEEP ECHOING HIS
002425  1110	STORE,	TAD CHAR	/STORE CHARACTER IN SEARCH BUFFER
002426  3416		DCA I AXIN
002427  5214		JMP RLOOP

		/HANDLER FOR "
002430  1156	QUO2,	TAD THSN	/START AT .+1
		/HANDLER FOR '
002431  7001	QUO1,	IAC		/START AT .=1
002432  3156		DCA THSN
002433  1016		TAD AXIN
002434  7041		CIA		/MAKE UP COUNT OF NO. CHARS NOW IN
002435  1371		TAD SBUF	/SEARCH BUFFER
002436  3364		DCA CNTR
002437  3416		DCA I AXIN	/END STRING WITH A 0
002440  1364	SFIND2,	TAD CNTR
002441  7650		SNA CLA		/IS BUFFER EMPTY?
002442  5335		JMP ER1		/YES-PREPARE TO EXIT
002443  4350		JMS NUCHAR	/NO GET FIRST STRING CHARACTER
002444  1156		TAD THSN
002445  4466		JMS I FIN1	/GET APPROPRIATE POINTER
002446  3120		DCA THIS	/THE TRICK IS TO GET THE NEXT
002447  3370		DCA CHFND
002450  6211		CDF 10		/POINTER SO THAT WE NEVER HAVE TO GO
002451  1520		TAD I THIS	/BACK TO THE FIND ROUTINE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 51



002452  3363	COMBAK,	DCA TMP2
002453  1763		TAD I TMP2
002454  3367		DCA NEXTPT
002455  6201		CDF 0
002456  1156		TAD THSN
002457  7041		CIA
002460  1157		TAD LSTN
002461  7710		SPA CLA		/LAST LINE?
002462  5335		JMP ER1		/YES-FINISHED WITH BUFFER
002463  1363		TAD TMP2	/NO
002464  3013		DCA AXOUT	/SET TO UNPACK CHARACTERS
002465  7040		CMA
002466  3112		DCA XCT
002467  4465	UPK1,	JMS I UTR1	/UNPACK A CHARACTER
002470  3363		DCA TMP2
002471  1363		TAD TMP2
002472  1021		TAD MCR
002473  7640		SZA CLA		/END OF LINE?
002474  5303		JMP NOCR	/NO
002475  2156		ISZ THSN	/YES-INCREMENT LINE COUNTER
002476  4350		JMS NUCHAR	/FORGET PREVIOUS MATCHES ON NEW LINE
002477  3370		DCA CHFND
002500  6211		CDF 10
002501  1367		TAD NEXTPT	/AND GET NEXT LINE
002502  5252		JMP COMBAK

002503  1363	NOCR,	TAD TMP2	/CHARACTER OTHER THAN CARRIAGE RETURN
002504  1362		TAD TMP1	/GET A CHARACTER FROM SEARCH BUFFER
002505  7640		SZA CLA		/DO THEY MATCH
002506  5314		JMP UPK		/NO
002507  2370		ISZ CHFND	/YES-BUMP A RANDOM POINTER
002510  7240		CLA CMA
002511  3365		DCA FMATCH	/SIGNIFY FIRST MATCH
002512  4344		JMS NUCHA	/GET NEXT SEARCH CHARACTERR
002513  5267		JMP UPK1	/AND ANOTHER BUFFER CHARACTER

002514  2365	UPK,	ISZ FMATCH	/WAS THIS FIRST MATCH?
002515  5326		JMP NOTSO	/NO-NO PROBLEM
002516  1112		TAD XCT		/YES-DON'T LET THE POINTERS BE
002517  7710		SPA CLA		/BE CHANGED
002520  5325		JMP WREK
002521  7040		CMA
002522  1013		TAD AXOUT
002523  3013		DCA AXOUT
002524  7040		CMA
002525  3112	WREK,	DCA XCT
002526  4350	NOTSO,	JMS NUCHAR	/GET FIRST CHARACTER OF SEARCH STRING
002527  3370		DCA CHFND
002530  5267		JMP UPK1	/TRY AGAIN

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 52



002531  1370	STFIN,	TAD CHFND	/END OF STRING-DO COUNTS MATCH?
002532  1364		TAD CNTR
002533  7650		SNA CLA
002534  5342		JMP GOOD	/YES-SEARCH SUCCESSFUL
002535  1157	ER1,	TAD LSTN	/IF BUFFER EMPTY, SET .=0
002536  7640		SZA CLA
002537  7001		IAC
002540  3156		DCA THSN
002541  7410		SKP		/CAUSE ERROR RETURN (?)
002542  2200	GOOD,	ISZ SFIND1	/INCREMENT RETURN
002543  5600		JMP I SFIND1	/--RETURN--

		/GET NEXT SEARCH CHARACTER
002544  0000	NUCHA,	0
002545  1344		TAD .-1		/SET TO RETURN FROM NUCHAR
002546  3350		DCA NUCHAR
002547  5353		JMP NEXX

		/GET FIRST CHARACTER OF SEARCH STRING
002550  0000	NUCHAR,	0
002551  1371		TAD SBUF
002552  3016		DCA AXIN
002553  1416	NEXX,	TAD I AXIN
002554  7450		SNA		/END OF STRING?
002555  5331		JMP STFIN	/YES
002556  7041		CIA		/NO - NEGATE SEARCH CHARACTER
002557  3362		DCA TMP1	/AND STORE IT
002560  5750		JMP I NUCHAR	/--RETURN--

	2175	ENDA=SRCBUF-1
002561  0244	ATSIGN,	244
002562  0000	TMP1,	0
002563  0000	TMP2,	0
002564  0000	CNTR,	0
002565  0000	FMATCH,	0
002566  0000	BUFCNT,	0
002567  0000	NEXTPT,	0
002570  0001	CHFND,	1		/MUST BE NONZERO INITIALLY
002571  2175	SBUF,	ENDA
002572  7754	MSCNT,	-24

		/HANDLER FOR RUBOUT IN SEARCH STRING

002573  1034	FORGET,	TAD CCR
002574  4473		JMS I OUT1	/OUTPUT CARRIAGE RETURN
002575  5201		JMP SFIND1+1
	2600		PAGE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 53


		/-----------------------------------------------------------------------
		/-----------------------------------------------------------------------
	0111		THISX=COUNTP
	0143		THISX2=DTEM


		/GARBAGE COLLECTION ROUTINE
		/ENTER WITH NUMBER OF LINE TO BE DELETED
		/IN AC

002600  0000	GARBAG,	0
002601  3267		DCA LINPTR	/SAVE OBJECT LINE ADDRESS
002602  1267		TAD LINPTR
002603  3014		DCA AXCOMB	/SCAN LINE LOOKING FOR 7715 OR 1500 (CR)
002604  7001		IAC		/CNT HOLDS
002605  3112		DCA CNT		/TOTAL # LOCS IN THIS LINE
002606  6211		CDF 10
002607  2112	COLECT,	ISZ CNT
002610  1414		TAD I AXCOMB	/GET A WORD
002611  1270		TAD K63
002612  7450		SNA		/IS IT 7715?
002613  5217		JMP FINONE	/YES-END OF LINE
002614  1320		TAD K6215	
002615  7640		SZA CLA		/NO-IS IT 1500?
002616  5207		JMP COLECT	/NO-TRY NEXT WORD
002617  1112	FINONE,	TAD CNT		/YES MINUS CNT GIVES AMOUNT
002620  7041		CIA		/TO REDUCE CERTAIN POINTERS
002621  3315		DCA RELCNT
002622  6201		CDF 0
002623  7001		IAC		/GO THROUGH LIST OF POINTERS
002624  4466		JMS I FIN1	/& OFFSET POINTERS WHICH WILL BE MOVED
002625  6211		CDF 10		/MOVED ALONG WITH TEXT
002626  3111	GBG2,	DCA THISX	/SAVE POINTER
002627  1511		TAD I THISX	/GET ADDRESS OF THIS LINE
002630  7450		SNA		/DONE WITH STRING?
002631  5236		JMP GBGEND	/YES
002632  4271		JMS CGEPTR	/DECREASE POINTER IF NECESSARY
002633  3511		DCA I THISX	/STORE NEW POINTER
002634  1143		TAD THISX2
002635  5226		JMP GBG2	/DO NEXT LINE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 54



002636  6201	GBGEND,	CDF 0		/ALL POINTERS ARE REDUCED. NOW,
002637  7120		CLL CML
002640  1125		TAD BUFR	/PHYSICALLY MOVE CORE TO
002641  7041		CIA		/CORRESPOND WITH POINTERS
002642  1014		TAD AXCOMB	/AXCOMB POINTS TO FIRST LOC. TO GO
002643  7520		SMA SNL		/POINTERS O.K.?
002644  4143		ERROR		/NO
002645  3112		DCA XCT		/YES-SET UP OTHER POINTERS
002646  6211		CDF 10
002647  7040		CMA
002650  1267		TAD LINPTR
002651  3013		DCA AXOUT
002652  1414		TAD I AXCOMB	/MOVE TEXT
002653  3413		DCA I AXOUT
002654  2112		ISZ XCT		/ALL TEXT MOVED?
002655  5252		JMP .-3		/NO-CONTINUE MOVING
002656  6201		CDF 0		/YES
002657  1013		TAD AXOUT
002660  3125		DCA BUFR	/RESET TOP OF BUFFER
002661  1125		TAD BUFR	/REDUCE AXIN FOR CHARACTER SEARCH
002662  3016		DCA AXIN
002663  1120		TAD THIS	/NOW DECREASE THIS IF IT IS NECESSARY
002664  4271		JMS CGEPTR
002665  3120		DCA THIS
002666  5600		JMP I GARBAG	/--RETURN--

002667  0000	LINPTR,	0
002670  0063	K63,	63

002671  0000	CGEPTR,	0		/THIS ROUTINE DETERMINES IF THE 
002672  3143		DCA THISX2	/OF THE AC MUST BE DECREASED BY RELCNT.
002673  7100		CLL		/IF THISX2 IS GREATER THAN LINPTR
002674  1143		TAD THISX2	/DECREASE THISX2 BY RELCNT.
002675  7041		CIA
002676  1267		TAD LINPTR	/THIS EFFECTIVELY DECREASE ALL POINTERS
002677  7620		SNL CLA		/WHICH HAVE TO BE RELOCATED
002700  1315		TAD RELCNT
002701  1143		TAD THISX2
002702  5671		JMP I CGEPTR

		/HANDLER FOR V COMMAND

002703  1377	VIEW,	TAD (LPT	/SET UP LISTER TO EXIT TO LPT
002704  3121		DCA OUTDEV
002705  2116		ISZ TABIND
002706  4470		JMS I LIS	/LIST BUFFER
002707  6254		6254		/SKIP ON MULTI8
002710  1314		TAD	XFFCTZ	/NORMAL IS FF
002711  1134		TAD	P232	/MULTI8 EOF, FF FROM MULTI8
002712  4521		JMS I OUTDEV
002713  5555		JMP I TE1	/*RETURN TO COMMAND MODE*
002714  7762	XFFCTZ,	214-232
002715  0000	RELCNT,	0

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 55


		/HANDLER FOR ,

002716  1164	FIRS,	TAD ARG2
002717  5476		JMP I ONUM

002720  6215	K6215,	6215


		/THE FOLLOWING GIVES ERROR MESSAGES FOR I/O RELATED ERRORS
		/EACH IS A FATAL ERROR AND WILL ALWAYS EXIT THROUGH
		/7600, SAVING THE TEXT BUFFER.
		/N IS THE ERROR IDENTIFICATION CODE
		/N=0=> FAILED IN READING DEVICE
		/N=1=> FATAL WRITE ERROR
		/N=2=> FILE CLOSE ERROR
		/N=3=> FILE OPEN ERROR
		/N=4=> DEVICE HANDLER ERROR

002721  0000	DEVERR,	0
002722  1721		TAD I	DEVERR
002723  6201		CDF 0
002724  1376		TAD	(ERRLIS
002725  3334		DCA	ERRARG
002726  1734		TAD I	ERRARG
002727  3334		DCA	ERRARG
002730  6046		TLS
002731  6041		TSF
002732  5331		JMP .-1
002733  4775		JMS I	(PRINT	/SEND ERROR CODE
002734  0000	ERRARG,	0		/GETS ADDRESS OF MESSAGE
002735  4775		JMS I	(PRINT
002736  2745		ERRERR		/PRINT "error"
002737  5552		JMP I MONITO	/****EXIT TO MONITOR****

002740  1757	ERRLIS,	REDMES		/0
002741  2351		WRTMES		/1
002742  2757		CLSMES		/2
002743  2360		OPNMES		/3
002744  1765		DEVMES		/4

		IFNDEF GERMAN <
002745  0240	ERRERR,	240; "E; "r; "r; "o; "r; 240; "^; "C; 0
002746  0305
002747  0362
002750  0362
002751  0357
002752  0362
002753  0240
002754  0336
002755  0303
002756  0000
002757  0303	CLSMES,	"C; "l; "o; "s; "e; 0
002760  0354
002761  0357

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 55-1

002762  0363
002763  0345
002764  0000
			>
		IFDEF  GERMAN <
		ERRERR,	"-; "F; "e; "h; "l; "e; "r; 240; "^; "C; 0
		CLSMES,	"A; "b; "s; "c; "h; "l; "u; "s; "s; 0
			>

002775  2331
002776  2740
002777  3144
	3000		PAGE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 56


		/-----------------------------------------------------------------------
		/-----------------------------------------------------------------------

		/THE CODE AT 3000 IS ONCE ONLY CODE. IT TAKES THE FIELD 1
		/PART OF THE CODE WHICH IS INITIALLY IN FIELD 0 AND MOVES
		/IT UP TO THE PROPER LOCATIONS IN FIELD 1.

	3177		XYZTUV=(LPT	/IDENTIFIER FOR SET
003000  1376	INIT,	TAD (3177	/COLD LOAD STARTS AT 3200
003001  3016		DCA AXIN
003002  1375		TAD (6577	/CODE SHOULD BE IN 6600 OF FIELD 1
003003  3013		DCA AXOUT
003004  1374		TAD (7000	/MOVE 1000 LOCATIONS UP
003005  3226		DCA COUNTA
003006  6201	LOOP,	CDF 0
003007  1416		TAD I AXIN	/MOVE CODE
003010  6211		CDF 10
003011  3413		DCA I AXOUT
003012  2226		ISZ COUNTA	/DONE YET?
003013  5206		JMP LOOP	/NO
003014  3016		DCA AXIN	/YES-RESET COUNTERS
003015  3013		DCA AXOUT
003016  6201		CDF 0		/PUT A NOP INTO LOC. 203
003017  1374		TAD (NOP
003020  3773		DCA I (START
003021  1053		TAD RST3I	/CHANGE START ADDRESS TO SAVE BUFFER
003022  3177		DCA 177
003023  6213		CIF CDF 10
003024  5625		JMP I K6600	/STARTING ADDRESS IS 16600
003025  6600	K6600,	6600		/FIELD 1 STARTING ADDRESS

003026  0000	COUNTA,	0

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 57


		/CHARACTER OUTPUT ROUTINE

003027  0000	OUT,	0
003030  3110		DCA CHAR
003031  1114		TAD ECHOSW	/IS ECHO SUPPRESSED?
003032  7650		SNA CLA
003033  5627		JMP I OUT	/YES--RETURN--
003034  4477		JMS I SORTJ	/NO - IS IT A FORMAT CHARACTER?
003035  0031		LIST4-1		/YES - EXIT TO ITS HANDLER
003036  1205		OUTLIS-LIST4
003037  1110		TAD	CHAR	/SOME OTHER CONTROL CHAR?
003040  1372		TAD	(-240
003041  7710		SPA CLA
003042  4266		JMS	TERLIN	/IS OUTPUT TO OS/8?
003043  7410		SKP
003044  5251		JMP	UPARO	/YES OUTPUT ^X FORM IF NOT OS/8
003045  2160		ISZ TCNT	/NO - COUNT ONE LETTER
003046  1110		TAD CHAR
003047  4521	OUTX,	JMS I OUTDEV	/OUTPUT THE CHARACTER
003050  5627		JMP I OUT	/--RETURN--

003051  2160	UPARO,	ISZ	TCNT
003052  1371		TAD	(336	/PRINT ^
003053  4521		JMS I	OUTDEV
003054  1011		TAD	C100	/PRINT X
003055  5245		JMP	OUTX-2

		/ROUTINE TO HANDLE ESCAPE OUTPUT

003056  1457	ESCOUT,	TAD I	CHI1		/V12 - TAD CHIN
003057  1370		TAD	(-CMCHK-1
003060  7650		SNA CLA			/COMMAND MODE?
003061  5627		JMP I	OUT		/YES, DON'T OUTPUT IT NOW
003062  4266		JMS	TERLIN		/TO TERMINAL OR LPT?
003063  1367		TAD	(233-"$		/NO, OUTPUT ESC
003064  1366		TAD	("$		/YES, OUTPUT "$"
003065  5247		JMP	OUTX		/DO IT

003066  0000	TERLIN,	0			/TEST IF OUTPUT TO FILE
003067  1121		TAD	OUTDEV
003070  1365		TAD	(-BUFWT
003071  7640		SZA CLA			/OUTPUT TO OS/8 DEVICE?
003072  2266		ISZ	TERLIN		/NO, TO TERMINAL OR LPT
003073  5666		JMP I	TERLIN		/YES, TO OS8

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 58


		/BACKSPACE DECREMENTS TAB COUNTER

003074  7240	BCKSPC,	STA
003075  1160		TAD	TCNT
003076  3160		DCA	TCNT
003077  5246		JMP	OUTX-1

		/CARRIAGE RETURN HANDLER

003100  1034	OUTCRL,	TAD CCR
003101  4521		JMS I OUTDEV	/OUTPUT CARRIAGE RETURN
003102  3160		DCA TCNT	/CLEAR TAB COUNTER
003103  1047		TAD CLF		/OUTPUT LINE FEED
003104  5247		JMP OUTX


		/TAB HANDLER - TAB/RUBOUT

003105  1033	OUTRT,	TAD CTAB
003106  4521		JMS I OUTDEV	/OUTPUT TAB
003107  6212		CIF 10
003110  4565		JMS I POTYPE	/TEST TYPE OF OUTPUT
003111  7710		SPA CLA		/IS IT DIRECTORY DEVICE?
003112  5627		JMP I OUT	/YES--RETURN--
003113  1050		TAD CRO		/NO - OUTPUT RUBOUT
003114  5247		JMP OUTX


		/TAB HANDLER - SPACES

003115  1116	OUTTAB,	TAD TABIND
003116  7650		SNA CLA		/OUTPUT TAB/RUBOUT INSTEAD?
003117  5305		JMP OUTRT	/YES - GO TO OTHER TAB HANDLER
003120  1160		TAD TCNT	/NO -
003121  1055		TAD MTABS	/REDUCE SPACE COUNT TO 8 OR LESS
003122  7500		SMA
003123  5321		JMP .-2
003124  3160		DCA TCNT
003125  1030		TAD C240	/OUTPUT SPACES
003126  4521		JMS I OUTDEV
003127  2160		ISZ TCNT	/DONE YET?
003130  5325		JMP .-3		/NO - CONTINUE
003131  5627		JMP I OUT	/YES--RETURN--


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 59


		/TELETYPE CHARACTER FETCH ROUTINE
		/ENTER WITH AC CLEAR
		/EXIT WITH CHARACTER IN CHAR AND AC
		/FORCE CHANNEL 8
		/BLANK TAPE & LEADER TRAILER IGNORED

003132  0000	CHIN,	0
003133  3110		DCA CHAR	/CLEAR CHARACTER
003134  4462		JMS I KEYBD
003135  0020		AND P177	/MASK PARITY
003136  7450		SNA		/IGNORE BLANK AND L/T
003137  5333		JMP CHIN+1
003140  1024		TAD C200	/RESTORE CHARACTER
003141  4473		JMS I OUT1	/ECHO INPUT
003142  1110		TAD CHAR
003143  5732		JMP I CHIN	/--RETURN--

		/LPT MUST! BE ON THIS PAGE FOR SET(ADDRESS OF LPT IN 3177)

003144  0000	LPT,	0		/*WM* NEW LPT ROUTINE FOR SETS
003145  7040		CMA		/NOP OR CMA
003146  6574		6574		/OR OTHER PRINTING IOT
003147  6577		6577		/STROBE FOR PRINTRONIX
003150  7200		CLA
003151  6570		6570		/OR OTHER SKIP IOT
003152  5351		JMP	.-1
003153  4764		JMS I	(COPSQ	/CHECK KEYBOARD
003154  5744		JMP I	LPT

		/MORE STUFF MAY BE INSERTED HERE

		/LITERALS
003164  1657
003165  5716
003166  0244
003167  7767
003170  7545
003171  0336
003172  7540
003173  0203
003174  7000
003175  6577
003176  3177
003177  3144
	3200		PAGE

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 60


	3200		*3200
		/********************************************************************
		/CODE MOVED TO 16600-16762

		NOPUNC
	6600	*6600
		ENPUNC


		/OURECS=4
		/SETUP FOR USING GENERAL INPUT, OUTPUT ROUTINES
	4200		INBUF=4200	/INPUT BUFFER AT 04200
	0600		INCTL=0600	/INPUT CONTROL - 6 PAGES
	0003		INRECS=3	/3 RECORDS INTO FIELD 0
	3200		INDEVH=3200	/INPUT HANDLER AT 03200

	5600		OUBUF=5600	/OUTPUT BUFFER AT 05600
	5000		OUCTL=5000	/OUTPUT CONTROL - 8 PAGES
	3600		OUDEVH=3600	/OUTPUT HANDLER AT 03600

	7643		MPARAM=7643	/OPTION SWITCHES


006600  4757		JMS I L7700	/CALL USER SERVICE ROUTINES
006601  0010		10		/*LOCK USR IN CORE*
006602  6201		CDF 0		/V3
006603  2764		ISZ I PTEMP	/V3 WERE WE CHAINED TO?
006604  5211		JMP CHN		/V3 YES
006605  6211		CDF 10		/V3 NO
006606  4744	START1,	JMS I L200	/CALL USER SERVICE ROUTINES
006607  0005		5		/*COMMAND DECODER*
006610  0000		0
006611  6211	CHN,	CDF 10
006612  1363		TAD K7620	/RESET OUTDMP
006613  3762		DCA I THOLE
006614  1631		TAD I P7600A	/OUTPUT LIST
006615  0355		AND C17
006616  7640	SZCL,	SZA CLA		/IS THERE AN OUTPUT DEVICE?
006617  5223		JMP NXTOP	/YES
006620  6201		CDF 0		/NO-DISALLOW E COMMAND
006621  2752		ISZ I EKILSW
006622  6211		CDF 10
006623  1756	NXTOP,	TAD I PARAM
006624  7004		RAL		/B BIT TO BIT 0
006625  3247		DCA DVHAND	/SAVE PARAM. SWITCH
006626  1247		TAD DVHAND
006627  7700		SMA CLA		/WAS /B OPTION SPECIFIED?
006630  5236		JMP NEWOP	/NO
006631  7600	P7600A,	7600		/YES-
006632  1216		TAD SZCL	/SET UP TO CONVERT SPACES TO TABS
006633  6201		CDF 0
006634  3747		DCA I SPCP1
006635  6211		CDF 10

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 61


006636  1247	NEWOP,	TAD DVHAND
006637  7006		RTL
006640  7700		SMA CLA		/WAS /D OPTION SPECIFIED?
006641  5260		JMP FILOP	/NO
006642  1754		TAD I OHANDL	/YES-HANDLER BROUGHT IN FOR D OPTION
006643  3247		DCA DVHAND
006644  1631		TAD I P7600A	/DEVICE NUMBER
006645  4744		JMS I L200	/CALL USER SERVICE ROUTINES
006646  0001		1		/*ASSIGN*
006647  0000	DVHAND,	0
006650  4332		JMS HGHERR	/**DEVICE HANDLER ERROR**4**
006651  0004		4
006652  1631		TAD I P7600A	/GET DEVICE NUMBER
006653  4744		JMS I L200	/CALL USER SERVICE ROUTINES
006654  0004		4		/*CLOSE*
006655  7601		7601
006656  0000		0
006657  0157	JLSTN,	LSTN		/PAGE ZERO. 'AND' SOME ADDRESS
006660  1346	FILOP,	TAD PANIC	/PANIC CASE?
006661  7450		SNA
006662  4750		JMS I IOPENI	/SET BUFFER POINTERS OR RESTORE HANDLER
006663  7640		SZA CLA		/YES-
006664  5327		JMP GINDVH	/RESTORE INPUT DEVICE HANDLER IN PANIC MODE
006665  4751	PANOPN,	JMS I OOPENI	/OPEN OUTPUT FILES
006666  7700		SMA CLA		/ERROR RETURN
006667  7410		SKP		/NORMAL RETURN
006670  4332		JMS HGHERR	/**FILE OPEN ERROR**3**
006671  0003		3
006672  1346		TAD PANIC	/PANIC CASE?
006673  7650		SNA CLA
006674  5305		JMP NOPAN	/NO
006675  1631		TAD I P7600A	/YES IF NO OUTPUT,DON'T ALLOW HIM
006676  7650		SNA CLA		/TO DESTROY HIS TEXT
006677  5206		JMP START1
006700  1360		TAD K5000	/SET TO WRITE BUFFER
006701  4753		JMS I ODMP	/DUMP IT
006702  4332		JMS HGHERR	/**FATAL WRITE ERROR**1**
006703  0001		1
006704  7201		CLA IAC

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 62


006705  3247	NOPAN,	DCA DVHAND
006706  3346		DCA PANIC	/CLEAR PANIC SWITCH
006707  4744		JMS I L200	/CALL USER SERVICE ROUTINES
006710  0011		11		/*DISMISS USR FROM CORE*
006711  4761		JMS I OUSTPI	/RE-INITIALIZE OUTPUT POINTERS
006712  7201		CLA IAC
006713  4743		JMS I SETJSI
006714  6201		CDF 0		/IF LSTN#0, CLEAR FRST
006715  1657		TAD I JLSTN	/BUT IN FIELD 1
006716  7650		SNA CLA
006717  3174		DCA FRST
006720  6203		CIF CDF 0
006721  1247		TAD DVHAND
006722  7650		SNA CLA		/PANIC MODE?
006723  5745		JMP I STRTUP	/NO-START THE EDITOR
006724  6046		TLS
006725  5726		JMP I .+1	/YES - RESUME OUTPUT
006726  2151		BUFRET

006727  6203	GINDVH,	CDF CIF 0
006730  5731		JMP I .+1
006731  2300		PIASGN

006732  0000	HGHERR,	0
006733  1732		TAD I	HGHERR
006734  3341		DCA	HGHARG
006735  4744		JMS I L200	/CALL USER SERVICE ROUTINES
006736  0011		11		/*DISMISS USR FROM CORE*
006737  6202		CIF 0
006740  4742		JMS I	LOWERR	/CALL FIELD 0 ERROR ROUTINE
006741  0000	HGHARG,	0
006742  2721	LOWERR,	DEVERR


/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 63


006743  7144	SETJSI,	SETJSB
006744  0200	L200,	200
006745  0203	STRTUP,	START
006746  0000	PANIC,	0
006747  1523	SPCP1,	SPACES+1
006750  7401	IOPENI,	IOPEN
006751  7201	OOPENI,	OOPEN
006752  0133	EKILSW,	EKILLL
006753  7251	ODMP,	OUTDMP
006754  7362	OHANDL,	O1
006755  0017	C17,	17
006756  7643	PARAM,	MPARAM
006757  7700	L7700,	7700
006760  5000	K5000,	5000	/OUTPUT BUFF CONTROL WORD
006761  7001	OUSTPI,	OUSETP
006762  7261	THOLE,	TSTHOL
006763  7620	K7620,	7620
006764  0117	PTEMP,	TEMP

		/***********************************************************************

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 64


	3400		*3400
		/***********************************************************************
		/CODE MOVED TO 17000-17173

		NOPUNC
	7000	*7000
		ENPUNC

007000  0232		232		/THIS PAGE IS ^Z BUFFER
		/SET UP ROUTINE FOR OUTPUT
		/INITIALIZES CHARACTERS POINTERS
007001  0000	OUSETP,	0
007002  1774		TAD I PANICJ	/IS IT PANIC DUMP TIME?
007003  7640		SZA CLA		/IF YES, DONT RESET POINTERS
007004  5601		JMP I OUSETP	/--RETURN--
007005  1360		TAD C1		/GET SIZE OF BUFFER IN DOUBLEWORDS
007006  7041		CIA		/NEGATE IT
007007  3306		DCA OUDWCT
007010  1361		TAD C2
007011  3304		DCA OUPTR	/INITIALIZE WORD POINTER
007012  1305		TAD OUJMPE
007013  3240		DCA OUJMP	/INITIALIZE THREE-WAY CHARACTER SWITCH
007014  5601		JMP I OUSETP	/--RETURN--

		/OUTPUT A CHARACTER
		/ENTER WITH CHARACTER IN 8-BIT ASCII
		/IN AC
007015  0000	OCHAR,	0
007016  0362		AND C377	/MASK OUT EXTRA BITS
007017  3302		DCA OUTEMP
007020  1363		TAD	PAR200	/MASK PARITY
007021  6034		KRS
007022  1364		TAD M203
007023  7650		SNA CLA
007024  6031		KSF
007025  5230		JMP .+3
007026  6203		CIF CDF 0
007027  5770		JMP I C7600
007030  6214		RDF		/NO-
007031  1365		TAD CDIF0
007032  3300		DCA OUCRET
007033  1307		TAD OUTINH	/IS OUTPUT INHIBITED?
007034  7640		SZA CLA
007035  5324		JMP PSTOP	/NO
007036  6201		CDF OUFLD	/YES-SET DATA FIELD TO BUFFER'S FIELD
007037  2240		ISZ OUJMP	/BUMP THE CHARACTER SWITCH
007040  7402	OUJMP,	HLT		/3 WAY CHARACTER SWITCH
007041  5275		JMP OCHAR1
007042  5272		JMP OCHAR2
007043  1302	OCHAR3,	TAD OUTEMP
007044  7106		CLL RTL
007045  7006		RTL
007046  0366		AND K7400
007047  1703		TAD I OUPOLD

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 64-1

007050  3703		DCA I OUPOLD	/UPDATE FIRST WORD OF TWO WITH HIGH
					/ORDER 4 BITS OF 3RD CHAR

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 65


007051  1302		TAD OUTEMP
007052  7112		CLL RTR
007053  7012		RTR
007054  7010		RAR
007055  0366		AND K7400
007056  1704		TAD I OUPTR
007057  3704		DCA I OUPTR	/UPDATE SECOND WORD FROM LOW ORDER 4 BITS
007060  1305		TAD OUJMPE
007061  3240		DCA OUJMP	/RESET SWITCH
007062  2304		ISZ OUPTR
007063  2306		ISZ OUDWCT	/BUMP DOUBLEWORD COUNTER EVERY 3 CHARS
007064  5277		JMP OUCOMN
007065  1367		TAD OUCT	/LOAD CONTROL WORD FOR A FULL WRITE
007066  4773		JMS I DMPO	/DUMP THE BUFFER
007067  5300		JMP OUCRET	/OUTPUT ERROR - GIVE ERROR RETURN
007070  4201		JMS OUSETP	/RE-INITIALIZE THE POINTERS
007071  5277		JMP OUCOMN
007072  1304	OCHAR2,	TAD OUPTR
007073  3303		DCA OUPOLD	/SAVE POINTER TO FIRST WORD OF TWO
007074  2304		ISZ OUPTR	/BUMP WORD POINTER TO SECOND WORD
007075  1302	OCHAR1,	TAD OUTEMP
007076  3704		DCA I OUPTR
007077  2215	OUCOMN,	ISZ OCHAR
007100  7402	OUCRET,	HLT		/RESTORE CALLING FIELDS
007101  5615		JMP I OCHAR	/--RETURN--

007102  0000	OUTEMP,	0
007103  0000	OUPOLD,	0
007104  0000	OUPTR,	0
007105  5240	OUJMPE,	JMP OUJMP
007106  0000	OUDWCT,	0
007107  0000	OUTINH,	0

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 66


		/FETCH OUTPUT DEVICE CONTROL WORD

007110  0000	OTYPE,	0
007111  6214		RDF
007112  1365		TAD CDIF0
007113  3322		DCA OTRTN
007114  6211		CDF 10
007115  1770		TAD I C7600	/FETCH OUTPUT DEVICE NUMBER
007116  0371		AND P17
007117  1372		TAD DCBM1	/+DCB-1
007120  3302		DCA OUTEMP	/FETCH DEVICE CONTROL WORD
007121  1702		TAD I OUTEMP
007122  7402	OTRTN,	HLT		/RESTORE CALLING FIELDS
007123  5710		JMP I OTYPE	/--RETURN--
007124  6202	PSTOP,	CIF 0		/PRINTS ? WHEN NO OUTPUT DEV
007125  4143		ERROR

007126  0000	INSET,	0
007127  3310		DCA OTYPE	/SAVE AC
007130  6214		RDF
007131  1365		TAD CDIF0
007132  3342		DCA INSTRT	/SET RETURN FIELDS
007133  6201		CDF 0
007134  1757		TAD I PLASTN
007135  6211		CDF 10
007136  7650		SNA CLA		/IS THERE ANYTHING IN BUFFER?
007137  7001		IAC		/NO-NO NEED TO SAVE USR AREA
007140  4344		JMS SETJSB	/YES-
007141  1310		TAD OTYPE	/RESTORE AC
007142  6203	INSTRT,	CIF CDF 0	/RESTORE CALLING FIELDS
007143  5726		JMP I INSET	/--RETURN--

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 67


		/SET JOB STATUS BIT 11 TO SAVE OR NOT SAVE
		/ENTER WITH AC=0 OR 1, DEPENDING ON BUFFER

007144  0000	SETJSB,	0
007145  3355		DCA JSBTM	/SAVE AC
007146  6201		CDF 0
007147  7344		CLA CLL CMA RAL
007150  0756		AND I PJSBTS	/CLEAR BIT 11 OF JSW
007151  1355		TAD JSBTM	/SET ACCORDING TO AC
007152  3756		DCA I PJSBTS
007153  6211		CDF 10
007154  5744		JMP I SETJSB	/--RETURN--

007155  0000	JSBTM,	0
007156  7746	PJSBTS,	7746
007157  0157	PLASTN,	LSTN

	7760	DCB=7760
007160  1000	C1,	OUCTL&3700
007161  5600	C2,	OUBUF
007162  0377	C377,	377
007163  0200	PAR200,	200
007164  7575	M203,	-203
007165  6203	CDIF0,	CDF CIF 0
007166  7400	K7400,	7400
007167  5000	OUCT,	OUCTL
007170  7600	C7600,	7600
007171  0017	P17,	17
007172  7757	DCBM1,	DCB-1
007173  7251	DMPO,	OUTDMP
007174  6746	PANICJ,	PANIC
		/***********************************************************************

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 68


	3600		*3600
		/***********************************************************************
		/CODE MOVED TO 17200-17376
		NOPUNC
	7200	*7200
		ENPUNC
		/OPEN OUTPUT FILE

007200  0017	O17,	17
007201  0000	OOPEN,	0
007202  7600	OU7600,	7600
007203  1343		TAD OU7601
007204  3223		DCA OUBLK
007205  1362		TAD O1
007206  3215		DCA OUHNDL	/SET OUTPUT HANDLER ENTRY
007207  6211		CDF 10
007210  1602		TAD I OU7600	/GET DEVICE NUMBER WORD OF OUTPUT FILE ENTRY
007211  7450		SNA		/IS THERE AN OUTPUT DEVICE?
007212  5247		JMP ONOFIL	/NO - INHIBIT OUTPUT
007213  4642		JMS I O200	/CALL USER SERVICE ROUTINES
007214  0001		1		/*ASSIGN,FETCH HANDLER*
007215  2600	OUHNDL,	2600		/OUTPUT DEVICE HANDLER ENTRY
007216  4777		JMS I SERRA	/**DEVICE HANDLER ERROR**4**
007217  0004		4
007220  1602	OUENTR,	TAD I OU7600
007221  4642		JMS I O200	/CALL USER SERVICE ROUTINES
007222  0003		3		/*ENTER OUTPUT FILE*
007223  7601	OUBLK,	7601		/REPLACED WITH STARTING BLOCK
007224  0000	OUELEN,	0		/REPLACED WITH LENGTH OF HOLE
007225  5235		JMP OEFAIL	/FAILED - MAYBE WE ASKED TOO MUCH
007226  3344		DCA OUCCNT
007227  3764		DCA I O2	/ZERO OUTPUT INHIBIT FLAG
007230  1223		TAD OUBLK
007231  3270		DCA OUREC	/INITIALIZE OUTPUT RECORD NUMBER
007232  4765		JMS I O3
007233  2201		ISZ OOPEN
007234  5601	OORETN,	JMP I OOPEN
007235  1602	OEFAIL,	TAD I OU7600
007236  0366		AND O7760	/GET REQUESTED LENGTH
007237  7650		SNA CLA		/WAS IT AN INDEFINITE REQUEST
007240  5245		JMP ONTERR	/YES - CANNOT ENTER THE FILE
007241  1602		TAD I OU7600
007242  0200	O200,	AND O17		/MAKE THE REQUESTED LENGTH ZERO
007243  3602		DCA I OU7600
007244  5220		JMP OUENTR	/TRY, TRY AGAIN
007245  7330	ONTERR,	CLA CLL CML RAR	/AC=2
007246  5234		JMP OORETN	/TAKE THE ERROR RETURN WITH AC<0
007247  2764	ONOFIL,	ISZ I O2
007250  5234		JMP OORETN	/TAKE THE ERROR RETURN WITH AC=0

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 69


007251  0000	OUTDMP,	0
007252  3266		DCA OUCTLW	/STORE THE CONTROL WORD
007253  4352		JMS OUNREC	/COMPUTE NO. OF RECORDS
007254  1344		TAD OUCCNT
007255  3344		DCA OUCCNT
007256  1344		TAD OUCCNT
007257  7120		CLL CML
007260  1224		TAD OUELEN
007261  7620	TSTHOL,	SNL CLA		/IF ZERO OR POSITIVE,GIVE ERROR
007262  5276		JMP OUERR
007263  6203		CDF CIF 0
007264  6211		CDF 10
007265  4615		JMS I OUHNDL	/CALL OUTPUT DEVICE HANDLER
007266  0000	OUCTLW,	0		/CONTROL WORD
007267  5600		OUBUF		/BUFFER ADDRESS
007270  0000	OUREC,	0		/RECORD NUMBER
007271  5276		JMP OUERR	/THERE ARE NO SOFT OUTPUT HANDLER ERRORS
007272  4352		JMS OUNREC
007273  1270		TAD OUREC
007274  3270		DCA OUREC	/UPDATE OUTPUT RECORD NUMBER
007275  2251		ISZ OUTDMP	/BUMP OUTDMP TO NORMAL RETURN
007276  5651	OUERR,	JMP I OUTDMP	/--RETURN--

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 70



		/CLOSE OUTPUT FILE
007277  0000	OCLOSE,	0
007300  1361		TAD K7660	/SET UP SNL SZA CLA FOR CLOSE
007301  3261		DCA TSTHOL
007302  6211		CDF 10
007303  1751		TAD I PANICC
007304  7640		SZA CLA
007305  5336		JMP NODUMP
007306  1764		TAD I O2
007307  7640		SZA CLA		/IS OUTPUT INHIBITED?
007310  5346		JMP OCISZ	/YES - CLOSE IS A NOP
007311  1367		TAD O232	/OUTPUT A ^Z
007312  4770		JMS I O4
007313  5347		JMP OCRET	/AND SOME 0'S
007314  4770		JMS I O4
007315  5347		JMP OCRET
007316  4770	FILLLP,	JMS I O4
007317  5347		JMP OCRET
007320  4771		JMS I O5	/GET TYPE OF OUTPUT DEVICE
007321  7710		SPA CLA
007322  1372		TAD O100	/IF ITS A DIRECTORY DEVICE FORCE A RECORD
007323  1373		TAD O77		/BOUNDARY-OTHERWISE HALF RECORD
007324  0774		AND I O6
007325  7640		SZA CLA		/UP TO THE BOUNDARY YET?
007326  5316		JMP FILLLP	/NO - FILL WITH ZEROS
007327  1774		TAD I O6	/GET DOUBLEWORD COUNT LEFT
007330  1375		TAD O7
007331  7450		SNA		/A FULL WRITE LEFT?
007332  5336		JMP NODUMP	/YES - DON'T DO IT - ^Z IS ALREADY OUT
007333  1376		TAD O8		/PUT IN FIELD BITS AND WRITE BIT
007334  4251		JMS OUTDMP
007335  5347		JMP OCRET	/ERROR OCCURRED WHILE DUMPING THE BUFFER
007336  4763	NODUMP,	JMS I O7700	/CALL USER SERVICE ROUTINES
007337  0010		10		/*LOCK USR IN CORE*
007340  1602		TAD I OU7600	/DEVICE NUMBER
007341  4642		JMS I O200	/CALL USER SERVICE ROUTINES
007342  0004		4		/*CLOSE OUTPUT FILE*
007343  7601	OU7601,	7601		/POINTER TO THE OUTPUT FILE NAME
007344  0000	OUCCNT,	0
007345  7410		SKP		/ERROR WHILE CLOSING THE FILE
007346  2277	OCISZ,	ISZ OCLOSE
007347  6203	OCRET,	CIF CDF 0	/RESTORE CALLING FIELDS
007350  5677		JMP I OCLOSE	/--RETURN--
007351  6746	PANICC,	PANIC

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 71


		/CONVERT OUTPUT CONTROL WORD
		/TO NUMBER OF RECORDS
007352  0000	OUNREC,	0
007353  1266		TAD OUCTLW
007354  7106		CLL RTL
007355  7006		RTL
007356  7006		RTL
007357  0200		AND O17
007360  5752		JMP I OUNREC	/--RETURN--

007361  7660	K7660,	SNL SZA CLA
007362  3601	O1,	OUDEVH+1
007363  7700	O7700,	7700
007364  7107	O2,	OUTINH
007365  7001	O3,	OUSETP
007366  7760	O7760,	7760
007367  0232	O232,	232
007370  7015	O4,	OCHAR
007371  7110	O5,	OTYPE
007372  0100	O100,	100
007373  0077	O77,	77
007374  7106	O6,	OUDWCT
007375  1000	O7,	OUCTL&3700
007376  4000	O8,	4000+OUFLD
007377  6732	SERRA,	HGHERR

		/***********************************************************************

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 72


	0000		INFLD=INCTL&70		/FIELD OF INPUT BUFFER
	0000		OUFLD=OUCTL&70		/FIELD OF OUTPUT BUFFER
		/***********************************************************************
		/CODE MOVED TO 17400 -17574

	4000	*4000
		NOPUNC
	7400	*7400
		ENPUNC

		/PREPARE TO OPEN NEW INPUT FILE

007400  7400	IN7400,	7400
007401  0000	IOPEN,	0
007402  7240		CLA CMA
007403  3357		DCA INCHCT	/SET INCHCT TO FORCE A READ
007404  2361		ISZ INEOF	/SET END-OF-FILE FLAG TO FORCE A NEW FILE
007405  1363		TAD I7617
007406  3360		DCA INFPTR	/RESET FILE POINTER
007407  5601		JMP I IOPEN	/--RETURN--
007410  0000	INPTR,	0
007411  0000	INDEV,	0

		/INPUT A CHARACTER

007412  0000	ICHAR,	0
007413  7600	IN7600,	7600
007414  6201	INCHAR,	CDF INFLD
007415  2324		ISZ INJMP	/BUMP THREE-WAY UNPACK SWITCH
007416  2357		ISZ INCHCT
007417  5324	INJMPP,	JMP INJMP
007420  1361		TAD INEOF
007421  7650		SNA CLA		/DID LAST READ YIELD END-OF-FILE?
007422  5255		JMP INGBUF	/NO-DO ANOTHER
007423  6211	INNEWF,	CDF 10
007424  1364		TAD I1
007425  3236		DCA INHNDL	/INITIALIZE HANDLER ADDRESS
007426  1760		TAD I INFPTR	/GET NEXT CD INPUT FILE ENTRY
007427  3211		DCA INDEV	/SAVE IT FOR PANIC
007430  1211		TAD INDEV
007431  7450		SNA		/ANY MORE?
007432  5323		JMP EOFERR	/NO - OUT OF INPUT
007433  4762		JMS I PINSET	/YES-SAVE BUFFER IF NECESSARY
007434  4774		JMS I I7700	/CALL USER SERVICE ROUTINE
007435  0001		1		/*ASSIGN, FETCH HANDLER*
007436  0000	INHNDL,	0
007437  4775		JMS I SERRB	/**DEVICE HANDLER ERROR**+**
007440  0004		4
007441  1760		TAD I INFPTR
007442  0365		AND I7760	/GET LENGTH PART OF WORD
007443  7440		SZA		/LENGTH OF 0 MEANS LENGTH >=256

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 73


007444  1366		TAD I17		/ADD HIGH ORDER BITS
007445  7132		CLL CML RTR
007446  7012		RTR
007447  3201		DCA INCTR	/STORE LENGTH OF FILE
007450  2360		ISZ INFPTR
007451  1760		TAD I INFPTR
007452  3276		DCA INREC	/STORE STARTING RECORD NUMBER OF FILE
007453  2360		ISZ INFPTR
007454  3361		DCA INEOF	/ZERO END-OF-FILE FLAG
007455  1201	INGBUF,	TAD INCTR
007456  7100		CLL
007457  1367		TAD I2
007460  7420		SNL
007461  3201		DCA INCTR	/RESTORE INCTR IF IT HASN'T OVERFLOWED
007462  7430		SZL		/IS THIS THE LAST READ?
007463  2361		ISZ INEOF	/YES - SET END-OF-FILE FLAG
007464  7172		CLL CML CMA RTR	/CONSTRUCT A CONTROL WORD FOR THE READ
007465  7012		RTR		/FROM THE AMOUNT OF THE OVERFLOW
007466  7012		RTR		/(IF ANY) AND THE STANDARD CONTROL WORD
007467  1370		TAD I3
007470  3274		DCA INCTLW
007471  6203		CDF CIF 0
007472  6211		CDF 10
007473  4636		JMS I INHNDL	/CALL INPUT DEVICE HANDLER
007474  0000	INCTLW,	0		/CONTROL WORD
007475  4200	INBUFP,	INBUF		/INPUT BUFFER
007476  0000	INREC,	0		/NUMBER OF RECORDS
007477  5317		JMP INERRX	/SOME KIND OF HANDLER ERROR
007500  1276	INBREC,	TAD INREC
007501  1367		TAD I2
007502  3276		DCA INREC	/UPDATE THE RECORD NUMBER
007503  1274		TAD INCTLW
007504  0213		AND IN7600
007505  7104		CLL RAL
007506  1274		TAD INCTLW
007507  0213		AND IN7600
007510  7040		CMA
007511  3357		DCA INCHCT	/COMPUTE THE NEW CHARACTER COUNT
007512  1217		TAD INJMPP
007513  3324		DCA INJMP	/RESET THE CHARACTER SWITCH
007514  1275		TAD INBUFP
007515  3210		DCA INPTR	/AND THE WORD POINTER
007516  5214		JMP INCHAR	/GO BACK AND MAKE BELIEVE THIS NEVER HAPPENED
007517  2361	INERRX,	ISZ INEOF	/EITHER AN END-OF-FILE OR A ERROR
007520  7700		SMA CLA		/WHICH TYPE WAS IT?
007521  5300		JMP INBREC	/END OF FILE - RESUME PROCESSING
007522  7330	INERR,	CLA CLL CML RAR	/BAD - GIVE ERROR RETURN WITH NEGATIVE AC
007523  5355	EOFERR,	JMP INRTRN

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 74


007524  7402	INJMP,	HLT		/3 WAY CHARACTER SWITCH
007525  5346		JMP ICHAR1
007526  5342		JMP ICHAR2
007527  1217	ICHAR3,	TAD INJMPP
007530  3324		DCA INJMP
007531  1610		TAD I INPTR
007532  0200		AND IN7400
007533  7112		CLL RTR
007534  7012		RTR		/COMBINE THE HIGH-ORDER FOUR BITS OF
007535  1274		TAD INCTLW
007536  7012		RTR		/THE TWO WORD TO FORM THE THIRD CHARACTER
007537  7012		RTR
007540  2210		ISZ INPTR
007541  5347		JMP INCOMN
007542  1610	ICHAR2,	TAD I INPTR
007543  0200		AND IN7400
007544  3274		DCA INCTLW	/SAVE THE HIGH-ORDER BITS FOR THE THIRD CHAR
007545  2210		ISZ INPTR	/BUMP THE WORD POINTER
007546  1610	ICHAR1,	TAD I INPTR
007547  0371	INCOMN,	AND I377
007550  1372		TAD IM232
007551  7450		SNA		/IS THE CHARACTER A ^Z?
007552  5223		JMP INNEWF	/YES - GET A NEW FILE
007553  1373		TAD I232	/RESTORE THE CHARACTER
007554  2212		ISZ ICHAR	/BUMP RETURN TO NORMAL RETURN
007555  6203	INRTRN,	CDF CIF 0	/RESTORE CALLING FIELDS
007556  5612		JMP I ICHAR	/--RETURN--

007557  7777	INCHCT,	-1
007560  7617	INFPTR,	7617
007561  0001	INEOF,	1

	7401		INCTR=IOPEN
007562  7126	PINSET,	INSET
007563  7617	I7617,	7617
007564  3201	I1,	INDEVH+1
007565  7760	I7760,	7760
007566  0017	I17,	17
007567  0003	I2,	INRECS
007570  0601	I3,	INCTL+1
007571  0377	I377,	377
007572  7546	IM232,	-232
007573  0232	I232,	232
007574  7700	I7700,	7700
007575  6732	SERRB,	HGHERR

		$

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 75

ADD    0161      CNGE1  0427      DVHAND 6647      GLOM   0240
ADDR   1101      CNT    0112      ECHOSW 0114      GMIN   0227
ADDXYZ 1061      CNTR   2564      EKILLL 0133      GMOR   2253
AMODE  2235      CNTRI  2274      EKILSW 6752      GOOD   2542
AONE   0446      COLECT 2607      ELIM   0144      GRBAGE 0122
AONEI  1475      COMB   1321      END    0061      GTAG2  1377
APP    1231      COMBAK 2452      ENDA   2175      GTEM   0143
APPL   1305      COMBO  1310      ENDFIL 1461      GTOP   0224
APP1   0424      COMBOA 1311      ENDLN  1610      G2     0242
ARG0   0162      COMBOP 1473      ENDLNI 0105      HGHARG 6741
ARG1   0163      COMM5  0166      EOFERR 7523      HGHERR 6732
ARG2   0164      COM1   1330      EOL    0411      ICHAR  7412
ATSIGN 2561      COM5   1336      ERRARG 2734      ICHARI 2060
AXCOMB 0014      CON    1167      ERRD   2044      ICHAR1 7546
AXIN   0016      COPSQ  1657      ERRERR 2745      ICHAR2 7542
AXOUT  0013      CORSPC 1042      ERRLIS 2740      ICHAR3 7527
AXTEM  0015      COUNT  0327      ERROR  4143      IDVNO  2324
BARROW 2271      COUNTA 3026      ERSW   0131      IGNORE 0060
BCKSPC 3074      COUNTP 0111      ERWT   2071      IHPAGE 2323
BELL   0046      CRO    0050      ER1    2535      IM232  7572
BOX    0111      CTAB   0033      ESC    0032      INBREC 7500
BUFCNT 2566      CTCK   1632      ESCA   0503      INBUF  4200
BUFEND 0025      CTRLS  1701      ESCOUT 3056      INBUFP 7475
BUFR   0125      CTRLU  1476      EXLAS  0667      INCHAR 7414
BUFRD  2031      CTU    0044      EXNEX  0670      INCHCT 7557
BUFRDI 0135      CZ     0075      EXTR   0534      INCOMN 7547
BUFRD1 1741      CZONE  0147      FILLLP 7316      INCTL  0600
BUFRET 2151      C1     7160      FILOP  6660      INCTLW 7474
BUFRTN 2066      C100   0011      FIND   1015      INCTR  7401
BUFWT  2062      C17    6755      FIND1  1035      INDEV  7411
BUFWTI 0136      C2     7161      FIND2  1031      INDEVH 3200
CCON   0063      C200   0024      FINONE 2617      INEOF  7561
CCR    0034      C212   0047      FIN1   0066      INERR  7522
CDIF0  7165      C214   0045      FIRS   2716      INERRX 7517
CFRS   0126      C215   0034      FLCLI  2061      INFLD  0000
CGEPTR 2671      C240   0030      FLCLOS 2006      INFPTR 7560
CHAR   0110      C260   1100      FLCLSI 1474      INGBUF 7455
CHFND  2570      C277   0012      FLCLS1 2015      INHNDL 7436
CHIN   3132      C377   7162      FLOOZ  1057      INIT   3000
CHI1   0057      C7600  7170      FMATCH 2565      INJMP  7524
CHKAGA 1663      C77    0007      FORGET 2573      INJMPP 7417
CHKARG 0130      DBCV2  0231      FRST   0174      INLIST 0577
CHKARX 1501      DBLQUO 2275      FULL   0606      INNEWF 7423
CHN    6611      DCB    7760      FULMES 2164      INPTR  7410
CIFTEN 1710      DCBM1  7172      FXSTWD 1746      INREC  7476
CLERR  2025      DELE   1742      FXSWDI 2141      INRECS 0003
CLF    0047      DELP   0635      GARBAG 2600      INRTRN 7555
CLFLI  0137      DELP1  0646      GBGEND 2636      INS    0432
CLRCOP 1705      DELT   0056      GBG2   2626      INSET  7126
CLSMES 2757      DEST   1236      GETTAG 1371      INSTRT 7142
CLSREC 2122      DEVERR 2721      GET3   0547      IN7400 7400
CMCHK  0232      DEVMES 1765      GET4   0552      IN7600 7413
CMPT   0350      DMPO   7173      GET5   0561      IOPEN  7401
CNGE   1227      DTEM   0143      GEXP   0226      IOPENI 6750
CNGEL  1225      DUMB1  1341      GINDVH 6727      I1     7564

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 75-1

I17    7566      L200   6744      OHNDL  2150      OVRFLW 2134
I2     7567      L3     0747      OLDTE1 1606      O1     7362
I232   7573      L3I    0103      ONOFIL 7247      O100   7372
I3     7570      L7700  6757      ONTERR 7245      O17    7200
I33    1641      MARK   0123      ONUM   0076      O2     7364
I377   7571      MCHIN1 0054      OOPEN  7201      O200   7242
I7617  7563      MCR    0021      OOPENI 6751      O232   7367
I7700  7574      MONIT  1753      OORETN 7234      O3     7365
I7760  7565      MONITO 0152      OPNMES 2360      O4     7370
JERK   2243      MOR    0451      OPS1   1557      O5     7371
JERK1  2244      MORECS 2145      OPS1A  1605      O6     7374
JLSTN  6657      MORI   0616      OPS2   0365      O7     7375
JMPCH  0141      MOVE   1213      OREC   2147      O77    7373
JMPTE1 0151      MOVEM  1413      OSLST  2230      O7700  7363
JSBTM  7155      MOV1   0111      OTRTN  7122      O7760  7366
JSWSET 1752      MOV2   0170      OTYPE  7110      O8     7376
KEYBD  0062      MPARAM 7643      OUBLK  7223      PACBUF 0457
KILL   1544      MP1    0163      OUBUF  5600      PACK1  0100
KILL1  0127      MP2    0162      OUCCNT 7344      PANIC  6746
K1210  0171      MP3    0164      OUCOMN 7077      PANICC 7351
K1320  0173      MSCNT  2572      OUCRET 7100      PANICI 2143
K360   1102      MTABS  0055      OUCT   7167      PANICJ 7174
K5000  6760      M203   7164      OUCTL  5000      PANOPN 6665
K6215  2720      M240   0022      OUCTLW 7266      PARAM  6756
K63    2670      M27    0042      OUDEVH 3600      PAR200 7163
K6600  3025      M4     0017      OUDWCT 7106      PATCH  0330
K7400  7166      M41    0010      OUELEN 7224      PCK1   0507
K7600  0167      M77    0027      OUENTR 7220      PELIM  2161
K7620  6763      NEWOP  6636      OUERR  7276      PERI   1512
K7660  7361      NEXBUF 2227      OUFLD  0000      PIASGN 2300
LINPTR 2667      NEXTPT 2567      OUHNDL 7215      PIHND  2312
LIS    0070      NEXX   2553      OUJMP  7040      PIHNDL 2322
LIST   0677      NINE   0071      OUJMPE 7105      PINEOF 2325
LISTER 0704      NOCR   2503      OUNREC 7352      PINSET 7562
LISTGO 1457      NODUMP 7336      OUPOLD 7103      PIRETN 2321
LIST1  1343      NONE   0010      OUPTR  7104      PJSBTS 7156
LIST1A 1366      NOPAN  6705      OUREC  7270      PLASTN 7157
LIST2  0303      NOTSO  2526      OURECS 0004      POINT  2146
LIST3  0051      NUCHA  2544      OUSETP 7001      POTYPE 0165
LIST4  0032      NUCHAR 2550      OUSTPI 6761      PPTE1  2160
LIST5  0043      NUMB   0072      OUT    3027      PRERR  0142
LIST6  0044      NXTOP  6623      OUTCRL 3100      PRINT  2331
LIST7  0030      OCHAR  7015      OUTDEV 0121      PRNT   1051
LIS1   0067      OCHARI 2144      OUTDMP 7251      PSETUP 1342
LOOP   3006      OCHAR1 7075      OUTEMP 7102      PSTOP  7124
LOW    0074      OCHAR2 7072      OUTINH 7107      PTEMP  6764
LOWERR 6742      OCHAR3 7043      OUTL   1651      PTE1   2162
LPT    3144      OCISZ  7346      OUTLIS 1237      PUNC   1253
LSTCHK 0175      OCLOSE 7277      OUTL1  0074      PUNCH  1250
LSTN   0157      OCLSI  2163      OUTRT  3105      PUNCHQ 1247
L0     0717      OCNTI  2142      OUTTAB 3115      PUNCT  1256
L1     0723      OCRET  7347      OUTX   3047      P17    7171
L1I    0132      ODMP   6753      OUT1   0073      P177   0020
L2     0745      OEFAIL 7235      OU7600 7202      P210   1165
L2I    0104      OHANDL 6754      OU7601 7343      P232   0134

/OS/8 SYMBOLIC EDITOR, V50		  PAL8-V50X 18-JUN-87 PAGE 75-2

P337   0260      STFIN  2531      
P37    0140      STORE  2425      
P40    0023      STRFIN 0154      
P7600A 6631      STRIND 0153      
P7700  0026      STRTUP 6745      
P7726  1166      SXS1   0101      
Q      2000      SXS2   0102      
QUO1   2431      SZCL   6616      
QUO2   2430      TABIND 0116      
REDMES 1757      TAGLIS 1206      
RELCNT 2715      TCNT   0160      
RESET3 1707      TELE   1300      
RETRN  0261      TELEN  1300      
RLOOP  2414      TEMP   0117      
ROT    0522      TEMPO  0170      
RP1    1123      TERLIN 3066      
RP2    1130      TE1    0155      
RST3I  0053      THIS   0120      
RUB1   1103      THISX  0111      
RUB2   1156      THISX2 0143      
RUB3   1144      THOLE  6762      
RUB4   1153      THSN   0156      
SAVE   0115      TMP1   2562      
SBAR   1002      TMP2   2563      
SBUF   2571      TR1    0477      
SCONT  0771      TSTHOL 7261      
SERRA  7377      UPARO  3051      
SERRB  7575      UPK    2514      
SETJSB 7144      UPK1   2467      
SETJSI 6743      UTEST  0457      
SETUP  0617      UTRA   0531      
SEX    0362      UTR1   0065      
SFIND1 2400      VAL    0162      
SFIND2 2440      VERMES 2344      
SFOUND 1007      VERSIO 0062      
SGOT   1013      VERSN  2326      
SIGN   0003      VIEW   2703      
SLAS   1514      VV1    0005      
SLINE  0774      VV2    0062      
SLOOK  0764      WREK   2525      
SLST   2222      WRTMES 2351      
SORTB  0337      XCRET  1173      
SORTJ  0077      XCT    0112      
SPACES 1522      XCTIN  0113      
SPCGO  0107      XFFCTZ 2714      
SPCNO  0106      XNS    1230      
SPCP1  6747      XNSL   1226      
SPCP1A 1740      XNS1   0430      
SPLAT  1164      XSAV   0124      
SP2    1526      XYZTUV 3177      
SRCBUF 2176      X203   0172      
SRETN  0756      YANK   1306      
SRNLST 1452      
START  0203      
START1 6606      



ERRORS DETECTED: 0
LINKS GENERATED: 0