Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-04 - 43,50322/ucilsp.lst
Click 43,50322/ucilsp.lst to see without markup as text/plain
There are no other files named ucilsp.lst in the archive.
LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1
UCILSP	MAC	27-MAR-75 17:13		NOTES TO SYSTEM PROGRAMMERS		

     1						TITLE	LISP INTERPRETER	3A(1)-2
     2						SUBTTL	NOTES TO SYSTEM PROGRAMMERS		
     3
     4					;%%	VERSION DEFINITIONS:
     5
     6			000002			LSPWHO==2	;%% UCI 
     7			000003			LSPVER==3	;%% MAJOR VERSION
     8			000001			LSPMIN==1	;%% MINOR VERSION
     9			000001			LSPEDT==1	;%% EDIT LEVEL
    10
    11					;	ASSEMBLY SWITCHES OF INTEREST
    12					;
    13					;	SWITCH		EXPLANATION,  COMMENTS  ETC.
    14					;	ALTMOD		FOR ALTMODE CHARACTER. OLD WAS 175
    15					;			NOW IT'S 33 FOR 506
    16					;	QALLOW		ENABLES  ACCESS  TO QMANGR, ONLY  IF YOUR
    17					;			SYSTEM SUPPORTS QUEUE. SEVERAL SWITCHES 
    18					;			ASSOCIATED WITH  THE  CODE
    19					;	OLDNIL		OLD STANFORD NIL. CODE TO MAKE CAR AND CDR
    20					;			OF NIL INCOMPLETE AS OF 8/30/73
    21					;	NONUSE		OLD STANFORD VERSIONS  OF  MEMQ, AND  ETC.
    22					;			THAT  RETURNED  T OR NIL.
    23					;	REALLC		PROGRAM-CONTROLLED DYNAMIC REALLOCATION
    24					;			ROUTINE AND RELATED FUNCTIONS
    25					;	SYSPRG		PROJECT NUMBER IF NOT ON SYS:.
    26					;	SYSPN		PROGRAMMER NUMBER IF NOT ON SYS:
    27					;	SYSDEV		DEVICE LOCATION OF SYSTEM.
    28					;			NOTE THAT  THE ABOVE THREE ARE WHERE LISP
    29					;			EXPECTS  TO  FIND THE  LOADER,THE
    30					;			SYMBOL TABLE AND THE NORMAL HI-SEGMENT.
    31					;			THE FUNCTION (SETSYS ...) ONLY CHANGES THE
    32					;			EXPECTED LOCATION OF THE HI-SEG
    33					;%%	SYSNAM		NAME OF EXPECTED HIGH SEGMENT
    34					;%%			AND LISP LOADER AND SYMBOL TABLE
    35					;%%	INUMIN		LOWEST ADDRESS AVAILABLE FOR USE AS
    36					;%%			AN INUM
    37					;%%	BCKETS		NUMBER OF HASH BUCKETS
    38					;%%	SHRST		LOWEST ADDRESS IN HIGH SEGMENT
    39					;%%	SYSUNV		SEARCH SYSTEM UNIVERSAL LIBRARIES
    40
    41					;	**USE  FOLLOWING AT OWN  RISK**
    42
    43					;	HASH		NUMBER OF  HASH BUCKETS  WHEN STARTING
    44					;	ALVINE		STANFORD EDITOR (WHO WOULD WANT IT?)
    45					;			1 FOR ALVINE, 0 FOR NO ALVINE
    46					;	STPGAP		ANOTHER  STANFORD  EDITOR
    47
    48					;	COMMENTS:
    49					;
    50					;	THERE ARE BASICALLY TWO SETS OF COMMENTS IN THE CODE:
    51					;	THOSE IN LOWER CASE ARE ORIGINAL STANFORD COMMENTS; 
    52					;	THOSE OF A SEMI-COLON FOLLOWED BY TWO $'S,
    53					;	TWO #'S, OR TWO %'S ARE UCI ADDITIONS,
    54					;	CHANGES, OR ADDITIONAL COMMENTS
    55					;	($'S ARE USUALLY DARYLE LEWIS, 

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-1
UCILSP	MAC	27-MAR-75 17:13		NOTES TO SYSTEM PROGRAMMERS		

    56					;	#'S ARE GENERALLY JEFF JACOBS,
    57					;	AND %'S ARE GENERALLY BILL EARL).
    58
    59
    60						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-2
UCILSP	MAC	27-MAR-75 17:13		AC DEFINITIONS AND EXTERNALS 		

    61							SUBTTL AC DEFINITIONS AND EXTERNALS 		
    62
    63
    64						IFNDEF	SYSUNV,<SYSUNV==1>	;[1]
    65
    66					IFNDEF	SHRST		<SHRST==400000>	;[1]
    67
    68	400000'					TWOSEG	SHRST	;[1]
    69
    70					IFN SYSUNV,<	;[1]
    71						SEARCH	MACTEN
    72						SEARCH	UUOSYM		;[1]
    73
    74			000137		.JBVER==137		;%% SYSTEM VERSION LOCATION	;[1]
    75
    76	000137					LOC	.JBVER	;%% SET STANDARD SYSTEM VERSION	;[1]
    77						VRSN.	(LSP)^BYTE (3)LSPWHO (9)LSPVER (6)LSPMIN (18)LSPEDT^	;%% GENERATE VERSIO
    78	000137	2 003 01 000001 	N>	;[1]
    79
    80	400000'					RELOC	SHRST	;[1]
    81
    82			000001			OLDNIL==1		;## NOT COMPLETE
    83
    84					IFNDEF	NONUSE		<NONUSE==0>
    85					IFN	SHRST-400000	<QALLOW==0>
    86					IFNDEF	QALLOW		<QALLOW==1>
    87					IFNDEF	REALLC		<REALLC==0>	;%% NORMALLY OFF TO SAVE SPACE
    88										;%% CHANGE FOR EXTENDED SYSTEM
    89					;SYSPRG==667	;PPN OF LISP SYSTEM - SET TO 0 FOR SYS:
    90					;SYSPN==2	;SAME HERE
    91					IFNDEF SYSPRG,<SYSPRG==0
    92						       SYSPN==0>
    93					IFNDEF	SYSPN,<SYSPN==1>
    94					;ALVINE==1		;1 FOR ALVINE, 0 FOR NO ALVINE
    95					IFNDEF ALVINE,<ALVINE==0>
    96					;HASH==1		;1 FOR SETTING # OF HASH BUCKETS AT SYS. INIT. TIME
    97					IFNDEF HASH,<HASH==0>
    98					;STPGAP==1		;1 FOR STOPGAP, 0 TO DELETE IT
    99					IFNDEF STPGAP,<STPGAP==0>
   100					IF1,<PURGE CDR,DF>
   101					MLON
   102					IFNDEF	INUMIN, <INUMIN=SHRST-1> ;%% [1]
   103			577777		INUM0=777777-<<777777-INUMIN>/2> ;%% [1]
   104					IFNDEF BCKETS,<BCKETS==177>
   105					IFE SYSPRG,<
   106						IFNDEF	SYSDEV<DEFINE SYSDEV <SIXBIT /SYS/>>
   107							>
   108					IFN SYSPRG,<
   109						IFNDEF	SYSDEV<DEFINE SYSDEV <SIXBIT /DSK/>>
   110							>
   111					IFNDEF SYSNAM,<DEFINE SYSNAM <SIXBIT /LISP/>>
   112
   113					;accumulator definitions
   114					;`sacred' means sacred to the interpreter
   115					;`marked' means marked from by the garbage collector

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-3
UCILSP	MAC	27-MAR-75 17:13		AC DEFINITIONS AND EXTERNALS 		

   116					;`protected' means protected during garbage collection
   117
   118			000000		NIL=0	;sacred, marked, protected	;atom head of NIL
   119			000001		A=1	;marked, protected	;results of functions and first arg of subrs
   120			000002		B=A+1	;marked, protected	;second arg of subrs
   121			000003		C=B+1	;marked, protected	;third arg of subrs
   122			000004		AR1=4	;marked, protected	;fourth arg of subrs
   123			000005		AR2A=5	;marked, protected	;fifth arg of subrs
   124			000006		T=6	;marked, protected	;minus number of args in LSUBR call
   125			000007		TT=7	;marked, protected
   126			000010		REL=10	;marked, protected	
   127			000011		S=11		;$$NOW USED FOR ATOM RELOCATION AND GARBAGE COLLECTOR
   128			000012		D=12	
   129			000013		R=13	;protected
   130			000014		P=14	;sacred, protected	;regular push down stack pointer
   131			000015		F=15	;sacred	;free storage list pointer
   132			000016		FF=16	;sacred	;full word list pointer
   133			000017		SP=17	;sacred, protected	;special pushdown stack pointer
   134
   135			000005		NACS==5	;number of argument acs
   136
   137			000000		X==0	;X indicates impure (modified) code locations
   138			000012		TEN==^D10
   139
   140					;UUO definitions
   141					;UUOs used to call functions from compiled code
   142					;the number of arguments is given by the ac field 
   143					;the address is a pointer either to the function 
   144					;name or the code of the function
   145		034000	000000		OPDEF FCALL [34B8]	;ordinary function call-may be changed to PUSHJ
   146		035000	000000		OPDEF JCALL [35B8]	;terminal function call-may be changed to JRST
   147		036000	000000		OPDEF CALLF [36B8]	;like call but may not be changed to PUSHJ
   148		037000	000000		OPDEF JCALLF [37B8]	;like jcall but may not be changed to JRST
   149					;error UUOs 
   150
   151		001000	000000		OPDEF ERR1 [1B8]	;ordinary lisp error	;gives backtrace
   152		002000	000000		OPDEF ERR2 [2B8]	;space overflow error	;no backtrace
   153		003000	000000		OPDEF ERR3 [3B8]	;ill. mem. ref.
   154		004000	000000		OPDEF STRTIP [4B8]	;print error message and continue
   155					;system UUOs
   156
   157		051000	000000		OPDEF TTYUUO [51B8]
   158		051000	000000		OPDEF INCHRW [TTYUUO 0,]
   159		051040	000000		OPDEF OUTCHR [TTYUUO 1,]
   160		051140	000000		OPDEF OUTSTR [TTYUUO 3,]
   161		051200	000000		OPDEF INCHWL [TTYUUO 4,]
   162		051240	000000		OPDEF INCHSL [TTYUUO 5,]
   163		051440	000000		OPDEF CLRBFI [TTYUUO 11,]
   164		051540	000000		OPDEF SKPINC [TTYUUO 13,]
   165		051600	000000		OPDEF SKPINL	[TTCALL 14,]	;## BETTER FOR TALK THAN SKPINC
   166		260600	401140'		OPDEF TALK [PUSHJ P,TTYCLR]	;## TURN OF CONTROL O
   167
   168					;I/O bits and constants
   169			000105		TTYLL==105	;teletype linelength 
   170			000160		LPTLL==160	;line printer linelength

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-4
UCILSP	MAC	27-MAR-75 17:13		AC DEFINITIONS AND EXTERNALS 		

   171			000203		MLIOB==203	;max length of I/O buffer
   172			000002		NIOB==2	;no of I/O buffers per device
   173			000017		NIOCH==17	;number of I/O channels
   174			000001		FSTCH==1	;first I/O channel
   175			000000		TTCH==0		;teletype I/O channel
   176			000415		BLKSIZE==NIOB*MLIOB+COUNT+1
   177			000002		INB==2
   178			000001		OUTB==1
   179			000040		AVLB==40
   180			000004		DIRB==4
   181
   182					;channel data
   183			000000		CHNAM==0	;name of channel
   184			000001		CHDEV==1	;name of device
   185			000002		CHPPN==2	;ppn for input channel
   186			000003		CHOCH==3	;oldch for input channels
   187					IFN STPGAP,<
   188					CHPAGE==4	;page number for input
   189					CHLINE==5	;line number for input
   190					CHDAT==6	;device data
   191					POINTR==7	;byte pointer for device buffer
   192					COUNT==10	;character count for device buffer
   193					>
   194					IFE STPGAP,<
   195			000004		CHDAT==4
   196			000005		POINTR==5
   197			000006		COUNT==6
   198					>
   199			000002		CHLL==2		;linelength for output channel
   200			000003		CHHP==3		;hposit for output channels
   201
   202					;special ASCII characters
   203					IFNDEF ALTMOD,<ALTMOD==33>
   204			000040		SPACE==40	;space
   205			000031		IGCRLF==31	;ignored cr-lf
   206			000177		RUBOUT==177
   207			000012		LF==12
   208			000015		CR==15
   209			000011		TAB==11
   210			000007		BELL==7
   211			000042		DBLQT==42	;double quote "
   212
   213					;byte pointer field definitions
   214			000014		ACFLD==14	;ac field
   215			000021		XFLD==21	;index field
   216			000010		OPFLD==10	;opcode field
   217			000043		ADRFLD==43	;adress field
   218
   219					;external and internal symbols
   220
   221					EXTERNAL JOB41	;instruction to be executed on UUO
   222					EXTERNAL JOBAPR	;address of APR interupt routines
   223					EXTERNAL JOBCNI	;interupt condition flags
   224					EXTERNAL JOBFF	;first location beyond program
   225					EXTERNAL JOBREL	;address of last legal instruction in core image

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-5
UCILSP	MAC	27-MAR-75 17:13		AC DEFINITIONS AND EXTERNALS 		

   226					EXTERNAL JOBREN	;reentry address
   227					EXTERNAL JOBSA	;starting address
   228					EXTERNAL JOBSYM	;address of symbol table
   229					EXTERNAL JOBTPC	;program counter at time of interupt
   230					EXTERNAL JOBUUO	;uuo is put here with effective address computed
   231					EXTERNAL JOBOPC ;$$FOR NEW REENTER FEATURES
   232					EXTERNAL JOBHRL ;HIGH SEGMENT BOUNDARY
   233
   234
   235					;apr flags
   236			200000		PDOV==200000	;push down list overflow
   237			020000		MPV==20000	;memory protection violation
   238			010000		NXM==10000	;non-existant memory referenced
   239			230000		APRFLG==PDOV+MPV+NXM	;any of the above
   240
   241					;RE-ENTER CONTROL CHARACTERS
   242			000010		CNTLH==10
   243			000005		CNTLE==5
   244			000002		CNTLB==2
   245			000032		CNTLZ==32
   246			000007		CNTLG==7
   247			000022		CNTLR==22	;CH TO RESTORE SYSTEM OBLIST 3/28/73
   248
   249					;system uuos
   250			000016		APRINI==16
   251			000000		RESET==0
   252			000027		STIME==27
   253			000004		DEVCHR==4
   254			000012		EXIT==12
   255			000011		CORE==11
   256			000036		SETUWP==36
   257			000040		GETSEG==40
   258					;REMOTE MACRO
   259
   260						DEFINE REMOTE (TX)
   261					<	HERE1 <TX>>
   262
   263						DEFINE HERE1 (NEW,OLD,%G)
   264					<	DEFINE %G
   265					<	NEW>
   266						DEFINE REMOTE (TX)
   267					<	HERE1 <TX>,<OLD
   268					%G
   269					>>>
   270						DEFINE HERE
   271					<	DEFINE HERE1 (XX,YY)
   272					<	YY>
   273						REMOTE>
   274					SALL
   275						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-6
UCILSP	MAC	27-MAR-75 17:13		AC DEFINITIONS AND EXTERNALS 		

   276
   277							SUBTTL TOP LEVEL AND INITIALIZATION  
   278
   279					REMOTE<
   280					LISPGO:	SKIPE	GCFLG	;$$CHECK FO GARBAGE COLLECTION
   281						PUSHJ	P,GCING	;$$QUEUE THE REQUEST
   282						CAME	0,STNIL	;$$UNBIND STACK IF REGS LOOK OK
   283						JRST	GETHGH	;GO GET HIGH SEGMENT
   284						MOVE	B,SC2
   285						PUSHJ	P,UBD	;$$UNBIND STACK
   286						JRST STRT	;go to re-allocator
   287					GETHGH:	CALLI	RESET
   288						MOVSI	A,1
   289						CALLI	A,CORE		;ELIMINATE ANY OLD HIGH SEGS.
   290						HALT
   291						MOVEI	A,HGHDAT
   292						CALLI	A,GETSEG	;GET THE PROPER HIGH SEG
   293						HALT
   294						MOVEI	A,DEBUGO	;SET THE REE ADDRESS
   295						HRRM	A,JOBREN
   296						JRST	STRT		;GO TO ALLOCATE STORAGE
   297					HGHDAT:	SYSDEV
   298						SYSNAM
   299						0
   300						0
   301						XWD	SYSPRG,SYSPN
   302						0>
   303
   304
   305	400000'	476 00 0 00 000461'	DDT:	SETOM	ERINT	;$$SET CONTROL H WITHOUT GOING THRU REE
   306	400001'	254 00 1 00 000000*		JRST	@JOBOPC	;$$AND CONTINUE
   307
   308	400002'	332 00 0 00 000473'	DEBUGO:	SKIPE	GCFLG#	;CHECK GARBASE COLLECT.
   309	400003'	260 14 0 00 407142'		PUSHJ	P,GCING	;QUEUE INTERRUPT
   310	400004'	051 00 0 00 000000 		INCHRW	0	;READ THE CONTROL CHARACTER
   311	400005'	306 00 0 00 000022 		CAIN	0,CNTLR
   312								; RESTORES SYSTEM OBLIST
   313						JRST	[HRRI	0,OBTBL(S)
   314							 HRRM	0,VOBLIST(S)
   315	400006'	254 00 0 00 411071'			 JRST	DEBUGO+2]
   316								; AND TRIES FOR ANOTHER CONTROL CHARACTER
   317	400007'	306 00 0 00 000010 		CAIN	0,CNTLH
   318						JRST   [MOVE 0,STNIL
   319	400010'	254 00 0 00 411074'			JRST DDT]
   320	400011'	306 00 0 00 000005 		CAIN	0,CNTLE
   321						JRST   [MOVE 0,STNIL
   322							MOVEI 1,NIL
   323	400012'	254 00 0 00 411076'			JRST ERR]
   324	400013'	306 00 0 00 000002 		CAIN	0,CNTLB
   325						JRST   [MOVE 0,STNIL
   326							SETOM ERINT
   327							PUSHJ P,SPDLPT
   328							PUSHJ P,SPREDO
   329	400014'	254 00 0 00 411101'			JRST LSPRET]
   330	400015'	306 00 0 00 000032 		CAIN	0,CNTLZ

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-7
UCILSP	MAC	27-MAR-75 17:13		TOP LEVEL AND INITIALIZATION  

   331						JRST   [MOVE 0,STNIL
   332	400016'	254 00 0 00 411106'			JRST LSPRET]
   333	400017'	306 00 0 00 000007 		CAIN	0,CNTLG
   334						JRST   [MOVE 0,STNIL
   335	400020'	254 00 0 00 411110'			JRST RERX]
   336	400021'	254 00 0 00 400004'		JRST	DEBUGO+2	;NOT A CONTROL CHARACTER
   337									;MUST BE SOMETHING IN THE BUFFER SO TRY AGAIN
   338
   339	400022'	047 00 0 00 000000 	START:	CALLI RESET	;random initializations for lisp interupts
   340	400023'	200 00 0 00 411112'		MOVE [JSR UUOH]
   341	400024'	202 00 0 00 000000*		MOVEM JOB41
   342	400025'	201 00 0 00 400151'		MOVEI APRINT
   343	400026'	202 00 0 00 000000*		MOVEM JOBAPR
   344	400027'	201 00 0 00 230000 		MOVEI APRFLG
   345	400030'	047 00 0 00 000016 		CALLI APRINI
   346	400031'	402 00 0 00 000473'		SETZM GCFLG
   347	400032'	551 17 0 00 000001 		HRRZI 17,1
   348						IFN ALVINE,<SETZB 0,PSAV1>
   349	400033'	400 00 0 00 000000 		IFE ALVINE,<SETZ 0,>
   350	400034'	251 17 0 00 000017 		BLT 17,17	;clear acs 
   351	400035'	200 11 0 00 000441'		MOVE S,ATMOV	;$$SET UP RELOCATION FOR INTERNAL ATOMS (FOOLIST)
   352	400036'	402 00 0 11 003725'	LSPRT1:	SETZM	BIOCHN(S)	;$$CLEAR VARS FOR BREAK PACKAGE
   353	400037'	402 00 0 11 003726'		SETZM	BPMPT(S)	;$$(#%IOCHNAS%#, #%PROMPTS%#, AND #%INDENT)
   354	400040'	201 01 0 00 577777 		MOVEI	A,INUM0
   355	400041'	202 01 0 11 003727'		MOVEM	A,BINDNT(S)
   356	400042'	402 00 0 00 000461'		SETZM	ERINT#	;$$TURN OFF INTERRUPT FLAG
   357	400043'	476 00 0 00 000033'		SETOM ERRSW	;print error messages
   358	400044'	402 00 0 00 000463'		CLEARM ERRTN#	;return to top level on errors
   359	400045'	476 00 0 00 000546'		SETOM PRVCNT#	;initialize counter for errio
   360	400046'	200 14 0 00 000450'		MOVE P,C2#	;initial reg pdl ptr
   361	400047'	200 17 0 00 000562'		MOVE SP,SC2#	;initial spec pdl ptr
   362
   363
   364	400050'	200 01 0 00 000522'		MOVE A,LSPRMP#	;$$INITIALIZE TO TOP LEVEL PROMPT
   365								;$$CAN BE CHANGED BY INITPROMPT
   366	400051'	260 14 0 00 401051'		PUSHJ P,PROMPT	;$$
   367
   368	400052'	402 00 0 00 000566'		SETZM	SMAC	;$$CLEAR SPLICE LIST (JUST IN CASE)
   369	400053'	200 11 0 00 000441'		MOVE S,ATMOV	;$$SET UP RELOCATION FOR INTERNAL ATOMS (FOOLIST)
   370	400054'	260 14 0 00 401136'		PUSHJ P,TTYRET	;(outc nil t)(inc nil t)return output for gc message
   371	400055'	561 00 0 11 002622'	IFN OLDNIL	<HRROI	0,CNIL2(S)>	;INITIALIZE  NIL
   372					IFE OLDNIL	<SETZ	0,	>
   373	400056'	202 00 0 00 000573'		MOVEM 0,STNIL#		;$$SAVE FOR REG CHECK AT START TIME
   374	400057'	201 01 0 11 002622'		MOVEI	A,CNIL2(S)	;## GET PROP  LIST  OF NIL
   375	400060'	202 01 0 00 000527'		MOVEM	A,NILPRP#	;##  AND SAVE IT FOR  GET ETC.
   376
   377					IFN HASH,<
   378						SKIPE HASHFG#
   379						JRST REHASH	;rehash if necessary>
   380
   381	400061'	336 00 0 00 000015 		SKIPN F	
   382	400062'	260 14 0 00 406667'		PUSHJ P,AGC	;garbage collect only if necessary
   383	400063'	336 00 0 00 000446'		SKIPN BSFLG#	;initial bootstrap for macros
   384	400064'	254 00 0 00 400116'		JRST BOOTS
   385	400065'	332 01 0 00 000511'		SKIPE A,INITF

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-8
UCILSP	MAC	27-MAR-75 17:13		TOP LEVEL AND INITIALIZATION  

   386	400066'	036 00 0 01 000000 		CALLF (A)	;evaluate initialization function
   387	400067'	260 14 0 00 401136'		PUSHJ P,TTYRET		;return all i/o to tty
   388	400070'	260 14 0 00 402501'		PUSHJ P,TERPRI
   389	400071'	332 00 0 00 000502'		SKIPE GOBF#	;garbaged oblist flag
   390	400072'	004 00 0 00 411113'		STRTIP [SIXBIT /GARBAGED OBLIST_!/]
   391	400073'	402 00 0 00 000502'		SETZM GOBF
   392	400074'	332 00 0 00 000445'		SKIPE BPSFLG#
   393	400075'	254 00 0 00 400171'		JRST BINER2	;binary program space exceeded by loader
   394	400076'	200 11 0 00 000441'	LISP1:	MOVE S,ATMOV#	;$$MAKE SURE REL STAYS
   395									;$$SET UP - BELT AND SUSPENDERS TECHNIQUE
   396	400077'	260 14 0 00 402651'		PUSHJ P,READ	;this is the top level of lisp
   397	400100'	260 14 0 00 405505'		PUSHJ P,EVAL
   398	400101'	260 14 0 00 402327'		PUSHJ P,PRINT
   399	400102'	260 14 0 00 402501'		PUSHJ P,TERPRI
   400	400103'	254 00 0 00 400076'		JRST LISP1
   401
   402	400104'	250 01 0 00 000512'	INITFL:	EXCH	A,INITF1#	;## NEW INIT FILE LIST
   403	400105'	263 14 0 00 000000 		POPJ	P,		;## RETURN THE OLD ONE
   404
   405	400106'	250 01 0 00 000511'	INITFN:	EXCH A,INITF#
   406	400107'	263 14 0 00 000000 		POPJ P,
   407
   408					;return from lisp error
   409	400110'	260 14 0 00 402501'	LSPRET:	PUSHJ P,TERPRI
   410	400111'	200 02 0 00 000562'		MOVE B,SC2	;RETURN FROM BELL
   411	400112'	260 14 0 00 406226'		PUSHJ P,UBD	;unbind specpdl
   412	400113'	254 00 0 00 400036'		JRST LSPRT1
   413
   414	400114'	250 01 0 00 000554'	.RSET:	EXCH A,RSTSW#
   415	400115'	263 14 0 00 000000 		POPJ P,
   416
   417					COMMENT %
   418						;## OLD BOOTSTRAP CODE FOR INIT FILE, REPLACED BELOW
   419					;BOOTSTRAPPER FOR USER'S INIT FILE
   420					BOOTS:	SETOM BSFLG
   421						MOVE A,[POINT 7,[ASCII /(ERRSET[INC(INPUT DSK:(INIT.LSP]NIL)[(EVAL(READ]/]]
   422						MOVEM A,BOOPT#
   423						MOVEI A,BSTYI
   424						PUSHJ P,READP1
   425						PUSHJ P,EVAL
   426						JUMPE A,BOOTOT
   427						MOVEI A,BSTYI
   428						PUSHJ P,READP1
   429						PUSH P,A
   430						MOVE A,(P)
   431						PUSHJ P,ERRSET
   432						CAIE A,$EOF$(S)
   433						JRST .-3
   434					BOOTOT:	PUSHJ P,EXCISE
   435						JRST ERR
   436
   437					BSTYI:	ILDB A,BOOPT
   438						POPJ P,
   439						%
   440

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-9
UCILSP	MAC	27-MAR-75 17:13		TOP LEVEL AND INITIALIZATION  

   441						;## NEW IMPROVED BOOTSTRAPPER FOR USER'S INITFILE(S)
   442						;## ALLOWS MORE THAN ONE FILE. FIRST FILE IS READ IN
   443						;## OR IF NOT FOUND BEHAVES AS BEFORE (I.E. NO ERROR MESSAGE)
   444						;## REMAINING FILES WILL CAUSE AN ERROR MESSAGE IF NOT FOUND.
   445						;## THUS IF THE USER IS USING THIS TO REALLY SET UP HIS OWN
   446						;## SYSTEM, HE WILL KNOW ABOUT A FAILURE, BUT THE FIRST
   447						;## FILES EXISTENCE IS STILL OPTIONAL
   448
   449	400116'	476 00 0 00 000446'	BOOTS:	SETOM	BSFLG#		;## INDICATE BOOTSTRAP DONE
   450	400117'	336 06 0 00 000512'		SKIPN	T,INITF1#	;## GET INIT FILE LIST IF IT EXISTS
   451	400120'	254 00 0 00 400147'		JRST	BOOTOT		;## NOPE, EXCISE AND RETURN
   452	400121'	201 01 0 11 002613'		MOVEI	A,TRUTH(S)	;## USE CHANNEL T
   453	400122'	260 14 0 00 401337'		PUSHJ	P,INPUT2	;## SET UP
   454	400123'	260 14 0 00 000110'		PUSHJ	P,ININIT	;## LOOK UP
   455	400124'	326 01 0 00 400131'		JUMPN	A,BOOTOK	;## IT'S THERE, GO TO IT
   456	400125'	322 06 0 00 400147'		JUMPE	T,BOOTOT	;## NOT THERE AND NO OTHERS REQUESTED
   457	400126'	260 14 0 00 401470'		PUSHJ	P,SETINA	;## SET UP FOR THE REST
   458	400127'	260 14 0 00 000110'		PUSHJ	P,ININIT	;## LOOK UP (SECOND FILE IN LIST)
   459	400130'	322 01 0 00 401726'		JUMPE	A,AIN.7		;## NOT THERE, ERROR MESSAGE
   460	400131'	201 01 0 11 002613'	BOOTOK:	MOVEI	A,TRUTH(S)	;##(INC T NIL)
   461	400132'	400 02 0 00 000000 		SETZ	B,
   462	400133'	260 14 0 00 401611'		PUSHJ	P,INC		;## SELECT
   463	400134'	201 01 0 11 002555'		MOVEI	A,READAT(S)	;## SET UP [(EVAL (READ))]
   464	400135'	260 14 0 00 403657'		PUSHJ	P,NCONS		;## (READ)
   465	400136'	260 14 0 00 403657'		PUSHJ	P,NCONS		;## ((READ))
   466	400137'	201 02 0 11 002563'		MOVEI	B,EVALAT(S)
   467	400140'	260 14 0 00 403660'		PUSHJ	P,XCONS		;##(EVAL(READ))
   468	400141'	260 14 0 00 403657'		PUSHJ	P,NCONS		;## [(EVAL(READ))]
   469	400142'	261 14 0 00 000001 		PUSH	P,A
   470	400143'	200 01 0 14 000000 		MOVE	A,(P)
   471	400144'	260 14 0 00 400657'		PUSHJ	P,ERRSET	;## AN EVAL-READ LOOP. PROTECTED AGAINST
   472	400145'	302 01 0 11 004004'		CAIE	A,$EOF$(S)	;## ALL ERRS EXCEPT $EOF$ AND ERRORX
   473	400146'	254 00 0 00 400143'		JRST	.-3		;## LOOP
   474	400147'	260 14 0 00 410041'	BOOTOT:	PUSHJ	P,EXCISE
   475	400150'	254 00 0 00 400636'		JRST	ERR
   476						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-10
UCILSP	MAC	27-MAR-75 17:13		APR INTERRUPT ROUTINES 

   477						SUBTTL APR INTERRUPT ROUTINES 
   478					;arithmetic processor interupts
   479					;mem. protect. violation, nonex. mem. or pdl overflow
   480
   481	400151'	200 13 0 00 000000*	APRINT:	MOVE R,JOBCNI	;get interupt bits
   482	400152'	602 13 0 00 030000 		TRNE R,MPV+NXM	;what kind
   483	400153'	003 00 1 00 000000*		ERR3 @JOBTPC	;an ill mem ref-will become JRST ILLMEM
   484	400154'	326 00 0 00 400157'		JUMPN NIL,MES21	;a pdl overflow
   485	400155'	004 00 0 00 411116'		STRTIP [SIXBIT /_PDL OVERFLOW FROM GC - CAN'T CONTINUE!/]
   486	400156'	254 00 0 00 400022'		JRST START
   487
   488	400157'	402 00 0 00 000000*	MES21:	SETZM JOBUUO
   489	400160'	331 00 0 00 000014 		SKIPL P
   490	400161'	004 00 0 00 411125'		STRTIP [SIXBIT /_REG !/]
   491	400162'	331 00 0 00 000017 		SKIPL SP
   492	400163'	004 00 0 00 411126'		STRTIP [SIXBIT /_SPEC !/]
   493	400164'	332 00 0 00 400157*		SKIPE JOBUUO
   494	400165'	002 00 0 00 411130'	SPDLOV:	ERR2 [SIXBIT /PUSHDOWN CAPACITY EXCEEDED !/]
   495	400166'	602 13 0 00 200000 		TRNE R,PDOV
   496	400167'	332 00 0 00 400164*		SKIPE JOBUUO
   497	400170'	254 04 0 00 000000 		HALT		;lisp should not be here
   498	400171'	402 00 0 00 000445'	BINER2:	SETZM BPSFLG
   499	400172'	002 00 0 00 411135'		ERR2 [SIXBIT /BINARY PROGRAM SPACE EXCEEDED !/]
   500
   501	400173'	135 13 0 00 411143'	ILLMEM:	LDB R,[POINT 4,@JOBTPC,XFLD]	;get index field of bad word
   502	400174'	302 13 0 00 000015 		CAIE R,F	;does  it contain f
   503	400175'	003 00 1 00 400153*		ERR3 @JOBTPC	;no! error
   504	400176'	260 14 0 00 406667'		PUSHJ P,AGC	;yes! garbage collect
   505	400177'	254 00 1 00 400175*		JRST @JOBTPC	;and continue
   506						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-11
UCILSP	MAC	27-MAR-75 17:13		UUO HANDLER AND SUBR CALL ROUTINES 

   507						SUBTTL UUO HANDLER AND SUBR CALL ROUTINES 
   508
   509			000001		UUOMIN==1
   510			000004		UUOMAX==4
   511
   512					REMOTE<UUOH:	X		;jsr location
   513							JRST	UUOH2>
   514	400200'	202 06 0 00 000577'	UUOH2:	MOVEM T,TSV#
   515	400201'	202 07 0 00 000600'		MOVEM TT,TTSV#
   516	400202'	135 06 0 00 411144'			LDB T,[POINT 9,JOBUUO,OPFLD]	;get opcode
   517	400203'	305 06 0 00 000034 		CAIGE T,34	;is it a function call
   518	400204'	254 00 0 00 400537'		JRST ERROR	;or a LISP error
   519	400205'	574 13 1 00 400167*		HLRE R,@JOBUUO
   520	400206'	346 13 0 00 400264'		AOJN R,UUOS
   521	400207'	135 06 0 00 411145'		LDB T,[POINT 4,JOBUUO,ACFLD]
   522	400210'	303 06 0 00 000015 		CAILE T,15
   523	400211'	201 13 0 06 777763 		MOVEI R,-15(T)
   524	400212'	550 06 1 00 400205*			HRRZ T,@JOBUUO
   525	400213'	554 07 0 06 000000 	UUOH1:	HLRZ TT,(T)
   526	400214'	550 06 0 06 000000 		HRRZ T,(T)
   527	400215'	306 07 0 11 003760'		CAIN TT,SUBR(S)
   528	400216'	254 00 1 13 400345'		JRST @UUST(R)
   529	400217'	306 07 0 11 003764'		CAIN TT,FSUBR(S)
   530	400220'	254 00 1 13 400350'		JRST @UUFST(R)
   531	400221'	306 07 0 11 004020'		CAIN TT,LSUBR(S)
   532	400222'	254 00 1 13 400353'		JRST @UULT(R)
   533	400223'	306 07 0 11 003770'		CAIN TT,EXPR(S)
   534	400224'	254 00 1 13 400356'		JRST @UUET(R)
   535	400225'	306 07 0 11 003774'		CAIN TT,FEXPR(S)
   536	400226'	254 00 1 13 400361'		JRST @UUFET(R)
   537	400227'	550 06 0 06 000000 		HRRZ T,(T)
   538	400230'	326 06 0 00 400213'		JUMPN T,UUOH1
   539	400231'	261 14 0 00 000001 		PUSH P,A
   540	400232'	261 14 0 00 000002 		PUSH P,B
   541	400233'	550 01 0 00 400212*		HRRZ A,JOBUUO
   542	400234'	201 02 0 11 003750'		MOVEI B,VALUE(S)
   543	400235'	260 14 0 00 404037'		PUSHJ P,GET
   544						JUMPN A,[	HRRZ TT,(A)
   545								POP P,B
   546								POP P,A
   547	400236'	326 01 0 00 411146'				JRST UUOEX1]
   548	400237'	550 01 0 00 400233*		HRRZ A,JOBUUO
   549	400240'	260 14 0 00 402322'		PUSHJ P,EPRINT
   550	400241'	001 00 0 00 411152'		ERR1 [SIXBIT /UNDEFINED UUO!/]
   551	400242'	334 06 0 00 000007 		SKIPA T,TT
   552	400243'	554 06 0 06 000000 	UUOSBR:	HLRZ T,(T)
   553	400244'	200 07 0 00 400237*		MOVE TT,JOBUUO
   554	400245'	505 06 0 00 260600 		HRLI T,(PUSHJ P,)
   555	400246'	603 07 0 00 001000 		TLNE TT,1000	;1000 means no push
   556	400247'	645 06 0 00 034600 		TLCA T,34600	;<PUSHJ P,>xor<JRST>
   557	400250'	261 14 0 00 000027'		PUSH P,UUOH
   558	400251'	370 00 0 00 000027'		SOS UUOH
   559	400252'	550 12 0 00 000027'		HRRZ	D,UUOH
   560	400253'	307 12 0 00 400000 		CAIG	D,SHRST
   561	400254'	254 00 0 00 400257'		JRST	.+3

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-12
UCILSP	MAC	27-MAR-75 17:13		UUO HANDLER AND SUBR CALL ROUTINES 

   562	400255'	332 00 0 00 000433'		SKIPE	WRTSTS
   563	400256'	254 00 0 00 400261'		JRST	.+3
   564					REMOTE<UUOCL:	TLNN TT,2000>	;2000 means no clobber
   565	400257'	256 00 0 00 000031'		XCT	UUOCL
   566	400260'	202 06 1 00 000027'		MOVEM T,@UUOH
   567	400261'	200 07 0 00 000600'		MOVE TT,TTSV
   568	400262'	250 06 0 00 000577'		EXCH T,TSV
   569	400263'	254 00 1 00 000577'		JRST @TSV
   570
   571	400264'	550 07 0 00 400244*	UUOS:	HRRZ TT,JOBUUO
   572	400265'	303 07 1 00 000376'		CAILE TT,@GCPP1
   573	400266'	301 07 1 00 000476'		CAIL TT,@GCP1
   574	400267'	254 00 0 00 400242'		JRST UUOSBR-1
   575	400270'	254 00 0 00 400272'		JRST .+2
   576	400271'	554 07 0 06 000000 	UUOEXP:	HLRZ TT,(T)
   577	400272'	135 06 0 00 411155'	UUOEX1:	LDB T,[POINT 5,JOBUUO,ACFLD]
   578	400273'	626 06 0 00 000020 		TRZN T,20
   579	400274'	261 14 0 00 000027'		PUSH P,UUOH
   580	400275'	261 14 0 00 000007 		PUSH P,TT
   581	400276'	322 06 0 00 406001'		JUMPE T,IAPPLY
   582	400277'	306 06 0 00 000017 		CAIN T,17
   583	400300'	201 06 0 00 000001 		MOVEI T,1
   584	400301'	213 00 0 00 000006 		MOVNS T
   585	400302'	514 07 0 00 000006 		HRLZ TT,T
   586	400303'	261 14 0 07 000001 		PUSH P,A(TT)
   587	400304'	253 07 0 00 400303'		AOBJN TT,.-1
   588	400305'	254 00 0 00 406001'		JRST IAPPLY
   589					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-13
UCILSP	MAC	27-MAR-75 17:13		UUO HANDLER AND SUBR CALL ROUTINES 

   590	400306'	135 06 0 00 411145'	ARGPDL:	LDB T,[POINT 4,JOBUUO,ACFLD]
   591	400307'	213 00 0 00 000006 		MOVNS T
   592	400310'	514 13 0 00 000006 		HRLZ R,T
   593	400311'	322 13 0 07 000000 	ARGP1:	JUMPE R,(TT)
   594	400312'	261 14 0 13 000001 		PUSH P,A(R)
   595	400313'	253 13 0 00 400312'		AOBJN R,.-1
   596	400314'	254 00 0 07 000000 		JRST (TT)
   597
   598	400315'	260 14 0 00 403657'	QTIFY:	PUSHJ P,NCONS
   599	400316'	201 02 0 11 002577'		MOVEI B,CQUOTE(S)
   600	400317'	254 00 0 00 403660'		JRST XCONS
   601
   602	400320'	201 01 0 00 000000 	QTLFY:	MOVEI A,0
   603	400321'	322 06 0 07 000000 	QTLFY1:	JUMPE T,(TT)
   604	400322'	250 01 0 14 000000 		EXCH A,(P)
   605	400323'	260 14 0 00 400315'		PUSHJ P,QTIFY
   606	400324'	262 14 0 00 000002 		POP P,B
   607	400325'	260 14 0 00 403661'		PUSHJ P,CONS
   608	400326'	344 06 0 00 400321'		AOJA T,QTLFY1
   609
   610	400327'	254 00 0 06 400336'	PDLARG:	JRST .+NACS+2(T)
   611	400330'	262 14 0 00 000006 		POP P,A+5
   612	400331'	262 14 0 00 000005 		POP P,A+4
   613	400332'	262 14 0 00 000004 		POP P,A+3
   614	400333'	262 14 0 00 000003 		POP P,A+2
   615	400334'	262 14 0 00 000002 		POP P,A+1
   616	400335'	262 14 0 00 000001 		POP P,A
   617	400336'	254 00 0 07 000000 		JRST (TT)
   618
   619	400337'	205 02 0 00 607340 	NOUUO:	MOVSI B,(TLNN TT,)
   620	400340'	332 00 0 00 000001 		SKIPE A
   621	400341'	205 02 0 00 605000 		MOVSI B,(TLNA)
   622	400342'	502 02 0 00 000031'		HLLM B,UUOCL
   623	400343'	250 01 0 00 000532'		EXCH A,NOUUOF#
   624	400344'	263 14 0 00 000000 		POPJ P,
   625					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-14
UCILSP	MAC	27-MAR-75 17:13		UUO HANDLER AND SUBR CALL ROUTINES 

   626					;r=0 => compiler calling a -
   627					;r=1 => compiler calling a lsubr
   628					;r=2 => compiler calling f type
   629	400345'	000000	400243'		UUST:	UUOSBR
   630	400346'	000000	400364'			UUOS1	;calling l its a subr
   631	400347'	000000	405706'			UUOS2	;calling f
   632
   633
   634	400350'	000000	400432'		UUFST:	UUOS9	;calling - its a f
   635	400351'	000000	400441'			UUOS10	;calling l
   636	400352'	000000	400243'			UUOSBR
   637
   638	400353'	000000	400423'		UULT:	UUOS7	;calling - its a l
   639	400354'	000000	400243'			UUOSBR
   640	400355'	000000	400422'			UUOS8
   641
   642	400356'	000000	400271'		UUET:	UUOEXP
   643	400357'	000000	400403'			UUOS5	;calling l its an expr
   644	400360'	000000	400412'			UUOS6	;calling f its an expr
   645
   646	400361'	000000	400370'		UUFET:	UUOS3	;calling - its a fexpr
   647	400362'	000000	400400'			UUOS4	;calling l
   648	400363'	000000	400271'			UUOEXP	
   649
   650	400364'	554 13 0 06 000000 	UUOS1:	HLRZ R,(T)
   651	400365'	200 06 0 00 000577'		MOVE T,TSV
   652	400366'	265 07 0 00 400327'		JSP TT,PDLARG
   653	400367'	254 00 0 13 000000 		JRST (R)
   654
   655	400370'	261 14 0 06 000000 	UUOS3:	PUSH P,(T)
   656	400371'	265 07 0 00 400306'		JSP TT,ARGPDL
   657	400372'	265 07 0 00 400320'	UUOS4A:	JSP TT,QTLFY
   658	400373'	201 07 0 00 000001 		MOVEI TT,1
   659	400374'	137 07 0 00 411145'		DPB TT,[POINT 4,JOBUUO,ACFLD]
   660	400375'	262 14 0 00 000007 	UUOS6A:	POP P,TT
   661	400376'	557 00 0 00 000007 			HLRZS TT
   662	400377'	254 00 0 00 400272'		JRST UUOEX1
   663
   664	400400'	261 14 0 06 000000 	UUOS4:	PUSH P,(T)
   665	400401'	200 06 0 00 000577'		MOVE T,TSV
   666	400402'	254 00 0 00 400372'		JRST UUOS4A
   667					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-15
UCILSP	MAC	27-MAR-75 17:13		UUO HANDLER AND SUBR CALL ROUTINES 

   668	400403'	554 13 0 06 000000 	UUOS5:	HLRZ R,(T)
   669	400404'	200 06 0 00 000577'		MOVE T,TSV
   670	400405'	265 07 0 00 400327'		JSP TT,PDLARG
   671	400406'	213 00 0 00 000006 		MOVNS T
   672	400407'	137 06 0 00 411145'		DPB T,[POINT 4,JOBUUO,ACFLD]
   673	400410'	200 07 0 00 000013 		MOVE TT,R
   674	400411'	254 00 0 00 400272'		JRST UUOEX1
   675
   676	400412'	261 14 0 06 000000 	UUOS6:	PUSH P,(T)
   677	400413'	261 14 0 00 000027'		PUSH P,UUOH
   678	400414'	261 14 0 00 400264*		PUSH P,JOBUUO
   679	400415'	265 07 0 00 404435'		JSP TT,ILIST
   680	400416'	265 07 0 00 400327'		JSP TT,PDLARG
   681	400417'	262 14 0 00 400414*		POP P,JOBUUO
   682	400420'	262 14 0 00 000027'		POP P,UUOH
   683	400421'	254 00 0 00 400375'		JRST UUOS6A
   684	400422'	334 07 0 00 405700'	UUOS8:	SKIPA TT,CILIST
   685	400423'	201 07 0 00 400306'	UUOS7:	MOVEI TT,ARGPDL
   686	400424'	542 07 0 00 000032'		HRRM TT,UUOS7A
   687	400425'	200 07 0 00 400417*		MOVE TT,JOBUUO
   688	400426'	607 07 0 00 001000 		TLNN TT,1000
   689	400427'	261 14 0 00 000027'		PUSH P,UUOH
   690	400430'	554 07 0 06 000000 		HLRZ TT,(T)
   691	400431'	254 00 1 00 000032'		JRST	@UUOS7A	;OR ILIST
   692					REMOTE<UUOS7A:	ARGPDL>
   693
   694	400432'	261 14 0 00 000006 	UUOS9:	PUSH P,T
   695	400433'	265 07 0 00 400306'		JSP TT,ARGPDL
   696	400434'	265 07 0 00 400320'	UUS10A:	JSP TT,QTLFY
   697	400435'	205 06 0 00 002000 		MOVSI T,2000
   698	400436'	436 06 0 00 400425*		IORM T,JOBUUO
   699	400437'	262 14 0 00 000006 		POP P,T
   700	400440'	254 00 0 00 400243'		JRST UUOSBR
   701
   702	400441'	261 14 0 00 000006 	UUOS10:	PUSH P,T
   703	400442'	200 06 0 00 000577'		MOVE T,TSV
   704	400443'	254 00 0 00 400434'		JRST UUS10A
   705
   706						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-16
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

   707						SUBTTL ERROR HANDLER AND BACKTRACE 
   708					;subroutine to print sixbit error message
   709	400444'	205 01 0 00 440600 	ERRSUB:	MOVSI A,(POINT 6,0)
   710	400445'	540 01 0 00 400436*		HRR A,JOBUUO
   711	400446'	202 01 0 00 000462'		MOVEM A,ERRPTR#
   712	400447'	134 01 0 00 000462'	ERRORB:	ILDB A,ERRPTR
   713	400450'	306 01 0 00 000001 		CAIN A,01	;conversion from sixbit
   714	400451'	263 14 0 00 000000 		POPJ P,
   715	400452'	306 01 0 00 000077 		CAIN A,77
   716						JRST [	PUSHJ P,TERPRI
   717	400453'	254 00 0 00 411156'			JRST ERRORB]
   718	400454'	271 01 0 00 000040 		ADDI A,40
   719	400455'	260 14 0 00 401074'		PUSHJ P,TYO
   720	400456'	254 00 0 00 400447'		JRST ERRORB
   721
   722					;subroutine to return output to previously selected device
   723	400457'	331 00 0 00 000546'	OUTRET:	SKIPL PRVCNT	;if prvcnt<0 then there was no device deselect
   724	400460'	371 00 0 00 000546'		SOSL PRVCNT	;when prvcnt goes negative, then reselect
   725	400461'	263 14 0 00 000000 		POPJ P,
   726	400462'	261 14 0 00 000547'		PUSH P,PRVSEL#		;previously selected output
   727	400463'	262 14 0 00 000046'		POP P,TYOD
   728	400464'	263 14 0 00 000000 		POPJ P,
   729
   730					;subroutine to force error messages out on tty
   731	400465'	200 02 0 00 000033'	ERRIO:	MOVE B,ERRSW
   732	400466'	302 02 0 00 577777 		CAIE B,INUM0	;inum0 specifies to print message on selected device
   733	400467'	353 00 0 00 000546'		AOSLE PRVCNT	;only if prvcnt already <0 does deselection occur
   734	400470'	263 14 0 00 000000 		POPJ P,	
   735	400471'	260 14 0 00 401140'		TALK		;undo control o
   736	400472'	200 02 0 00 411160'		MOVE B,[JRST TTYO]
   737	400473'	250 02 0 00 000046'		EXCH B,TYOD
   738	400474'	202 02 0 00 000547'		MOVEM B,PRVSEL
   739	400475'	263 14 0 00 000000 		POPJ P,
   740
   741					;ERRTN:	0	;0 => top level				*
   742						;- => pdl to reset to - stored by errorset
   743						;+ => string tyo pout rtn flag
   744					REMOTE<ERRSW:	-1>	;0 means no prnt on error		*
   745					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-17
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

   746					;subroutine to search oblist for closest function to address in r
   747	400476'				ERSUB3:
   748	400476'	201 01 0 11 004030'		MOVEI A,QST(S)
   749	400477'	561 00 0 11 002622'	IFN OLDNIL<	HRROI NIL,CNIL2(S)>
   750					IFE OLDNIL<	SETZ	NIL,	>
   751
   752	400500'	514 02 0 00 000361'		HRLZ B,INT1
   753	400501'	213 00 0 00 000002 		MOVNS B
   754	400502'	403 05 0 00 000502'		SETZB AR2A,GOBF
   755	400503'	261 14 0 00 400026*		PUSH P,JOBAPR
   756						MOVEI C,[	SETOM GOBF
   757	400504'	201 03 0 00 411161'				JRST ERRO2G]
   758	400505'	542 03 0 00 400503*		HRRM C,JOBAPR
   759	400506'	550 03 0 11 003730'		HRRZ	C,VOBLIST(S)	;## GET CURRENT OBLIST
   760	400507'	542 03 0 00 000363'		HRRM	C,RHX5
   761	400510'	542 03 0 00 000362'		HRRM	C,RHX2		;## AND UPDATE LOCATIONS WHICH REF OBLIST
   762	400511'	554 03 1 00 000363'		HLRZ C,@RHX5
   763					ERRO2B:	JUMPE C,[	AOBJN B,.-1
   764								POP P,JOBAPR	;oblist done, restore
   765	400512'	322 03 0 00 411163'				JRST PRINC]	;print closest match
   766	400513'	554 07 0 03 000000 		HLRZ TT,(C)
   767	400514'	550 07 0 07 000000 	ERRO2C:	HRRZ TT,(TT)
   768	400515'	322 07 0 00 400535'		JUMPE TT,ERRO2G
   769	400516'	554 04 0 07 000000 		HLRZ AR1,(TT)
   770	400517'	306 04 0 11 004020'		CAIN AR1,LSUBR(S)
   771	400520'	254 00 0 00 400526'		JRST ERRO2H
   772	400521'	302 04 0 11 003760'		CAIE AR1,SUBR(S)
   773	400522'	306 04 0 11 003764'		CAIN AR1,FSUBR(S)
   774	400523'	254 00 0 00 400526'		JRST ERRO2H
   775	400524'	550 07 0 07 000000 		HRRZ TT,(TT)
   776	400525'	254 00 0 00 400514'		JRST ERRO2C
   777
   778	400526'	550 07 0 07 000000 	ERRO2H:	HRRZ TT,(TT)
   779	400527'	554 07 0 07 000000 		HLRZ TT,(TT)
   780	400530'	313 07 0 00 000005 		CAMLE TT,AR2A	;le to prefer car to quote
   781	400531'	313 07 0 00 000013 		CAMLE TT,R
   782	400532'	254 00 0 00 400535'		JRST ERRO2G
   783	400533'	200 05 0 00 000007 		MOVE AR2A,TT
   784	400534'	554 01 0 03 000000 		HLRZ A,(C)
   785	400535'	550 03 0 03 000000 	ERRO2G:	HRRZ C,(C)
   786	400536'	254 00 0 00 400512'		JRST ERRO2B
   787					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-18
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

   788					;dispatcher for error message uuos
   789	400537'	201 01 0 00 230000 	ERROR:	MOVEI A,APRFLG
   790	400540'	047 01 0 00 000016 		CALLI A,APRINI	;enable interupts
   791	400541'	135 01 0 00 411144'		LDB A,[POINT 9,JOBUUO,OPFLD]	;get opcode
   792	400542'	301 01 0 00 000001 		CAIL A,UUOMIN	;what
   793	400543'	303 01 0 00 000004 		CAILE A,UUOMAX	;is it?
   794	400544'	254 00 0 00 400602'		JRST ILLUUO	;an illegal opcode
   795	400545'	254 00 1 01 400545'		JRST @ERRTAB-UUOMIN(A)	;or LISP error
   796	400546'	000000	400556'		ERRTAB:	ERROR1	;1	;ordinary LISP error
   797	400547'	000000	400552'			ERRORG	;2	;space overflow error
   798	400550'	000000	400577'			ERROR2	;3	;ill. mem. ref.
   799	400551'	000000	400564'			STRTYP	;4	;print error message and continue
   800	400552'	200 14 0 00 000463'	ERRORG:	MOVE P,ERRTN	;IF IN ERRSET, RESTORE P TO THAT LEVEL
   801	400553'	336 00 0 00 000014 		SKIPN P
   802	400554'	200 14 0 00 000450'		MOVE P,C2	;else to top level
   803	400555'	476 00 0 00 000602'		SETOM UUO2#	;$$ AND DON'T ENTER ERRORX
   804
   805	400556'	336 00 0 00 000033'	ERROR1:	SKIPN ERRSW
   806	400557'	254 00 0 00 400620'		JRST ERREND	;dont print message, call (err nil)
   807	400560'	260 14 0 00 400465'		PUSHJ P,ERRIO	;print message on tty
   808	400561'	260 14 0 00 402501'		PUSHJ P,TERPRI
   809	400562'	260 14 0 00 400444'		PUSHJ P,ERRSUB	;print the message
   810	400563'	254 00 0 00 400617'		JRST ERRBK	;go the backtrace
   811
   812	400564'	260 14 0 00 400465'	STRTYP:	PUSHJ P,ERRIO
   813	400565'	260 14 0 00 400444'		PUSHJ P,ERRSUB	;print message and continue
   814	400566'	260 14 0 00 400457'		PUSHJ P,OUTRET
   815	400567'	254 00 1 00 000027'		JRST @UUOH
   816
   817					;USER ENTRY TO ERROR HANDLER, PRINTS ARG IF NON-NIL
   818	400570'	322 01 0 00 400620'	.ERROR:	JUMPE	A,ERREND
   819	400571'	336 00 0 00 000033'		SKIPN	ERRSW
   820	400572'	254 00 0 00 400620'		JRST	ERREND
   821	400573'	260 14 0 00 400465'		PUSHJ	P,ERRIO
   822	400574'	260 14 0 00 402501'		PUSHJ	P,TERPRI
   823	400575'	260 14 0 00 402334'		PUSHJ	P,PRINC
   824	400576'	254 00 0 00 400620'		JRST	ERREND
   825					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-19
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

   826	400577'	550 01 0 00 400445*	ERROR2:	HRRZ A,JOBUUO
   827	400600'	201 02 0 00 411166'		MOVEI B,[SIXBIT / ILL MEM REF FROM !/]
   828	400601'	254 00 0 00 400604'		JRST ERSUB2
   829
   830	400602'	550 01 0 00 000027'	ILLUUO:	HRRZ A,UUOH
   831	400603'	201 02 0 00 411172'		MOVEI B,[SIXBIT / ILL UUO FROM !/]
   832	400604'	336 00 0 00 000033'	ERSUB2:	SKIPN ERRSW
   833	400605'	254 00 0 00 400620'		JRST ERREND	;dont print message
   834	400606'	261 14 0 00 000001 		PUSH P,A
   835	400607'	261 14 0 00 000002 		PUSH P,B
   836	400610'	260 14 0 00 400465'		PUSHJ P,ERRIO
   837	400611'	260 14 0 00 402501'		PUSHJ P,TERPRI
   838	400612'	260 14 0 00 402413'		PUSHJ P,PRINL2	;print number
   839	400613'	262 14 0 00 000001 		POP P,A
   840	400614'	004 00 0 01 000000 		STRTIP (A)	;print message
   841	400615'	262 14 0 00 000013 		POP P,R
   842	400616'	260 14 0 00 400476'		PUSHJ P,ERSUB3	;print nearest oblist match
   843	400617'				ERRBK:
   844					IFN ALVINE,<
   845						SKIPE BACTRF
   846						PUSHJ P,BKTRC	;print backtrace
   847					>
   848	400617'	260 14 0 00 400457'		PUSHJ P,OUTRET	;return to previous device
   849	400620'	400 01 0 00 000000 	ERREND:	SETZ	A,		;## %CLRBFI USED TO BE HERE(FOR ERR NIL)
   850	400621'	336 00 0 00 000602'		SKIPN	UUO2		;$$NO ERRORX IF OVERFLOW ERROR
   851	400622'	254 00 0 00 400625'		JRST	.+3
   852	400623'	402 00 0 00 000602'		SETZM	UUO2		;$$RESET TO ZERO
   853	400624'	254 00 0 00 400652'		JRST	RERX		;$$BOUNCE BACK TO ERRORX
   854	400625'	336 00 0 00 000554'		SKIPN	RSTSW		;$$NEW *RSET FEATURE
   855	400626'	254 00 0 00 400636'		JRST	ERR		;$$IF (*RSET NIL) UNBIND AND GO TO TOP LEVEL
   856	400627'	336 00 0 00 000033'		SKIPN	ERRSW		;$$NO ERRORX IF NO MESSAGE
   857	400630'	254 00 0 00 400636'		JRST	ERR		;$$
   858	400631'	260 14 0 00 401022'		PUSHJ	P,%CLRBFI	;## CLEAR TTY BUFFER. ELIMINATE FLUSHING
   859									;##  OF TYPE AHEAD
   860	400632'	201 01 0 11 003352'		MOVEI	A,ERRORX(S)	;$$ELSE SET TO CALL ERROR HANDLER
   861	400633'	201 02 0 00 000000 		MOVEI	B,NIL		;$$CREATE FORM (ERRORX)
   862	400634'	260 14 0 00 403661'	CEV:	PUSHJ	P,CONS		;$$
   863	400635'	254 00 0 00 405505'		JRST	EVAL		;$$AND EVALUATE IT
   864
   865
   866	400636'	402 00 0 00 000510'	ERR:	SETZM	INHERR		;CLEAR RERX FLAG JUST IN CASE
   867	400637'	306 01 0 11 003352'		CAIN A,ERRORX(S)	;$$BOUNCE TO ERRORX IF A=ERRORX
   868	400640'	254 00 0 00 400652'		JRST RERX
   869	400641'	336 00 0 00 000463'	ERR2:	SKIPN ERRTN
   870	400642'	254 00 0 00 400110'		JRST LSPRET	;not in an errset, or bad error -- go to top level
   871	400643'	200 14 0 00 000463'		MOVE P,ERRTN
   872	400644'	262 14 0 00 000002 	ERR1:	POP P,B
   873	400645'	260 14 0 00 406226'		PUSHJ P,UBD	;unbind to previous errset
   874	400646'	262 14 0 00 000033'		POP P,ERRSW
   875	400647'	262 14 0 00 000463'		POP P,ERRTN
   876	400650'	336 00 0 00 000510'		SKIPN	INHERR#
   877	400651'	254 00 0 00 404645'		JRST ERRP4	;and proceed
   878
   879	400652'	402 00 0 00 000510'	RERX:	SETZM	INHERR	;$$ POP TO A BREAK ERRSET
   880	400653'	200 02 0 00 000033'		MOVE	B,ERRSW

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-20
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

   881	400654'	302 02 0 11 003352'		CAIE	B,ERRORX(S)
   882	400655'	476 00 0 00 000510'		SETOM	INHERR
   883	400656'	254 00 0 00 400641'		JRST	ERR2
   884
   885	400657'	261 14 0 00 000542'	ERRSET:	PUSH P,PA3
   886	400660'	261 14 0 00 000543'		PUSH P,PA4
   887	400661'	261 14 0 00 000463'		PUSH P,ERRTN
   888	400662'	261 14 0 00 000033'		PUSH P,ERRSW
   889	400663'	261 14 0 00 000017 		PUSH P,SP
   890	400664'	202 14 0 00 000463'		MOVEM P,ERRTN
   891	400665'	550 03 0 01 000000 		HRRZ C,(A)
   892	400666'	554 03 0 03 000000 		HLRZ C,(C)
   893	400667'	202 03 0 00 000033'		MOVEM C,ERRSW
   894	400670'	554 01 0 01 000000 		HLRZ A,(A)
   895	400671'	260 14 0 00 405505'			PUSHJ P,EVAL
   896	400672'	260 14 0 00 403657'		PUSHJ P,NCONS
   897	400673'	402 00 0 00 000510'		SETZM INHERR	;CLEAR RERX FLAG
   898	400674'	254 00 0 00 400644'		JRST ERR1
   899
   900	400675'	402 00 0 00 000446'	SYSCLR:	SETZM BSFLG	;FUNCTION TO MAKE SYSTEM LOOK NEW
   901	400676'	402 00 0 00 000452'		SETZM	CONSVA	;## RESET CONS COUNT
   902	400677'	402 00 0 00 000501'		SETZM	GCTIM	;## RESET GC TIME
   903	400700'	254 00 0 00 410041'		JRST	EXCISE	;## EXCISE
   904					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-21
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

   905					;error messages
   906
   907
   908
   909
   910	400701'	200 01 0 00 000006 	RMERR:	MOVE A,T	;$$ BAD READ MACRO, GET THE NAME
   911	400702'	260 14 0 00 402322'		PUSHJ P,EPRINT	;$$
   912	400703'	001 00 0 00 411175'		ERR1 [SIXBIT /UNDEFINED READ MACRO!/]
   913	400704'	260 14 0 00 402322'	BNDERR:	PUSHJ P,EPRINT		;$$ATTEMPT TO REBIND NIL OR T
   914	400705'	001 00 0 00 411201'		ERR1 [SIXBIT /CANNOT BE RE-BOUND!/]
   915
   916	400706'	260 14 0 00 402322'	RPAERR:	PUSHJ	P,EPRINT	;$$PRINT OUT OFFENDING ITEM
   917	400707'	001 00 0 00 411205'		ERR1 [SIXBIT /IS AN ATOM, CAN'T BE RPLACA'D!/]
   918
   919	400710'	260 14 0 00 402322'	RPDERR:	PUSHJ	P,EPRINT	;$$
   920	400711'	001 00 0 00 411212'		ERR1 [SIXBIT /CAN'T BE RPLACD'D (NIL OR INUM)!/]
   921
   922	400712'	402 00 0 00 000044'	DOTERR:	SETZM OLDCH
   923	400713'	001 00 0 00 411220'		ERR1 [	SIXBIT /DOT CONTEXT ERROR!/]
   924	400714'	554 01 0 04 000000 	UNDFUN:	HLRZ A,(AR1)
   925	400715'	260 14 0 00 402322'		PUSHJ P,EPRINT
   926	400716'	001 00 0 00 411223'		ERR1 [SIXBIT /UNDEFINED FUNCTION!/]
   927	400717'	260 14 0 00 402322'	UNBVAR:	PUSHJ P,EPRINT
   928	400720'	001 00 0 00 411227'		ERR1 [SIXBIT /UNBOUND VARIABLE - EVAL!/]
   929	400721'	001 00 0 00 411233'	NONNUM:	ERR1 [SIXBIT /NON-NUMERIC ARGUMENT!/]
   930	400722'	001 00 0 00 411237'	NOPNAM:	ERR1 [SIXBIT /NO PRINT NAME - INTERN!/]
   931	400723'	001 00 0 00 411243'	NOLIST:	ERR1 [SIXBIT /NO LIST-MAKNAM!/]
   932	400724'	001 00 0 00 411246'	TOMANY:	ERR1 [SIXBIT /TOO MANY ARGUMENTS SUPPLIED - APPLY!/]
   933	400725'	001 00 0 00 411254'	TOOFEW:	ERR1 [SIXBIT /TOO FEW ARGUMENTS SUPPLIED - APPLY!/]
   934	400726'	550 01 0 03 000000 	UNDTAC: HRRZ A,(C)
   935	400727'	260 14 0 00 402322'	UNDTAG:	PUSHJ P,EPRINT
   936	400730'	001 00 0 00 411262'		ERR1 [SIXBIT /UNDEFINED FUNCTION - APPLY!/]
   937	400731'	260 14 0 00 402322'	SETERR:	PUSHJ P,EPRINT		;$$BAD SET OR SETQ
   938	400732'	001 00 0 00 411267'		ERR1 [SIXBIT /CAN'T BE SET TO A VALUE - SET OR SETQ!/]
   939	400733'	260 14 0 00 402322'	EG1:	PUSHJ P,EPRINT
   940	400734'	001 00 0 00 411276'		ERR1 [SIXBIT /UNDEFINED PROG TAG-GO!/]
   941	400735'	260 14 0 00 402322'	EG2:	PUSHJ P,EPRINT
   942	400736'	001 00 0 00 411302'		ERR1 [SIXBIT /GO WITH NO PROG!/]
   943	400737'	001 00 0 00 411305'	EG3:	ERR1 [SIXBIT /RETURN WITH NO PROG!/]
   944					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-22
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

   945					IFN ALVINE,<
   946					
   947					;backtrace subroutine
   948					BKTRC:	MOVEI D,-1(P)
   949						MOVN A,BACTRF
   950						ADDI A,INUM0
   951						JUMPL A,[	ADD A,P	;backtrace specific number 
   952								JRST .+3]
   953						SKIPN A,ERRTN	;backtrace to previous errset
   954						MOVE A,C2	;or top level
   955						HRRZM A,BAKLEV#
   956						STRTIP [SIXBIT /_BACKTRACE_!/]
   957					BKTR2:	CAMG D,BAKLEV
   958						JRST FALSE	;done 
   959						HRRZ A,(D)	;get pdl element
   960						CAIGE A,FS(S)
   961						JUMPN A,.+2	;this is (hopefully) a true program address
   962						SOJA D,BKTR2	;not a program address, continue
   963						CAIN A,ILIST3
   964						JRST BKTR1A	;argument evaluation 
   965					BKTR1B:	CAIN A,CPOPJ
   966						JRST [	HLRZ A,(D)	;calling a function
   967							PUSHJ P,PRINC
   968							XCT "-",CTY
   969							STRTIP [SIXBIT /ENTER !/]
   970							SOJA D,BKTR2]
   971						HLRZ B,-1(A)
   972						CAILE B,(JCALLF 17,@(17))
   973						CAIN B,(PUSHJ P,)	;tests for various types of calls
   974						CAIGE B,(FCALL)
   975						SOJA D,BKTR2		;not a proper function call
   976						PUSH P,-1(A)	;save object of function call
   977						MOVEI R,-1(A)	;location of function call
   978						PUSHJ P,ERSUB3		;print closest oblist match
   979						MOVEI A,"-"
   980						PUSHJ P,TYO
   981						POP P,R
   982						TLNE R,17
   983						HRRZ R,ERSUB3	;qst -- cant handle indexed calls
   984						HRRZS R
   985						HLRO B,(R)
   986						AOSN B
   987						JRST [	HRRZ A,R	;was calling an atomic function
   988							PUSHJ P,PRINC	;print its name
   989							JRST .+2]
   990						PUSHJ P,ERSUB3	;was calling a code location -- print closest match
   991						MOVEI A," "
   992						PUSHJ P,TYO
   993					BKTR1:	SOJA D,BKTR2	;continue
   994					
   995					BKTR1A:	HRRZ B,-1(D)
   996						CAIE B,EXP2
   997						CAIN B,ESB1
   998						JRST .+2
   999						JRST BKTR1B	;hum, not really evaluating arguments

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-23
UCILSP	MAC	27-MAR-75 17:13		ERROR HANDLER AND BACKTRACE 

  1000						HLRE B,-1(D)
  1001						ADD B,D
  1002						HLRZ A,-3(B)
  1003						JUMPE A,BKTR1
  1004						PUSHJ P,PRINC
  1005						XCT "-",CTY
  1006						STRTIP [SIXBIT /EVALARGS !/]
  1007						JRST BKTR1
  1008					>
  1009
  1010	400740'	250 01 0 00 000442'	BAKGAG:	EXCH A,BACTRF#
  1011	400741'	263 14 0 00 000000 		POPJ P,
  1012						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-24
UCILSP	MAC	27-MAR-75 17:13		TYI  AND TYO  

  1013						SUBTTL TYI  AND TYO  
  1014					;input
  1015	400742'	260 14 0 00 400745'	ITYI:	PUSHJ P,TYI	;## RETURN ASCII VALUE OF INPUT  CH
  1016	400743'	271 01 0 00 577777 	FIXI:	ADDI A,INUM0
  1017	400744'	263 14 0 00 000000 		POPJ P,
  1018
  1019	400745'	201 04 0 00 000001 	TYI:	MOVEI AR1,1	;## TO TEST FOR LINED TYPESEQUENCE #, ETC
  1020	400746'	260 14 0 00 400754'		PUSHJ P,TYIA
  1021	400747'	322 01 0 00 400746'		JUMPE A,.-1
  1022	400750'	312 01 0 00 000154'		CAME A,IGSTRT	;start of comment or ignored cr-lf
  1023	400751'	263 14 0 00 000000 		POPJ P,
  1024	400752'	260 14 0 00 402734'		PUSHJ P,COMMENT
  1025	400753'	254 00 0 00 400746'		JRST TYI+1
  1026
  1027	400754'	332 01 0 00 000044'	TYIA:	SKIPE A,OLDCH		;##  IF CH  IN OLDCH
  1028	400755'	254 00 0 00 402726'		JRST	TYI1		;## TAKE CARE OF IT
  1029	400756'	256 00 0 00 000034'	TYID:	XCT	TYI2		;##  INPUT A CHARACTER
  1030					REMOTE<TYI2:	JRST TTYI>	;sosg x for other device input
  1031						;other device input
  1032	400757'	254 00 0 00 000036'		JRST TYI2X
  1033	400760'	134 01 1 00 000601'	TYI3B:	ILDB A,@TYI3#		;pointer
  1034	400761'	256 00 0 00 000035'		XCT	TYI3A		;## SEE IF LINED TYPE WORD
  1035					REMOTE<TYI3A:	TDNN AR1,@X>	;pointer
  1036	400762'	263 14 0 00 000000 		POPJ	P,		;## NO, OK
  1037
  1038					IFN STPGAP,<
  1039						MOVE A,@TYI3A
  1040						CAMN A,[<ASCII /     />+1]	;page mark for stopgap
  1041						AOSA PGNUM	;increment page number
  1042						MOVEM A,LINUM
  1043					>
  1044	400763'	211 01 0 00 000005 		MOVNI A,5
  1045	400764'	272 01 1 00 000034'		ADDM A,@TYI2	;adjust character count for line number
  1046	400765'	350 00 1 00 000601'		AOS @TYI3	;increment byte pointer over line number and tab
  1047	400766'	254 00 0 00 400756'		JRST TYID
  1048
  1049					REMOTE<	TYI2X:	INPUT X,
  1050						TYI2Y:	STATZ X,740000
  1051							ERR1 AIN.8	;input error
  1052						TYI2Z:	STATO X,20000
  1053							JRST TYI3B	;continue with file
  1054					TYIEOF:		JRST	TYI2Q		;END OF FILE>
  1055	400767'	261 14 0 00 000006 	TYI2Q:	PUSH P,T
  1056	400770'	261 14 0 00 000003 		PUSH P,C
  1057	400771'	261 14 0 00 000013 		PUSH P,R
  1058	400772'	261 14 0 00 000004 		PUSH P,AR1
  1059	400773'	200 01 0 00 000507'		MOVE A,INCH
  1060	400774'	550 03 0 01 000062'		HRRZ C,CHTAB(A)	;get location of data for this channel
  1061	400775'	554 06 0 01 000062'		HLRZ T,CHTAB(A)	;inlst	-- remaining files to input
  1062	400776'	322 06 0 00 401007'		JUMPE T,TYI2E	;none left -- stop
  1063	400777'	260 14 0 00 401472'		PUSHJ P,SETIN	;start next input
  1064	401000'	260 14 0 00 000110'		PUSHJ P,ININIT	;## INIT THE FILE
  1065	401001'	322 01 0 00 401726'		JUMPE A,AIN.7	;## CAN'T FIND FILE, ERROR
  1066	401002'	262 14 0 00 000004 		POP P,AR1
  1067	401003'	262 14 0 00 000013 		POP P,R

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-25
UCILSP	MAC	27-MAR-75 17:13		TYI  AND TYO  

  1068	401004'	262 14 0 00 000003 		POP P,C
  1069	401005'	262 14 0 00 000006 		POP P,T
  1070	401006'	254 00 0 00 400745'		JRST TYI
  1071
  1072	401007'	260 14 0 00 401607'	TYI2E:	PUSHJ P,INCNT	;(inc nil t)
  1073	401010'	260 14 0 00 401140'		TALK
  1074	401011'	201 01 0 11 004004'		MOVEI A,$EOF$(S)	;we are done
  1075	401012'	254 00 0 00 400636'		JRST ERR
  1076
  1077					IFN STPGAP,<
  1078					PGLINE:	MOVE C,[POINT 7,LINUM]
  1079						PUSHJ P,NUM10	;convert ascii line number to a integer
  1080						ADDI A,INUM0
  1081						MOVE B,PGNUM
  1082						ADDI B,INUM0+1
  1083						JRST XCONS>
  1084
  1085					REMOTE<	OLDCH:	0
  1086					IFN STPGAP,<
  1087						PGNUM:	0
  1088						LINUM:	0
  1089							0>>	;zero to terminate num10
  1090
  1091					;TTYECHO - COMPLEMENTS THE TTY: ECHO BIT AND RETURNS T IF THE ECHO
  1092					;	   IS BEING TURNED ON AND NIL IF IT IS BEING TURNED OFF
  1093					;	 - TAKES NO ARGUMENTS
  1094	401013'	474 01 0 00 000000 	ECHO:	SETO	A,
  1095	401014'	051 06 0 00 000001 		TTYUUO	6,A	;GET STATUS BITS
  1096	401015'	641 01 0 00 000004 		TLC	A,4	;COMPLEMENT THE ECHO BIT
  1097	401016'	051 07 0 00 000001 		TTYUUO	7,A	;RESTORE THE BITS
  1098	401017'	603 01 0 00 000004 		TLNE	A,4	;TEST TO GET FINAL VALUE
  1099	401020'	254 00 0 00 404013'		JRST	FALSE
  1100	401021'	254 00 0 00 403764'		JRST	TRUE
  1101
  1102					;CLRBFI - CLEARS TTY INPUT BUFFER FOR USER ERRORS
  1103					;       - 0 ARGS AND RETURNS NIL
  1104	401022'	051 11 0 00 000000 	%CLRBFI:CLRBFI		;CLEAR BUFFER
  1105	401023'	402 00 0 00 000566'		SETZM	SMAC	;CLEAR SPLICE LIST
  1106	401024'	402 00 0 00 000044'		SETZM	OLDCH	;CLEAR LAST CHAR.
  1107	401025'	254 00 0 00 404013'		JRST	FALSE
  1108					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-26
UCILSP	MAC	27-MAR-75 17:13		TYI  AND TYO  

  1109					;teletype input
  1110
  1111	401026'	201 01 0 01 200001 	ERRCH:	MOVEI	A,-INUM0(A)	;## CHANGE BELL CHARACTER
  1112	401027'	250 01 0 00 000045'		EXCH	A,ERRCHR	;## RETURN OLD CHARACTER
  1113	401030'	254 00 0 00 405220'		JRST	FIX1A		;## CONVERT IT
  1114
  1115					REMOTE	<
  1116						ERRCHR:	BELL
  1117						>
  1118
  1119	401031'	332 00 0 00 000057'	TTYI:	SKIPE DDTIFG		;## DDT MODE?
  1120	401032'	254 00 0 00 401041'		JRST TTYID
  1121	401033'	051 05 0 00 000001 		INCHSL A	;single char if line has been typed
  1122						JRST 	[OUTCHR PROMCH#	;$$OUTPUT PROMPT CHARACTER		
  1123							INCHWL A	;wait for a line
  1124	401034'	254 00 0 00 411311'			JRST .+1]
  1125
  1126	401035'	312 01 0 00 000045'	TTYXIT:	CAME	A,ERRCHR	;## BELL, NEED NOT BE ^G
  1127	401036'	263 14 0 00 000000 		POPJ	P,
  1128					IFN ALVINE,<
  1129						SKIPE PSAV1#	;bell from alvine?
  1130						JRST [	MOVE P,PSAV1	;yes, return to alvine
  1131							JRST @ED1];$$DOUBLY IMPROVED MAGIC>
  1132	401037'	201 01 0 00 000000 		MOVEI	A,NIL	;$$ RETURN NIL AS THE VALUE
  1133	401040'	254 00 0 00 400652'		JRST	RERX	;$$ RETURN TO AN ERRORX ERRSET
  1134
  1135	401041'	051 00 0 00 000001 	TTYID:	INCHRW A	;single character input ddt submode style
  1136	401042'	302 01 0 00 000177 		CAIE A,RUBOUT
  1137	401043'	254 00 0 00 401035'		JRST TTYXIT
  1138	401044'	051 01 0 00 411314'		OUTCHR ["\"]	;echo backslash
  1139	401045'	332 00 0 00 000550'		SKIPE PSAV
  1140	401046'	254 00 0 00 402644'		JRST RDRUB	;rubout in read resets to top level of read
  1141	401047'	201 01 0 00 000177 		MOVEI A,RUBOUT	
  1142	401050'	263 14 0 00 000000 		POPJ P,
  1143
  1144
  1145	401051'	336 00 0 00 000001 	PROMPT:	SKIPN A
  1146	401052'	334 01 0 00 000545'		SKIPA A,PROMCH
  1147	401053'	201 01 0 01 200001 		MOVEI A,-INUM0(A)	;$$CHANGE FROM INUM
  1148	401054'	250 01 0 00 000545'		EXCH A,PROMCH#		;$$CHANGE PROMPT CHARACTER AND RETURN OLD ONE
  1149	401055'	201 01 0 01 577777 		MOVEI A,INUM0(A)	;$$CHANGE TO INUM
  1150	401056'	263 14 0 00 000000 		POPJ P,	;$$
  1151
  1152
  1153	401057'	336 00 0 00 000001 	INTPRP:	SKIPN A
  1154	401060'	334 01 0 00 000522'		SKIPA A,LSPRMP
  1155	401061'	250 01 0 00 000522'		EXCH A,LSPRMP#		;$$ EXCHANGE FOR OLD TOP LEVEL PROMPT
  1156	401062'	263 14 0 00 000000 		POPJ P,			;$$
  1157
  1158	401063'	051 13 0 00 000000 	READP:	SKPINC		;$$ T IFF A CHARACTER HAS BEEN TYPED
  1159	401064'	254 00 0 00 404013'		JRST	FALSE	;$$ (DOES NOT CHECK OLDCH)
  1160	401065'	254 00 0 00 403764'		JRST	TRUE
  1161
  1162	401066'	201 02 0 01 200001 	UNTYI:	MOVEI	B,-INUM0(A)	;$$ UN-READ A CHARACTER (PUT IT IN OLDCH)
  1163	401067'	202 02 0 00 000044'		MOVEM	B,OLDCH

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-27
UCILSP	MAC	27-MAR-75 17:13		TYI  AND TYO  

  1164	401070'	263 14 0 00 000000 		POPJ	P,		;$$ RETURN ARG AS VALUE
  1165					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-28
UCILSP	MAC	27-MAR-75 17:13		TYI  AND TYO  

  1166						;output
  1167	401071'	275 01 0 00 577777 	ITYO:	SUBI A,INUM0
  1168	401072'	260 14 0 00 401074'		PUSHJ P,TYO
  1169	401073'	254 00 0 00 400743'		JRST FIXI
  1170
  1171	401074'	307 01 0 00 000015 	TYO:	CAIG A,CR
  1172	401075'	254 00 0 00 401111'		JRST TYO3
  1173	401076'	375 00 0 00 000056'		SOSGE CHCT
  1174	401077'	254 00 0 00 401101'		JRST TYO1
  1175	401100'	254 00 0 00 000046'		JRST	TYOD
  1176					REMOTE<TYOD:	JRST TTYO+X	;sosg x for other device
  1177									;other device output
  1178							JRST TYO2X
  1179						TYO5:	IDPB A,X
  1180							POPJ P,
  1181						
  1182						TYO2X:	OUT X,
  1183							JRST TYO5
  1184							ERR1 [SIXBIT /OUTPUT ERROR!/]>
  1185
  1186	401101'	261 14 0 00 000001 	TYO1:	PUSH P,A	;linelength exceeded
  1187	401102'	201 01 0 00 000031 		MOVEI A,IGCRLF	;inored cr-lf
  1188	401103'	260 14 0 00 000046'		PUSHJ P,TYOD
  1189	401104'	260 14 0 00 402501'		PUSHJ P,TERPRI	;force out a cr-lf, with special mark
  1190	401105'	262 14 0 00 000001 			POP P,A
  1191	401106'	374 00 0 00 000056'		SOSA CHCT
  1192	401107'	262 14 0 00 000002 	TYO4:	POP P,B
  1193	401110'	254 00 0 00 000046'		JRST TYOD
  1194
  1195	401111'	305 01 0 00 000011 	TYO3:	CAIGE A,TAB
  1196	401112'	326 01 0 00 401076'		JUMPN A,TYO+2	;everything between 0(null) and 11(tab) decrement chct
  1197	401113'	261 14 0 00 000002 		PUSH P,B
  1198	401114'	200 02 0 00 000055'		MOVE B,LINL
  1199	401115'	306 01 0 00 000011 		CAIN A,TAB
  1200						JRST [	SUB B,CHCT
  1201							IORI B,7	;simulate tab effect on chct
  1202							SUB B,LINL
  1203							SETCAM B,CHCT
  1204	401116'	254 00 0 00 411315'			JRST TYO4]
  1205	401117'	306 01 0 00 000015 		CAIN A,CR
  1206	401120'	202 02 0 00 000056'		MOVEM B,CHCT	;reset chct after a cr
  1207	401121'	254 00 0 00 401107'		JRST TYO4
  1208
  1209	401122'				LINELENGTH:
  1210	401122'	322 01 0 00 401126'		JUMPE A,LINEL1
  1211	401123'	275 01 0 00 577777 		SUBI A,INUM0
  1212	401124'	542 01 0 00 000055'		HRRM A,LINL
  1213	401125'	542 01 0 00 000056'		HRRM A,CHCT
  1214	401126'	550 01 0 00 000055'	LINEL1:	HRRZ A,LINL
  1215	401127'	254 00 0 00 400743'			JRST FIXI
  1216
  1217	401130'	200 01 0 00 000056'	CHRCT:	MOVE A,CHCT
  1218	401131'	254 00 0 00 400743'		JRST FIXI
  1219
  1220					REMOTE<

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-29
UCILSP	MAC	27-MAR-75 17:13		TYI  AND TYO  

  1221					LINL:	TTYLL
  1222					CHCT:	TTYLL>
  1223
  1224					;teletype output
  1225	401132'	051 01 0 00 000001 	TTYO:	OUTCHR A	;output single character in a
  1226	401133'	263 14 0 00 000000 		POPJ P,
  1227					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-30
UCILSP	MAC	27-MAR-75 17:13		TYI  AND TYO  

  1228					REMOTE<DDTIFG:	TRUTH>
  1229	401134'	250 01 0 00 000057'	DDTIN:	EXCH A,DDTIFG
  1230	401135'	263 14 0 00 000000 		POPJ P,
  1231
  1232
  1233	401136'	260 14 0 00 401655'	TTYRET:	PUSHJ P,OUTCNT
  1234	401137'	254 00 0 00 401607'		JRST INCNT
  1235					;THIS IS THE NEW, FAST, AND SHORT ROUTINE TO TURN OFF CONTROL O
  1236	401140'	051 14 0 00 000000 	TTYCLR:	SKPINL	;## SKPINL FIXES RUBOUT PROBLEM IN TYPE AHEAD
  1237	401141'	255 00 0 00 000000 		JFCL
  1238	401142'	263 14 0 00 000000 		POPJ	P,
  1239
  1240					REMOTE<
  1241					TTOCH:	0
  1242					IFN STPGAP,<
  1243						0	;tty page number  always zero
  1244						0	;tty line number -- always zero
  1245					>
  1246					TTOLL:	TTYLL
  1247					TTOHP:	TTYLL>
  1248						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-31
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1249						SUBTTL INPUT AND OUTPUT INITIALIZATION AND CONTROL 
  1250					;convert ascii to sixbit for device initialization routines
  1251	401143'	402 00 0 00 000565'	SIXMAK:	SETZM SIXMK2#
  1252	401144'	200 04 0 00 411322'		MOVE AR1,[POINT 6,SIXMK2]
  1253	401145'	561 13 0 00 401151'		HRROI R,SIXMK1
  1254	401146'	260 14 0 00 402341'		PUSHJ P,PRINTA	;use print to unpack ascii characters
  1255	401147'	200 01 0 00 000565'		MOVE A,SIXMK2
  1256	401150'	263 14 0 00 000000 		POPJ P,
  1257
  1258	401151'	271 01 0 00 000040 	SIXMK1:	ADDI A,40
  1259	401152'	607 04 0 00 770000 		TLNN AR1,770000
  1260	401153'	263 14 0 00 000000 		POPJ P,		;last character position -- ignore remaining chars
  1261	401154'	306 01 0 00 000116 		CAIN A,"."+40	
  1262	401155'	201 01 0 00 000000 		MOVEI A,0	;ignore dots at end of numbers for decimal base
  1263	401156'	306 01 0 00 000132 		CAIN A,":"+40
  1264	401157'	505 04 0 00 060600 		HRLI AR1,(POINT 6,0,29)	;deposit : in last char position
  1265	401160'	136 01 0 00 000004 		IDPB A,AR1
  1266	401161'	263 14 0 00 000000 		POPJ P,
  1267
  1268					;subroutine to process next item in file name list
  1269	401162'	322 06 0 00 401164'		INXTIO:	JUMPE T,NXTIO
  1270	401163'	550 06 0 06 000000 		HRRZ T,(T)
  1271	401164'	554 01 0 06 000000 	NXTIO:	HLRZ A,(T)
  1272	401165'	260 14 0 00 403701'		PUSHJ P,ATOM
  1273	401166'	322 01 0 00 404014'		JUMPE A,CPOPJ	;non-atomic
  1274	401167'	554 01 0 06 000000 		HLRZ A,(T)
  1275	401170'	254 00 0 00 401143'		JRST SIXMAK	;make sixbit if atomic
  1276
  1277					;right normalize sixbit
  1278	401171'	242 01 0 00 777772 		LSH A,-6
  1279	401172'	606 01 0 00 000077 	SIXRT:	TRNN A,77
  1280	401173'	254 00 0 00 401171'		JRST .-2
  1281	401174'	263 14 0 00 000000 		POPJ P,
  1282					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-32
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1283
  1284					;##	SUBROUTINE TO TEST FOR A DEVICE OR QUEUE. USED BY I/O ROUTINES
  1285					;##	AND THE QUEUE ROUTINES. LEAVES A=0 IF NOT AN ATOM AND B=0
  1286					;##	DEVICE OR QUEUE.
  1287
  1288	401175'	260 14 0 00 401164'	DEVCHK:	PUSHJ	P,NXTIO		;## MAKE SIXBIT IF AN ATOM
  1289	401176'	135 02 0 00 411323'		LDB	B,[POINT 6,A,35];## GET LAST CHAR
  1290	401177'	306 02 0 00 000032 		CAIN	B,':'		;## DEVICE?
  1291	401200'	624 01 0 00 000077 		TRZA	A,77		;## YES, CLEAR CHAR BUT LEAVE B INTACT
  1292	401201'	400 02 0 00 000000 		SETZ	B,		;## NO, CLEAR B
  1293	401202'	263 14 0 00 000000 		POPJ	P,		;## DONE, IF A=0 OR B=0, NOT A DEVICE
  1294
  1295					;##	SUBROUTINE TO PARSE THE I/O SPECIFICATION. DEFAULT IS DSK IF
  1296					;##	NO DEVICE SPECIFIED.
  1297	401203'	202 06 0 00 000457'	IOSUB:	MOVEM	T,DEVDAT#	;## SAVE ARG FOR ERRORS
  1298	401204'	332 00 0 00 000111'		SKIPE	DEV		;## DEVICE ALREADY SPECIFIED?
  1299	401205'	254 00 0 00 401211'		JRST	IOSUB1		;## YES, FORGET DEFAULT
  1300	401206'	402 00 0 00 000126'		SETZM	PPN		;## CLEAR PPN
  1301	401207'	205 01 0 00 446353 		MOVSI	A,'DSK'		;## STORE DSK AS DEFAULT
  1302	401210'	202 01 0 00 000111'		MOVEM	A,DEV
  1303	401211'	260 14 0 00 401175'	IOSUB1:	PUSHJ	P,DEVCHK	;## SEE IF DEVICE SPECIFIED
  1304	401212'	322 01 0 00 401217'		JUMPE	A,IOPPN		;## NON-ATOMIC ARG, MUST BE PPN OR (FILE.EXT)
  1305	401213'	322 02 0 00 401226'		JUMPE	B,IOFIL		;## NOT A DEVICE, MUST BE FILE NAME
  1306	401214'	402 00 0 00 000126'		SETZM PPN
  1307	401215'	202 01 0 00 000111'	IODEV2:	MOVEM A,DEV
  1308	401216'	260 14 0 00 401162'	IODEV3:	PUSHJ P,INXTIO
  1309	401217'	326 01 0 00 401226'	IOPPN:	JUMPN A,IOFIL	;not ppn or (fil.ext)
  1310	401220'	260 14 0 00 401250'		PUSHJ P,PPNEXT
  1311	401221'	326 01 0 00 401232'		JUMPN A,IOEXT	;(fil.ext)
  1312	401222'	554 01 0 06 000000 		HLRZ A,(T)
  1313	401223'	260 14 0 00 401462'		PUSHJ	P,CNVPPN	;## CONVERT PPN
  1314	401224'	202 01 0 00 000126'		MOVEM	A,PPN
  1315	401225'	254 00 0 00 401216'		JRST IODEV3		;%% DON'T ZAP DEVICE NAME FOR PPN
  1316
  1317	401226'	326 01 0 00 401244'	IOFIL:	JUMPN A,IOFIL2	;was it an atom
  1318	401227'	322 06 0 00 404014'		JUMPE T,CPOPJ	;no, was it nil (end)
  1319	401230'	260 14 0 00 401250'		PUSHJ P,PPNEXT
  1320	401231'	322 01 0 00 404014'		JUMPE A,CPOPJ	;see a ppn, no file named
  1321	401232'	554 01 0 06 000000 	IOEXT:	HLRZ A,(T)	;(file.ext)
  1322	401233'	550 01 0 01 000000 		HRRZ A,(A)	;get cdr == extension
  1323	401234'	260 14 0 00 401143'		PUSHJ P,SIXMAK
  1324	401235'	502 01 0 00 000124'		HLLM A,EXT
  1325	401236'	554 01 0 06 000000 		HLRZ A,(T)
  1326	401237'	554 01 0 01 000000 		HLRZ A,(A)	;get car = file name
  1327	401240'	260 14 0 00 401143'		PUSHJ P,SIXMAK
  1328	401241'	261 14 0 00 000001 	FIL:	PUSH P,A
  1329	401242'	260 14 0 00 401162'		PUSHJ P,INXTIO
  1330	401243'	254 00 0 00 405717'		JRST POPAJ
  1331
  1332	401244'	306 02 0 00 000032 	IOFIL2:	CAIN B,":"-40
  1333	401245'	263 14 0 00 000000 		POPJ P,		;saw a :,not file name
  1334	401246'	402 00 0 00 000124'		SETZM EXT	;file name -- clear extension
  1335	401247'	254 00 0 00 401241'		JRST FIL
  1336
  1337	401250'	322 06 0 00 404014'	PPNEXT:	JUMPE T,CPOPJ	;end of file name list

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-33
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1338	401251'	554 01 0 06 000000 			HLRZ A,(T)
  1339	401252'	550 01 0 01 000000 		HRRZ A,(A)	;cdar
  1340	401253'	254 00 0 00 403701'		JRST ATOM	;ppn iff (not(atom(cdar l)))
  1341
  1342	401254'	200 06 0 00 000001 	CHNSUB:	MOVE T,A
  1343	401255'	554 01 0 06 000000 		HLRZ A,(T)
  1344	401256'	260 14 0 00 403701'		PUSHJ P,ATOM
  1345	401257'	322 01 0 00 403764'		JUMPE A,TRUE	;non-atomic head of list -- no channel named
  1346	401260'	554 01 0 06 000000 		HLRZ A,(T)
  1347	401261'	260 14 0 00 401143'		PUSHJ P,SIXMAK
  1348	401262'	405 01 0 00 000077 		ANDI A,77
  1349	401263'	306 01 0 00 000032 		CAIN A,":"-40
  1350	401264'	254 00 0 00 403764'		JRST TRUE	;device name, assume channel name t
  1351	401265'	554 01 0 06 000000 		HLRZ A,(T)	;channel name -- return it
  1352	401266'	550 06 0 06 000000 		HRRZ T,(T)
  1353	401267'	263 14 0 00 000000 		POPJ P,
  1354							;##  LEFT HALF OF  A CHANNEL TABLE ENTRY IS THE  REMAINING
  1355							;## FILE LIST. RH POINTS TO EXTENDED HEADER.
  1356
  1357					REMOTE<
  1358					CHTAB=.-FSTCH
  1359						BLOCK NIOCH>
  1360
  1361					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-34
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1362					;search for channel name in chtab
  1363	401270'	200 01 0 00 411324'	TABSR1:	MOVE A,[XWD -NIOCH,FSTCH]
  1364	401271'	200 03 0 01 000062'		MOVE C,CHTAB(A)
  1365	401272'	312 02 0 03 000000 		CAME B,CHNAM(C)
  1366	401273'	253 01 0 00 401271'		AOBJN A,.-2
  1367	401274'	316 02 0 03 000000 		CAMN B,CHNAM(C)
  1368	401275'	263 14 0 00 000000 		POPJ P,	;found it!!!
  1369	401276'	254 00 0 00 404013'			JRST FALSE	;lost
  1370
  1371					;search for channel name in chtab, and if not there find a free channel, and
  1372					;if no free channel, allocate a new buffer and channel
  1373	401277'	200 02 0 00 000001 	TABSRC:	MOVE B,A
  1374	401300'	260 14 0 00 401270'		PUSHJ P,TABSR1
  1375	401301'	326 01 0 00 401317'		JUMPN A,DEVCLR	;found the channel
  1376	401302'	261 14 0 00 000002 		PUSH P,B
  1377	401303'	200 02 0 00 000000 		MOVE B,0
  1378	401304'	260 14 0 00 401270'		PUSHJ P,TABSR1	;find a physical channel no. for a free channel
  1379	401305'	322 01 0 00 411331'		JUMPE A,[ERR1 [SIXBIT $NO I/O CHANNELS LEFT !$]]
  1380	401306'	262 14 0 00 000002 		POP P,B
  1381	401307'	326 03 0 00 401317'		JUMPN C,DEVCLR	;found free channel which had buffer space previously
  1382	401310'	261 14 0 00 000001 		PUSH P,A	;must allocate new buffer
  1383	401311'	201 01 0 00 000415 		MOVEI A,BLKSIZ
  1384	401312'	400 12 0 00 000000 		SETZ	D,	;SPECIAL RELOCATION - SEE LOAD
  1385	401313'	260 14 0 00 410256'		PUSHJ P,MORCOR	;expand core for buffer if necessary
  1386	401314'	200 03 0 00 000001 		MOVE C,A
  1387	401315'	262 14 0 00 000001 		POP P,A
  1388	401316'	542 03 0 01 000062'		HRRM C,CHTAB(A)
  1389	401317'	550 03 0 01 000062'	DEVCLR:	HRRZ C,CHTAB(A)
  1390	401320'	552 02 0 03 000000 		HRRZM B,CHNAM(C)	;store name
  1391	401321'	552 01 0 00 000451'		HRRZM A,CHANNEL#
  1392	401322'	263 14 0 00 000000 		POPJ P,
  1393
  1394					;subroutine to reset all i/o channels	-- used by excise and realloc
  1395	401323'	550 01 0 00 000000*	IOBRST:	HRRZ A,JOBREL
  1396	401324'	506 01 0 00 000000*		HRLM A,JOBSA
  1397	401325'	202 01 0 00 000453'		MOVEM A,CORUSE#
  1398	401326'	202 01 0 00 000000*		MOVEM A,JOBSYM
  1399	401327'	402 00 0 00 000063'		SETZM CHTAB+FSTCH
  1400	401330'	200 01 0 00 411332'		MOVE A,[XWD CHTAB+FSTCH,CHTAB+FSTCH+1]
  1401	401331'	251 01 0 00 000101'		BLT A,CHTAB+NIOCH+FSTCH-1	;clear channel table
  1402	401332'	254 00 0 13 000000 		JRST (R)
  1403					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-35
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1404	401333'	260 14 0 00 401254'	INPUT1:	PUSHJ P,CHNSUB	;determine channel name
  1405	401334'	201 04 0 01 000000 		MOVEI	AR1,(A)		;## SAVE CH NAME
  1406	401335'	250 04 0 14 000000 		EXCH	AR1,(P)		;## EXHANGE WITH RETURN ADDR
  1407	401336'	261 14 0 00 000004 		PUSH	P,AR1		;## AND STUFF THE RETURN ADDR. IN
  1408	401337'	260 14 0 00 401277'	INPUT2:	PUSHJ	P,TABSRC	;## GET PHYSICAL CHANNEL NUMBER
  1409	401340'	202 01 0 00 000451'		MOVEM	A,CHANNEL	;## SAVE IT
  1410	401341'	402 00 0 00 000111'		SETZM	DEV		;## CLEAR DEV SO THAT WE CAN
  1411									;## DEFAULT IF APPROPRIATE
  1412	401342'	254 00 0 00 401477'		JRST	SETIN1		;## SET UP FOR INITIALIZTION
  1413
  1414	401343'	260 14 0 00 401333'	INPUT:	PUSHJ	P,INPUT1
  1415	401344'	260 14 0 00 000110'		PUSHJ	P,ININIT
  1416	401345'	322 01 0 00 401726'	INFAIL:	JUMPE	A,AIN.7		;## CAN'T FIND FILE
  1417	401346'	254 00 0 00 405717'		JRST	POPAJ
  1418
  1419	401347'	260 14 0 00 401333'	BINPUT:	PUSHJ	P,INPUT1	;## IMAGE BINARY INPUT
  1420	401350'	260 14 0 00 000103'		PUSHJ	P,BNINIT
  1421	401351'	254 00 0 00 401345'		JRST	INFAIL
  1422
  1423	401352'	322 01 0 00 401357'	ISFILE:	JUMPE	A,.+5		;## ROUTINE TO TELL USER IF A FILE EXISTS
  1424	401353'	261 14 0 00 000001 		PUSH	P,A		;## SAVE A IF NON-NIL
  1425	401354'	201 01 0 02 000000 		MOVEI	A,(B)		;## GET THE FILE NAME
  1426	401355'	260 14 0 00 403657'		PUSHJ	P,NCONS		;## (FILNAM)
  1427	401356'	262 14 0 00 000002 		POP	P,B		;## GET THE DEVICE BACK
  1428	401357'	260 14 0 00 403660'		PUSHJ	P,XCONS		;## (DEV FILNAM) OR (FILNAM) WHEN HERE
  1429	401360'	261 14 0 00 000001 		PUSH	P,A		;## SAVE IT FOR RETURN
  1430	401361'	260 14 0 00 401370'		PUSHJ	P,RENSUB	;## SEE IF IT'S THERE
  1431	401362'	261 14 0 00 000001 		PUSH	P,A		;## SAVE THE ANSWER
  1432	401363'	260 14 0 00 401423'		PUSHJ	P,RENCLR	;## CLEAR THE CHANNEL
  1433	401364'	262 14 0 00 000001 		POP	P,A		;## ANSWER IN A
  1434	401365'	326 01 0 00 405717'		JUMPN	A,POPAJ		;## IF NON-NIL, THEN IT'S THERE
  1435	401366'	262 14 0 00 000002 		POP	P,B		;## POP ANSWER OFF
  1436	401367'	263 14 0 00 000000 		POPJ	P,		;## AND RETURN NIL
  1437
  1438	401370'	202 01 0 00 000457'	RENSUB:	MOVEM	A,DEVDAT	;## SAVE IT FOR ERROR MSGS
  1439	401371'	260 14 0 00 404376'		PUSHJ	P,GENSYM	;## DON'T CLOBBER CURRENT CHANNELS
  1440	401372'	200 06 0 00 000457'		MOVE	T,DEVDAT	;## GET IT BACK
  1441	401373'	260 14 0 00 401337'		PUSHJ	P,INPUT2	;## SET UP AND OPEN
  1442	401374'	254 00 0 00 000110'		JRST	ININIT		;## AND INIT
  1443
  1444	401375'	260 14 0 00 401370'	RENAME:	PUSHJ	P,RENSUB	;## RENAME SETUP
  1445	401376'	322 01 0 00 401423'		JUMPE	A,RENCLR	;## NIL IF CAN'T FIND FILE
  1446	401377'	260 14 0 00 401470'		PUSHJ	P,SETINA	;## PROCESS THE NEW NAME
  1447	401400'	256 00 0 00 000102'		XCT	RNAME		;## EXECUTE
  1448	401401'	254 00 0 00 401423'		JRST	RENCLR		;## RETURN NIL IF FAILURE
  1449	401402'	260 14 0 00 401423'		PUSHJ	P,RENCLR	;## CLEAR CHANNEL
  1450	401403'	254 00 0 00 403764'		JRST	TRUE		;## AND RETURN T IF GOOD
  1451
  1452					REMOTE	<
  1453					RNAME:	RENAME	X,LOOKIN	;## RENAME FILE
  1454						>
  1455	401404'	260 14 0 00 401732'	DELERR:	PUSHJ	P,AIOP
  1456	401405'	260 14 0 00 401423'		PUSHJ	P,RENCLR	;## KILL THE CHANNEL
  1457	401406'	001 00 0 00 411333'		ERR1	[SIXBIT /CAN'T DELETE FILE !/]
  1458

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-36
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1459	401407'	260 14 0 00 401370'	DELETE:	PUSHJ	P,RENSUB	;## FIRST SETUP(ALLOWS DEFAULT TO DSK:)
  1460	401410'	254 00 0 00 401412'		JRST	.+2		;## ALREADY INIT'ED
  1461	401411'	260 14 0 00 000110'	DELET1:	PUSHJ	P,ININIT	;## INIT AND LOOKUP
  1462	401412'	322 01 0 00 401417'		JUMPE	A,DELET2	;## IF FILE NOT THERE IGNORE
  1463	401413'	402 00 0 00 000123'		SETZM	LOOKIN		;## BLAST FILE NAME
  1464	401414'	402 00 0 00 000124'		SETZM	EXT		;## AND EXTENSION
  1465	401415'	256 00 0 00 000102'		XCT	RNAME		;## AND RENAME OUT OF EXISTENCE
  1466	401416'	254 00 0 00 401404'		JRST	DELERR		;## RENAME FAILURE
  1467	401417'	322 06 0 00 401423'	DELET2:	JUMPE	T,RENCLR	;## DONE
  1468	401420'	202 06 0 00 000457'		MOVEM	T,DEVDAT	;## SAVE REST OF LIST FOR MSGS.
  1469	401421'	260 14 0 00 401470'		PUSHJ	P,SETINA	;## PROCESS NEXT FILE
  1470	401422'	254 00 0 00 401411'		JRST	DELET1		;## AND DO IT AGAIN
  1471
  1472	401423'	261 14 0 00 000451'	RENCLR:	PUSH	P,CHANNEL	;## CLEAR CHANNEL
  1473	401424'	474 02 0 00 000000 		SETO	B,		;## FAKE (INC RENCHANNEL T)
  1474	401425'	260 14 0 00 401575'		PUSHJ	P,IOSEL		;## RELEASE THE CHANNEL
  1475	401426'	254 00 0 00 405717'		JRST	POPAJ		;## RETURN NIL (IOSEL CHANGED THINGS)
  1476
  1477
  1478						;## TO LOOK UP A UFD FOR DIRECTORY FNS. SUBR
  1479
  1480	401427'	261 14 0 00 000001 	UFDINP:	PUSH	P,A
  1481	401430'	201 06 0 02 000000 		MOVEI	T,(B)
  1482	401431'	260 14 0 00 401277'		PUSHJ	P,TABSRC
  1483	401432'	202 01 0 00 000451'		MOVEM	A,CHANNEL	;## HAVE A CHANNEL
  1484	401433'	200 01 0 00 411337'		MOVE	A,[XWD 'DSK','UFD']
  1485	401434'	516 01 0 00 000124'		HRLZM	A,EXT
  1486	401435'	512 01 0 00 000111'		HLLZM	A,DEV
  1487	401436'	400 02 0 00 000000 		SETZ	B,
  1488	401437'	252 02 0 00 401440'		AOBJP	B,.+1		;## UFD'S SHOULD BE ON [1,1]
  1489	401440'	202 02 0 00 000126'		MOVEM	B,PPN
  1490	401441'	336 01 0 00 000006 		SKIPN	A,T
  1491	401442'	260 14 0 00 401453'		PUSHJ	P,MYPPN		;## IF B=NIL, DEFAULT TO USER'S PPN
  1492	401443'	202 01 0 00 000457'		MOVEM	A,DEVDAT
  1493	401444'	260 14 0 00 401462'		PUSHJ	P,CNVPPN	;## CONVERT PPN
  1494	401445'	400 06 0 00 000000 		SETZ	T,		;## ZAP T (NO MORE FILES)
  1495	401446'	260 14 0 00 401500'		PUSHJ	P,SETIN2	;## SETUP 
  1496	401447'	260 14 0 00 000103'		PUSHJ	P,BNINIT	;## INIT AS BINARY
  1497	401450'	322 01 0 00 400636'		JUMPE	A,ERR		;## ERR NIL IF NOT THERE
  1498	401451'	260 14 0 00 000121'		PUSHJ	P,ININBF	;## SET UP BUFFERS
  1499	401452'	254 00 0 00 405717'		JRST	POPAJ		;## RETURN CHANNEL
  1500	401453'	047 01 0 00 000024 	MYPPN:	GETPPN	A,		;## GET PPN
  1501	401454'	300 00 0 00 000000 		CAI			;## WIERD SKIP RETURN ON THIS UUO
  1502	401455'	554 03 0 00 000001 		HLRZ	C,A		;## ASSUME PPN'S ARE INUMS
  1503	401456'	551 01 0 01 577777 		HRRZI	A,INUM0(A)	;## CONVERT
  1504	401457'	260 14 0 00 403657'		PUSHJ	P,NCONS	
  1505	401460'	551 02 0 03 577777 		HRRZI	B,INUM0(C)
  1506	401461'	254 00 0 00 403660'		JRST	XCONS		;## (PROJ PRGRM)
  1507
  1508	401462'	204 01 0 01 000000 	CNVPPN:	MOVS	A,(A)		;## ASSUME PPNS INUMS
  1509	401463'	541 01 0 01 200001 		HRRI	A,-INUM0(A)	;## LH=CDR, RH=CAR
  1510	401464'	207 00 0 00 000001 		MOVSS	A		;## SWAP HALVES
  1511	401465'	544 01 0 01 000000 		HLR	A,(A)		;## RH=CADR NOW
  1512	401466'	541 01 0 01 200001 		HRRI	A,-INUM0(A)
  1513	401467'	263 14 0 00 000000 		POPJ	P,

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-37
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1514
  1515
  1516	401470'	200 01 0 00 000451'	SETINA:	MOVE	A,CHANNEL	;## FOR ROUTINES THAT PROCESS MORE
  1517	401471'	550 03 0 01 000062'		HRRZ	C,CHTAB(A)	;## AND KEEP THE CHANNEL IN CHANNEL
  1518
  1519	401472'	202 01 0 00 000451'	SETIN:	MOVEM A,CHANNEL
  1520	401473'	200 01 0 03 000001 		MOVE A,CHDEV(C)
  1521	401474'	202 01 0 00 000111'		MOVEM A,DEV
  1522	401475'	200 01 0 03 000002 		MOVE A,CHPPN(C)
  1523	401476'	202 01 0 00 000126'		MOVEM A,PPN
  1524	401477'	260 14 0 00 401203'	SETIN1:	PUSHJ P,IOSUB	;get device and file name
  1525	401500'	202 01 0 00 000123'	SETIN2:	MOVEM A,LOOKIN	;file name
  1526	401501'	200 01 0 00 000111'		MOVE A,DEV
  1527	401502'	202 01 0 00 000104'		MOVEM	A,BDEV		;## ALLOW IMAGE BINARY MODE
  1528	401503'	047 01 0 00 000004 		CALLI A,DEVCHR
  1529	401504'	607 01 0 00 000002 		TLNN A,INB
  1530	401505'	254 00 0 00 401722'		JRST AIN.2	;not input device
  1531	401506'	607 01 0 00 000040 		TLNN A,AVLB
  1532	401507'	254 00 0 00 401724'		JRST AIN.4	;not available
  1533	401510'	200 01 0 00 000451'		MOVE A,CHANNEL
  1534	401511'	137 01 0 00 411340'		DPB A,[POINT 4,ININIT,ACFLD]	;set up channel numbers
  1535	401512'	137 01 0 00 411341'		DPB A,[POINT 4,BNINIT,ACFLD]	;## FOR IMAGE BINARY
  1536	401513'	137 01 0 00 411342'		DPB A,[POINT 4,RNAME,ACFLD]	;## FOR RENAME
  1537	401514'	137 01 0 00 411343'		DPB A,[POINT 4,INLOOK,ACFLD]
  1538	401515'	137 01 0 00 411344'		DPB A,[POINT 4,ININBF,ACFLD]
  1539	401516'	513 00 0 00 000124'		HLLZS	EXT		;%% CLEAR RIGHT HALF
  1540	401517'	402 00 0 00 000125'		SETZM	LOOKIN+2	;%% CLEAR THIRD WORD
  1541	401520'	550 02 0 01 000062'		HRRZ B,CHTAB(A)
  1542	401521'	506 06 0 01 000062'		HRLM T,CHTAB(A)		;save remaining file name list
  1543	401522'	201 01 0 02 000004 		MOVEI A,CHDAT(B)
  1544	401523'	202 01 0 00 000112'		MOVEM A,DEV1		;pointer to bufdat
  1545	401524'	202 01 0 00 000105'		MOVEM	A,BDEV1		;## IMAGE BINARY MODE
  1546	401525'	263 14 0 00 000000 		POPJ	P,		;## SET UP FOR INITIALIZTION
  1547					REMOTE<
  1548					
  1549					BNINIT:	INIT	X,13		;## INIT DEVICE IN IMAGE BINARY
  1550					BDEV:	X
  1551					BDEV1:	X
  1552						JRST	AIN.7		;## CAN'T INIT
  1553						JRST	INITOK
  1554					ININIT:	INIT X,
  1555					DEV:	X
  1556					DEV1:	X
  1557						JRST AIN.7		;cant init
  1558					INITOK:	PUSH B,DEV
  1559						PUSH B,PPN
  1560					INLOOK:	LOOKUP X,LOOKIN
  1561						JRST	FALSE		;## LET SOMEONE ELSE HANDLE THE ERROR
  1562						JRST IRET1>
  1563
  1564	401526'	261 02 0 00 411345'	IRET1:	PUSH B,[0]	;oldch
  1565
  1566					IFN STPGAP,<
  1567						PUSH B,[0]	;line number
  1568						PUSH B,[0]	;page number

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-38
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1569						>
  1570
  1571	401527'	271 02 0 00 000004 		ADDI B,4
  1572	401530'	542 02 0 00 000000*		HRRM B,JOBFF
  1573	401531'	254 00 0 00 000121'		JRST	ININBF
  1574
  1575					REMOTE<
  1576					ININBF:	INBUF X,NIOB
  1577						JRST	TRUE	;## RETURN FROM GOOD LOOKUP WITH T
  1578					
  1579					
  1580					ENTR:
  1581					LOOKIN:	BLOCK 4
  1582					EXT=LOOKIN+1
  1583					PPN=LOOKIN+3	
  1584					>
  1585					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-39
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1586	401532'	260 14 0 00 401254'	OUTPUT:	PUSHJ P,CHNSUB	;get channel name
  1587	401533'	261 14 0 00 000001 		PUSH P,A
  1588	401534'	660 01 0 00 400000 		TRO A,400000	;set bit for output
  1589	401535'	260 14 0 00 401277'		PUSHJ P,TABSRC	;get physical channel nuber
  1590	401536'	402 00 0 00 000111'		SETZM	DEV	;## CLEAR DEV FOR DEFAULT TO DSK:
  1591	401537'	260 14 0 00 401203'		PUSHJ P,IOSUB	;get device and file name
  1592	401540'	202 01 0 00 000123'		MOVEM A,ENTR	;file name
  1593	401541'	513 00 0 00 000124'		HLLZS	ENTR+1	;%% CLEAR RIGHT HALF
  1594	401542'	402 00 0 00 000125'		SETZM ENTR+2	;zero creation date
  1595	401543'	200 01 0 00 000451'		MOVE A,CHANNEL
  1596	401544'	137 01 0 00 411346'		DPB A,[POINT 4,AOUT2,ACFLD]	;setup channel numbers
  1597	401545'	137 01 0 00 411347'		DPB A,[POINT 4,OUTENT,ACFLD]
  1598	401546'	137 01 0 00 411350'		DPB A,[POINT 4,OUTOBF,ACFLD]
  1599	401547'	550 02 0 01 000062'		HRRZ B,CHTAB(A)
  1600	401550'	201 01 0 02 000004 		MOVEI A,CHDAT(B)
  1601	401551'	506 01 0 00 000131'		HRLM A,AOUT3+1
  1602	401552'	200 01 0 00 000111'		MOVE A,DEV
  1603	401553'	202 01 0 00 000130'		MOVEM A,AOUT3
  1604	401554'	047 01 0 00 000004 		CALLI A,DEVCHR
  1605	401555'	607 01 0 00 000001 		TLNN A,OUTB
  1606	401556'	254 00 0 00 401722'		JRST AOUT.2	;not output device
  1607	401557'	607 01 0 00 000040 		TLNN A,AVLB
  1608	401560'	254 00 0 00 401724'		JRST AOUT.4	;not available
  1609	401561'	254 00 0 00 000127'		JRST AOUT2
  1610					REMOTE<
  1611					AOUT2:	INIT X,
  1612					AOUT3:	X
  1613						X
  1614						JRST AOUT.4	;cant init
  1615						PUSH B,DEV
  1616					OUTENT:	ENTER X,ENTR
  1617						JRST OUTERR	;cant enter
  1618						JRST ORET1>
  1619	401562'	261 02 0 00 411351'	ORET1:	PUSH B,[LPTLL]		;linelength
  1620	401563'	261 02 0 00 411351'		PUSH B,[LPTLL]		;chrct
  1621	401564'	271 02 0 00 000004 		IFE STPGAP,<	ADDI B,4>
  1622						IFN STPGAP,<	ADDI B,6>
  1623	401565'	542 02 0 00 401530*		HRRM B,JOBFF
  1624	401566'	256 00 0 00 000137'		XCT OUTOBF
  1625					REMOTE<
  1626					OUTOBF:	OUTBUF X,NIOB
  1627					>
  1628	401567'	254 00 0 00 405717'		JRST POPAJ
  1629
  1630	401570'	260 14 0 00 401732'	OUTERR:	PUSHJ P,AIOP
  1631	401571'	135 01 0 00 411352'		LDB A,[POINT 3,ENTR+1,35]
  1632	401572'	302 01 0 00 000002 		CAIE A,2
  1633	401573'	001 00 0 00 411353'		ERR1 [SIXBIT /DIRECTORY FULL !/]
  1634	401574'	001 00 0 00 411356'		ERR1 [SIXBIT /FILE IS WRITE PROTECTED !/]
  1635					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-40
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1636	401575'	200 03 0 14 777777 	IOSEL:	MOVE C,-1(P)
  1637	401576'	322 03 0 00 404014'		JUMPE C,CPOPJ	;tty 
  1638	401577'	322 02 0 00 401605'		JUMPE B,IOSELZ	;dont release
  1639	401600'	137 03 0 00 411363'	IOSEL1:	DPB C,[POINT 4,RLS,ACFLD]
  1640	401601'	256 00 0 00 000140'		XCT RLS
  1641					REMOTE<
  1642					RLS:	RELEASE X,		;release channel
  1643					>
  1644	401602'	553 00 0 03 000062'		HRRZS CHTAB(C)		;release channel table entry
  1645	401603'	202 00 1 03 000062'		MOVEM 0,@CHTAB(C)	;blast channel name
  1646	401604'	402 00 0 14 777777 		SETZM -1(P)
  1647	401605'	550 03 0 03 000062'	IOSELZ:	HRRZ C,CHTAB(C)
  1648	401606'	263 14 0 00 000000 		POPJ P,
  1649					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-41
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1650	401607'	201 01 0 00 000000 	INCNT:	MOVEI A,NIL	;(INC NIL T)
  1651	401610'	201 02 0 11 002613'		MOVEI B,TRUTH(S)
  1652
  1653	401611'	261 14 0 00 000507'	INC:	PUSH P,INCH#
  1654	401612'	260 14 0 00 401575'		PUSHJ P,IOSEL
  1655	401613'	326 02 0 00 401621'		JUMPN B,INC2	;released channel
  1656	401614'	336 00 0 00 000003 		SKIPN C
  1657	401615'	201 03 0 00 000055'		MOVEI C,TTOCH-CHOCH	;tty deselect
  1658					IFN STPGAP,<
  1659						MOVEI B,CHOCH(C)
  1660						HRLI B,OLDCH
  1661						BLT B,CHLINE(C)		;save channel data
  1662					>
  1663					IFE STPGAP,<
  1664	401616'	200 02 0 00 000044'		MOVE B,OLDCH
  1665	401617'	202 02 0 03 000003 		MOVEM B,CHOCH(C)
  1666					>
  1667	401620'	254 00 0 00 401622'		JRST	INC2+1
  1668	401621'	402 00 0 00 000507'	INC2:	SETZM	INCH		;CLEAR CHANNEL NOW IN CASE OF BREAK
  1669	401622'	322 01 0 00 401651'		JUMPE A,ITTYRE		;select tty
  1670	401623'	200 02 0 00 000001 		MOVE B,A
  1671	401624'	260 14 0 00 401270'		PUSHJ P,TABSR1		;determine physical channel number
  1672	401625'	322 01 0 00 411367'		JUMPE A,[ERR1 [SIXBIT/NO INPUT - INC!/]]
  1673	401626'	552 01 0 00 000507'		HRRZM A,INCH
  1674	401627'	137 01 0 00 411370'		DPB A,[POINT 4,TYI2X,ACFLD]	;set up channel numbers
  1675	401630'	137 01 0 00 411371'		DPB A,[POINT 4,TYI2Y,ACFLD]
  1676	401631'	137 01 0 00 411372'		DPB A,[POINT 4,TYI2Z,ACFLD]
  1677	401632'	550 01 0 01 000062'		HRRZ A,CHTAB(A)
  1678	401633'	201 06 0 01 000006 		MOVEI T,COUNT(A)
  1679	401634'	505 06 0 00 377000 		HRLI T,(SOSG)
  1680	401635'	201 02 0 01 000005 		MOVEI B,POINTR(A)
  1681	401636'	542 02 0 00 000601'		HRRM B,TYI3	;set up tyi parameters
  1682	401637'	542 02 0 00 000035'		HRRM B,TYI3A
  1683	401640'				INC3:
  1684					IFN STPGAP,<
  1685						MOVSI B,CHOCH(A)
  1686						HRRI B,OLDCH
  1687						BLT B,LINUM	;restore channel data
  1688					>
  1689					IFE STPGAP,<
  1690	401640'	200 02 0 01 000003 		MOVE B,CHOCH(A)
  1691	401641'	202 02 0 00 000044'		MOVEM B,OLDCH
  1692					>
  1693	401642'	202 06 0 00 000034'		MOVEM T,TYI2
  1694	401643'	262 14 0 00 000001 	IOEND:	POP P,A
  1695	401644'	322 01 0 00 404014'		JUMPE A,CPOPJ
  1696	401645'	200 01 0 01 000062'		MOVE A,CHTAB(A)	;get channel name
  1697	401646'	550 01 0 01 000000 		HRRZ A,(A)
  1698	401647'	620 01 0 00 400000 		TRZ A,400000	;clear output bit
  1699	401650'	263 14 0 00 000000 		POPJ P,
  1700
  1701	401651'	402 00 0 00 000507'	ITTYRE:	SETZM INCH
  1702	401652'	200 06 0 00 411373'		MOVE T,[JRST TTYI]	;reselect tty
  1703	401653'	201 01 0 00 000055'		MOVEI A,TTOCH-CHOCH
  1704	401654'	254 00 0 00 401640'		JRST INC3

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-42
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1705					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-43
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1706	401655'	201 01 0 00 000000 	OUTCNT:	MOVEI A,0	;(outc nil t)
  1707	401656'	201 02 0 00 000001 		MOVEI B,1
  1708
  1709	401657'	261 14 0 00 000541'	OUTC:	PUSH P,OUTCH#
  1710	401660'	260 14 0 00 401575'		PUSHJ P,IOSEL
  1711	401661'	326 02 0 00 401671'		JUMPN B,OUTC2	;closed this file
  1712	401662'	336 00 0 00 000003 			SKIPN C
  1713	401663'	201 03 0 00 000057'		MOVEI C,TTOLL-CHLL	;tty deselect
  1714	401664'	200 02 0 00 000056'		MOVE B,CHCT
  1715	401665'	202 02 0 03 000003 		MOVEM B,CHHP(C)		;save channel data
  1716	401666'	200 02 0 00 000055'		MOVE B,LINL
  1717	401667'	202 02 0 03 000002 		MOVEM B,CHLL(C)
  1718	401670'	254 00 0 00 401672'		JRST	OUTC2+1
  1719	401671'	402 00 0 00 000541'	OUTC2:	SETZM	OUTCH		;CLEAR CHANNEL NOW IN CASE OF BREAK
  1720	401672'	322 01 0 00 401714'		JUMPE A,OTTYRE		;return to tty
  1721	401673'	660 01 0 00 400000 		TRO A,400000		;set output bit
  1722	401674'	200 02 0 00 000001 		MOVE B,A
  1723	401675'	260 14 0 00 401270'		PUSHJ P,TABSR1		;determine physical channel number
  1724	401676'	322 01 0 00 411377'		JUMPE A,[ERR1 [SIXBIT /NO OUTPUT - OUTC!/]]
  1725	401677'	137 01 0 00 411400'		DPB A,[POINT 4,TYO2X,ACFLD]	;set up tyo2 channel numbers
  1726	401700'	552 01 0 00 000541'		HRRZM A,OUTCH
  1727	401701'	550 01 0 01 000062'		HRRZ A,CHTAB(A)
  1728	401702'	201 02 0 01 000005 		MOVEI B,POINTR(A)
  1729	401703'	542 02 0 00 000050'		HRRM B,TYO5	;set up tyo2 parameters
  1730	401704'	201 06 0 01 000006 		MOVEI T,COUNT(A)
  1731	401705'	505 06 0 00 377000 		HRLI T,(SOSG)
  1732	401706'	200 02 0 01 000002 	OUTC3:	MOVE B,CHLL(A)
  1733	401707'	202 02 0 00 000055'		MOVEM B,LINL
  1734	401710'	200 02 0 01 000003 		MOVE B,CHHP(A)
  1735	401711'	202 02 0 00 000056'		MOVEM B,CHCT
  1736	401712'	202 06 0 00 000046'		MOVEM T,TYOD
  1737	401713'	254 00 0 00 401643'		JRST IOEND
  1738
  1739	401714'	402 00 0 00 000541'	OTTYRE:	SETZM OUTCH
  1740	401715'	200 06 0 00 411160'		MOVE T,[JRST TTYO]
  1741	401716'	201 01 0 00 000057'		MOVEI A,TTOLL-CHLL	;tty reselect
  1742	401717'	254 00 0 00 401706'		JRST OUTC3
  1743					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-44
UCILSP	MAC	27-MAR-75 17:13		INPUT AND OUTPUT INITIALIZATION AND CONTROL 

  1744	401720'	260 14 0 00 401732'	AIN.1:	PUSHJ P,AIOP
  1745	401721'	001 00 0 00 411401'		ERR1 [SIXBIT $ILLEGAL I/O ARG!$]
  1746	401722'				AOUT.2:
  1747	401722'	260 14 0 00 401732'	AIN.2:	PUSHJ P,AIOP
  1748	401723'	001 00 0 00 411404'		ERR1 [SIXBIT /ILLEGAL DEVICE!/]
  1749	401724'				AOUT.4:
  1750	401724'	260 14 0 00 401732'	AIN.4:	PUSHJ P,AIOP
  1751	401725'	001 00 0 00 411407'		ERR1 [SIXBIT /DEVICE NOT AVAILABLE !/]
  1752	401726'	260 14 0 00 401732'	AIN.7:	PUSHJ P,AIOP
  1753	401727'	001 00 0 00 411413'		ERR1 [SIXBIT /CAN'T FIND FILE - INPUT!/]
  1754
  1755	401730'	51 56 60 65 64 00 		AIN.8:	SIXBIT /INPUT ERROR!/
  1756	401731'	45 62 62 57 62 01 
  1757
  1758	401732'	200 01 0 00 000457'	AIOP:	MOVE A,DEVDAT
  1759	401733'	254 00 0 00 402322'		JRST EPRINT
  1760						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-45
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  1761						SUBTTL	QMANGR INTERFACE
  1762
  1763					;## 	CODE TO ALLOW LISP USER'S TO CALL DEC'S  QMANGR, ALLOWING
  1764					;## 	PRINTING OF FILES AND CREATION OF JOBS
  1765					;## 	SCANS ARG LIST SETTING UP THE APPROPRIATE PARAMETERS. IT
  1766					;## 	SAVE THE PDLS, SWAPS HI-SEGS FOR SYS:QMANGR AND
  1767					;## 	DOES A PUSHJ TO 400010. IT ALSO CHANGES JOBREN SO
  1768					;## 	THAT THE USER CAN RECOVER IN CASE OF QMANGR ERRORS.
  1769					;## 	ST WILL ALSO STILL WORK. REG 17 (SP) IS USED AS QMANGR'S
  1770					;## 	PDL. CORE IS CONTRACTED AFTER RETURN FROM QMANGR AND QUEUE
  1771					;## 	RESTORES APPROPRIATE REGS AND RETURNS NIL. ALTHOUGH
  1772					;## 	CODE FOR EXTENDED SWITCHES IS INCLUDED, MOST OF
  1773					;## 	IT IS TURNED OFF. USE AT YOUR OWN RISK. NOTE THAT
  1774					;## 	/LIST, /AFTER AND /DEAD REQUIRE SPECIAL CODE
  1775					;## 	THAT IS NOT INCLUDED. SEE APPROPRIATE
  1776					;## 	DEC DOCUMENTATION FOR FURTHER INFO. 6/12/73
  1777
  1778
  1779					IFN QALLOW <
  1780						IFNDEF	QSWEXT	<QSWEXT=0>	;## IF NOT DEFINED THEN DEFAULT IS NO EXTENDED 
  1781			000005			IFE	QSWEXT	<NSWS==QTABL1>;## NUMBER OF ALLOWED SWITCHES
  1782						IFN	QSWEXT	<NSWS==QTABL2>;## LENGTH OF EXTENDED TABLE
  1783						IFNDEF	QLSTOK	<QLSTOK==0>
  1784						IFNDEF	QTIME	<QTIME==0>
  1785
  1786
  1787						;%% THE FOLLOWING CODE IS AN ILLUSTRATION OF HOW
  1788						;%% EASY IT IS TO LOSE TRYING TO INTERFACE TO
  1789						;%% DEC SOFTWARE.  THE FOLLOWING DEFINITIONS ALLOW
  1790						;%% TOO FEW WORDS FOR THE CURRENT FILE PARAMETER 
  1791						;%% AREA; SEE THE DEFINITIONS AS COPIED FROM
  1792						;%% THE QMANGR SOURCE BELOW.
  1793						COMMENT &
  1794						INPPAR==32	;## NUMBER OF WORDS IN INP AREA FOR INPUT REQUEST
  1795						OUTPAR==24	;## NUMBER WORDS IN MAIN AREA FOR OUTPUT REQUEST
  1796						DIFPAR==INPPAR-OUTPAR	;##  DIFFERENCE IN LENGTHS FOR MAIN AREA TYPES
  1797						FILPAR==14	;## NUMBER WORDS IN FILE PARAMTER AREA
  1798
  1799
  1800
  1801
  1802								;## LOCATIONS IN PARAMETER AREAS
  1803						;## MAIN AREA
  1804						Q.MEM==0		;## MEMORY FOR QMANGR
  1805						Q.OPR==1		;## REQUESTED OPERATION
  1806						Q.LEN==2		;## RH=NUMBER OF FILES IN REQUEST
  1807						Q.DEV==3		;## REQUESTED QUEUE
  1808						Q.PPN==4		;## PPN REQUESTING
  1809						Q.JOB==5		;## JOB NAME
  1810						Q.SEQ==6		;## JOB SEQUENCE #
  1811						Q.PRI==7		;## EXTERNAL PRIORITY
  1812						Q.PDEV==10		;## 
  1813						Q.TIME==11		;## 
  1814						Q.CREA==12		;## 
  1815						Q.AFTR==13		;## AFTER PARAMETER

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-46
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  1816						Q.DEAD==14		;## DEADLINE PARAMETER
  1817						Q.CNO==15
  1818						Q.USER==16		;## AND 17
  1819						;## INPUT SECTION OF MAIN PARAMETER AREA
  1820						Q.IDEP==20			;## RESTART AND DEPENDENCY PARAMTERS
  1821						Q.ILIM==21		;## CORE AND CPU, +1 IS LPT LIMIT AND CDP LIMIT
  1822									;## +2 IS PTP LIMIT AND PLOT LIMIT
  1823						Q.IDDI==24		;## THRU 31
  1824						Q.IEND==31		;## LAST LOC OF INP AREA
  1825						;## OUTPUT SEECTION OF MAIN PARAMETER AREA
  1826						Q.OFRM==20		;## FORM PARAMTER
  1827						Q.OSIZ==21		;## LH=LIMIT
  1828						Q.ONOT==22
  1829						Q.OEND==23		;## LAST LOC OF OUTPUT AREA
  1830						;## FILE PARAMETER AREA (ONE FOR EACH FILE)
  1831						Q.FSTR==0		;## FILE STRUCTURE
  1832						Q.FDIR==1		;## THRU 6, DIRECTORY
  1833						Q.FNAM==7		;## FILE NAME
  1834						Q.FEXT==10		;## FILE EXTENSION
  1835						Q.FRNM==11		;## RENAME NAME (0)
  1836						Q.FBIT==12	
  1837						Q.FMOD==13		;## SPACING, FILE DISPOSAL, COPIES
  1838						&			;%% END OF DELETED DEFINITIONS
  1839
  1840						;%% THE FOLLOWING ARE AS COPIED FROM QMANGR (VERSION 34)
  1841						;%% ON 24 OCTOBER 1973
  1842
  1843			401734'			QDEFST==.		;%% WHERE TO RELOC TO AFTERWARDS
  1844	000000'					RELOC	0		;%% TO SAVE CORE AND AVOID CONFUSION
  1845									;%% COMMENTS BELOW ARE AS COPIED 
  1846									;%% FROM QMANGR
  1847	000000					PHASE	0
  1848	000000				Q.ZER:!			;START OF QUEUE PARAMETER AREA
  1849	000000				Q.MEM:!	 BLOCK	1	;HOLD XWD WINDOW BLOCK,WINDOW WORD INDEX
  1850	000001				Q.OPR:!	 BLOCK	1	;OPERATION CODE
  1851			000001		    QO.CRE==1		;CREATION OPERATION
  1852			000004		    QO.LST==4		;LIST OPERATION
  1853			000005		    QO.MOD==5		;MODIFY OPERATION
  1854			000006		    QO.KIL==6		;KILL OPERATION
  1855			000010		    QO.DEL==10		;DELETE OPERATION
  1856			000011		    QO.REQ==11		;REQUEUE OPERATION
  1857			000012		    QO.FLS==12		;FAST LIST OPERATION
  1858	000002				Q.LEN:!	 BLOCK	1	;LENGTHS IN AREA
  1859	000003				Q.DEV:!	 BLOCK	1	;DESTINATION DEVICE
  1860	000004				Q.PPN:!	 BLOCK	1	;PPN ORIGINATING REQUEST
  1861	000005				Q.JOB:!	 BLOCK	1	;JOB NAME
  1862	000006				Q.SEQ:!	 BLOCK	1	;JOB SEQUENCE NUMBER
  1863	000007				Q.PRI:!	 BLOCK	1	;EXTERNAL PRIORITY
  1864	000010				Q.PDEV:! BLOCK	1	;PROCESSING DEVICE
  1865	000011				Q.TIME:! BLOCK	1	;PROCESSING TIME OF DAY
  1866	000012				Q.CREA:! BLOCK	1	;CREATION TIME
  1867	000013				Q.AFTR:! BLOCK	1	;AFTER PARAMETER
  1868	000014				Q.DEAD:! BLOCK	1	;DEADLINE TIMES
  1869	000015				Q.CNO:!	 BLOCK	1	;CHARGE NUMBER
  1870	000016				Q.USER:! BLOCK	2	;USER'S NAME

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-47
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  1871
  1872	000020				Q.I:!			;START OF INPUT QUEUE AREA
  1873	000020				Q.IDEP:! BLOCK	1	;DEPENDENCY WORD
  1874	000021				Q.ILIM:! BLOCK	3	;JOB LIMITS
  1875	000024				Q.IL:!			;END OF AREA NEEDED TO READ FOR MASTER QUEUE
  1876	000024				Q.IDDI:! BLOCK	6	;JOB'S DIRECTORY
  1877	000032				Q.II:!			;START OF INPUT FILES AREA
  1878
  1879	000020					PHASE	Q.I
  1880	000020				Q.O:!			;START OF OUTPUT QUEUE AREA
  1881	000020				Q.OFRM:! BLOCK	1	;FORMS REQUEST
  1882	000021				Q.OSIZ:! BLOCK	1	;LIMIT WORD
  1883	000022				Q.OL:!			;END OF AREA NEEDED TO READ FOR MASTER QUEUE
  1884	000022				Q.ONOT:! BLOCK	2	;ANNOTATION
  1885	000024				Q.FF:!
  1886	000000					PHASE	0
  1887	000000				Q.F:!			;DUPLICATED AREA FOR EACH REQUESTED FILE
  1888	000000				Q.FSTR:! BLOCK	1	;FILE STRUCTURE
  1889	000001				Q.FDIR:! BLOCK	6	;ORIGINAL DIRECTORY
  1890	000007				Q.FNAM:! BLOCK	1	;ORIGINAL NAME
  1891	000010				Q.FEXT:! BLOCK	1	;ORIGINAL EXTENSION
  1892	000011				Q.FRNM:! BLOCK	1	;RENAMED FILE NAME (0 IF NOT)
  1893	000012				Q.FBIT:! BLOCK	1	;BIT 0=PRESERVED BY QUEUE, REST=STARTING BIT
  1894	000013				Q.FMOD:! BLOCK	1	;FILE SWITCHES
  1895		200000	000000		X.LOG==1B1	;FILE IS LOG FILE
  1896		100000	000000		X.NEW==1B2	;OK IF FILE DOESNT EXIST YET
  1897	000014				Q.FRPT:!BLOCK	2		;/REPORT
  1898
  1899			000016		Q.FLEN==.-Q.F
  1900	000054'					DEPHASE
  1901	000000					PHASE	0
  1902	000000				Q.FDRM:! BLOCK	6	;DIRECTORY MASK FOR MODIFY
  1903	000006				Q.FNMM:! BLOCK	1	;FILE NAME MASK FOR MODIFY
  1904	000007				Q.FEXM:! BLOCK	1	;EXTENSION MASK FOR MODIFY
  1905	000010				Q.FMDM:! BLOCK	1	;MODIFIER MASK FOR MODIFY
  1906			000011		Q.FMLN==.-Q.F	;LENGTH OF MODIFY BLOCK
  1907
  1908	000065'					DEPHASE
  1909	401734'					RELOC	QDEFST		;%% MAKE UP FOR INCREASE IN LOCATION 
  1910									;%% COUNTER
  1911
  1912			000032			INPPAR==Q.II		;%% SIZE OF MINIMUM INPUT AREA
  1913			000024			OUTPAR==Q.FF		;%% SIZE OF MINIMUM OUTPUT AREA
  1914			000023			OUTPR1==OUTPAR-1	;%% MACRO DOESN'T LIKE EXPRESSIONS
  1915			000006			DIFPAR==INPPAR-OUTPAR	;%% DIFFERENCE IN AREAS
  1916			000016			FILPAR==Q.FLEN		;%% FILE DATA AREA
  1917			000156			LOWLEN==^D110		;## AREA NEED FOR PARAMETER
  1918									;## AREA TO QMANGR
  1919			023016			LHLEN==OUTPR1*1B26+FILPAR ;## LH OF Q.LEN DEFAULTS
  1920			000006			NQS==6			;## NUMBER OF QUEUES
  1921
  1922
  1923							;## QUEUE ERRORS
  1924
  1925	401734'	554 01 0 06 000000 	QILLSW:	HLRZ	A,(T)		;## GET SWITCH THAT  CAUSED ERROR

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-48
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  1926	401735'	260 14 0 00 402327'		PUSHJ	P,PRINT
  1927	401736'	004 00 0 00 411417'		STRTIP	[SIXBIT /  =ILL. SWITCH SPEC.!/]
  1928	401737'	260 14 0 00 402276'		PUSHJ	P,CONCOR	;## SAVE THAT CORE
  1929	401740'	001 00 0 00 411423'	QERR1:	ERR1	[SIXBIT /ERROR IN QUEUE REQUEST!/]
  1930
  1931
  1932
  1933	401741'	336 06 0 00 000001 	QUEUE:	SKIPN	T,A		;## ERROR IF NO ARGS
  1934	401742'	254 00 0 00 401740'		JRST	QERR1
  1935	401743'	260 14 0 00 401175'		PUSHJ	P,DEVCHK	;## SEE IF QUEUE SPECIFIED
  1936	401744'	322 01 0 00 401766'		JUMPE	A,NOQUE		;## IF A=0 THEN NOT A QUEUE
  1937	401745'	322 02 0 00 401766'		JUMPE	B,NOQUE		;## IF B=0 THEN NOT A QUEUE
  1938	401746'	200 05 0 00 000001 		MOVE	AR2A,A
  1939	401747'	554 02 0 00 000001 		HLRZ	B,A		;## GET FIRST THREEE LETTERS
  1940	401750'	201 03 0 00 000006 		MOVEI	C,NQS		;## GET NUMBER OF PERMISSIBLE QUEUES
  1941	401751'	361 03 0 00 401766'		SOJL	C,NOQUE		;## IF EXHAUSTED TABLE, THEN  NO QUEUE
  1942	401752'	200 01 0 03 401755'		MOVE	A,QSTABL(C)	;## PERMISSIBLE QUEUES
  1943	401753'	265 13 0 00 402317'		JSP	R,CHKGO		;## JUMP TO ROUTINE THAT COMPARES RH AND GO
  1944									;## TO LH OF A IFF RH(A)=B
  1945	401754'	254 00 0 00 401751'		JRST	.-3		;## LOOP
  1946
  1947
  1948
  1949						;## TABLE OF PERMISSIBLE QUEUES AND WHERE TO GO ON EACH
  1950
  1951	401755'	401764'	515660		QSTABL:	XWD	INPREQ, 'INP'
  1952	401756'	401763'	546064			XWD	OUTREQ,	'LPT'
  1953	401757'	401763'	606460			XWD	OUTREQ,	'PTP'
  1954	401760'	401763'	606460			XWD	OUTREQ,	'PTP'
  1955	401761'	401763'	434460			XWD	OUTREQ,	'CDP'
  1956	401762'	401763'	605464			XWD	OUTREQ,	'PLT'
  1957
  1958	401763'	634 01 0 00 000001 	OUTREQ:	TDZA	A,A		;## HERE TO PROCESS OUTPUT REQUEST(CLEAR A)
  1959	401764'	201 01 0 00 000006 	INPREQ:	MOVEI	A,DIFPAR	;## HERE TO PROCESS INPUT REQUEST
  1960	401765'	254 00 0 00 401770'		JRST	QGOOD		;## FOUND A QUEUE
  1961	401766'	205 05 0 00 546064 	NOQUE:	MOVSI	AR2A,'LPT'	;## HERE IF NO QUEUE, DEFAULT=LPT
  1962	401767'	634 01 0 00 000001 		TDZA	A,A		;## CLEAR A AND SKIP
  1963	401770'	550 06 0 06 000000 	QGOOD:	HRRZ	T,(T)		;## HERE IF QUEUE SPECIFIED
  1964	401771'	271 01 0 00 000024 		ADDI	A,OUTPAR	;## A IS ZERO OR INPPAR
  1965	401772'	261 14 0 00 000002 	QSETUP:	PUSH	P,B		;## B CONTAINS THREE LETTERS(OR BLANK). SAVE IT
  1966	401773'	515 07 0 01 000000 		HRLZI	TT,(A)		;## SAVE LNENGTH OF AREA
  1967	401774'	260 14 0 00 402271'		PUSHJ	P,TEMCOR	;## EXPAND CORE
  1968	401775'	541 07 0 01 000000 		HRRI	TT,(A)		;## START ADDR OF MAIN AREA
  1969	401776'	200 01 0 00 000007 		MOVE	A,TT
  1970	401777'	260 14 0 00 402310'		PUSHJ	P,CLRBLK	;## CLEAR AREA
  1971	402000'	202 05 0 07 000003 		MOVEM	AR2A,Q.DEV(TT)
  1972	402001'	201 03 0 00 023016 		MOVEI	C,LHLEN		;## GET LENGTHS FOR HEADER AND FILE AREAS
  1973	402002'	200 01 0 00 411427'		MOVE	A,[XWD 500,500]
  1974	402003'	516 01 0 07 000021 		HRLZM	A,Q.OSIZ(TT)	;## ASSUME OUTPUT HERE
  1975	402004'	262 14 0 00 000002 		POP	P,B		;## RESTORE LEFT THREE LETTERS
  1976	402005'	302 02 0 00 515660 		CAIE	B,'INP'		;## WAS IT AN INPUT REQUEST?
  1977	402006'	254 00 0 00 402016'		JRST	QUEUE1		;## NO SHOULD  BE OK
  1978	402007'	271 03 0 00 006000 		ADDI	C,DIFPAR_9	;## UPDATE HEADER LENGTH
  1979	402010'	202 01 0 07 000022 		MOVEM	A,Q.ILIM+1(TT)	;## MAX PAGES AND CARD PUNCH
  1980	402011'	202 01 0 07 000023 		MOVEM	A,Q.ILIM+2(TT)	;## MAX PAPER TAPE AND  PLOTTER

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-49
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  1981	402012'	505 01 0 00 000400 		HRLI	A,^D256
  1982	402013'	202 01 0 07 000021 		MOVEM	A,Q.ILIM(TT)	;## MAX CORE AND CPU(CORMAX MAY HAVE TO BE
  1983									;##  CHECKED HERE)
  1984	402014'	205 01 0 00 400000 		MOVSI	A,400000	;## SET BIT 0 FOR NOT RESTARTABLE
  1985	402015'	512 01 0 07 000020 		HLLZM	A,Q.IDEP(TT)	;## NOT RESTARTABLE(NO DEPEND OR UNIQUENESS)
  1986	402016'	206 03 0 07 000002 	QUEUE1:	MOVSM	C,Q.LEN(TT)	;## SET HEADER AND FILE AREA LENGTHS
  1987	402017'	047 01 0 00 000024 		GETPPN	A,		;## SET REQUESTING PPN
  1988	402020'	300 00 0 00 000000 		CAI			;## WEIRD SKIP RETURN ON THIS UUO
  1989	402021'	202 01 0 07 000004 		MOVEM	A,Q.PPN(TT)
  1990	402022'	400 10 0 00 000000 		SETZ	REL,		;## CLEAR REG FOR FILE AREA
  1991	402023'	201 01 0 00 000020 		MOVEI	A,20	;## PRIORITY DEFAULT
  1992	402024'	202 01 0 07 000007 		MOVEM	A,Q.PRI(TT)
  1993	402025'	354 00 0 07 000001 		AOSA	Q.OPR(TT)	;## SET DEFAULT FOR REQUEST TYPE=/CREATE
  1994						;##  BASIC LOOP FOR HANDLING THE SWITCHES
  1995
  1996	402026'	550 06 0 06 000000 	QLOOP:	HRRZ	T,(T)		;## HERE IF ROUTINE DID NOT MOVE ARG 
  1997	402027'	322 06 0 00 402211'	QSELF:	JUMPE	T,QDONE
  1998	402030'	260 14 0 00 401175'		PUSHJ	P,DEVCHK	;## SEE IF DEVICE OR ATOMIC FILE NAME?
  1999	402031'	326 02 0 00 402133'		JUMPN	B,QFILEA	;## IF B#0 THEN DEVICE
  2000	402032'	326 01 0 00 402136'		JUMPN	A,QFILE		;## IF A#0 THEN ATOMIC FILE
  2001	402033'	554 03 0 06 000000 		HLRZ	C,(T)		;## WELL, SEE IF SWITCH
  2002	402034'	550 01 0 03 000000 		HRRZ	A,(C)		;## CDAR
  2003	402035'	260 14 0 00 403701'		PUSHJ	P,ATOM		;## ATOM?
  2004	402036'	326 01 0 00 402136'		JUMPN	A,QFILE		;## YES, THEREFORE(FILE.EXT)
  2005	402037'	554 02 0 03 000000 		HLRZ	B,(C)		;## CAAR
  2006	402040'	275 02 0 11 000000 		SUBI	B,(S)		;## STRIP OFF RELOCATION
  2007	402041'	551 03 0 00 000005 		HRRZI	C,NSWS		;## GET NUMBER OF SWITCHES
  2008	402042'	361 03 0 00 402136'	QLOOP1:	SOJL	C,QFILE		;## IF NO SWITCH, GO QFILE
  2009	402043'	200 01 0 03 402046'		MOVE	A,QTABLE(C)	;## GET MEMBER OF TABLE
  2010	402044'	265 13 0 00 402317'		JSP	R,CHKGO
  2011	402045'	254 00 0 00 402042'		JRST	.-3		;## LOOP
  2012
  2013
  2014						;## DISPATCH TABLE FOR SWITCHES
  2015
  2016	402046'				QTABLE:
  2017	000001					PHASE 1
  2018	000001	402070'	003276'			XWD	QCOPIE,COPIES	;## /COPIES
  2019	000002	402053'	003262'			XWD	QCPU,CPU	;## /CPU
  2020	000003	402055'	003266'			XWD	QFORMS,FORMS	;## /FORMS
  2021	000004	402061'	003272'			XWD	QLIMIT,LIMIT	;## /LIMIT
  2022	000005	402073'	003256'		QTABL1:	XWD	QDISP,DISP	;## /DISP (FILE DISPOSITION)
  2023
  2024						;## EXTENDED SWITCHES
  2025
  2026					IFN QSWEXT   <
  2027						IFE QLSTOK	<XWD QILLSW, LISTAT>
  2028						IFN QLSTOK	<XWD QLIST, LISTAT>
  2029					
  2030						IFE QTIME <
  2031						XWD	QILLSW,AFTER	;## /AFTER ILLEGAL (SEE ABOVE)
  2032						XWD	QILLSW,DEAD	;## /DEAD (DEADLINE)
  2033							>
  2034					
  2035						IFN QTIME <

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-50
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  2036						XWD	QAFTR,AFTER
  2037						XWD	QDEAD,DEAD
  2038							>
  2039						XWD	QCORE,COREAT
  2040						XWD	QMOD,MODIFY	;## /MODIFY
  2041						XWD	QKILL,KILL	;## /KILL
  2042						XWD	QJOB,JOB	;## /JOB
  2043						XWD	QDEPND,DEPEND	;## /DEPEND
  2044						XWD	QRSTR,RSTRT	;## /RESTART
  2045						XWD	QUNIQ,UNIQUE	;## /UNIQUE
  2046						XWD	QCORE,COREAT	;## /COREE
  2047						XWD	QPAGES,PAGES	;## /PAGES
  2048						XWD	QPLOT,PLOT	;## /PLOT
  2049						XWD	QPTAPE,PTAPE	;## /PTAPE
  2050						XWD	QCARDS,CARDS	;## /CARDS
  2051						XWD	QSEQ,SEQ	;## /SEQ
  2052						XWD	QPRIOR,PRIOR	;## /PRIOR (PRIORITY)
  2053						XWD	QSPACE,SPACE	;## /SPACE (SPACING)
  2054						XWD	QLIMIT,LIMIT	;## /LIMIT
  2055					QTABL2:	XWD	QHEAD,HEAD	;## /HEAD (HEADERS)
  2056						>
  2057	402053'					DEPHASE
  2058
  2059						;##  DISPATCHING THE VARIOUS SWITCHES
  2060
  2061					IFN QSWEXT <QLIST:	HRRZI	A,4		;## HERE FOR LIST REQUEST
  2062						CAIA
  2063					QMOD:	HRRZI	A, 5		;## /MODIFY
  2064						CAIA
  2065					QKILL:	HRRZI	A, 6		;## /KILL
  2066						HRRZM	A, Q.OPR(TT)
  2067						JRST	QLOOP
  2068						>
  2069
  2070						;##  INPUT QUEUE ONLY SWITCHES
  2071						;##  PUTS BYTE POINTER INTO  B  AND  THEN CHECKS TO SEE  IF SWITCH VALID IN
  2072						;##  THIS CONTEXT (I.E. ARE WE PROCESSING AN INPUT REQUEST?)
  2073						;##  IF NOT VALID, SKIPS THE SWITCH(MAY BE CHANGED LATER)
  2074
  2075					IFN QSWEXT <
  2076					QPLOT:	JSP	R,RINPCH
  2077						AOJA	B, QCARD+1
  2078					QPTAPE:	JSP	R, LINPCH
  2079						AOJA	B, .+4
  2080					QCARDS:	JSP	R, RINPCH
  2081						AOJA	B, .+4
  2082					QPAGES:	JSP	R, LINPCH
  2083						AOJA	B, .+4
  2084						>
  2085
  2086	402053'	265 13 0 00 402121'	QCPU:	JSP	R, RINPCH
  2087	402054'	344 02 0 00 402114'		AOJA	B,QARG
  2088
  2089
  2090					IFN QSWEXT <

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-51
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  2091					QCORE:	JSP	R, LINPCH
  2092						AOJA	B,QARG
  2093					QDEPND:	JSP	R, RINPCH
  2094						JRST	QARG
  2095						>
  2096
  2097								;##  OUTPUT  QUEUE ONLY  SWITCHES
  2098	402055'	265 13 0 00 402064'	QFORMS:	JSP	R, OUTCHK
  2099	402056'	261 14 0 00 402305'		PUSH	P,QSXARG	;## CONVERT ARG TO SIXBIT
  2100	402057'	202 01 0 07 000020 		MOVEM	A, Q.OFRM(TT)	;## MAKE SIXBIT IF FORMS
  2101	402060'	254 00 0 00 402026'		JRST	QLOOP
  2102	402061'	265 13 0 00 402064'	QLIMIT:	JSP	R, OUTCHK
  2103	402062'	200 02 0 00 402126'		MOVE	B,LINP
  2104	402063'	344 02 0 00 402114'		AOJA	B,QARG
  2105
  2106	402064'	554 01 0 07 000003 	OUTCHK:	HLRZ	A,Q.DEV(TT)	;## GET REQUEST TYPE (THREE LETTERS)
  2107	402065'	302 01 0 00 515660 		CAIE	A,'INP'		;## ERROR IF INPUT REQUEST
  2108	402066'	254 00 0 13 000000 		JRST	(R)
  2109	402067'	254 00 0 00 401734'		JRST	QILLSW
  2110
  2111	402070'	265 13 0 00 402130'	QCOPIE:	JSP	R, FILECH	;## CHECK IF WE HAVE SET UP A FILE AREA
  2112	402071'	200 02 0 00 411430'		MOVE	B,[POINT 6,Q.FMOD(REL),35]	;## BYTE POINTER
  2113	402072'	254 00 0 00 402114'		JRST	QARG
  2114
  2115
  2116							;## FOR DISPOSITION, 1=PRESERVE,  2=RENAME, 3=DELETE,
  2117							;## FIRST THREE LETTERS OF ARG TO SWITCH   UNIQUELY  IDENTIFY
  2118							;## ILLEGAL ARG CAUSES ERROR
  2119	402073'	265 13 0 00 402130'	QDISP:	JSP	R,FILECH	;## BE SURE FILE AREA SET UP
  2120	402074'	260 14 0 00 402305'		PUSHJ	P,QSXARG	;## MAKE ARG SIXBIT
  2121	402075'	554 03 0 00 000001 		HLRZ	C,A		;## GET FIRST THREE LETTERS
  2122	402076'	400 01 0 00 000000 		SETZ	A,		;## CLEAR A
  2123	402077'	306 03 0 00 444554 		CAIN	C,'DEL'		;## DELETE AFTER OUTPUT!
  2124	402100'	344 01 0 00 402102'		AOJA	A,.+2		;## YES!
  2125	402101'	306 03 0 00 624556 		CAIN	C,'REN'	;## RENAME FILE OUT OF UFD?
  2126	402102'	344 01 0 00 402105'		AOJA	A,.+3
  2127	402103'	302 03 0 00 606245 		CAIE	C,'PRE'		;## PRESERVE IT
  2128	402104'	254 00 0 00 401734'		JRST	QILLSW		;## HERE IF BAD ARGUMENT
  2129	402105'	271 01 0 00 000001 		ADDI	A,1
  2130	402106'	200 02 0 00 411431'		MOVE	B, [POINT 3, Q.FMOD(REL), 29]
  2131	402107'	254 00 0 00 402115'		JRST	QARG+1		;## ARG ALREADY IN A
  2132									;## HERE WHEN SWITCH DETERMINED AND BITE POINTER IN B
  2133	402110'	201 01 0 06 000000 	QGTARG:	MOVEI	A,(T)
  2134	402111'	260 14 0 00 403602'		PUSHJ	P,CADAR
  2135	402112'	275 01 0 00 577777 		SUBI	A,INUM0		;## ARG SHOULD BE AN INUM
  2136	402113'	263 14 0 00 000000 		POPJ	P,
  2137	402114'	260 14 0 00 402110'	QARG:	PUSHJ	P,QGTARG	;## GET ARGUMENT
  2138	402115'	137 01 0 00 000002 		DPB	A,B		;## 
  2139	402116'	254 00 0 00 402026'		JRST	QLOOP		;## ALWAYS RETURN TO QLOOP
  2140
  2141								;## HERE TO SEE IF INP QUEUE FOR EXTENDED PART OF MAIN AREA
  2142
  2143	402117'	200 02 0 00 402126'	LINPCH:	MOVE	B,LINP		;## GET LH BITE POINTER
  2144	402120'	304 00 0 00 000000 		CAIA
  2145	402121'	200 02 0 00 402127'	RINPCH:	MOVE	B,RINP		;## GET RH BITE POINTER

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-52
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  2146	402122'	554 01 0 07 000003 		HLRZ	A,Q.DEV(TT)	;## GET QUEUE SPEC
  2147	402123'	306 01 0 00 515660 		CAIN	A,'INP'		;## INP?
  2148	402124'	254 00 0 13 000000 		JRST	(R)		;## YES
  2149	402125'	254 00 0 00 401734'		JRST	QILLSW
  2150					LINP:	POINT	18, Q.IDEP(TT),17		;## BYTE POINTER FOR LEFT HALF OF EXTENDED 
  2151	402126'	22 22 0 07 000020 	MAIN AREA
  2152					RINP:	POINT	18, Q.IDEP(TT),35		;## BYTE POINT FOR RH OF EXTENDED MAIN AREA
  2153	402127'	00 22 0 07 000020 
  2154
  2155
  2156								;## HERE TO BE SURE FILE AREA HAS BEEN SET UP
  2157
  2158	402130'	326 10 0 13 000000 	FILECH:	JUMPN	REL,(R)		;## REL NONZERO IF FILE AREA SET UP
  2159	402131'	261 14 0 00 000013 		PUSH	P,R
  2160	402132'	254 00 0 00 402164'		JRST	FILARE
  2161								;## HERE TO FIND FILE SPECIFICATION
  2162
  2163
  2164	402133'	550 06 0 06 000000 	QFILEA:	HRRZ	T,(T)		;## GET CDR
  2165	402134'	400 02 0 00 000000 		SETZ	B,		;## CLEAR B
  2166	402135'	254 00 0 00 402143'		JRST	QFILEB
  2167	402136'	205 01 0 00 446353 	QFILE:	MOVSI	A,'DSK'		;## DEFAULT IS DSK
  2168	402137'	302 10 0 00 000000 		CAIE	REL,0		;## AREA SET UP?
  2169	402140'	334 01 0 10 000000 		SKIPA	A,Q.FSTR(REL)	;## GET CURRENT DEVICE
  2170	402141'	334 02 0 07 000004 		SKIPA	B,Q.PPN(TT)	;## GET USER'S PPN IF NOT SET UP
  2171	402142'	200 02 0 10 000001 		MOVE	B,Q.FDIR(REL)	;## GET CURRENT PPN
  2172	402143'	202 02 0 00 000126'	QFILEB:	MOVEM	B,PPN		;## SET PPN
  2173	402144'	202 01 0 00 000111'		MOVEM	A,DEV		;## HANG ON TO DEVICE
  2174	402145'	322 06 0 00 402027'		JUMPE	T,QSELF		;## IF NIL THEN DONE
  2175	402146'	260 14 0 00 401164'		PUSHJ	P,NXTIO		;## FAKE IOSUB SEQUENCE
  2176	402147'	260 14 0 00 401217'		PUSHJ	P,IOPPN
  2177	402150'	261 14 0 00 000001 		PUSH	P,A		;## IOPPN RETURNS FILE NAME IN A
  2178	402151'	302 10 0 00 000000 		CAIE	REL,0		;## AREA SET UP?
  2179	402152'	332 00 0 10 000007 		SKIPE	Q.FNAM(REL)	;## AREA SET UP, BUT NO FILE NAME?(PRECEDING SWITCHES)
  2180	402153'	260 14 0 00 402164'		PUSHJ	P,FILARE	;## SET UP AREA
  2181	402154'	200 01 0 00 000111'		MOVE	A,DEV		;## GET DEVICEE
  2182	402155'	202 01 0 10 000000 		MOVEM	A,Q.FSTR(REL)	;## SET FILE STRUCTURE
  2183	402156'	200 01 0 00 000124'		MOVE	A,EXT		;## GET EXTENSION
  2184	402157'	202 01 0 10 000010 		MOVEM	A,Q.FEXT(REL)	;## SET IT
  2185	402160'	200 01 0 00 000126'		MOVE	A,PPN		;## GET PPN
  2186	402161'	202 01 0 10 000001 		MOVEM	A,Q.FDIR(REL)
  2187						;## SET IT(DIRECTORY)
  2188	402162'	262 14 0 10 000007 		POP	P,Q.FNAM(REL)	;## RESTORE NAME
  2189	402163'	254 00 0 00 402027'		JRST	QSELF		;## T HAS BEEN RESET BY IO ROUTINES!
  2190
  2191
  2192
  2193								;## HERE TO SET UP FILE AREA
  2194
  2195
  2196	402164'	350 00 0 07 000002 	FILARE:	AOS	Q.LEN(TT)	;## ADD ONE TO NUMBER FILES IN REQUEST
  2197	402165'	515 01 0 00 000016 		HRLZI	A,FILPAR
  2198	402166'	270 07 0 00 000001 		ADD	TT,A		;## ADD TO LENGTH OF PARAMETER AREA
  2199	402167'	551 01 0 00 000016 		HRRZI	A,FILPAR
  2200	402170'	260 14 0 00 402274'		PUSHJ	P,EXPCOR

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-53
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  2201	402171'	322 10 0 00 402201'		JUMPE	REL,FILDEF	;## SET DEFAULST IF NO PREVIOUS FILE AREA
  2202	402172'	504 01 0 00 000010 		HRL	A,REL
  2203	402173'	551 02 0 01 000000 		HRRZI	B,(A)		;## SET UP FOR BLT OF PREVIOUS AREA
  2204	402174'	271 02 0 00 000015 		ADDI	B,FILPAR-1	;## FINAL DESTINATION ADDRESS
  2205	402175'	551 10 0 01 000000 		HRRZI	REL,(A)		;## NEW FILE AREA
  2206	402176'	251 01 0 02 000000 		BLT	A,(B)
  2207	402177'	402 00 0 10 000007 		SETZM	Q.FNAM(REL)
  2208	402200'	263 14 0 00 000000 		POPJ	P,
  2209	402201'	551 10 0 01 000000 	FILDEF:	HRRZI	REL,(A)
  2210	402202'	505 01 0 00 000016 		HRLI	A,FILPAR
  2211	402203'	260 14 0 00 402310'		PUSHJ	P,CLRBLK
  2212	402204'	515 01 0 00 446353 		HRLZI	A,'DSK'
  2213	402205'	202 01 0 10 000000 		MOVEM	A,Q.FSTR(REL)
  2214	402206'	200 01 0 00 411432'		MOVE	A,[EXP 1B5+1B20+1B26+1B29+1]	;## DEFAULTS FOR Q.FMOD
  2215	402207'	202 01 0 10 000013 		MOVEM	A,Q.FMOD(REL)
  2216	402210'	263 14 0 00 000000 		POPJ	P,
  2217
  2218								;## HERE WHEN FINISHED
  2219
  2220
  2221	402211'	200 04 0 07 000033 	QDONE:	MOVE	AR1,OUTPAR+Q.FNAM(TT)	;## GET FIRST FILE NAME
  2222	402212'	554 01 0 07 000003 		HLRZ	A,Q.DEV(TT)	;## GET FIRST THREE LETTERS OF Q AGAIN
  2223	402213'	302 01 0 00 515660 		CAIE	A,'INP'		;## INPUT QUEUE?
  2224	402214'	254 00 0 00 402226'		JRST	QDONEB		;## NO
  2225	402215'	200 04 0 07 000041 		MOVE	AR1,INPPAR+Q.FNAM(TT)	;## GET CORRCT FILE NAME
  2226	402216'	550 01 0 07 000002 		HRRZ	A,Q.LEN(TT)	;## GET NUMBER OF FILES SPECIFIED
  2227	402217'	367 01 0 00 402224'		SOJG	A,QDONEC	;## GREATER THAN ONE MEANS THAT USER
  2228									;## SPECIFIED A LOG FILE
  2229	402220'	260 14 0 00 402164'		PUSHJ	P,FILARE	;## WE HAVE TO SET UP LOG FILE
  2230	402221'	551 01 0 00 545747 		HRRZI	A,'LOG'	;## CHANGE EXTENSION TO .LOG
  2231	402222'	516 01 0 10 000010 		HRLZM	A,Q.FEXT(REL)
  2232	402223'	202 04 0 10 000007 		MOVEM	AR1,Q.FNAM(REL)	;## SET TO INP FILE NAME
  2233	402224'	541 01 0 00 000003 	QDONEC:	HRRI	A,3
  2234	402225'	137 01 0 00 411433'		DPB	A,[POINT 2,INPPAR+FILPAR+Q.FMOD(TT),2];## SET BITS
  2235									;## INDICATING LOG FILE AND DOESN'T EXIST
  2236									;## (AVOIDS ERROR MSGS FROM QMANGR)
  2237									;## IN SECOND FILE IN CASE USER STUPIDLY SET
  2238									;## UP MORE THAN TWO
  2239	402226'	332 00 0 07 000005 	QDONEB:	SKIPE	Q.JOB(TT)	;## SPECIFIED NAME 
  2240	402227'	254 00 0 00 402231'		JRST	QDONE1		;## YES, DONE
  2241	402230'	202 04 0 07 000005 		MOVEM	AR1,Q.JOB(TT)
  2242	402231'	200 03 0 00 411434'	QDONE1:	MOVE	C,[EXP 'QMANGR'];## SEGMENT NAME
  2243	402232'	201 02 0 00 400010 		MOVEI	B,400010
  2244	402233'	200 01 0 00 000007 		MOVE	A,TT
  2245	402234'	260 14 0 00 402237'		PUSHJ	P,NEWHI
  2246	402235'	260 14 0 00 402276'		PUSHJ	P,CONCOR	;## CONTRACT CORE
  2247	402236'	254 00 0 00 404013'		JRST	FALSE		;## RETURN NIL
  2248
  2249
  2250					;## ROUTINE TO SWAP HI-SEGMENTS. REGISTER A CONTAINS ARG TO NEXT HI-SEG, B CONTAINS
  2251					;## LOCATION TO JUMP TO IN NEW HI-SEG. REGS ARE ARG BLOCK  TO GETSEG  UUO
  2252					;## TO THE GET SEG
  2253
  2254	402237'	261 14 0 00 000017 	NEWHI:	PUSH	P,SP		;## HAVE TO SAVE SP, SINCE MOST
  2255									;## SYSTEM PROGS USE 17 FOR THEIR PDL

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-54
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  2256	402240'	202 01 0 00 000504'		MOVEM	A,HIARGS#	;## SAVE ARG TO HI-SEG
  2257	402241'	552 02 0 00 000503'		HRRZM	B,HIADDR#	;## SAVE ADDR TO HI-SEG
  2258	402242'	261 14 0 00 401565*		PUSH	P,JOBFF		;%% SAVE OLD VALUE 
  2259									;%% (DON'T ASK WHY)
  2260	402243'	554 02 0 00 000001 		HLRZ	B,A		;%% CALCULATE NEW VALUE
  2261	402244'	271 02 0 01 000001 		ADDI	B,1(A)		;%%
  2262	402245'	202 02 0 00 402242*		MOVEM	B,JOBFF		;%% RESET SO QMANGR WON'T WRITE
  2263									;%% OVER ARGUMENT BLOCK.
  2264									;%% JUST BECAUSE LISP IGNORES JOBFF
  2265									;%% DOESN'T MEAN ANYONE ELSE DOES
  2266	402246'	202 14 0 00 000551'		MOVEM	P,PSAVE#	;## SAVE P (CAN'T USE SP)
  2267	402247'	200 17 0 00 000014 		MOVE	SP,P		;## USE RPDL
  2268	402250'	551 01 0 00 000146'		HRRZI	A,OLDHI		;## REE WILL RESTORE AND CONTINUE
  2269	402251'	202 01 0 00 000000*		MOVEM	A,JOBREN
  2270	402252'	202 01 0 00 402251*		MOVEM	A,JOBREN	;## SET FAKE REE ADDRESS
  2271	402253'	515 02 0 00 637163 		HRLZI	B,'SYS'		;## SYS: IS LOCATION OF NEW HI-SEG
  2272	402254'	201 01 0 00 000002 		MOVEI	A,B		;## B IS STARTING LOCATION OF BLOCK TO GETSEG
  2273	402255'	403 04 0 00 000005 		SETZB	AR1,AR2A	;## CLEAR REST OF BLOCK
  2274	402256'	403 06 0 00 000007 		SETZB	T,TT		;## DITTO
  2275	402257'	202 17 0 00 000556'		MOVEM	SP,SAVSP#	;## SAVE SP AROUND GETSEG (WHICH CLOBBERS ACS)
  2276	402260'	254 00 0 00 000141'		JRST	NEWHI1		;## GO DO  IT
  2277
  2278									;## HERE TO GET THAT HI-SEG
  2279
  2280					REMOTE <
  2281					NEWHI1:	CALLI	A,GETSEG
  2282						JRST	@JOBREN		;## FAILED JOBREN HAS LOC OF RESTORE LISP HI-SEG
  2283						MOVE	SP,SAVSP
  2284						MOVE	A,HIARGS
  2285						PUSHJ	SP,@HIADDR	;## JUMP TO HI-SEG
  2286					OLDHI:	MOVEI	A,HGHDAT
  2287						CALLI	A,GETSEG
  2288						HALT			;## YOU'RE DEAD IF YOU ARE HERE
  2289					ENDHI:	JRST	RESTOR		;## JUMP TO RESTORE THINGS
  2290						>
  2291
  2292
  2293	402261'	200 14 0 00 000551'	RESTOR:	MOVE	P,PSAVE
  2294	402262'	262 14 0 00 402245*		POP	P,JOBFF		;%% RESTORE OLD VALUE
  2295	402263'	262 14 0 00 000017 		POP	P,SP
  2296	402264'	200 00 0 00 000573'		MOVE	0,STNIL
  2297	402265'	200 11 0 00 000441'		MOVE	S,ATMOV
  2298	402266'	551 01 0 00 400002'		HRRZI	A,DEBUGO
  2299	402267'	202 01 0 00 402252*		MOVEM	A,JOBREN
  2300	402270'	263 14 0 00 000000 		POPJ	P,
  2301
  2302
  2303	402271'	550 02 0 00 000453'	TEMCOR:	HRRZ	B,CORUSE	;## GET CURRENT CORUSE. THIS ROUTINE EXPANDS CORE
  2304									;## BUT SAVE INFO SO THAT IT CAN BE CONTRACTED LATER
  2305	402272'	504 02 0 00 401323*		HRL	B,JOBREL	;## GET CURRENT CORE EXTENT
  2306	402273'	202 02 0 00 000535'		MOVEM	B,OLDCU		;## SAVE IT (SEE LOADER INTERFACE)
  2307	402274'	400 12 0 00 000000 	EXPCOR:	SETZ	D,		;## D IS A RELOC REG
  2308	402275'	254 00 0 00 410256'		JRST	MORCOR		;## EXPAND CORE
  2309
  2310	402276'	204 02 0 00 000535'	CONCOR:	MOVS	B,OLDCU		;## CONTRACTS CORE, OPPOSITE TEMCOR

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-55
UCILSP	MAC	27-MAR-75 17:13		QMANGR INTERFACE

  2311	402277'	556 02 0 00 000453'		HLRZM	B,CORUSE
  2312	402300'	551 02 0 02 000000 		HRRZI	B,(B)		;## CLEAR LH
  2313	402301'	260 14 0 00 410223'		PUSHJ	P,MOVDWN	;## MOVE SYMBOL TABLE
  2314	402302'	047 02 0 00 000011 		CALLI	B,CORE		;## CONTRACT (B SHOULD BE UNCHANGED
  2315	402303'	300 00 0 00 000000 		CAI
  2316	402304'	263 14 0 00 000000 		POPJ	P,		;## DONE
  2317
  2318
  2319	402305'	201 01 0 06 000000 	QSXARG:	MOVEI	A,(T)
  2320	402306'	260 14 0 00 403602'		PUSHJ	P,CADAR		;## GET ARGUMENT TO SWITCH
  2321	402307'	254 00 0 00 401143'		JRST	SIXMAK		;## CONVERT  IT TO SIXBIT
  2322
  2323
  2324
  2325	402310'	402 00 0 01 000000 	CLRBLK:	SETZM	(A)		;## CLEAR FIRST WORD
  2326	402311'	554 02 0 00 000001 		HLRZ	B,A		;## LH OF A CONTAINS LENGTH
  2327	402312'	270 02 0 00 000001 		ADD	B,A
  2328	402313'	504 01 0 00 000001 		HRL	A,A
  2329	402314'	340 01 0 00 000000 		AOJ	A,		;## RH NOW CONTAINS SOURCE+1
  2330	402315'	251 01 0 02 777777 		BLT	A,-1(B)		;## BLT CLEARS BLOCK
  2331	402316'	263 14 0 00 000000 		POPJ	P,
  2332						;## PICKUP
  2333
  2334
  2335	402317'	306 02 0 01 000000 	CHKGO:	CAIN	B,(A)		;## SEE IF RH(A)=(B)
  2336	402320'	554 13 0 00 000001 		HLRZ	R,A		;## WHERE TO GO
  2337	402321'	254 00 0 13 000000 		JRST	(R)		;## NO, RETURN
  2338						>
  2339
  2340						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-56
UCILSP	MAC	27-MAR-75 17:13		PRINT

  2341						SUBTTL	PRINT
  2342
  2343	402322'	336 00 0 00 000033'	EPRINT:	SKIPN ERRSW
  2344	402323'	263 14 0 00 000000 		POPJ P,
  2345	402324'	260 14 0 00 400465'		PUSHJ P,ERRIO
  2346	402325'	260 14 0 00 402327'		PUSHJ P,PRINT
  2347	402326'	254 00 0 00 400457'		JRST OUTRET
  2348
  2349	402327'	201 13 0 00 401074'	PRINT:	MOVEI R,TYO
  2350	402330'	260 14 0 00 402501'		PUSHJ P,TERPRI
  2351	402331'	260 14 0 00 402335'		PUSHJ P,PRIN1
  2352	402332'	256 00 0 00 402507'		XCT " ",CTY
  2353	402333'	263 14 0 00 000000 		POPJ P,
  2354
  2355	402334'	334 13 0 00 402335'	PRINC:	SKIPA R,.+1
  2356	402335'	551 13 0 00 401074'	PRIN1:	HRRZI R,TYO
  2357	402336'	261 14 0 00 000001 		PUSH P,A
  2358	402337'	260 14 0 00 402341'		PUSHJ P,PRINTA
  2359	402340'	254 00 0 00 405717'		JRST POPAJ
  2360
  2361	402341'	261 14 0 00 000001 	PRINTA:	PUSH P,A
  2362	402342'	201 02 0 00 402461'		MOVEI B,PRIN3
  2363	402343'	335 00 0 00 000013 		SKIPGE R
  2364	402344'	201 02 0 00 402463'		MOVEI B,PRIN4
  2365	402345'	542 02 0 00 000544'		HRRM B,PRIN5
  2366	402346'	260 14 0 00 403676'		PUSHJ P,PATOM
  2367	402347'	326 01 0 00 402366'		JUMPN A,PRINT1
  2368	402350'	256 10 0 00 402507'		XCT "(",CTY
  2369	402351'	554 01 1 14 000000 	PRINT3:	HLRZ A,@(P)
  2370	402352'	260 14 0 00 402341'		PUSHJ P,PRINTA
  2371	402353'	550 01 1 14 000000 		HRRZ A,@(P)
  2372	402354'	322 01 0 00 402364'		JUMPE A,PRINT2
  2373	402355'	202 01 0 14 000000 		MOVEM A,(P)
  2374	402356'	256 00 0 00 402507'		XCT " ",CTY
  2375	402357'	260 14 0 00 403676'		PUSHJ P,PATOM
  2376	402360'	322 01 0 00 402351'		JUMPE A,PRINT3
  2377	402361'	256 16 0 00 402507'		XCT ".",CTY
  2378	402362'	256 00 0 00 402507'		XCT " ",CTY
  2379	402363'	260 14 0 00 402370'		PUSHJ P,PRIN1A
  2380	402364'	256 11 0 00 402507'	PRINT2:	XCT ")",CTY
  2381	402365'	254 00 0 00 405717'		JRST POPAJ
  2382
  2383	402366'	260 14 0 00 402370'	PRINT1:	PUSHJ P,PRIN1A
  2384	402367'	254 00 0 00 405717'		JRST POPAJ
  2385					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-57
UCILSP	MAC	27-MAR-75 17:13		PRINT

  2386	402370'	200 01 0 14 777777 	PRIN1A:	MOVE A,-1(P)
  2387	402371'	303 01 0 00 377777 		CAILE A,INUMIN
  2388	402372'	254 00 0 00 402422'		JRST PRINIC
  2389	402373'	322 01 0 00 402377'		JUMPE A,PRIN1B
  2390	402374'	305 01 1 00 000476'		CAIGE A,@GCP1
  2391	402375'	305 01 1 00 000376'		CAIGE A,@GCPP1
  2392	402376'	254 00 0 00 402415'		JRST PRINL
  2393	402377'	550 01 0 01 000000 	PRIN1B:	HRRZ A,(A)
  2394	402400'	322 01 0 00 402415'		JUMPE A,PRINL
  2395	402401'	554 02 0 01 000000 		HLRZ B,(A)
  2396	402402'	550 01 0 01 000000 		HRRZ A,(A)
  2397	402403'	306 02 0 11 003734'		CAIN B,PNAME(S)
  2398	402404'	254 00 0 00 402444'		JRST PRINN
  2399	402405'	306 02 0 11 003740'		CAIN B,FIXNUM(S)
  2400	402406'	254 00 0 00 402421'		JRST PRINI1
  2401	402407'	306 02 0 11 003744'		CAIN B,FLONUM(S)
  2402	402410'	254 02 1 00 411435'		JRSTF @[XWD 0,PRINO]	; TURN OFF DIVIDE CHECK AND UNDERFLOW
  2403	402411'	254 00 0 00 402377'	BPR:	JRST PRIN1B	;bignums change here to JRST BPRINT
  2404	402412'	254 00 0 00 402377'		JRST PRIN1B
  2405
  2406	402413'	201 13 0 00 401074'	PRINL2:	MOVEI R,TYO
  2407	402414'	254 00 0 00 402417'		JRST PRINL1
  2408
  2409	402415'	256 03 0 00 402507'	PRINL:	XCT "#",CTY
  2410	402416'	550 01 0 14 777777 		HRRZ A,-1(P)
  2411	402417'	201 03 0 00 000010 	PRINL1:	MOVEI C,8
  2412	402420'	254 00 0 00 402436'		JRST PRINI3
  2413
  2414	402421'	334 01 0 01 000000 	PRINI1:	SKIPA A,(A)
  2415	402422'	275 01 0 00 577777 	PRINIC:	SUBI A,INUM0
  2416	402423'	550 03 0 11 003731'		HRRZ C,VBASE(S)
  2417	402424'	275 03 0 00 577777 		SUBI C,INUM0
  2418	402425'	325 01 0 00 402430'		JUMPGE A,PRINI2
  2419	402426'	256 15 0 00 402507'		XCT "-",CTY
  2420	402427'	213 00 0 00 000001 		MOVNS A
  2421	402430'	201 02 0 00 777776 	PRINI2:	MOVEI B,"."-"0"
  2422	402431'	506 02 0 14 000000 		HRLM B,(P)
  2423	402432'	306 03 0 00 000012 		CAIN C,TEN
  2424	402433'	332 00 0 11 002705'		SKIPE %NOPOINT(S)
  2425	402434'	254 00 0 00 402436'		JRST .+2
  2426	402435'	261 14 0 00 402443'		PUSH P,PRINI4
  2427					PRINI3:	JUMPL A,[	MOVEI B,0	;case of -2^35
  2428								MOVEI A,1
  2429								DIVI A,(C)
  2430	402436'	321 01 0 00 411436'				JRST .+2]
  2431	402437'	231 01 0 03 000000 		IDIVI A,0(C)
  2432	402440'	506 02 0 14 000000 		HRLM B,(P)
  2433	402441'	332 00 0 00 000001 		SKIPE A
  2434	402442'	260 14 0 00 402437'		PUSHJ P,.-3
  2435	402443'	254 00 0 00 402575'	PRINI4:	JRST FP7A1
  2436
  2437	402444'	554 01 0 01 000000 	PRINN:	HLRZ A,(A)
  2438	402445'	201 03 0 17 000002 		MOVEI C,2(SP)
  2439	402446'	260 14 0 00 403306'		PUSHJ P,PNAMU3
  2440	402447'	261 03 0 00 411345'		PUSH C,[0]

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-58
UCILSP	MAC	27-MAR-75 17:13		PRINT

  2441	402450'	505 03 0 00 000700 		HRLI C,(POINT 7,0,35)
  2442	402451'	541 03 0 17 000002 		HRRI C,2(SP)
  2443	402452'	134 01 0 00 000003 		ILDB A,C
  2444	402453'	322 01 0 00 404014'		JUMPE A,CPOPJ		;special case of null character
  2445	402454'	306 01 0 00 000042 		CAIN A,DBLQT
  2446	402455'	254 00 0 00 402467'		JRST PSTR	;string
  2447	402456'	135 02 0 00 411442'	PRIN2X:	LDB B,[POINT 1,CHRTAB(A),1]
  2448	402457'	321 13 0 00 402463'		JUMPL R,PRIN4	;never slash
  2449	402460'	254 00 0 02 402462'		JRST PRIN2(B)	;1 for no slash
  2450
  2451	402461'	331 00 0 01 000161'	PRIN3:	SKIPL CHRTAB(A)	;<0 for no slash
  2452	402462'	256 17 0 00 402507'	PRIN2:	XCT "/",CTY
  2453	402463'	260 14 0 13 000000 	PRIN4:	PUSHJ P,(R)
  2454	402464'	134 01 0 00 000003 		ILDB A,C
  2455	402465'	326 01 1 00 000544'		JUMPN A,@PRIN5#
  2456	402466'	263 14 0 00 000000 		POPJ P,
  2457
  2458	402467'	204 02 0 03 000000 	PSTR:	MOVS B,(C)
  2459	402470'	306 02 0 00 210000 		CAIN B,(<ASCII /"/>)
  2460	402471'	254 00 0 00 402456'		JRST PRIN2X	;special case of /"
  2461	402472'	331 00 0 00 000013 	PSTR3:	SKIPL R		;dont print " if no slashify
  2462	402473'	260 14 0 13 000000 	PSTR2:	PUSHJ P,(R)
  2463	402474'	134 01 0 00 000003 		ILDB A,C
  2464	402475'	302 01 0 00 000042 		CAIE A,DBLQT
  2465	402476'	326 01 0 00 402473'		JUMPN A,PSTR2
  2466	402477'	326 01 0 00 402472'		JUMPN A,PSTR3
  2467	402500'	263 14 0 00 000000 		POPJ P,
  2468
  2469	402501'	261 14 0 00 000001 	TERPRI:	PUSH P,A
  2470	402502'	201 01 0 00 000015 		MOVEI A,CR
  2471	402503'	260 14 0 00 401074'		PUSHJ P,TYO
  2472	402504'	201 01 0 00 000012 		MOVEI A,LF
  2473	402505'	260 14 0 00 401074'		PUSHJ P,TYO
  2474	402506'	254 00 0 00 405717'		JRST POPAJ
  2475
  2476	402507'	266 01 0 00 000152'	CTY:	JSA A,TYOI
  2477					REMOTE<
  2478					TYOI:	X
  2479						JRST TYOI2>
  2480	402510'	261 14 0 00 000001 	TYOI2:	PUSH P,A
  2481	402511'	135 01 0 00 411443'		LDB A,[POINT 6,-1(A),ACFLD]
  2482	402512'	260 14 0 13 000000 		PUSHJ P,(R)
  2483	402513'	262 14 0 00 000001 		POP P,A
  2484	402514'	267 01 0 01 000000 		JRA A,(A)
  2485
  2486	402515'	200 01 0 01 000000 	PRINO:	MOVE A,(A)
  2487	402516'	403 02 0 00 000003 		CLEARB B,C
  2488	402517'	327 01 0 00 402523'		JUMPG A,FP1
  2489	402520'	322 01 0 00 402527'		JUMPE A,FP3
  2490	402521'	213 00 0 00 000001 		MOVNS A
  2491	402522'	256 15 0 00 402507'		XCT "-",CTY
  2492	402523'	315 01 0 00 402614'	FP1:	CAMGE A,FT01
  2493	402524'	254 00 0 00 402546'		JRST FP4
  2494	402525'	311 01 0 00 402602'		CAML A,FT8
  2495	402526'	344 02 0 00 402546'		AOJA B,FP4

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-59
UCILSP	MAC	27-MAR-75 17:13		PRINT

  2496
  2497	402527'	225 01 0 00 000400 	FP3:	MULI A,400
  2498	402530'	244 02 0 01 777535 		ASHC B,-243(A)
  2499	402531'	200 01 0 00 000002 		MOVE A,B
  2500	402532'	402 00 0 00 000466'		CLEARM FPTEM#
  2501	402533'	260 14 0 00 402567'		PUSHJ P,FP7
  2502	402534'	256 16 0 00 402507'		XCT ".",CTY
  2503	402535'	211 06 0 00 000010 		MOVNI T,8
  2504	402536'	270 06 0 00 000466'		ADD T,FPTEM
  2505	402537'	200 02 0 00 000003 		MOVE B,C
  2506
  2507	402540'	200 01 0 00 000002 	FP3A:	MOVE A,B
  2508	402541'	225 01 0 00 000012 		MULI A,TEN
  2509	402542'	260 14 0 00 402576'		PUSHJ P,FP7B
  2510	402543'	332 00 0 00 000002 		SKIPE B
  2511	402544'	341 06 0 00 402540'		AOJL T,FP3A
  2512	402545'	263 14 0 00 000000 		POPJ P,
  2513
  2514	402546'	211 03 0 00 000006 	FP4:	MOVNI C,6
  2515	402547'	201 07 0 00 000000 		MOVEI TT,0
  2516	402550'	271 07 0 07 000001 	FP4A:	ADDI TT,1(TT)
  2517	402551'	256 00 0 02 402615'		XCT FCP(B)
  2518	402552'	624 07 0 00 000001 		TRZA TT,1
  2519	402553'	164 01 1 02 402616'		FMPR A,@FCP+1(B)
  2520	402554'	346 03 0 00 402550'		AOJN C,FP4A
  2521	402555'	261 14 0 00 000007 		PUSH P,TT
  2522	402556'	211 02 0 02 777776 		MOVNI B,-2(B)
  2523	402557'	137 02 0 00 411444'		DPB B,[POINT 2,FP4C,34]
  2524	402560'	260 14 0 00 402527'		PUSHJ P,FP3
  2525	402561'	201 01 0 00 000105 		MOVEI A,"E"
  2526	402562'	260 14 0 13 000000 		PUSHJ P,(R)
  2527	402563'	200 01 0 00 000465'		MOVE A,FP4C#
  2528	402564'	435 01 0 00 000051 		IORI A,51
  2529	402565'	260 14 0 13 000000 		PUSHJ P,(R)
  2530	402566'	262 14 0 00 000001 		POP P,A
  2531	402567'	322 01 0 00 402575'	FP7:	JUMPE A,FP7A1
  2532	402570'	231 01 0 00 000012 		IDIVI A,TEN
  2533	402571'	350 00 0 00 000466'		AOS FPTEM
  2534	402572'	506 02 0 14 000000 		HRLM B,(P)
  2535	402573'	322 01 0 00 402575'		JUMPE A,FP7A1
  2536	402574'	260 14 0 00 402567'		PUSHJ P,FP7
  2537
  2538	402575'	574 01 0 14 000000 	FP7A1:	HLRE A,(P)
  2539	402576'	271 01 0 00 000060 	FP7B:	ADDI A,"0"
  2540	402577'	254 00 0 13 000000 		JRST (R)
  2541
  2542	402600'	353473	426555			353473426555	;1e32
  2543	402601'	266434	157116			266434157116	;1e16
  2544	402602'	233575	360400		FT8:	1.0E8
  2545	402603'	216470	400000			1.0E4
  2546	402604'	207620	000000			1.0E2
  2547	402605'	204500	000000			1.0E1
  2548	402606'	201400	000000		FT:	1.0E0
  2549	402607'	026637	304365			026637304365	;1e-32
  2550	402610'	113715	126246			113715126246	;1e-16

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-60
UCILSP	MAC	27-MAR-75 17:13		PRINT

  2551	402611'	146527	461671			146527461671	;1e-8
  2552	402612'	163643	334273			163643334273	;1e-4
  2553	402613'	172507	534122			172507534122	;1e-2
  2554	402614'	175631	463146		FT01:	175631463146	;1e-1
  2555	402615'				FT0:
  2556	402615'	313 01 0 03 402615'	FCP:	CAMLE A,FT0(C)
  2557	402616'	315 01 0 03 402606'			CAMGE A,FT(C)
  2558	402617'	000003	402615'			XWD C,FT0
  2559
  2560						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-61
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2561						SUBTTL SUPER FAST TABLE DRIVEN READ 	14-MAY-69      
  2562
  2563					;magic scanner table bit definitions
  2564
  2565					;bit 0=0 iff slashified as nth id character
  2566					;bit 1=0 iff slashified as 1st id character
  2567					;bits 2-5	ratab index
  2568					;bits 6-8	dotab index
  2569					;bits 9-10	strtab index
  2570					;bits 11-13	idtab index
  2571					;bits 14-16	exptab index
  2572					;bits 17-19	rdtab index
  2573					;bits 20-25	ascii to radix 50 conversion
  2574
  2575					REMOTE<
  2576					IGSTRT:	IGCRLF
  2577					IGEND:	LF
  2578					
  2579					RATFLD:	POINT 4,CHRTAB(A),5
  2580					STRFLD:	POINT 2,CHRTAB(A),10
  2581					IDFLD:	POINT 3,CHRTAB(A),13
  2582					>
  2583	402620'				DOTFLD:
  2584	402620'	33 03 0 01 000161'	NUMFLD:	POINT 3,CHRTAB(A),8
  2585	402621'	23 03 0 01 000161'	EXPFLD:	POINT 3,CHRTAB(A),16
  2586	402622'	20 03 0 01 000161'	RDFLD:	POINT 3,CHRTAB(A),19
  2587	402623'	12 06 0 01 000161'	R50FLD:	POINT 6,CHRTAB(A),25
  2588
  2589					;magic state flags in t
  2590			000001		EXP==1		;exponent 
  2591			000002		NEXP==2		;negative exponent
  2592			000004		SAWDOT==4	;saw a dot (.)
  2593			000010		MINSGN==10	;negative number
  2594
  2595			000000		IDCLS==0	;identifier
  2596			000001		STRCLS==1	;string
  2597			000002		NUMCLS==2	;number
  2598			000003		DELCLS==3	;delimiter
  2599
  2600					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-62
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2601					;macros for scanner table
  2602
  2603					DEFINE RAD50 (X)<
  2604					IFB <X>,<R50VAL=0>
  2605					IFLE <"X"-"9">,<IFGE <"X"-"0">,<R50VAL="X"-"0"+1>>
  2606					IFIDN <"X"><".">,<R50VAL=45>
  2607					IFGE <"X"-"A">,<R50VAL="X"-"A"+13>>
  2608
  2609					DEFINE TABIN (S1,SN,R,D,S,I,E,RD,R50)<
  2610					XLIST
  2611					IRPC R50<	RAD50 (R50)
  2612						BYTE (1)S1,SN(4)R(3)D(2)S(3)I,E,RD(6)R50VAL>
  2613					LIST>
  2614
  2615					DEFINE LET (X)<
  2616					TABIN (1,1,5,2,3,4,2,0,X)>
  2617
  2618					DEFINE DELIMIT (X,Y)<
  2619					TABIN (0,0,2,2,3,2,2,Y,X)>
  2620
  2621					DEFINE IGNORE (X)<
  2622					TABIN (0,0,3,2,3,2,2,0,X)>
  2623					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-63
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2624					REMOTE<CHRTAB:
  2625					TABIN (0,0,1,1,1,1,1,0,< >)	
  2626					;null
  2627					LET (<        >)
  2628					IGNORE (<     >)		
  2629					;tab,lf,vtab,ff,cr
  2630					LET (<           >)	
  2631					;16 to 30
  2632					TABIN (0,0,0,0,0,0,0,0,< >)
  2633					;igmrk
  2634					TABIN (0,0,0,0,0,0,0,0,< >)
  2635					;32 THE OLD IGMRK, WILL ALLOW THE CHAR. TO WORK ON READS BUT NOT TYI
  2636						IFE	ALTMOD-33 <
  2637						DELIMIT (< >,3)
  2638					>			;%% NEW ALTMODE (5S06 MONITOR)
  2639						IFN	ALTMOD-33 <
  2640						LET (< >)
  2641					>			;%% OLD ALTMODE (5S04 OR EARLIER MONITOR)
  2642					LET (<    >)
  2643					;## 34 TO 37
  2644					IGNORE (< >)			
  2645					;space
  2646					LET (< >)			
  2647					;!
  2648					TABIN (0,0,9,2,2,2,2,0,< >)	
  2649					;"
  2650					LET (< $%  >)			
  2651					;#$%&'
  2652					DELIMIT (< >,0)
  2653					DELIMIT (< >,1)
  2654					;()
  2655					LET (< >)			
  2656					;*
  2657					TABIN (1,1,14,2,3,4,2,0,< >)	
  2658					;+
  2659					IGNORE (< >)			
  2660					;,
  2661					TABIN (1,1,6,2,3,4,2,0,< >)	
  2662					;-
  2663					TABIN (0,0,7,3,3,2,2,4,<.>)
  2664					TABIN (0,0,4,2,3,3,2,0,< >)	
  2665					;/
  2666					TABIN (1,0,8,5,3,4,3,0,<0123456789>)
  2667					LET (<      >)			
  2668					;:;<=>?
  2669					TABIN (1,0,2,2,3,4,2,5,< >)	
  2670					;@
  2671					LET (<ABCD>)
  2672					TABIN (1,1,5,4,3,4,2,0,<E>)
  2673					LET (<FGHIJKLMNOPQRSTUVWXYZ>)
  2674					DELIMIT (< >,2)			
  2675					;[
  2676					LET (< >)			
  2677					;\
  2678					DELIMIT (< >,3)			

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-64
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2679					;]
  2680					LET (<   >)			
  2681					;^_`
  2682					LET (<ABCDEFGHIJKLMNOPQRSTUVWXYZ>)	
  2683					;lower case
  2684					LET (<  >)			
  2685					;{|
  2686						IFE	ALTMOD-175 <
  2687						DELIMIT (< >,3)			
  2688					>		;%% OLD ALTMODE (5S04 MONITOR)
  2689						IFN	ALTMOD-175 <
  2690						LET (< >)
  2691					>		;%% } - ORDINARY CHARACTER (5S06 MONITOR)
  2692						LET (< >)
  2693							;~
  2694						DELIMIT (< >,6)			
  2695							;rubout
  2696					>
  2697					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-65
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2698	402624'	260 14 0 00 400745'	READCH:	PUSHJ P,TYI
  2699	402625'	205 04 0 00 000004 		MOVSI AR1,AR1
  2700	402626'	260 14 0 00 405325'		PUSHJ P,EXPL1
  2701	402627'	254 00 0 00 403605'		JRST CAR
  2702
  2703	402630'	402 00 0 00 000531'	READP1:	SETZM NOINFG
  2704	402631'	261 14 0 00 000034'	READ0:	PUSH P,TYI2
  2705	402632'	261 14 0 00 000044'		PUSH P,OLDCH
  2706	402633'	402 00 0 00 000044'		SETZM OLDCH#
  2707	402634'	505 01 0 00 254000 		HRLI A,(JRST)
  2708	402635'	202 01 0 00 000034'		MOVEM A,TYI2
  2709	402636'	260 14 0 00 402652'		PUSHJ P,READ+1
  2710	402637'	262 14 0 00 000044'		POP P,OLDCH
  2711	402640'	262 14 0 00 000034'		POP P,TYI2
  2712	402641'	263 14 0 00 000000 		POPJ P,
  2713
  2714	402642'	476 00 0 00 000531'	RDNAM:	SETOM	NOINFG		;## READ ROUTINE THAT DOES NOT INTERN
  2715	402643'	254 00 0 00 402652'		JRST	READ+1		;##
  2716
  2717	402644'	201 01 0 00 000015 	RDRUB:	MOVEI A,CR
  2718	402645'	260 14 0 00 401132'		PUSHJ P,TTYO
  2719	402646'	201 01 0 00 000012 		MOVEI A,LF
  2720	402647'	260 14 0 00 401132'		PUSHJ P,TTYO
  2721	402650'	334 14 0 00 000550'		SKIPA P,PSAV#
  2722	402651'	402 00 0 00 000531'	READ:	SETZM NOINFG#	;0 means intern
  2723	402652'	202 14 0 00 000550'		MOVEM P,PSAV
  2724	402653'	260 14 0 00 402656'		PUSHJ P,READ1
  2725	402654'	402 00 0 00 000550'		SETZM PSAV
  2726	402655'	263 14 0 00 000000 		POPJ P,
  2727
  2728	402656'	260 14 0 00 402740'	READ1:	PUSHJ P,RATOM
  2729	402657'	263 14 0 00 000000 		POPJ P,		;atom
  2730	402660'	256 00 0 02 402662'		XCT RDTAB2(B)
  2731	402661'	254 00 0 00 402656'		JRST READ1	;try again
  2732
  2733	402662'	254 00 0 00 402670'	RDTAB2:	JRST READ2	;0	(
  2734	402663'	255 00 0 00 000000 		JFCL		;1	)
  2735	402664'	254 00 0 00 402723'		JRST READ4	;2	[
  2736	402665'	255 00 0 00 000000 		JFCL		;3	],$
  2737	402666'	255 00 0 00 000000 		JFCL		;4	.
  2738	402667'	254 00 0 00 402732'		JRST RDQT	;5	@
  2739
  2740	402670'	260 14 0 00 402740'	READ2:	PUSHJ P,RATOM
  2741	402671'	254 00 0 00 402673'		JRST READ2A	;atom
  2742	402672'	256 00 0 02 402677'		XCT RDTAB(B)
  2743
  2744	402673'	261 14 0 00 000001 	READ2A:	PUSH P,A
  2745	402674'	260 14 0 00 402670'		PUSHJ P,READ2
  2746	402675'	262 14 0 00 000002 		POP P,B
  2747	402676'	254 00 0 00 403660'		JRST XCONS
  2748
  2749	402677'	260 14 0 00 402670'	RDTAB:	PUSHJ P,READ2	;0	(
  2750	402700'	254 00 0 00 404013'		JRST FALSE	;1	)
  2751	402701'	260 14 0 00 402723'		PUSHJ P,READ4	;2	[
  2752	402702'	254 00 0 00 402730'		JRST READ5	;3	],$

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-66
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2753	402703'	254 00 0 00 402711'		JRST RDT	;4	.
  2754	402704'	260 14 0 00 402732'		PUSHJ P,RDQT	;5	@
  2755
  2756	402705'	260 14 0 00 402740'	RDTX:	PUSHJ P,RATOM
  2757	402706'	263 14 0 00 000000 		POPJ P,	;atom
  2758	402707'	256 00 0 02 402662'		XCT RDTAB2(B)
  2759	402710'	254 00 0 00 400712'		JRST DOTERR	;dot context error
  2760
  2761	402711'	260 14 0 00 402705'	RDT:	PUSHJ P,RDTX
  2762	402712'	261 14 0 00 000001 		PUSH P,A
  2763	402713'	260 14 0 00 402740'		PUSHJ P,RATOM
  2764	402714'	254 00 0 00 400712'		JRST DOTERR
  2765	402715'	306 02 0 00 000001 		CAIN B,1
  2766	402716'	254 00 0 00 405717'		JRST POPAJ
  2767	402717'	302 02 0 00 000003 		CAIE B,3
  2768	402720'	254 00 0 00 400712'		JRST DOTERR
  2769	402721'	202 01 0 00 000044'		MOVEM A,OLDCH
  2770	402722'	254 00 0 00 405717'		JRST POPAJ
  2771
  2772
  2773	402723'	260 14 0 00 402670'	READ4:	PUSHJ P,READ2
  2774	402724'	200 02 0 00 000044'		MOVE B,OLDCH
  2775	402725'	302 02 0 00 000033 		CAIE B,ALTMOD
  2776	402726'	402 00 0 00 000044'	TYI1:	SETZM OLDCH	;kill the ]
  2777	402727'	263 14 0 00 000000 		POPJ P,
  2778
  2779	402730'	202 01 0 00 000044'	READ5:	MOVEM A,OLDCH	;save ] or $
  2780	402731'	254 00 0 00 404013'		JRST FALSE	;and return nil
  2781
  2782
  2783	402732'	260 14 0 00 402656'	RDQT:	PUSHJ P,READ1
  2784	402733'	254 00 0 00 400315'		JRST QTIFY
  2785					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-67
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2786					;atom parser
  2787
  2788	402734'	260 14 0 00 400756'	COMMENT:	PUSHJ P,TYID
  2789	402735'	312 01 0 00 000155'		CAME A,IGEND
  2790	402736'	254 00 0 00 402734'		JRST COMMENT
  2791	402737'	263 14 0 00 000000 		POPJ P,
  2792
  2793	402740'	332 00 0 00 000566'	RATOM:	SKIPE SMAC#	;$$ CHECK FOR A SPLICE MACRO LIST
  2794	402741'	254 00 0 00 403205'		JRST PSMAC	;$$ GET ITEM FROM SPLICE MACRO LIST
  2795	402742'	403 06 0 00 000013 		SETZB T,R
  2796	402743'	505 03 0 00 000700 		HRLI C,(POINT 7,0,35)
  2797	402744'	541 03 0 17 000000 		HRRI C,(SP)
  2798	402745'	202 03 0 00 000537'		MOVEM C,ORGSTK#		;SAVE FOR BACKING UP ON + AND -
  2799	402746'	201 04 0 00 000001 		MOVEI AR1,1
  2800	402747'	260 14 0 00 400754'	RATOM2:	PUSHJ P,TYIA
  2801	402750'	135 02 0 00 000156'		LDB B,RATFLD
  2802	402751'	254 00 0 02 402752'		JRST RATAB(B)
  2803
  2804	402752'	260 14 0 00 402734'	RATAB:	PUSHJ P,COMMENT	;0	comment
  2805	402753'	254 00 0 00 402747'		JRST RATOM2	;1	null
  2806	402754'	254 00 0 00 402771'		JRST RATOM3	;2	delimit
  2807	402755'	254 00 0 00 402747'		JRST RATOM2	;3	ignore
  2808	402756'	260 14 0 00 400745'		PUSHJ P,TYI	;4	/
  2809	402757'	254 00 0 00 403033'		JRST RDID	;5	letter
  2810	402760'	254 00 0 00 403231'		JRST RDNMIN	;6	-
  2811	402761'	254 00 0 00 402775'		JRST RDOT	;7	.
  2812	402762'	254 00 0 00 403221'		JRST RDNUM	;8	digit
  2813	402763'	254 00 0 00 403015'		JRST RDSTR	;9	string
  2814	402764'	254 00 0 00 403166'		JRST RMACRO	;10	MACRO
  2815	402765'	254 00 0 00 403202'		JRST SMACRO	;11	SPLICE MACRO
  2816	402766'	254 00 0 00 403232'		JRST RDNPLS	;12	+
  2817
  2818					;a real dotted pair
  2819	402767'	202 01 0 00 000044'	RDOT2:	MOVEM A,OLDCH
  2820	402770'	200 01 0 00 000536'		MOVE A,ORGSGN	;ORGSGN NORMALLY CONTAINS A "." AT THIS POINT
  2821	402771'	135 02 0 00 402622'	RATOM3:	LDB B,RDFLD
  2822	402772'	541 13 0 00 000003 		HRRI R,DELCLS	;delimiter
  2823	402773'	350 00 0 14 000000 		AOS (P)		;non-atom (ie a delimiter)
  2824	402774'	263 14 0 00 000000 		POPJ P,
  2825
  2826					;dot handler
  2827	402775'	202 01 0 00 000536'	RDOT:	MOVEM A,ORGSGN	;INCASE SOMETHING ELSE DEFINED AS "."
  2828	402776'	260 14 0 00 400756'		PUSHJ P,TYID
  2829	402777'	135 02 0 00 402620'		LDB B,DOTFLD
  2830	403000'	254 00 0 02 403001'		JRST DOTAB(B)
  2831
  2832	403001'	260 14 0 00 402734'	DOTAB:	PUSHJ P,COMMENT	;0	comment
  2833	403002'	254 00 0 00 402776'		JRST RDOT+1	;1	null
  2834	403003'	254 00 0 00 402767'		JRST RDOT2	;2	delimit
  2835	403004'	254 00 0 00 402767'		JRST RDOT2	;3	dot
  2836	403005'	254 00 0 00 402767'		JRST RDOT2	;4	e
  2837	403006'	201 02 0 00 000000 		MOVEI B,0	;5	digit
  2838	403007'	136 02 0 00 000003 		IDPB B,C
  2839	403010'	661 06 0 00 000004 		TLO T,SAWDOT
  2840	403011'	254 00 0 00 403221'		JRST RDNUM

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-68
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2841					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-69
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2842					;string scanner
  2843	403012'	260 14 0 00 402734'	STRTAB:	PUSHJ P,COMMENT	;0	comment
  2844	403013'	254 00 0 00 403016'		JRST RDSTR+1	;1	null
  2845	403014'	254 00 0 00 403021'		JRST STR2	;2	delimit
  2846	403015'	136 01 0 00 000003 	RDSTR:	IDPB A,C	;3	string element
  2847	403016'	260 14 0 00 400756'		PUSHJ P,TYID
  2848	403017'	135 02 0 00 000157'		LDB B,STRFLD
  2849	403020'	254 00 0 02 403012'		JRST STRTAB(B)
  2850
  2851	403021'	201 01 0 00 000042 	STR2:	MOVEI A,DBLQT
  2852	403022'	541 13 0 00 000001 		HRRI R,STRCLS	;string
  2853	403023'	136 01 0 00 000003 		IDPB A,C
  2854	403024'	260 14 0 00 403260'	NOINTR:	PUSHJ P,IDEND	;no intern
  2855	403025'	260 14 0 00 403313'		PUSHJ P,IDSUB
  2856	403026'	254 00 0 00 403365'		JRST PNAMAK
  2857
  2858
  2859					;identifier scanner
  2860	403027'	260 14 0 00 402734'	IDTAB:	PUSHJ P,COMMENT	;0	
  2861	403030'	254 00 0 00 403034'		JRST RDID+1	;1	null
  2862	403031'	254 00 0 00 403265'			JRST MAKID	;2	delimit
  2863	403032'	260 14 0 00 400745'		PUSHJ P,TYI	;3	/
  2864	403033'	136 01 0 00 000003 	RDID:	IDPB A,C	;4	letter or digit
  2865	403034'	260 14 0 00 400756'		PUSHJ P,TYID
  2866	403035'	135 02 0 00 000160'		LDB B,IDFLD	
  2867	403036'	254 00 0 02 403027'		JRST IDTAB(B)
  2868					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-70
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2869					;LINEREAD - RETURNS ALL THE EXPRESSIONS ON ONE LINE AS A LIST
  2870					;
  2871	403037'	260 14 0 00 402651'	LINRD:	PUSHJ	P,READ
  2872	403040'	550 02 0 00 000001 		HRRZ	B,A
  2873	403041'	332 00 0 00 000566'		SKIPE	SMAC		;CHECK THE SPLICE LIST
  2874	403042'	254 00 0 00 403077'		JRST	LRMORE
  2875	403043'	336 01 0 00 000044'		SKIPN	A,OLDCH
  2876	403044'	260 14 0 00 400756'	LRTY:	PUSHJ	P,TYID		;NEED A CHARACTER
  2877	403045'	202 01 0 00 000044'		MOVEM	A,OLDCH		;SAVE IT
  2878	403046'	135 03 0 00 000156'		LDB	C,RATFLD	;THIS KLUDGE IS TO AVOID MAKING ANOTHER TABLE ENTRY
  2879	403047'	306 03 0 00 000007 		CAIN	C,7		;SPECIAL CHECK FOR "."
  2880	403050'	254 00 0 00 403104'		JRST	LRTY1		;IGNORE IT
  2881	403051'	303 03 0 00 000003 		CAILE	C,3		;ELIMINATE MOST POSSIBILITIES
  2882	403052'	254 00 0 00 403077'		JRST	LRMORE		;MORE ON THE LINE
  2883	403053'	322 03 0 00 403075'		JUMPE	C,LREND		;END LINE ON COMMENT - THINK ABOUT IT, ITS RIGHT
  2884	403054'	135 03 0 00 402622'		LDB	C,RDFLD
  2885	403055'	254 00 0 03 403056'		JRST	LR1(C)
  2886	403056'	254 00 0 00 403065'	LR1:	JRST	LPIG		;0	MORE TO FIGURE OUT
  2887	403057'	254 00 0 00 403104'		JRST	LRTY1		;1	IGNORE
  2888	403060'	254 00 0 00 403077'		JRST	LRMORE		;2	MORE ON THE LINE
  2889	403061'	275 01 0 00 000033 		SUBI	A,ALTMOD	;3	CHECK ALTMOD
  2890	403062'	326 01 0 00 403104'		JUMPN	A,LRTY1		;4	IGNORE "]" AND "."
  2891	403063'	326 01 0 00 403077'		JUMPN	A,LRMORE	;5	MORE ON "@"
  2892	403064'	254 00 0 00 403075'		JRST	LREND
  2893	403065'	306 01 0 00 000050 	LPIG:	CAIN	A,"("		;THESE SPECIAL CHECK COULD SCREW UP READ MACROS
  2894	403066'	254 00 0 00 403077'		JRST	LRMORE
  2895	403067'	302 01 0 00 000011 		CAIE	A,TAB
  2896	403070'	301 01 0 00 000040 		CAIL	A,40		;READ MORE IF SPACE, COMMA, OR TAB
  2897						JRST [	HRLI B,-1	;SET SPQCE FLAG AND TRY AGAIN
  2898	403071'	254 00 0 00 411445'			JRST LRTY]
  2899	403072'	302 01 0 00 000015 		CAIE	A,CR		;ALWAYS IGNORE CR.S
  2900	403073'	623 02 0 00 777777 		TLZE	B,-1		;EOL - IF SPACE FLAG THEN DO A PEEKC
  2901	403074'	254 00 0 00 403044'		JRST	LRTY
  2902	403075'	550 01 0 00 000002 	LREND:	HRRZ	A,B		;FINALLY GOT THERE
  2903	403076'	254 00 0 00 403657'		JRST	NCONS
  2904	403077'	505 02 0 00 000000 	LRMORE:	HRLI	B,0
  2905	403100'	261 14 0 00 000002 		PUSH	P,B		;MORE TO GO, PUSH
  2906	403101'	260 14 0 00 403037'		PUSHJ	P,LINRD		;AND CALL YOURSELF
  2907	403102'	262 14 0 00 000002 		POP	P,B
  2908	403103'	254 00 0 00 403660'		JRST	XCONS
  2909	403104'	505 02 0 00 000000 	LRTY1:	HRLI	B,0		;CLEAR SPACE FLAG
  2910	403105'	254 00 0 00 403044'		JRST	LRTY
  2911
  2912					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-71
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2913
  2914						;## FUNCTIONS TO READ A FILE.EXT
  2915						;## READ A FILE.EXT FROM THE UFD
  2916
  2917	403106'	256 00 0 00 000034'	FLTYIA:	XCT	TYI2		;## GET NEXT WORD, IGNORE OLDCH
  2918						JRST	[SETZ AR1,
  2919	403107'	254 00 0 00 411447'			 JRST TYI2X ]	;%% INPUT SOME MORE, CLEARING TEST REG.
  2920	403110'	134 01 1 00 000601'		ILDB	A,@TYI3		;## AND LOAD WORD
  2921	403111'	263 14 0 00 000000 		POPJ	P,
  2922
  2923
  2924	403112'	260 14 0 00 403106'	RDFIL1:	PUSHJ	P,FLTYIA	;##  FILE NAME NOT THERE, SKIP OVER EXT
  2925	403113'	402 00 0 00 000531'	RDFILE:	SETZM	NOINFG		;## ## INTERN
  2926	403114'	260 14 0 00 403106'		PUSHJ	P,FLTYIA		;## GET FILE NAME WORD
  2927	403115'	260 14 0 00 403126'		PUSHJ	P,SIXATM	;## MAKE IT AN ATOM
  2928	403116'	321 01 0 00 403112'		JUMPL	A,RDFIL1	;## A=-1 IF EMPTY 
  2929	403117'	261 14 0 00 000001 		PUSH	P,A
  2930	403120'	260 14 0 00 403106'		PUSHJ	P,FLTYIA		;## GET EXTENSION
  2931	403121'	541 01 0 00 000000 		HRRI	A,0		;## CLEAR RH
  2932	403122'	260 14 0 00 403126'		PUSHJ	P,SIXATM
  2933	403123'	321 01 0 00 405717'		JUMPL	A,POPAJ		;## NO EXTENSION, RETURN 
  2934	403124'	262 14 0 00 000002 		POP	P,B		;## GET FILE BACK
  2935	403125'	254 00 0 00 403660'		JRST	XCONS		;## RETURN FILE.EXT
  2936
  2937						;## ROUTINE TO TAKE ONE WORD OF SIXBIT AND MAKE IT AN ATOM
  2938						;## IGNORES TRAILING BLANKS, BUT INCLUDES INSERTED BLANKS. NO
  2939						;## READ MACROS, ETC.
  2940
  2941	403126'	336 02 0 00 000001 	SIXATM:	SKIPN	B,A
  2942	403127'	254 00 0 00 403142'		JRST	SXATER		;## INDICATE WORD EMPTY
  2943	403130'	201 06 0 00 000005 		MOVEI	T,5		;##  OF CHS PERMISSIBLE IN FULL WORD
  2944									;## NAME T=0 IF FIRST WORD DONE
  2945	403131'	200 04 0 00 411451'		MOVE	AR1,[POINT 6,B,5]	;## AR1 HAS PTR TO LOAD BYTE
  2946										;## FROM B TO C
  2947	403132'	260 14 0 00 403144'		PUSHJ	P,SIXAT1	;## MAKE THE PNAME LIST
  2948	403133'	260 14 0 00 403657'		PUSHJ	P,NCONS
  2949	403134'	201 02 0 11 003734'		MOVEI	B,PNAME(S)	;## MAKE PNAME
  2950	403135'	260 14 0 00 403660'		PUSHJ	P,XCONS
  2951	403136'	260 14 0 00 403656'		PUSHJ	P,ACONS		;## VOILA,  AN  ATOM
  2952	403137'	332 00 0 00 000531'		SKIPE	NOINFG	;## NOINFG=0 MEANS INTERN
  2953	403140'	263 14 0 00 000000 		POPJ	P,
  2954	403141'	254 00 0 00 403506'		JRST	INTERN
  2955
  2956	403142'	474 01 0 00 000000 	SXATER:	SETO	A,		;## RETURN -1 IN A IF B EMPTY
  2957	403143'	263 14 0 00 000000 		POPJ	P,
  2958	403144'	200 05 0 00 411452'	SIXAT1:	MOVE	AR2A,[POINT  7,0,35]	;## POINTER TO MOVE C TO  A
  2959	403145'	400 01 0 00 000000 		SETZ	A,		;## CLEAR A
  2960	403146'	400 03 0 00 000000 	SIXAT2:	SETZ	C,
  2961	403147'	322 02 0 00 403160'		JUMPE	B,SIXDON	;## DONE IF B EMPTY
  2962	403150'	135 03 0 00 000004 		LDB	C,AR1
  2963	403151'	242 02 0 00 000006 		LSH	B,6		;## LEFT SHIFT B, REMAINING CH'S IN B
  2964	403152'	541 03 0 03 000040 		HRRI	C,40(C)		;## ADD 40  TO C
  2965	403153'	136 03 0 00 000005 		IDPB	C,AR2A		;## PUT  IT IN  A
  2966	403154'	367 06 0 00 403146'		SOJG	T,SIXAT2	;## IF T>0, STILL IN FIRST WORD OF PNAME
  2967	403155'	260 14 0 00 403767'	SIXAT3:	PUSHJ	P,FWCONS

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-72
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2968	403156'	261 14 0 00 000001 		PUSH	P,A
  2969	403157'	254 00 0 00 403144'		JRST	SIXAT1		;## TRY FOR THAT SIXTH CH.
  2970	403160'	326 01 0 00 403155'	SIXDON:	JUMPN	A,SIXAT3		;## IF A NOT EMTPY, DO ANOTHER FWCONS AND
  2971									;## END UP HERE WITH A=0.
  2972	403161'	262 14 0 00 000001 		POP	P,A
  2973	403162'	260 14 0 00 403657'		PUSHJ	P,NCONS
  2974	403163'	325 06 0 00 404014'		JUMPGE	T,CPOPJ		;## IF T>=0, THEN ONLY ONE WORD
  2975	403164'	262 14 0 00 000002 		POP	P,B
  2976	403165'	254 00 0 00 403660'		JRST	XCONS		;## DONE
  2977						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-73
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  2978					;NEW AND SUPER BITCHEN READ MACROS
  2979					;
  2980	403166'				RMACRO:
  2981						IFN ALVINE,<
  2982						SKIPE PSAV1	;$$ ARE WE IN ALVINE?
  2983						JRST RATOM2	;$$ YES, IGNORE>
  2984	403166'	136 01 0 00 000003 	RMAC2:	IDPB A,C	;$$ CONVERT THE CHAR. TO AN ATOM
  2985	403167'	260 14 0 00 403260'		PUSHJ P,IDEND	;$$
  2986	403170'	260 14 0 00 403271'		PUSHJ P,INTER0	;$$
  2987	403171'	202 01 0 00 000006 		MOVEM A,T	;$$ SAVE ATOM IN CASE OF ERROR
  2988	403172'	201 02 0 11 003510'		MOVEI B,READMACRO(S)	;$$ GET THE FUNCTION NAME
  2989	403173'	260 14 0 00 404037'		PUSHJ P,GET	;$$
  2990	403174'	322 01 0 00 400701'		JUMPE A,RMERR	;$$ UNDEFINED READ MACRO
  2991	403175'	260 14 0 00 403657'		PUSHJ P,NCONS	;$$ CONVERT TO A FORM
  2992	403176'	261 14 0 00 000550'		PUSH P,PSAV	;$$
  2993	403177'	260 14 0 00 405505'		PUSHJ P,EVAL	;$$ EVALUATE THE FORM
  2994	403200'	262 14 0 00 000550'		POP P,PSAV	;$$
  2995	403201'	263 14 0 00 000000 		POPJ P,	;$$ RETURN
  2996
  2997					;SPECIAL PROCESSING OF SPLICE MACROS
  2998	403202'				SMACRO:
  2999					IFN ALVINE,<
  3000						SKIPE PSAV1	;$$ ARE WE IN ALVINE?
  3001						JRST RATOM2	;$$ YES, IGNORE>
  3002	403202'	260 14 0 00 403166'		PUSHJ P,RMAC2	;$$ EVALUATE THE MACRO
  3003	403203'	202 01 0 00 000566'		MOVEM A,SMAC	;$$ SAVE THE SPLICE LIST
  3004	403204'	254 00 0 00 402740'		JRST RATOM	;$$ START OVER
  3005
  3006					;GET AN ITEM OFF OF THE SPLICE LIST
  3007	403205'	200 01 0 00 000566'	PSMAC:	MOVE A,SMAC	;$$
  3008	403206'	260 14 0 00 403701'		PUSHJ P,ATOM	;$$ IS SPLICE LIST AN ATOM?
  3009						JUMPN A,[	MOVE A,SMAC	;$$ YES, SIMULATE . <ATOM>
  3010								PUSHJ P,NCONS	;$$
  3011								MOVEM A,SMAC	;$$
  3012								MOVEI B,4	;$$
  3013	403207'	326 01 0 00 411453'				JRST RATOM3+1]	;$$
  3014	403210'	200 02 1 00 000566'		MOVE B,@SMAC	;$$
  3015	403211'	554 01 0 00 000002 		HLRZ A,B	;$$ RETURN NEXT ITEM OF SPLICE LIST
  3016	403212'	552 02 0 00 000566'		HRRZM B,SMAC	;$$ ADVANCE SPLICE LIST
  3017	403213'	263 14 0 00 000000 		POPJ P,	;$$ RETURN
  3018						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-74
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3019					;number scanner
  3020	403214'	260 14 0 00 402734'	NUMTAB:	PUSHJ P,COMMENT	;0	comment
  3021	403215'	254 00 0 00 403222'		JRST RDNUM+1	;1	null
  3022	403216'	254 00 0 00 403403'		JRST NUMAK	;2	delimit
  3023	403217'	254 00 0 00 403225'		JRST RDNDOT	;3	dot
  3024	403220'	254 00 0 00 403234'		JRST RDE	;4	e
  3025	403221'	136 01 0 00 000003 	RDNUM:	IDPB A,C	;5	digit
  3026	403222'	260 14 0 00 400756'		PUSHJ P,TYID
  3027	403223'	135 02 0 00 402620'		LDB B,NUMFLD
  3028	403224'	254 00 0 02 403214'		JRST NUMTAB(B)
  3029
  3030	403225'	663 06 0 00 000004 	RDNDOT:	TLOE T,SAWDOT
  3031	403226'	254 00 0 00 403403'		JRST NUMAK	;two dots - delimit
  3032	403227'	201 01 0 00 000000 		MOVEI A,0
  3033	403230'	254 00 0 00 403221'		JRST RDNUM
  3034
  3035	403231'	661 06 0 00 000010 	RDNMIN:	TLO T,MINSGN
  3036	403232'	202 01 0 00 000536'	RDNPLS:	MOVEM A,ORGSGN#		;SAVE SIGN IN CASE OF BACKUP
  3037	403233'	254 00 0 00 403222'		JRST RDNUM+1
  3038
  3039					;exponent scanner
  3040	403234'	312 03 0 00 000537'	RDE:	CAME	C,ORGSTK	;FOR +E AND -E TYPE OF ATOMS
  3041	403235'	254 00 0 00 403240'		JRST	.+3
  3042	403236'	202 01 0 00 000044'		MOVEM	A,OLDCH
  3043	403237'	254 00 0 00 403407'		JRST	KLDG1
  3044	403240'	661 06 0 00 000001 		TLO T,EXP
  3045	403241'	201 01 0 00 000000 		MOVEI A,0
  3046	403242'	136 01 0 00 000003 		IDPB A,C
  3047	403243'	260 14 0 00 400756'		PUSHJ P,TYID
  3048	403244'	306 01 0 00 000055 		CAIN A,"-"
  3049	403245'	665 06 0 00 000002 		TLOA T,NEXP
  3050	403246'	306 01 0 00 000053 		CAIN A,"+"
  3051	403247'	254 00 0 00 403255'		JRST RDE2+1
  3052	403250'	254 00 0 00 403256'		JRST RDE2+2
  3053
  3054	403251'	260 14 0 00 402734'	EXPTAB:	PUSHJ P,COMMENT	;0
  3055	403252'	254 00 0 00 403255'		JRST RDE2+1	;1	null
  3056	403253'	254 00 0 00 403403'		JRST NUMAK	;2	delimit
  3057	403254'	136 01 0 00 000003 	RDE2:	IDPB A,C	;3	digit
  3058	403255'	260 14 0 00 400756'		PUSHJ P,TYID
  3059	403256'	135 02 0 00 402621'		LDB B,EXPFLD
  3060	403257'	254 00 0 02 403251'		JRST EXPTAB(B)
  3061					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-75
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3062					;semantic routines
  3063					;identifier interner and builder
  3064
  3065	403260'	634 01 0 00 000001 	IDEND:	TDZA A,A
  3066	403261'	136 01 0 00 000003 	IDEND1:	IDPB A,C
  3067	403262'	603 03 0 00 760000 		TLNE C,760000
  3068	403263'	254 00 0 00 403261'		JRST IDEND1 
  3069	403264'	263 14 0 00 000000 		POPJ P,
  3070
  3071	403265'	202 01 0 00 000044'	MAKID:	MOVEM A,OLDCH
  3072	403266'	260 14 0 00 403260'		PUSHJ P,IDEND
  3073	403267'	332 00 0 00 000531'		SKIPE NOINFG
  3074	403270'	254 00 0 00 403024'		JRST NOINTR	;dont intern it
  3075	403271'	260 14 0 00 403313'	INTER0:	PUSHJ P,IDSUB
  3076	403272'	260 14 0 00 403323'		PUSHJ P,INTER1	;is it in oblist
  3077	403273'	263 14 0 00 000000 		POPJ P,		;found
  3078	403274'	260 14 0 00 403365'		PUSHJ P,PNAMAK	;not there
  3079	403275'	200 03 0 00 000455'	MAKID2:	MOVE C,CURBUC#	;
  3080	403276'	554 02 1 00 000362'		HLRZ B,@RHX2
  3081	403277'	260 14 0 00 403661'		PUSHJ P,CONS	;cons it into the oblist
  3082	403300'	506 01 1 00 000362'		HRLM A,@RHX2
  3083	403301'	254 00 0 00 403605'		JRST CAR
  3084
  3085					;pname unmaker
  3086	403302'				PNAMUK:
  3087	403302'	201 02 0 11 003734'		MOVEI B,PNAME(S)
  3088	403303'	260 14 0 00 404037'		PUSHJ P,GET
  3089	403304'	322 01 0 00 400722'		JUMPE A,NOPNAM
  3090	403305'	200 03 0 00 000017 		MOVE C,SP
  3091	403306'	554 02 0 01 000000 	PNAMU3:	HLRZ B,(A)
  3092	403307'	261 03 0 02 000000 		PUSH C,(B)
  3093	403310'	550 01 0 01 000000 		HRRZ A,(A)
  3094	403311'	326 01 0 00 403306'		JUMPN A,PNAMU3 
  3095	403312'	263 14 0 00 000000 		POPJ P,
  3096
  3097					;idsub constructs a iowd pointer for a print name
  3098	403313'	553 00 0 00 000003 	IDSUB:	HRRZS C
  3099	403314'	311 03 0 00 000514'		CAML C,JRELO	;top of spec pdl
  3100	403315'	254 00 0 00 400165'		JRST SPDLOV
  3101	403316'	213 00 0 00 000003 		MOVNS C
  3102	403317'	271 03 0 17 000000 		ADDI C,(SP)
  3103	403320'	505 03 0 17 000001 		HRLI C,1(SP)
  3104	403321'	206 03 0 00 000506'		MOVSM C,IDPTR#
  3105	403322'	263 14 0 00 000000 		POPJ P,
  3106
  3107					PAGE		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-76
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3108					;identifier interner
  3109	403323'	200 02 0 17 000001 	INTER1:	MOVE B,1(SP)	;get first word of pname 
  3110	403324'	242 02 0 00 777777 		LSH B,-1	;right justify it 
  3111	403325'	230 02 0 00 000361'		IDIV B,INT1	;compute hash code 
  3112					REMOTE<
  3113					INT1:	BCKETS
  3114					RHX2:
  3115					XXX1:	XWD B+1,OBTBL>
  3116	403326'	261 14 0 00 000003 		PUSH P,C		;## SAVE C
  3117	403327'	550 03 0 11 003730'		HRRZ	C,VOBLIST(S)	;## THIS GETS THE CURRENT VALUE OF OBLIST(THE ATOM)
  3118	403330'	542 03 0 00 000362'		HRRM	C,RHX2	;## ASSUMES THAT ALL REFERENCE TO OBLIST GOES
  3119	403331'	542 03 0 00 000363'		HRRM	C,RHX5	;## IE INTERN, REMOB ETC GOES THROUGH THIS SECTION.
  3120	403332'	262 14 0 00 000003 		POP P,C		;##RHX2 AND RHX5 ARE HOPEFULLY THE ONLY TWO WORDS
  3121								;##WHICH ARE USED TO REFERENCE TABLE 3/28/73
  3122	403333'	554 07 1 00 000362'		HLRZ TT,@RHX2	;get bucket 
  3123	403334'	202 03 0 00 000455'		MOVEM B+1,CURBUC	;save bucket number 
  3124	403335'	200 06 0 00 000007 		MOVE T,TT 
  3125	403336'	254 00 0 00 403341'		JRST MAKID1
  3126
  3127	403337'	200 07 0 00 000006 	MAKID3:	MOVE TT,T	;save previous atom 
  3128	403340'	550 06 0 06 000000 		HRRZ T,(T)	;get next atom 
  3129	403341'	322 06 0 00 404010'	MAKID1:	JUMPE T,CPOPJ1	;not in oblist
  3130	403342'	554 01 0 06 000000 		HLRZ A,(T)	;next id in oblist
  3131	403343'	201 02 0 11 003734'	MAKID4:	MOVEI	B,PNAME(S)	;## USE GET FOR GETTING PNAME
  3132	403344'	260 14 0 00 404037'		PUSHJ	P,GET		;## (GET ATOM @PNAME)
  3133	403345'	322 01 0 00 400722'		JUMPE	A,NOPNAM	;## NO PRINT NAME
  3134	403346'	200 03 0 00 000506'		MOVE C,IDPTR	;found pname
  3135	403347'	322 01 0 00 403337'	MAKID5:	JUMPE A,MAKID3	;not the one
  3136	403350'	204 01 0 01 000000 		MOVS A,(A)
  3137	403351'	200 02 0 01 000000 		MOVE B,(A)
  3138	403352'	412 04 0 03 000000 		ANDCAM AR1,(C)	;clear low bit
  3139	403353'	312 02 0 03 000000 		CAME B,(C)
  3140	403354'	254 00 0 00 403337'		JRST MAKID3	;not the one
  3141	403355'	554 01 0 00 000001 		HLRZ A,A	;ok so far
  3142	403356'	253 03 0 00 403347'		AOBJN C,MAKID5
  3143	403357'	326 01 0 00 403337'		JUMPN A,MAKID3	;not the one
  3144	403360'	554 01 0 06 000000 		HLRZ A,(T)	;this is it
  3145	403361'	554 02 0 07 000000 		HLRZ B,(TT) 
  3146	403362'	506 01 0 07 000000 		HRLM A,(TT) 
  3147	403363'	506 02 0 06 000000 		HRLM B,(T) 
  3148	403364'	263 14 0 00 000000 		POPJ P,
  3149
  3150						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-77
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3151					;pname builder
  3152	403365'	200 06 0 00 000506'	PNAMAK:	MOVE T,IDPTR
  3153	403366'	260 14 0 00 403657'		PUSHJ P,NCONS
  3154	403367'	200 07 0 00 000001 		MOVE TT,A
  3155	403370'	200 03 0 00 000001 		MOVE C,A
  3156	403371'	200 01 0 06 000000 	PNAMB:	MOVE A,(T)
  3157	403372'	620 01 0 00 000001 		TRZ A,1		;clear low bit!!!!!
  3158	403373'	260 14 0 00 403767'		PUSHJ P,FWCONS
  3159	403374'	260 14 0 00 403657'		PUSHJ P,NCONS
  3160	403375'	542 01 0 07 000000 		HRRM A,(TT)
  3161	403376'	200 07 0 00 000001 		MOVE TT,A
  3162	403377'	253 06 0 00 403371'		AOBJN T,PNAMB
  3163	403400'	200 01 0 00 000003 		MOVE A,C
  3164	403401'	517 00 0 01 000000 		HRLZS (A)
  3165	403402'	254 00 0 00 403654'		JRST PNGNK1+1
  3166					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-78
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3167					;number builder
  3168	403403'	202 01 0 00 000044'	NUMAK:	MOVEM A,OLDCH
  3169	403404'	541 13 0 00 000002 		HRRI R,NUMCLS	;number
  3170	403405'	312 03 0 00 000537'		CAME C,ORGSTK	;BIG KLUDGE FOR + AND -
  3171	403406'	254 00 0 00 403413'		JRST .+5
  3172	403407'	200 01 0 00 000536'	KLDG1:	MOVE A,ORGSGN	;ENTER HERE TO BACK UP IN THE CASE OF +E OR -E
  3173	403410'	136 01 0 00 000003 		IDPB A,C
  3174	403411'	260 14 0 00 400754'		PUSHJ P,TYIA
  3175	403412'	254 00 0 00 403035'		JRST RDID+2
  3176	403413'	201 01 0 00 000000 		MOVEI A,0
  3177	403414'	136 01 0 00 000003 		IDPB A,C
  3178	403415'	136 01 0 00 000003 		IDPB A,C
  3179	403416'	553 00 0 00 000003 		HRRZS C
  3180	403417'	311 03 0 00 000514'		CAML C,JRELO	;top of spec pdl
  3181	403420'	254 00 0 00 400165'		JRST SPDLOV
  3182	403421'	205 03 0 00 000700 		MOVSI C,(POINT 7,0,35)
  3183	403422'	541 03 0 17 000000 		HRRI C,(SP)
  3184	403423'	603 06 0 00 000005 		TLNE T,SAWDOT+EXP
  3185	403424'	254 00 0 00 403434'		JRST NUMAK2	;decimal number or flt pt
  3186	403425'	200 01 0 11 003732'		MOVE A,VIBASE(S)	;ibase integrer
  3187	403426'	275 01 0 00 577777 		SUBI A,INUM0
  3188	403427'	260 14 0 00 403475'		PUSHJ P,NUM
  3189	403430'				NUMAK4:
  3190	403430'	201 02 0 11 003740'		MOVEI B,FIXNUM(S)
  3191	403431'	603 06 0 00 000010 	NUMAK6:	TLNE T,MINSGN
  3192	403432'	213 00 0 00 000001 		MOVNS A
  3193	403433'	254 00 0 00 405057'		JRST MAKNUM
  3194
  3195	403434'	260 14 0 00 403474'	NUMAK2:	PUSHJ P,NUM10
  3196	403435'	202 01 0 00 000007 		MOVEM A,TT
  3197	403436'	607 06 0 00 000004 		TLNN T,SAWDOT
  3198						JRST [	PUSHJ P,FLOAT	;flt pt without fraction
  3199							MOVE TT,A
  3200	403437'	254 00 0 00 411460'			JRST NUMAK3]
  3201	403440'	260 14 0 00 403474'		PUSHJ P,NUM10	;fraction part
  3202	403441'	250 01 0 00 000007 		EXCH A,TT
  3203	403442'	607 06 0 00 000001 		TLNN T,EXP
  3204	403443'	322 05 0 00 403430'		JUMPE AR2A,NUMAK4	;no exponent and no fraction
  3205	403444'	260 14 0 00 405112'		PUSHJ P,FLOAT
  3206	403445'	250 01 0 00 000007 		EXCH A,TT
  3207	403446'	260 14 0 00 405112'		PUSHJ P,FLOAT
  3208	403447'	201 04 0 00 402614'		MOVEI AR1,FT01
  3209	403450'	260 14 0 00 403466'		PUSHJ P,FLOSUB
  3210	403451'	164 01 0 00 000002 		FMPR A,B
  3211	403452'	146 01 0 00 000007 		FADRM A,TT
  3212	403453'	260 14 0 00 403474'	NUMAK3:	PUSHJ P,NUM10	;exponent part
  3213	403454'	200 05 0 00 000001 		MOVE AR2A,A
  3214	403455'	201 04 0 00 402605'		MOVEI AR1,FT-1
  3215	403456'	603 06 0 00 000002 		TLNE T,NEXP
  3216	403457'	201 04 0 00 402614'		MOVEI AR1,FT01	;-exponent
  3217	403460'	260 14 0 00 403466'		PUSHJ P,FLOSUB
  3218	403461'	164 07 0 00 000002 		FMPR TT,B	;positive exponent
  3219	403462'	201 02 0 11 003744'		MOVEI B,FLONUM(S)
  3220	403463'	200 01 0 00 000007 		MOVE A,TT
  3221	403464'	255 10 0 00 405174'		JFCL 10,FLOOV

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-79
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3222	403465'	254 00 0 00 403431'		JRST NUMAK6
  3223
  3224	403466'	205 02 0 00 201400 	FLOSUB:	MOVSI B,(1.0)
  3225	403467'	622 05 0 00 000001 		TRZE AR2A,1
  3226	403470'	164 02 0 04 000000 		FMPR B,(AR1)
  3227	403471'	322 05 0 00 404014'		JUMPE AR2A,CPOPJ
  3228	403472'	242 05 0 00 777777 		LSH AR2A,-1
  3229	403473'	364 04 0 00 403467'		SOJA AR1,FLOSUB+1
  3230
  3231					;variable radix integer builder
  3232
  3233	403474'	201 01 0 00 000012 	NUM10:	MOVEI A,TEN
  3234	403475'	542 01 0 00 000533'	NUM:	HRRM A,NUM1
  3235	403476'	255 10 0 00 403477'		JFCL 10,.+1	;clear carry0 flag 
  3236	403477'	403 01 0 00 000005 		SETZB A,AR2A
  3237	403500'	134 02 0 00 000003 	NUM2:	ILDB B,C
  3238	403501'	322 02 0 00 404014'		JUMPE B,CPOPJ	;done
  3239	403502'	220 01 0 00 000533'		IMUL A,NUM1#
  3240	403503'	271 01 0 02 777720 		ADDI A,-"0"(B)
  3241	403504'	255 10 0 00 405172'	NUM3:	JFCL 10,FIXOV	;bignums change this to jfcl 10,rdbnm
  3242	403505'	344 05 0 00 403500'		AOJA AR2A,NUM2
  3243					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-80
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3244	403506'	202 01 0 00 000005 	INTERN:	MOVEM A,AR2A
  3245	403507'	260 14 0 00 403302'		PUSHJ P,PNAMUK
  3246	403510'	260 14 0 00 403313'		PUSHJ P,IDSUB
  3247	403511'	201 04 0 00 000001 		MOVEI AR1,1
  3248	403512'	260 14 0 00 403323'		PUSHJ P,INTER1		;is it in oblist
  3249	403513'	263 14 0 00 000000 		POPJ P,			;found it
  3250	403514'	200 01 0 00 000005 		MOVE A,AR2A		;not there
  3251	403515'	254 00 0 00 403275'		JRST MAKID2		;put it there
  3252
  3253	403516'	322 01 0 00 404013'	REMOB:	JUMPE A,FALSE
  3254	403517'	201 04 0 00 000001 		MOVEI AR1,1
  3255	403520'	261 14 0 00 000001 		PUSH P,A
  3256	403521'	554 01 0 01 000000 		HLRZ A,(A)
  3257	403522'	260 14 0 00 403506'		PUSHJ P,INTERN
  3258	403523'	554 02 1 14 000000 		HLRZ B,@(P)
  3259	403524'	312 01 0 00 000002 		CAME A,B
  3260	403525'	254 00 0 00 403542'		JRST REMOB2
  3261	403526'	550 02 0 00 000455'		HRRZ B,CURBUC
  3262					REMOTE<
  3263					RHX5:
  3264					XXX2:	XWD B,OBTBL>
  3265	403527'	554 03 1 00 000363'		HLRZ C,@RHX5
  3266	403530'	554 06 0 03 000000 		HLRZ T,(C)
  3267	403531'	316 06 0 00 000001 		CAMN T,A
  3268						JRST [	HRRZ TT,(C)
  3269							HRLM TT,@RHX5
  3270	403532'	254 00 0 00 411463'			JRST REMOB2]
  3271	403533'	200 07 0 00 000003 	REMOB3:	MOVE TT,C
  3272	403534'	550 03 0 03 000000 		HRRZ C,(C)
  3273	403535'	554 06 0 03 000000 		HLRZ T,(C)
  3274	403536'	312 06 0 00 000001 		CAME T,A
  3275	403537'	254 00 0 00 403533'		JRST REMOB3
  3276	403540'	550 06 0 03 000000 		HRRZ T,(C)
  3277	403541'	542 06 0 07 000000 		HRRM T,(TT)
  3278	403542'	262 14 0 00 000001 	REMOB2:	POP P,A
  3279	403543'	550 01 0 01 000000 		HRRZ A,(A)
  3280	403544'	254 00 0 00 403516'		JRST REMOB
  3281						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-81
UCILSP	MAC	27-MAR-75 17:13		SUPER FAST TABLE DRIVEN READ 	14-MAY-69      

  3282					;ROUTINE TO ALLOW ARBITRARY MODIFICATION AND READING OF THE
  3283					;READ CHARACTER-TABLE BY LISP FUNCTIONS
  3284					;TAKES TWO ARGUMENTS A,B
  3285					;	IF B = NIL IT RETURNS THE CONTENTS OF CHARACTER TABLE
  3286					;	LOCATION SPECIFIED BY A
  3287					;	OTHERWISE IT CHANGES THE CHARACTER TABLE ENTRY SPECIFIED BY A
  3288					;	TO THE BIT PATTERN SPECIFIED BY B, AND RETURNS THE
  3289					;	PREVIOUS VALUE
  3290
  3291	403545'	261 14 0 00 000002 	MODCHR:	PUSH	P,B	;$$SAVE BIT PATTERN FOR TABLE
  3292	403546'	260 14 0 00 405071'		PUSHJ	P,NUMVAL	;$$GET POSITION IN TABLE
  3293	403547'	262 14 0 00 000002 		POP	P,B	;$$
  3294	403550'	200 06 0 01 000161'		MOVE	T,CHRTAB(A)	;$$GET OLD TABLE VALUE
  3295	403551'	322 02 0 00 403557'		JUMPE	B,MCEXIT	;$$IF B=NIL THEN JUST RETURN OLD TABLE VALUE
  3296	403552'	261 14 0 00 000001 		PUSH	P,A	;$$SAVE TABLE POSITION
  3297
  3298	403553'	201 01 0 02 000000 		MOVEI	A,(B)	;$$
  3299	403554'	260 14 0 00 405071'		PUSHJ	P,NUMVAL	;$$GET NEW BIT PATTERN
  3300	403555'	262 14 0 00 000002 		POP	P,B	;$$GET TABLE POSITION
  3301	403556'	202 01 0 02 000161'		MOVEM	A,CHRTAB(B)	;$$CHANGE TABLE
  3302	403557'	200 01 0 00 000006 	MCEXIT:	MOVE	A,T	;$$RETURN OLD TABLE VALUE
  3303	403560'	254 00 0 00 405220'		JRST	FIX1A	;$$CONVERT TO BINARY AND EXIT
  3304
  3305					;FUNCTION TO DETERMINE THE ASCII VALUE OF A CHARACTER
  3306					;	CHRVAL TAKES AN ATOM AS ITS ARGUMENT AND USES THE FIRST
  3307					;	CHARACTER OF THE PRINT NAME
  3308	403561'	201 02 0 11 003734'	CHRVAL:	MOVEI B,PNAME(S)	;$$ GET PRINT NAME
  3309	403562'	260 14 0 00 404037'		PUSHJ P,GET	;$$
  3310	403563'	554 01 0 01 000000 		HLRZ A,(A)	;$$
  3311	403564'	200 01 0 01 000000 		MOVE A,(A)	;$$ FIRST WORD OF PRINT NAME
  3312	403565'	242 01 0 00 777743 		LSH A,-35	;$$ SHIFT TO GET FIRST CHARACTER
  3313	403566'	254 00 0 00 405220'		JRST FIX1A	;$$ CONVERT TO INTEGER
  3314
  3315					;FUNCTION TO SET BITS FOR A READ MACRO
  3316					;	A IS THE CHAR. ATOM AND B ARE THE STATUS BITS,
  3317					;	IF B=NIL NO MODIFICATION IS MADE
  3318					;	THE OLD STATUS BITS ARE RETURNED
  3319	403567'	200 07 0 00 000002 	SETCHR:	MOVE TT,B	;$$
  3320	403570'	260 14 0 00 403561'		PUSHJ P,CHRVAL	;$$ CONVERT CHAR. TO INUM
  3321	403571'	201 02 0 01 200001 		MOVEI B,-INUM0(A)	;$$ CONVERT INUM TO BINARY
  3322	403572'	135 01 0 00 411466'		LDB A,[POINT 5,CHRTAB(B),5]	;$$ LOAD OLD BITS
  3323	403573'	322 07 0 00 405220'		JUMPE TT,FIX1A	;$$ NO CHANGE IF B = NIL
  3324	403574'	201 07 0 07 200001 		MOVEI TT,-INUM0(TT)	;$$ CONVERT STATUS TO BINARY
  3325	403575'	137 07 0 00 411466'		DPB TT,[POINT 5,CHRTAB(B),5]	;$$ SET NEW BITS
  3326	403576'	254 00 0 00 405220'		JRST FIX1A	;$$ RETURN
  3327
  3328
  3329						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-82
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3330						SUBTTL LISP INTERPRETER SUBROUTINES   
  3331
  3332	403577'	334 01 0 01 000000 	CADDDR:	SKIPA A,(A)
  3333	403600'	554 01 0 01 000000 	CADDAR:	HLRZ A,(A)
  3334	403601'	334 01 0 01 000000 	CADDR:	SKIPA A,(A)
  3335	403602'	554 01 0 01 000000 	CADAR:	HLRZ A,(A)
  3336	403603'	334 01 0 01 000000 	CADR:	SKIPA A,(A)
  3337	403604'	554 01 0 01 000000 	CAAR:	HLRZ A,(A)
  3338	403605'	554 01 0 01 000000 	CAR:	HLRZ A,(A)
  3339	403606'	263 14 0 00 000000 		POPJ P,
  3340
  3341	403607'	334 01 0 01 000000 	CDDDDR:	SKIPA A,(A)
  3342	403610'	554 01 0 01 000000 	CDDDAR:	HLRZ A,(A)
  3343	403611'	334 01 0 01 000000 	CDDDR:	SKIPA A,(A)
  3344	403612'	554 01 0 01 000000 	CDDAR:	HLRZ A,(A)
  3345	403613'	334 01 0 01 000000 	CDDR:	SKIPA A,(A)
  3346	403614'	554 01 0 01 000000 	CDAR:	HLRZ A,(A)
  3347	403615'	550 01 0 01 000000 	CDR:	HRRZ A,(A)
  3348	403616'	263 14 0 00 000000 		POPJ P,
  3349
  3350	403617'	334 01 0 01 000000 	CAADDR:	SKIPA A,(A)
  3351	403620'	554 01 0 01 000000 	CAADAR:	HLRZ A,(A)
  3352	403621'	334 01 0 01 000000 	CAADR:	SKIPA A,(A)
  3353	403622'	554 01 0 01 000000 	CAAAR:	HLRZ A,(A)
  3354	403623'	254 00 0 00 403604'		JRST CAAR
  3355
  3356	403624'	334 01 0 01 000000 	CDADDR:	SKIPA A,(A)
  3357	403625'	554 01 0 01 000000 	CDADAR:	HLRZ A,(A)
  3358	403626'	334 01 0 01 000000 	CDADR:	SKIPA A,(A)
  3359	403627'	554 01 0 01 000000 	CDAAR:	HLRZ A,(A)
  3360	403630'	254 00 0 00 403614'		JRST CDAR
  3361
  3362	403631'	334 01 0 01 000000 	CAAADR:	SKIPA A,(A)
  3363	403632'	554 01 0 01 000000 	CAAAAR:	HLRZ A,(A)
  3364	403633'	254 00 0 00 403622'		JRST CAAAR
  3365
  3366	403634'	334 01 0 01 000000 	CDDADR:	SKIPA A,(A)
  3367	403635'	554 01 0 01 000000 	CDDAAR:	HLRZ A,(A)
  3368	403636'	254 00 0 00 403612'		JRST CDDAR
  3369
  3370	403637'	334 01 0 01 000000 	CDAADR:	SKIPA A,(A)
  3371	403640'	554 01 0 01 000000 	CDAAAR:	HLRZ A,(A)
  3372	403641'	254 00 0 00 403627'		JRST CDAAR
  3373
  3374	403642'	334 01 0 01 000000 	CADADR:	SKIPA A,(A)
  3375	403643'	554 01 0 01 000000 	CADAAR:	HLRZ A,(A)
  3376	403644'	254 00 0 00 403602'		JRST CADAR
  3377					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-83
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3378
  3379	403645'	554 01 0 01 000000 	QUOTE:	HLRZ A,(A)	;car and quote duplicated for backtrace
  3380	403646'	263 14 0 00 000000 		POPJ P,
  3381
  3382	403647'	260 14 0 00 405071'	AASCII:	PUSHJ P,NUMVAL
  3383	403650'	242 01 0 00 000035 		LSH A,^D29
  3384	403651'	260 14 0 00 403767'		PUSHJ P,FWCONS
  3385	403652'	260 14 0 00 403657'		PUSHJ P,NCONS
  3386	403653'	260 14 0 00 403657'	PNGNK1:	PUSHJ P,NCONS
  3387	403654'	201 02 0 11 003734'		MOVEI B,PNAME(S)
  3388	403655'	260 14 0 00 403660'		PUSHJ P,XCONS
  3389	403656'	664 02 0 00 777777 	ACONS:	TROA B,-1
  3390	403657'	624 02 0 00 777777 	NCONS:	TRZA B,-1
  3391	403660'	250 02 0 00 000001 	XCONS:	EXCH B,A
  3392	403661'	350 00 0 00 000452'	CONS:	AOS CONSVAL
  3393	403662'	504 02 0 00 000001 		HRL B,A
  3394	403663'	336 01 0 00 000015 		SKIPN A,F
  3395						JRST [	HLR A,B
  3396							PUSHJ P,AGC
  3397	403664'	254 00 0 00 411467'			JRST .-1]
  3398	403665'	200 15 0 15 000000 		MOVE F,(F)
  3399	403666'	202 02 0 01 000000 		MOVEM B,(A)
  3400	403667'	263 14 0 00 000000 		POPJ P,
  3401
  3402					;new consing routines-not finished yet
  3403					;acons:	troa b,-1
  3404					;ncons:	trz b,-1
  3405					;cons:	exch b,a
  3406					;xcons:	hrl a,b
  3407					;	exch a,(f) 
  3408					;	exch a,f
  3409					;	popj p,
  3410
  3411	403670'	322 01 0 00 404014'	CONSP:	JUMPE	A,CPOPJ		;## DONE IF NIL
  3412	403671'	303 01 0 00 377777 		CAILE A,INUMIN
  3413	403672'	254 00 0 00 404013'		JRST FALSE
  3414	403673'	530 02 0 01 000000 		HLLE B,(A)
  3415	403674'	342 02 0 00 404013'		AOJE B,FALSE
  3416					IFN NONUSE	<JRST	TRUE>	;## T IF NONUSEFUL DESIRED
  3417	403675'	263 14 0 00 000000 	IFE NONUSE	<POPJ	P,>	;## THE CELL OTHERWISE
  3418	403676'	301 01 1 00 000476'	PATOM:	CAIL A,@GCP1
  3419	403677'	254 00 0 00 403764'		JRST TRUE
  3420	403700'	301 01 1 00 000376'		CAIL A,@GCPP1
  3421	403701'	303 01 0 00 377777 	ATOM:	CAILE A,INUMIN
  3422	403702'	254 00 0 00 403764'		JRST TRUE
  3423	403703'	322 01 0 00 403764'		JUMPE	A,TRUE		;## FAST CHECK FOR NIL
  3424	403704'	305 01 1 00 000476'		CAIGE	A,@GCP1		;## LO-END OF FWS, CAN'T ADD TO 0
  3425	403705'	530 01 0 01 000000 		HLLE A,(A)
  3426	403706'	342 01 0 00 403764'		AOJE A,TRUE
  3427	403707'	254 00 0 00 404013'		JRST FALSE
  3428					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-84
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3429	403710'	316 01 0 00 000002 	NEQ:	CAMN A,B
  3430	403711'	254 00 0 00 404013'		JRST FALSE
  3431	403712'	254 00 0 00 403764'		JRST TRUE
  3432	403713'	316 01 0 00 000002 	EQ:	CAMN A,B
  3433	403714'	254 00 0 00 403764'		JRST TRUE
  3434	403715'	254 00 0 00 404013'		JRST FALSE
  3435
  3436	403716'	201 02 0 00 000000 	LENGTH:	MOVEI B,0
  3437	403717'	302 01 0 00 000000 	LNGTH1:	CAIE	A,NIL		;## DONE IF NIL
  3438	403720'	301 01 1 00 000472'		CAIL A,@FWSO		;## FWSO  IS  FULL SPACE ORIGIN,
  3439									;## ELIMINATE ILL MEM REF
  3440	403721'	254 00 0 00 405132'		JRST FIX1
  3441	403722'	530 03 0 01 000000 		HLLE C,(A)
  3442	403723'	342 03 0 00 405132'		AOJE C,FIX1
  3443	403724'	550 01 0 01 000000 		HRRZ A,(A)
  3444	403725'	344 02 0 00 403717'		AOJA B,LNGTH1
  3445
  3446	403726'	550 02 0 01 000000 	LAST:	HRRZ B,(A)
  3447	403727'	302 02 0 00 000000 		CAIE	B,NIL		;## IF NIL DONE
  3448	403730'	301 02 1 00 000472'		CAIL	B,@FWSO		;## ANOTHER  POTENTIAL ILL MEM GONE
  3449	403731'	263 14 0 00 000000 		POPJ P,
  3450	403732'	530 02 0 02 000000 		HLLE B,(B)
  3451	403733'	342 02 0 00 404014'		AOJE B,CPOPJ
  3452	403734'	550 01 0 01 000000 		HRRZ A,(A)
  3453	403735'	254 00 0 00 403726'		JRST LAST
  3454
  3455					;(LITATOM X) = (AND (ATOM X) (NOT (NUMBERP X)))
  3456	403736'	200 02 0 00 000001 	LITATOM:MOVE	B,A
  3457	403737'	260 14 0 00 403701'		PUSHJ	P,ATOM
  3458	403740'	322 01 0 00 404014'		JUMPE	A,CPOPJ
  3459	403741'	200 01 0 00 000002 		MOVE	A,B
  3460	403742'	260 14 0 00 404064'		PUSHJ	P,NUMBERP
  3461	403743'	254 00 0 00 403763'		JRST	NOT
  3462						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-85
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3463					;NEW RPLACD AND RPLACA WHICH CHECK SO AS NOT TO  CLOBBER NIL AND ATOMS
  3464	403744'	302 01 0 00 000000 	RPLACA:	CAIE	A,NIL		;## TEST FOR NIL
  3465	403745'	303 01 0 00 377777 		CAILE	A,INUMIN	;$$
  3466	403746'	254 00 0 00 400706'		JRST	RPAERR	;$$ ATTEMPT TO RPLACA A SMALL NUMBER
  3467	403747'	500 01 0 01 000000 		HLL	A,(A)	;$$TEST FOR OTHER ATOMS
  3468	403750'	641 01 0 00 777777 		TLC	A,-1	;$$
  3469	403751'	627 01 0 00 777777 		TLZN	A,-1	;$$ATOM CARS ARE -1
  3470	403752'	254 00 0 00 400706'		JRST	RPAERR	;$$ATTEMPT TO RPLACA AN ATOM
  3471	403753'	506 02 0 01 000000 		HRLM	B,(A)	;$$STANDARD CODE FOR RPLACA
  3472	403754'	263 14 0 00 000000 		POPJ	P,	;$$
  3473
  3474	403755'	307 01 0 00 377777 	RPLACD:	CAIG	A,INUMIN	;$$CHECK FOR SMALL BER
  3475	403756'	326 01 0 00 403760'		JUMPN	A,.+2	;$$CHECK FOR NIL
  3476	403757'	254 00 0 00 400710'		JRST	RPDERR	;$$ATTEMPT TO RPLACD NIL  OR A SMALL NUMBER
  3477	403760'	542 02 0 01 000000 		HRRM	B,(A)	;$$OLD RPLACD CODE
  3478	403761'	263 14 0 00 000000 		POPJ	P,	;$$
  3479
  3480	403762'	260 14 0 00 405071'	ZEROP:	PUSHJ P,NUMVAL
  3481	403763'				NOT:
  3482	403763'	326 01 0 00 404013'	NULL:	JUMPN A,FALSE
  3483	403764'				TRUE:
  3484	403764'	201 01 0 11 002613'		MOVEI A,TRUTH(S)
  3485	403765'	263 14 0 00 000000 		POPJ P,
  3486
  3487	403766'	201 01 0 00 000000 	FW0CNS:	MOVEI A,0
  3488	403767'	326 16 0 00 403773'	FWCONS:	JUMPN FF,FWC1
  3489	403770'	250 01 0 00 000471'		EXCH A,FWC0#
  3490	403771'	260 14 0 00 406667'		PUSHJ P,AGC
  3491	403772'	250 01 0 00 000471'		EXCH A,FWC0
  3492	403773'	250 01 0 16 000000 	FWC1:	EXCH A,(FF)
  3493	403774'	250 01 0 00 000016 		EXCH A,FF
  3494	403775'	263 14 0 00 000000 		POPJ P,
  3495
  3496					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-86
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3497	403776'	260 14 0 00 404002'		SASSOC:	PUSHJ P,SAS1
  3498	403777'	037 00 0 03 000000 		JCALLF 0,(C)
  3499	404000'	263 14 0 00 000000 		POPJ P,
  3500
  3501	404001'	554 02 0 00 000006 	SAS0:	HLRZ B,T
  3502	404002'	322 02 0 00 404014'	SAS1:	JUMPE B,CPOPJ
  3503	404003'	204 06 0 02 000000 		MOVS T,(B)
  3504	404004'	204 07 0 06 000000 		MOVS TT,(T)
  3505	404005'	302 01 0 07 000000 		CAIE A,(TT)
  3506	404006'	254 00 0 00 404001'		JRST SAS0
  3507	404007'	550 01 0 00 000006 		HRRZ A,T
  3508	404010'	350 00 0 14 000000 	CPOPJ1:	AOS (P)
  3509	404011'	263 14 0 00 000000 		POPJ P,
  3510
  3511	404012'	260 14 0 00 404002'	ASSOC:	PUSHJ P,SAS1
  3512	404013'	201 01 0 00 000000 	FALSE:	MOVEI A,NIL
  3513	404014'	263 14 0 00 000000 	CPOPJ:	POPJ P,
  3514
  3515	404015'	200 06 0 00 000001 	REVERSE:	MOVE T,A
  3516	404016'	201 01 0 00 000000 		MOVEI A,0
  3517	404017'	322 06 0 00 404014'		JUMPE T,CPOPJ
  3518	404020'	554 02 0 06 000000 		HLRZ B,(T)
  3519	404021'	550 06 0 06 000000 		HRRZ T,(T)
  3520	404022'	260 14 0 00 403660'		PUSHJ P,XCONS
  3521	404023'	326 06 0 00 404020'		JUMPN T,.-3
  3522	404024'	263 14 0 00 000000 		POPJ P,
  3523
  3524
  3525	404025'	550 06 0 01 000000 	REMPROP:	HRRZ T,(A)
  3526	404026'	204 07 0 06 000000 		MOVS TT,(T)
  3527	404027'	306 02 0 07 000000 		CAIN B,(TT)
  3528	404030'	267 07 0 00 404035'		JRA TT,REMP1
  3529	404031'	554 01 0 00 000007 		HLRZ A,TT
  3530	404032'	550 06 0 01 000000 		HRRZ T,(A)
  3531	404033'	326 06 0 00 404026'		JUMPN T,REMPROP+1
  3532	404034'	254 00 0 00 404013'		JRST FALSE
  3533
  3534	404035'	542 07 0 01 000000 	REMP1:	HRRM TT,(A)
  3535	404036'	254 00 0 00 403764'		JRST TRUE
  3536					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-87
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3537
  3538						;## IF WE ARE USING NEW NIL, THEN GET IS FOR SYSTEM ONLY AND
  3539						;## USRGET IS THE  USERS. IF NEW NIL, THEN GET MUST GET NIL'S
  3540						;## PROPERTY LIST
  3541
  3542					IFE OLDNIL<
  3543					USRGET:	JUMPE	A,CPOPJ		;## ALWAYS NIL>
  3544	404037'				GET:
  3545					IFE OLDNIL<	CAIE	A,NIL
  3546							SKIPA	A,NILPRP>
  3547	404037'	550 01 0 01 000000 		HRRZ A,(A)
  3548	404040'	204 12 0 01 000000 	GET1:	MOVS D,(A)
  3549	404041'	306 02 0 12 000000 		CAIN B,(D)
  3550	404042'	254 00 0 00 403603'		JRST CADR
  3551	404043'	554 01 0 00 000012 		HLRZ A,D
  3552	404044'	550 01 0 01 000000 		HRRZ A,(A)
  3553	404045'	326 01 0 00 404040'		JUMPN A,GET1
  3554	404046'	263 14 0 00 000000 		POPJ P,
  3555
  3556	404047'	322 02 0 00 404013'	GETL:	JUMPE B,FALSE	;$$ NIL LIST - NIL ANSWER
  3557					IFE OLDNIL	<JUMPE	A,CPOPJ>	;## TEST FOR NIL
  3558	404050'	550 01 0 01 000000 		HRRZ A,(A)
  3559	404051'	554 06 0 01 000000 	GETL0:	HLRZ T,(A)
  3560	404052'	200 03 0 00 000002 		MOVE C,B
  3561	404053'	204 07 0 03 000000 	GETL1:	MOVS TT,(C)
  3562	404054'	306 06 0 07 000000 		CAIN T,(TT)
  3563	404055'	263 14 0 00 000000 		POPJ P,
  3564	404056'	554 03 0 00 000007 		HLRZ C,TT
  3565	404057'	326 03 0 00 404053'		JUMPN C,GETL1
  3566	404060'	550 01 0 01 000000 		HRRZ A,(A)
  3567	404061'	550 01 0 01 000000 		HRRZ A,(A)
  3568	404062'	326 01 0 00 404051'		JUMPN A,GETL0
  3569	404063'	263 14 0 00 000000 			POPJ P,
  3570
  3571	404064'	303 01 0 00 377777 	NUMBERP:	CAILE A,INUMIN
  3572	404065'	254 00 0 00 403764'		JRST TRUE
  3573	404066'	530 06 0 01 000000 		HLLE T,(A)
  3574	404067'	346 06 0 00 404013'		AOJN T,FALSE
  3575	404070'	550 01 0 01 000000 		HRRZ A,(A)
  3576	404071'	554 01 0 01 000000 		HLRZ A,(A)
  3577	404072'	302 01 0 11 003740'		CAIE A,FIXNUM(S)
  3578	404073'	306 01 0 11 003744'		CAIN A,FLONUM(S)
  3579	404074'	254 00 0 00 403764'		JRST TRUE
  3580	404075'	254 00 0 00 404013'	NUMBP2:	JRST FALSE	;bignums change this to JRST BIGNP
  3581	404076'	200 02 0 00 000001 	STRINGP: MOVE	B,A	;= T IF A IS A STRING
  3582	404077'	260 14 0 00 403701'		PUSHJ	P,ATOM
  3583	404100'	322 01 0 00 404014'		JUMPE	A,CPOPJ
  3584	404101'	200 01 0 00 000002 		MOVE	A,B
  3585	404102'	260 14 0 00 404064'		PUSHJ	P,NUMBERP	;MUST NO BE A NUMBER
  3586	404103'	326 01 0 00 404013'		JUMPN	A,FALSE
  3587	404104'	200 01 0 00 000002 		MOVE	A,B
  3588	404105'	260 14 0 00 403561'		PUSHJ	P,CHRVAL	;GET THE FIRST CHARACTER
  3589	404106'	302 01 0 00 600041 		CAIE	A,42+INUM0	;CHECK FOR "
  3590	404107'	254 00 0 00 404013'		JRST	FALSE
  3591	404110'	254 00 0 00 403764'		JRST	TRUE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-88
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3592					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-89
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3593	404111'				PUTPROP:
  3594	404111'	200 06 0 00 000001 	IFN OLDNIL	 <MOVE T,A>
  3595					IFE OLDNIL	<SKIPN	T,A		;## CAN'T PUTPROP TO NIL
  3596							 ERR1	[SIXBIT /CAN'T PUT PROP ON NIL !/]>
  3597	404112'	550 01 0 01 000000 		HRRZ A,(A)
  3598	404113'	204 07 0 01 000000 	CSET3:	MOVS TT,(A)
  3599	404114'	554 01 0 00 000007 		HLRZ A,TT
  3600	404115'	306 03 0 07 000000 		CAIN C,(TT)
  3601	404116'	254 00 0 00 404127'		JRST CSET2
  3602	404117'	550 01 0 01 000000 		HRRZ A,(A)
  3603	404120'	326 01 0 00 404113'		JUMPN A,CSET3
  3604	404121'	550 01 0 06 000000 		HRRZ A,(T)
  3605	404122'	260 14 0 00 403660'		PUSHJ P,XCONS
  3606	404123'	550 02 0 00 000003 		HRRZ B,C
  3607	404124'	260 14 0 00 403660'		PUSHJ P,XCONS
  3608	404125'	542 01 0 06 000000 		HRRM A,(T)
  3609	404126'	254 00 0 00 403603'		JRST CADR
  3610
  3611	404127'					CSET2:
  3612	404127'	302 03 0 11 003750'		CAIE C,VALUE(S)
  3613	404130'	254 00 0 00 404135'		JRST CSET1
  3614	404131'	550 06 0 02 000000 		HRRZ T,(B)
  3615	404132'	554 01 0 01 000000 		HLRZ A,(A)
  3616	404133'	542 06 0 01 000000 		HRRM T,(A)
  3617	404134'	254 00 0 00 404136'		JRST PROG2
  3618
  3619	404135'	506 02 0 01 000000 	CSET1:	HRLM B,(A)
  3620	404136'	200 01 0 00 000002 	PROG2:	MOVE A,B
  3621	404137'	263 14 0 00 000000 	PROG1:	POPJ P,
  3622
  3623	404140'				DEFPROP:	
  3624	404140'	550 02 0 01 000000 		HRRZ B,(A)
  3625	404141'	550 03 0 02 000000 		HRRZ C,(B)
  3626	404142'	554 01 0 01 000000 		HLRZ A,(A)
  3627	404143'	554 02 0 02 000000 		HLRZ B,(B)
  3628	404144'	554 03 0 03 000000 		HLRZ C,(C)
  3629	404145'	261 14 0 00 000001 		PUSH P,A
  3630	404146'	260 14 0 00 404111'		PUSHJ P,PUTPROP
  3631	404147'	254 00 0 00 405717'		JRST POPAJ
  3632					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-90
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3633	404150'	200 03 0 00 000014 	EQUAL:	MOVE C,P
  3634	404151'	316 01 0 00 000002 	EQUAL1:	CAMN A,B
  3635	404152'	254 00 0 00 403764'		JRST TRUE
  3636	404153'	200 06 0 00 000001 		MOVE T,A
  3637	404154'	200 07 0 00 000002 		MOVE TT,B
  3638	404155'	260 14 0 00 403701'		PUSHJ P,ATOM
  3639	404156'	250 01 0 00 000002 		EXCH A,B
  3640	404157'	260 14 0 00 403701'		PUSHJ P,ATOM
  3641	404160'	316 01 0 00 000002 		CAMN A,B
  3642	404161'	254 00 0 00 404164'		JRST EQUAL3
  3643	404162'	200 14 0 00 000003 	EQUAL4:	MOVE P,C
  3644	404163'	254 00 0 00 404013'		JRST FALSE
  3645
  3646	404164'	326 01 0 00 404200'	EQUAL3:	JUMPN A,EQ2
  3647	404165'	261 14 0 00 000006 		PUSH P,T
  3648	404166'	261 14 0 00 000007 		PUSH P,TT
  3649	404167'	554 01 0 06 000000 		HLRZ A,(T)
  3650	404170'	554 02 0 07 000000 		HLRZ B,(TT)
  3651	404171'	260 14 0 00 404151'		PUSHJ P,EQUAL1
  3652	404172'	322 01 0 00 404162'		JUMPE A,EQUAL4
  3653	404173'	262 14 0 00 000002 		POP P,B
  3654	404174'	262 14 0 00 000001 		POP P,A
  3655	404175'	550 01 0 01 000000 		HRRZ A,(A)
  3656	404176'	550 02 0 02 000000 		HRRZ B,(B)
  3657	404177'	254 00 0 00 404151'		JRST EQUAL1
  3658
  3659	404200'	261 14 0 00 000006 	EQ2:	PUSH P,T
  3660	404201'	200 01 0 00 000006 		MOVE A,T
  3661	404202'	260 14 0 00 404064'		PUSHJ P,NUMBERP
  3662	404203'	322 01 0 00 404162'		JUMPE A,EQUAL4
  3663	404204'	200 01 0 00 000007 		MOVE A,TT
  3664	404205'	260 14 0 00 404064'		PUSHJ P,NUMBERP
  3665	404206'	322 01 0 00 404162'		JUMPE A,EQUAL4
  3666	404207'	200 01 0 14 000000 		MOVE A,(P)
  3667	404210'	202 03 0 14 000000 		MOVEM C,(P)
  3668	404211'	200 02 0 00 000007 		MOVE B,TT
  3669	404212'	265 03 0 00 405211'		JSP C,OP
  3670	404213'	321 00 0 00 404215'		JUMPL COMP3
  3671	404214'	321 00 0 00 404215'		JUMPL COMP3
  3672
  3673	404215'	262 14 0 00 000003 	COMP3:	POP P,C
  3674	404216'	312 01 0 00 000007 		CAME A,TT
  3675	404217'	254 00 0 00 404162'		JRST EQUAL4
  3676	404220'	254 00 0 00 403764'		JRST TRUE
  3677					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-91
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3678					COMMENT	?
  3679						;## OLD SUBST AND COPY CODE THAT DID NOT WORK AS IT WAS
  3680						;## NOT PROTECTED FROM THE GARBAGE COLLECTOR. NASTY, NASTY.
  3681						;## REPLACED BY COMPILED LISP CODE
  3682					SUBS5:	HRRZ A,SUBAS
  3683						POPJ P,
  3684
  3685					SUBST:	MOVEM A,SUBAS#
  3686						MOVEM B,SUBBS#
  3687					SUBS0A:	MOVE A,SUBAS
  3688						MOVE B,SUBBS
  3689						PUSH P,C
  3690						MOVE A,C
  3691						PUSHJ P,EQUAL
  3692						POP P,C
  3693						JUMPN A,SUBS5
  3694						CAIE	C,NIL		;## TEST FOR NIL
  3695						CAILE C,INUMIN
  3696						JRST EV6A
  3697						HLLE T,(C)
  3698						AOJN T,SUBS2
  3699					EV6A:	MOVE A,C
  3700						POPJ P,
  3701
  3702					SUBS2:	PUSH P,C
  3703						HLRZ C,(C)
  3704						PUSHJ P,SUBS0A
  3705						EXCH A,(P)
  3706						HRRZ C,(A)
  3707						PUSHJ P,SUBS0A
  3708						POP P,B
  3709						JRST XCONS
  3710
  3711					COPY:	MOVEI B,INUM0	;$$ (SUBST 0 0 A)
  3712						MOVEI C,INUM0
  3713						EXCH A,C
  3714						JRST SUBST
  3715						?
  3716					; NTHCHAR = THE BTH CHARACTER OF A.
  3717	404221'	200 06 0 00 000002 	NTHCHAR:MOVE	T,B
  3718	404222'	275 06 0 00 577777 		SUBI	T,INUM0
  3719	404223'	322 06 0 00 404013'		JUMPE	T,FALSE		;FAIL IF = 0
  3720	404224'	261 14 0 00 000001 		PUSH	P,A
  3721	404225'	202 06 0 00 000536'		MOVEM	T,ORGSGN
  3722	404226'	327 06 0 00 404232'		JUMPG	T,NTH3
  3723	404227'	260 14 0 00 405310'		PUSHJ	P,%FLATSIZEC
  3724	404230'	201 06 0 01 200002 		MOVEI	T,1-INUM0(A)
  3725	404231'	273 06 0 00 000536'		ADDB	T,ORGSGN
  3726	404232'	200 01 0 14 000000 	NTH3:	MOVE	A,(P)
  3727	404233'	260 14 0 00 403736'		PUSHJ	P,LITATOM
  3728	404234'	326 01 0 00 404245'		JUMPN	A,NTH4
  3729	404235'	262 14 0 00 000001 		POP	P,A
  3730	404236'	561 13 0 00 404242'		HRROI	R,NTH5		;I HOPE THIS IS RIGHT
  3731	404237'	260 14 0 00 402341'		PUSHJ	P,PRINTA
  3732	404240'	554 01 0 00 000536'		HLRZ	A,ORGSGN

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-92
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3733	404241'	254 00 0 00 404267'		JRST	NTH6
  3734	404242'	376 00 0 00 000536'	NTH5:	SOSN	ORGSGN
  3735	404243'	526 01 0 00 000536'		HRLOM	A,ORGSGN
  3736	404244'	263 14 0 00 000000 		POPJ	P,
  3737	404245'	200 06 0 00 000536'	NTH4:	MOVE	T,ORGSGN
  3738	404246'	262 14 0 00 000001 		POP	P,A
  3739	404247'	201 02 0 11 003734'		MOVEI	B,PNAME(S)
  3740	404250'	260 14 0 00 404037'		PUSHJ	P,GET
  3741	404251'	322 01 0 00 404014'		JUMPE	A,CPOPJ		;FAIL IF NO PRINT NAME
  3742	404252'	307 06 0 00 000005 	NTH1:	CAIG	T,5
  3743	404253'	254 00 0 00 404260'		JRST	NTH2
  3744	404254'	550 01 0 01 000000 		HRRZ	A,(A)
  3745	404255'	322 01 0 00 404013'		JUMPE	A,FALSE		;FAIL IF NO NTH CHARACTER
  3746	404256'	275 06 0 00 000005 		SUBI	T,5
  3747	404257'	254 00 0 00 404252'		JRST	NTH1
  3748	404260'	554 01 0 01 000000 	NTH2:	HLRZ	A,(A)
  3749	404261'	221 06 0 00 777771 		IMULI	T,-7
  3750	404262'	242 06 0 00 000014 		LSH	T,14
  3751	404263'	271 06 0 00 440700 		ADDI	T,440700
  3752	404264'	504 01 0 00 000006 		HRL	A,T
  3753	404265'	135 01 0 00 000001 		LDB	A,A
  3754	404266'	322 01 0 00 404013'		JUMPE	A,FALSE
  3755	404267'	260 14 0 00 403650'	NTH6:	PUSHJ	P,AASCII+1	;CONVERT TO AN ATOM
  3756	404270'	254 00 0 00 403506'		JRST	INTERN		;INTERN IT
  3757					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-93
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3758	404271'	634 13 0 00 000013 	NCONC:	TDZA R,R
  3759	404272'	201 13 0 00 000007 	APPEND:	MOVEI R,.APPEND-.NCONC
  3760	404273'	322 06 0 00 404013'		JUMPE T,FALSE
  3761	404274'	262 14 0 00 000002 		POP P,B
  3762	404275'	342 06 0 00 404136'	APP2:	AOJE T,PROG2
  3763	404276'	262 14 0 00 000001 		POP P,A
  3764	404277'	260 14 0 13 404302'		PUSHJ P,.NCONC(R)
  3765	404300'	200 02 0 00 000001 		MOVE B,A
  3766	404301'	254 00 0 00 404275'		JRST APP2
  3767
  3768	404302'	322 01 0 00 404136'	.NCONC:	JUMPE A,PROG2
  3769	404303'	200 07 0 00 000001 		MOVE TT,A
  3770	404304'	200 03 0 00 000007 		MOVE C,TT
  3771	404305'	550 07 0 03 000000 		HRRZ TT,(C)
  3772	404306'	326 07 0 00 404304'		JUMPN TT,.-2
  3773	404307'	542 02 0 03 000000 		HRRM B,(C)
  3774	404310'	263 14 0 00 000000 		POPJ P,
  3775
  3776	404311'	322 01 0 00 404136'	.APPEND:	JUMPE A,PROG2
  3777	404312'	201 03 0 00 000004 		MOVEI C,AR1
  3778	404313'	200 07 0 00 000001 		MOVE TT,A
  3779	404314'	554 01 0 07 000000 	APP1:	HLRZ A,(TT)
  3780	404315'	261 14 0 00 000002 		PUSH P,B
  3781	404316'	260 14 0 00 403661'		PUSHJ P,CONS	;saves b
  3782	404317'	262 14 0 00 000002 		POP P,B
  3783	404320'	542 01 0 03 000000 			HRRM A,(C)
  3784	404321'	200 03 0 00 000001 		MOVE C,A
  3785	404322'	550 07 0 07 000000 		HRRZ TT,(TT)
  3786	404323'	326 07 0 00 404314'		JUMPN TT,APP1
  3787	404324'	254 00 0 00 404554'		JRST SUBS4
  3788					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-94
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3789					IFN NONUSE<MEMBER:
  3790						>
  3791	404325'	202 01 0 00 000575'	MEMB0:	MOVEM A,SUBAS#
  3792	404326'	322 02 0 00 404013'	MEMB1:	JUMPE B,FALSE
  3793	404327'	202 02 0 00 000576'		MOVEM B,SUBBS#
  3794	404330'	200 01 0 00 000575'		MOVE A,SUBAS
  3795	404331'	554 02 0 02 000000 		HLRZ B,(B)
  3796	404332'	260 14 0 00 404150'		PUSHJ P,EQUAL
  3797	404333'	326 01 0 00 404014'		JUMPN A,CPOPJ
  3798	404334'	200 02 0 00 000576'		MOVE B,SUBBS
  3799	404335'	550 02 0 02 000000 		HRRZ B,(B)
  3800	404336'	254 00 0 00 404326'		JRST MEMB1
  3801
  3802	404337'				IFE NONUSE<MEMQ:
  3803						>
  3804	404337'	250 01 0 00 000002 	MEMB:	EXCH	A,B		;## NEW MEMQ THAT RETURN TAIL
  3805	404340'	322 01 0 00 404013'		JUMPE A,FALSE
  3806	404341'	204 03 0 01 000000 		MOVS C,(A)
  3807	404342'	306 02 0 03 000000 		CAIN B,(C)
  3808	404343'	263 14 0 00 000000 		POPJ	P,
  3809	404344'	554 01 0 00 000003 		HLRZ A,C
  3810	404345'	315 01 0 00 000472'		CAMGE	A,FWSO		;##THIS WILL ELIMINATE MOST (MAYBE ALL)
  3811									;## ILLEGAL MEM REFS FROM MEMQ
  3812									;##AND ASSOCIATED ROUTINES. FWSO IS FWS ORIGIN
  3813	404346'	326 01 0 00 404340'		JUMPN A,MEMQ+1
  3814	404347'	263 14 0 00 000000 		POPJ	P,
  3815
  3816
  3817
  3818					;NEW MEM-FUNCTIONS THAT RETURN THE TAIL OF THE LIST STARTING WHERE
  3819					;	THE ELEMENT IS FOUND
  3820
  3821	404350'				IFE NONUSE<MEMBER:
  3822						>
  3823	404350'	260 14 0 00 404325'	MEMBR.:	PUSHJ P,MEMB0
  3824	404351'	332 00 0 00 000001 		SKIPE A
  3825	404352'	200 01 0 00 000576'		MOVE A,SUBBS
  3826	404353'	263 14 0 00 000000 		POPJ P,
  3827
  3828					IFN NONUSE<
  3829					MEMQ:	PUSHJ P,MEMB
  3830						SKIPE A
  3831						JRST	TRUE
  3832						POPJ P,
  3833					
  3834					
  3835					;AND OR FUNCTIONS (AND#, OR#) THAT RETURN THE EXPRESSION
  3836					;	THAT CAUSED THE FUNCTION TO EVALUATE TO TRUE
  3837					
  3838					AND.:	PUSHJ P,AND
  3839						SKIPA
  3840					OR.:	PUSHJ P,OR
  3841						HRRZ A,2(P)
  3842						POPJ P,
  3843						>

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-95
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3844
  3845	404354'				AND:
  3846	404354'	505 01 0 11 002613'		HRLI A,TRUTH(S)
  3847	404355'	554 03 0 00 000001 	OR:	HLRZ C,A
  3848	404356'	261 14 0 00 000003 		PUSH P,C
  3849	404357'	550 03 0 00 000001 	ANDOR:	HRRZ C,A
  3850	404360'	322 03 0 00 404374'		JUMPE C,AOEND
  3851	404361'	205 03 0 00 332014 		MOVSI C,(SKIPE (P))
  3852	404362'	603 01 0 00 777777 		TLNE A,-1
  3853	404363'	205 03 0 00 336014 		MOVSI C,(SKIPN (P))
  3854	404364'	256 00 0 00 000003 		XCT C
  3855	404365'	254 00 0 00 404374'		JRST AOEND
  3856	404366'	202 01 0 14 000000 		MOVEM A,(P)
  3857	404367'	554 01 0 01 000000 		HLRZ A,(A)
  3858	404370'	260 14 0 00 405505'		PUSHJ P,EVAL
  3859	404371'	250 01 0 14 000000 		EXCH A,(P)
  3860	404372'	540 01 0 01 000000 		HRR A,(A)
  3861	404373'	254 00 0 00 404357'		JRST ANDOR
  3862
  3863	404374'	262 14 0 00 000001 	AOEND:	POP P,A
  3864					IFN	NONUSE <
  3865						SKIPE A
  3866						MOVEI A,TRUTH(S)
  3867						>
  3868	404375'	263 14 0 00 000000 		POPJ P,
  3869	404376'	200 02 0 00 411472'	GENSYM:	MOVE B,[POINT 7,GNUM,34]
  3870	404377'	211 03 0 00 000004 		MOVNI C,4
  3871	404400'	201 07 0 00 000060 		MOVEI TT,"0"
  3872
  3873	404401'	135 06 0 00 000002 	GENSY2:	LDB T,B
  3874	404402'	350 00 0 00 000006 		AOS T
  3875	404403'	137 06 0 00 000002 		DPB T,B
  3876	404404'	307 06 0 00 000071 		CAIG T,"9"
  3877	404405'	254 00 0 00 404411'		JRST GENSY1
  3878	404406'	137 07 0 00 000002 		DPB TT,B
  3879	404407'	270 02 0 00 411473'		ADD B,[XWD 70000,0]
  3880	404410'	346 03 0 00 404401'		AOJN C,GENSY2
  3881
  3882	404411'	200 01 0 00 000364'	GENSY1:	MOVE A,GNUM
  3883	404412'	260 14 0 00 403767'		PUSHJ P,FWCONS
  3884	404413'	260 14 0 00 403657'		PUSHJ P,NCONS
  3885	404414'	254 00 0 00 403653'		JRST PNGNK1
  3886
  3887					REMOTE<
  3888					GNUM:	ASCII /G0000/>
  3889
  3890	404415'	554 01 0 01 000000 	CSYM:	HLRZ A,(A)
  3891	404416'	261 14 0 00 000001 		PUSH P,A
  3892	404417'	201 02 0 11 003734'		MOVEI B,PNAME(S)
  3893	404420'	260 14 0 00 404037'		PUSHJ P,GET
  3894	404421'	322 01 0 00 400722'		JUMPE A,NOPNAM
  3895	404422'	554 01 0 01 000000 		HLRZ A,(A)
  3896	404423'	200 01 0 01 000000 		MOVE A,(A)
  3897	404424'	202 01 0 00 000364'		MOVEM A,GNUM
  3898	404425'	254 00 0 00 405717'		JRST POPAJ

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-96
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3899					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-97
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3900	404426'	201 02 0 11 002213'	LIST:	MOVEI B,CEVAL(S)
  3901	404427'	261 14 0 00 000002 		PUSH P,B
  3902	404430'	261 14 0 00 000001 		PUSH P,A
  3903	404431'	211 06 0 00 000002 		MOVNI T,2
  3904	404432'	254 00 0 00 404503'		JRST MAPCAR
  3905
  3906	404433'	554 07 0 06 000000 	EELS:	HLRZ TT,(T)	;interpret lsubr call
  3907	404434'	550 01 0 04 000000 		HRRZ A,(AR1)
  3908	404435'	201 06 0 00 000000 	ILIST:	MOVEI T,0
  3909	404436'	322 01 0 00 404454'		JUMPE A,ILIST2
  3910	404437'	261 14 0 00 000001 	ILIST1:	PUSH P,A
  3911	404440'	554 01 0 01 000000 		HLRZ A,(A)
  3912	404441'	261 14 0 00 000007 		PUSH P,TT
  3913	404442'	506 06 0 14 000000 		HRLM T,(P)
  3914	404443'	261 14 0 00 000017 		PUSH	P,SP	;$$SAVE SP POINTER TO RESTORE AFTER ARGUMENT EVALUATED
  3915	404444'	260 14 0 00 405505'		PUSHJ	P,EVAL	;EVALUATE ARGUMENT
  3916	404445'	262 14 0 00 000017 		POP	P,SP	;$$RESTORE SP POINTER AFTER EVAL
  3917	404446'	262 14 0 00 000007 	ILIST3:	POP P,TT
  3918	404447'	574 06 0 00 000007 		HLRE T,TT
  3919	404450'	250 01 0 14 000000 		EXCH A,(P)
  3920	404451'	550 01 0 01 000000 		HRRZ A,(A)
  3921	404452'	370 00 0 00 000006 		SOS T
  3922	404453'	326 01 0 00 404437'		JUMPN A,ILIST1
  3923	404454'	254 00 0 07 000000 	ILIST2:	JRST (TT)
  3924
  3925					;FAST MAPC FOR 2 ARGS - CALLED BY LAP CODE ONLY
  3926	404455'	261 14 0 00 000001 	.MAPC:	PUSH	P,A
  3927	404456'	322 02 0 00 404475'		JUMPE	B,PRETB
  3928	404457'	554 01 0 02 000000 		HLRZ	A,(B)
  3929	404460'	550 02 0 02 000000 		HRRZ	B,(B)
  3930	404461'	261 14 0 00 000002 		PUSH	P,B
  3931	404462'	036 01 1 14 777777 		CALLF	1,@-1(P)
  3932	404463'	262 14 0 00 000002 		POP	P,B
  3933	404464'	254 00 0 00 404456'		JRST	.MAPC+1
  3934
  3935					;FAST MAP FOR 2 ARGS - CALLED BY LAP CODE ONLY
  3936	404465'	261 14 0 00 000001 	.MAP:	PUSH	P,A
  3937	404466'	322 02 0 00 404475'		JUMPE	B,PRETB
  3938	404467'	200 01 0 00 000002 		MOVE	A,B
  3939	404470'	550 02 0 02 000000 		HRRZ	B,(B)
  3940	404471'	261 14 0 00 000002 		PUSH	P,B
  3941	404472'	036 01 1 14 777777 		CALLF	1,@-1(P)
  3942	404473'	262 14 0 00 000002 		POP	P,B
  3943	404474'	254 00 0 00 404466'		JRST	.MAP+1
  3944
  3945	404475'	274 14 0 00 411474'	PRETB:	SUB	P,[XWD 1,1]
  3946	404476'	254 00 0 00 404136'		JRST	PROG2
  3947						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-98
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  3948					; NEW AND SUPER POWERFUL MAP FUNCTIONS
  3949	404477'	621 06 0 00 100000 	MAPCON:	TLZ	T,100000
  3950	404500'	254 00 0 00 404505'		JRST	MAPLIST
  3951	404501'	625 06 0 00 100000 	MAPCAN:	TLZA	T,100000
  3952	404502'	625 06 0 00 400000 	MAPC:	TLZA	T,400000
  3953	404503'	625 06 0 00 400000 	MAPCAR:	TLZA	T,400000
  3954	404504'	621 06 0 00 200000 	MAP:	TLZ	T,200000
  3955					; INITIALIZE
  3956	404505'	450 06 0 00 000006 	MAPLIST:SETCA	T,T
  3957	404506'	201 01 0 00 036000 		MOVEI	A,(CALLF)
  3958	404507'	137 06 0 00 411475'		DPB	T,[POINT 4,A,30]
  3959	404510'	200 02 0 00 000014 		MOVE	B,P
  3960	404511'	200 04 0 00 000006 		MOVE	AR1,T
  3961	404512'	504 04 0 00 000006 		HRL	AR1,T
  3962	404513'	274 02 0 00 000004 		SUB	B,AR1
  3963	404514'	261 14 0 00 000002 		PUSH	P,B
  3964	404515'	506 01 0 02 000000 		HRLM	A,(B)
  3965	404516'	261 14 0 00 000006 		PUSH	P,T
  3966	404517'	261 14 0 00 000000 		PUSH	P,
  3967	404520'	516 14 0 14 000000 		HRLZM	P,(P)
  3968					; SET UP TO GET ARGUMENTS
  3969	404521'	550 06 0 14 777777 	MAPL2:	HRRZ	T,-1(P)
  3970	404522'	201 07 0 14 777775 		MOVEI	TT,-3(P)
  3971					; MOVE ARGS TO REGS
  3972	404523'	200 12 0 07 000000 	MPL3:	MOVE	D,(TT)
  3973	404524'	322 12 0 00 404551'		JUMPE	D,MPDN
  3974	404525'	202 12 0 06 000000 		MOVEM	D,(T)
  3975	404526'	200 12 0 12 000000 		MOVE	D,(D)
  3976	404527'	335 00 0 14 777777 		SKIPGE	-1(P)
  3977	404530'	556 12 0 06 000000 		HLRZM	D,(T)
  3978	404531'	552 12 0 07 000000 		HRRZM	D,(TT)
  3979	404532'	275 07 0 00 000001 		SUBI	TT,1
  3980	404533'	367 06 0 00 404523'		SOJG	T,MPL3
  3981	404534'	256 00 0 07 000000 		XCT	(TT)	; CALL THE FUNCTION
  3982	404535'	135 03 0 00 411476'		LDB	C,[POINT 2,-1(P),2]
  3983	404536'	602 03 0 00 000002 		TRNE	C,2
  3984	404537'	254 00 0 00 404521'		JRST	MAPL2
  3985					; ATTACH TO OUTPUT LIST
  3986	404540'	336 00 0 00 000003 		SKIPN	C
  3987	404541'	260 14 0 00 403657'		PUSHJ	P,NCONS
  3988	404542'	322 01 0 00 404521'		JUMPE A,MAPL2
  3989	404543'	544 02 0 14 000000 		HLR	B,(P)
  3990	404544'	542 01 0 02 000000 		HRRM	A,(B)
  3991	404545'	332 00 0 00 000003 		SKIPE	C
  3992	404546'	260 14 0 00 403726'		PUSHJ	P,LAST
  3993	404547'	506 01 0 14 000000 		HRLM	A,(P)
  3994	404550'	254 00 0 00 404521'		JRST	MAPL2
  3995					; POP STACK AND RETURN
  3996	404551'	262 14 0 00 000004 	MPDN:	POP	P,AR1
  3997	404552'	200 14 0 14 777777 		MOVE	P,-1(P)
  3998	404553'	262 14 0 00 000002 		POP	P,B
  3999	404554'	550 01 0 00 000004 	SUBS4:	HRRZ	A,AR1
  4000	404555'	263 14 0 00 000000 		POPJ	P,
  4001					;PA3:	0	;THE REG. PDL POINTER
  4002					;PA4:	0	;Lh=pntr to prog less bound var list	

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-99
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  4003							;RH=NEXT PROG STATEMENT
  4004
  4005	404556'	261 14 0 00 000542'	PROG:	PUSH P,PA3#
  4006	404557'	261 14 0 00 000543'		PUSH P,PA4#
  4007	404560'	554 07 0 01 000000 		HLRZ TT,(A)	;## TT HAS VARIABLE LIST
  4008	404561'	550 01 0 01 000000 		HRRZ A,(A)	;## A HAS PROG BODY
  4009	404562'	542 01 0 00 000543'		HRRM A,PA4
  4010	404563'	506 01 0 00 000543'		HRLM A,PA4
  4011
  4012	404564'	200 06 0 00 000017 		MOVE T,SP	;$$ADJUST SPDLSAV POINTER TO INCLUDE EVAL BLIP
  4013	404565'	274 06 0 00 411477'		SUB T,[XWD 2,2]	;$$SO PA3,PA4 CAN BE RESTORED
  4014	404566'	202 06 0 00 000570'		MOVEM	T,SPSV#	;$$BY UNBIND
  4015	404567'	254 00 0 00 404574'		JRST	PG7B	;$$GO CHECK IF ANY VARIABLES TO BIND
  4016
  4017	404570'	554 01 0 07 000000 	PG7A:	HLRZ A,(TT)
  4018	404571'	201 04 0 00 000000 		MOVEI AR1,0
  4019	404572'	260 14 0 00 406177'		PUSHJ P,BIND
  4020	404573'	550 07 0 07 000000 		HRRZ TT,(TT)
  4021	404574'	326 07 0 00 404570'	PG7B:	JUMPN TT,PG7A
  4022	404575'	261 17 0 00 000570'		PUSH SP,SPSV
  4023	404576'	202 14 0 00 000542'		MOVEM P,PA3
  4024
  4025	404577'	550 06 0 00 000543'	PG1:	HRRZ T,PA4
  4026	404600'	322 06 0 00 404643'		JUMPE T,PG4	;## IF END OF PROG, QUITE
  4027	404601'	554 01 0 06 000000 		HLRZ A,(T)	;## A HAS FIRST STATEMENT
  4028	404602'	550 06 0 06 000000 		HRRZ T,(T)	;## T KEEPS THE REST
  4029	404603'	302 01 0 00 000000 		CAIE	A,NIL	;## TEST FOR NIL
  4030	404604'	303 01 0 00 377777 		CAILE A,INUMIN	;## ALLOW INUMS FOR PROG LABELS 3/28/73
  4031	404605'	254 00 0 00 404600'		JRST	PG1+1	;## NOW WE CAN SKIP OVER THIS TYPE OF ATOM
  4032	404606'	530 02 0 01 000000 		HLLE B,(A)	;## IS IT A ATOM?
  4033	404607'	342 02 0 00 404600'		AOJE B,PG1+1	;## JA, SO JUMP
  4034	404610'	542 06 0 00 000543'		HRRM T,PA4	;## SAVE REST OF BODY
  4035
  4036	404611'	261 14 0 00 000017 		PUSH P,SP	;$$SAVE SPDL TO RESTORE AFTER EVAL
  4037	404612'	260 14 0 00 405505'		PUSHJ P,EVAL	;## EVAL THE STATEMENT
  4038	404613'	262 14 0 00 000017 		POP P,SP	;$$RESTORE SPDL AFTER EVAL
  4039
  4040	404614'	254 00 0 00 404577'		JRST PG1
  4041
  4042	404615'	336 00 0 00 000542'	PGO:	SKIPN	PA3	;## ERROR IF NO PROG
  4043	404616'	254 00 0 00 400735'		JRST	EG2
  4044	404617'	200 14 0 00 000542'		MOVE	P,PA3	;## BACK UP ON RPDL
  4045	404620'	200 02 0 14 000001 		MOVE	B,1(P)	;## GET FORM
  4046	404621'	260 14 0 00 406226'		PUSHJ	P,UBD
  4047	404622'	515 03 0 00 263600 		HRLZI	C,(POPJ P,)	;## NEW CODE TO ALLOW BREAKING
  4048								;## AND TRACING OF GO
  4049	404623'	260 14 0 00 411041'		PUSHJ	P,DOSET	;##
  4050	404624'	554 06 0 00 000543'		HLRZ	T,PA4
  4051	404625'	322 06 0 00 400733'	PG5:	JUMPE T,EG1	;## ERROR IF NO TAG FOUND
  4052	404626'	554 07 0 06 000000 		HLRZ TT,(T)	;## GET THE CAR
  4053	404627'	550 06 0 06 000000 		HRRZ T,(T)	;## SAVE UP THE REST OF THE BODY
  4054	404630'	306 07 0 01 000000 		CAIN TT,(A)
  4055	404631'	254 00 0 00 404600'		JRST PG1+1	;FOUND TAG
  4056	404632'	254 00 0 00 404625'		JRST PG5	;## TRY AGAIN
  4057	

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-100
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  4058	404633'	336 00 0 00 000542'	RETURN:	SKIPN PA3
  4059	404634'	254 00 0 00 400737'		JRST EG3
  4060	404635'	200 14 0 00 000542'		MOVE P,PA3
  4061	404636'	200 02 0 14 000001 		MOVE B,1(P)
  4062	404637'	260 14 0 00 406226'		PUSHJ P,UBD
  4063	404640'	515 03 0 00 263600 		HRLZI	C,(POPJ P,)	;## NEW CODE TO ALLOW BREAKING
  4064									;## AND TRACING OF RETURN
  4065	404641'	260 14 0 00 411041'		PUSHJ	P,DOSET		;##
  4066	404642'	254 00 0 00 404644'		JRST	PG4+1
  4067
  4068	404643'	400 01 0 00 000000 	PG4:	SETZ A,
  4069	404644'	260 14 0 00 406237'		PUSHJ P,UNBIND
  4070	404645'	262 14 0 00 000543'	ERRP4:	POP P,PA4
  4071	404646'	262 14 0 00 000542'		POP P,PA3
  4072	404647'	263 14 0 00 000000 		POPJ P,
  4073
  4074	404650'	554 01 0 01 000000 	GO:	HLRZ A,(A)
  4075	404651'	302 01 0 00 000000 		CAIE	A,NIL		;## TEST FOR NIL
  4076	404652'	303 01 0 00 377777 		CAILE	A,INUMIN	;## IS IT AN INUM?(NOW VALID)
  4077	404653'	254 00 0 00 404615'		JRST	PGO		;## SEE IF IT IS THE ONE
  4078	404654'	530 02 0 01 000000 		HLLE B,(A)	;## IS IT AN ATOM
  4079	404655'	342 02 0 00 404615'		AOJE B,PGO
  4080	404656'	260 14 0 00 405505'		PUSHJ P,EVAL
  4081	404657'	254 00 0 00 404651'		JRST GO+1
  4082
  4083
  4084	404660'	554 02 0 01 000000 	SETQ:	HLRZ B,(A)
  4085	404661'	261 14 0 00 000002 		PUSH P,B
  4086	404662'	260 14 0 00 403603'		PUSHJ P,CADR
  4087	404663'	260 14 0 00 405505'		PUSHJ P,EVAL
  4088	404664'	200 02 0 00 000001 		MOVE B,A
  4089	404665'	262 14 0 00 000001 		POP P,A
  4090	404666'	332 00 0 00 000001 	SET:	SKIPE	A		;$$ MUST BE NON-NIL
  4091	404667'	303 01 0 00 377777 		CAILE	A,INUMIN	;$$ AND NOT AN INUM
  4092	404670'	254 00 0 00 400731'		JRST	SETERR		;$$
  4093	404671'	574 04 0 01 000000 		HLRE	AR1,(A)		;$$ AND AN ATOM
  4094	404672'	346 04 0 00 400731'		AOJN	AR1,SETERR	;$$
  4095	404673'	200 04 0 00 000002 		MOVE AR1,B
  4096	404674'	260 14 0 00 406177'		PUSHJ P,BIND
  4097	404675'	274 17 0 00 411474'		SUB SP,[XWD 1,1]
  4098	404676'	200 01 0 00 000004 		MOVE A,AR1
  4099	404677'	263 14 0 00 000000 		POPJ P,
  4100
  4101	404700'	550 01 0 06 000000 	CON2:	HRRZ A,(T)
  4102	404701'	322 01 0 00 404014'	COND:	JUMPE A,CPOPJ	;entry
  4103	404702'	261 14 0 00 000001 		PUSH P,A
  4104	404703'	554 01 0 01 000000 		HLRZ A,(A)
  4105	404704'	554 01 0 01 000000 		HLRZ A,(A)
  4106	404705'	260 14 0 00 405505'		PUSHJ P,EVAL
  4107	404706'	262 14 0 00 000006 		POP P,T
  4108	404707'	322 01 0 00 404700'		JUMPE A,CON2
  4109	404710'	554 06 0 06 000000 		HLRZ T,(T)
  4110	404711'	550 06 0 06 000000 	COND2:	HRRZ T,(T)
  4111	404712'	322 06 0 00 404014'		JUMPE T,CPOPJ	;ENTRY FOR ALL TYPES OF PROGN'S
  4112	404713'	554 01 0 06 000000 		HLRZ A,(T)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-101
UCILSP	MAC	27-MAR-75 17:13		LISP INTERPRETER SUBROUTINES   

  4113	404714'	550 06 0 06 000000 		HRRZ T,(T)	;$$
  4114	404715'	322 06 0 00 405505'		JUMPE T,EVAL	;$$ SAVE STACK SPACE IF NO IMPLIED PROG
  4115	404716'	261 14 0 00 000006 		PUSH P,T	;$$
  4116	404717'	260 14 0 00 405505'		PUSHJ P,EVAL
  4117	404720'	262 14 0 00 000006 		POP P,T
  4118	404721'	254 00 0 00 404713'		JRST COND2+2	;$$ BECAUSE OF THE LAST CHANGE
  4119
  4120
  4121					;LEXORDER - TRUE IF A IS ALPHAMERICALLY LESS THAT OR EQUAL TO B
  4122
  4123	404722'	200 07 0 00 000001 	LEXORD:	MOVE TT,A
  4124	404723'	260 14 0 00 404064'		PUSHJ P,NUMBERP
  4125	404724'	326 01 0 00 404755'		JUMPN A,LEX2	;1ST ARG IS A NUMBER
  4126	404725'	200 01 0 00 000002 		MOVE A,B
  4127	404726'	260 14 0 00 404064'		PUSHJ P,NUMBERP
  4128	404727'	250 01 0 00 000007 		EXCH A,TT
  4129	404730'	326 07 0 00 404013'		JUMPN TT,FALSE	;1ST=NOT-NUM, 2ND=NUM, DEFINE AS NIL
  4130	404731'	200 06 0 00 000002 		MOVE T,B
  4131	404732'	201 02 0 11 003734'		MOVEI B,PNAME(S)
  4132	404733'	260 14 0 00 404037'		PUSHJ P,GET
  4133	404734'	250 01 0 00 000006 		EXCH A,T
  4134	404735'	260 14 0 00 404037'		PUSHJ P,GET
  4135	404736'	322 06 0 00 403764'	LEX1:	JUMPE T,TRUE
  4136	404737'	322 01 0 00 404014'		JUMPE A,CPOPJ
  4137	404740'	554 04 0 01 000000 		HLRZ AR1,(A)
  4138	404741'	200 04 0 04 000000 		MOVE AR1,(AR1)
  4139	404742'	554 05 0 06 000000 		HLRZ AR2A,(T)
  4140	404743'	200 05 0 05 000000 		MOVE AR2A,(AR2A)
  4141	404744'	242 04 0 00 777777 		LSH AR1,-1
  4142	404745'	242 05 0 00 777777 		LSH AR2A,-1
  4143	404746'	313 04 0 00 000005 		CAMLE AR1,AR2A
  4144	404747'	254 00 0 00 403764'		JRST TRUE
  4145	404750'	312 04 0 00 000005 		CAME AR1,AR2A
  4146	404751'	254 00 0 00 404013'		JRST FALSE
  4147	404752'	550 01 0 01 000000 		HRRZ A,(A)
  4148	404753'	550 06 0 06 000000 		HRRZ T,(T)
  4149	404754'	254 00 0 00 404736'		JRST LEX1
  4150	404755'	200 01 0 00 000002 	LEX2:	MOVE A,B
  4151	404756'	260 14 0 00 404064'		PUSHJ P,NUMBERP
  4152	404757'	250 01 0 00 000007 		EXCH A,TT
  4153	404760'	322 07 0 00 403764'		JUMPE TT,TRUE	;1ST=NUM, 2ND=NOT-NUM, DEFINE AS TRUE
  4154	404761'	260 14 0 00 405034'		PUSHJ P,.GREAT	;BOTH NUMBERS, DO (NOT (*GREAT A B))
  4155	404762'	254 00 0 00 403763'		JRST NOT
  4156
  4157
  4158	404763'	200 06 0 00 000001 	PROGN:	MOVE	T,A	;$$ PROGN
  4159	404764'	201 01 0 00 000000 		MOVEI	A,NIL
  4160	404765'	254 00 0 00 404712'		JRST	COND2+1	;$$ IMPLIED PROG DOES THE REST
  4161						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-102
UCILSP	MAC	27-MAR-75 17:13		ARITHMETIC SUBROUTINES 

  4162						SUBTTL ARITHMETIC SUBROUTINES 
  4163
  4164					;macro expander -- (foo a b c) => (*foo (*foo a b) c)
  4165	404766'	200 03 0 00 000002 	EXPAND:	MOVE C,B
  4166	404767'	550 01 0 01 000000 		HRRZ A,(A)
  4167	404770'	260 14 0 00 404015'		PUSHJ P,REVERSE
  4168	404771'	254 00 0 00 404773'		JRST EXPA1
  4169
  4170	404772'	200 03 0 00 000002 	EXPN1:	MOVE C,B
  4171	404773'	550 06 0 01 000000 	EXPA1:	HRRZ T,(A)
  4172	404774'	554 01 0 01 000000 		HLRZ A,(A)
  4173	404775'	322 06 0 00 404014'		JUMPE T,CPOPJ
  4174	404776'	261 14 0 00 000001 		PUSH P,A
  4175	404777'	200 01 0 00 000006 		MOVE A,T
  4176	405000'	260 14 0 00 404773'		PUSHJ P,EXPA1
  4177	405001'	250 01 0 14 000000 		EXCH A,(P)
  4178	405002'	260 14 0 00 403657'		PUSHJ P,NCONS
  4179	405003'	262 14 0 00 000002 		POP P,B
  4180	405004'	260 14 0 00 403660'		PUSHJ P,XCONS
  4181	405005'	200 02 0 00 000003 		MOVE B,C
  4182	405006'	254 00 0 00 403660'		JRST XCONS
  4183
  4184					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-103
UCILSP	MAC	27-MAR-75 17:13		ARITHMETIC SUBROUTINES 

  4185
  4186	405007'	303 01 0 00 377777 	ADD1:	CAILE A,INUMIN
  4187	405010'	301 01 0 00 777776 		CAIL A,-2
  4188	405011'	334 02 0 00 411500'		SKIPA B,[INUM0+1]
  4189	405012'	344 01 0 00 404014'		AOJA A,CPOPJ
  4190	405013'	265 03 0 00 405211'	.PLUS:	JSP C,OP
  4191	405014'	270 01 0 00 000007 		ADD A,TT
  4192	405015'	144 01 0 00 000007 		FADR A,TT
  4193
  4194	405016'	303 01 0 00 400000 	SUB1:	CAILE A,INUMIN+1
  4195	405017'	364 01 0 00 404014'		SOJA A,CPOPJ
  4196	405020'	201 02 0 00 600000 		MOVEI B,INUM0+1
  4197	405021'	265 03 0 00 405211'	.DIF:	JSP C,OP
  4198	405022'	274 01 0 00 000007 		SUB A,TT
  4199	405023'	154 01 0 00 000007 		FSBR A,TT
  4200
  4201	405024'	265 03 0 00 405211'	.TIMES:	JSP C,OP
  4202	405025'	220 01 0 00 000007 		IMUL A,TT
  4203	405026'	164 01 0 00 000007 		FMPR A,TT
  4204
  4205	405027'	306 02 0 00 577777 	.QUO:	CAIN B,INUM0
  4206	405030'	254 00 0 00 405173'		JRST ZERODIV
  4207	405031'	265 03 0 00 405211'		JSP C,OP
  4208	405032'	230 01 0 00 000007 		IDIV A,TT
  4209	405033'	174 01 0 00 000007 		FDVR A,TT
  4210
  4211	405034'	250 01 0 00 000002 	.GREAT:	EXCH A,B
  4212	405035'	322 02 0 00 404013'		JUMPE B,FALSE
  4213	405036'	322 01 0 00 404014'	.LESS:	JUMPE A,CPOPJ
  4214	405037'	265 03 0 00 405211'		JSP C,OP
  4215	405040'	254 00 0 00 405042'		JRST COMP2	;bignums know about me
  4216	405041'	254 00 0 00 405042'		JRST COMP2
  4217
  4218	405042'	311 01 0 00 000007 	COMP2:	CAML A,TT
  4219	405043'	254 00 0 00 404013'		JRST FALSE
  4220	405044'	254 00 0 00 403764'		JRST TRUE
  4221
  4222	405045'	201 12 0 00 405034'	.MAX:	MOVEI D,.GREAT
  4223	405046'	334 00 0 00 000000 		SKIPA
  4224	405047'	201 12 0 00 405036'	.MIN:	MOVEI D,.LESS
  4225	405050'	200 04 0 00 000001 		MOVE AR1,A
  4226	405051'	200 05 0 00 000002 		MOVE AR2A,B
  4227	405052'	260 14 0 12 000000 		PUSHJ P,(D)
  4228	405053'	336 00 0 00 000001 		SKIPN A
  4229	405054'	200 04 0 00 000005 		MOVE AR1,AR2A
  4230	405055'	200 01 0 00 000004 		MOVE A,AR1
  4231	405056'	263 14 0 00 000000 		POPJ P,
  4232					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-104
UCILSP	MAC	27-MAR-75 17:13		ARITHMETIC SUBROUTINES 

  4233	405057'				MAKNUM:
  4234	405057'	302 02 0 11 003744'		CAIE	B,FLONUM(S)	;## DEFAULT TO FIXNUM, NOT FLONUM
  4235	405060'	254 00 0 00 405220'		JRST FIX1A
  4236	405061'				FLO1A:
  4237	405061'	201 02 0 11 003744'		MOVEI B,FLONUM(S)
  4238	405062'	260 14 0 00 403767'		PUSHJ P,FWCONS
  4239	405063'	254 00 0 00 403655'		JRST ACONS-1
  4240
  4241	405064'	275 01 0 00 577777 	FIX1B:	SUBI A,INUM0
  4242	405065'	201 02 0 11 003740'		MOVEI B,FIXNUM(S)
  4243	405066'	260 14 0 00 403767'		PUSHJ P,FWCONS
  4244	405067'	254 00 0 00 403655'		JRST ACONS-1
  4245
  4246	405070'	255 17 0 00 405071'	NUMVLX:	JFCL 17,.+1
  4247	405071'	307 01 0 00 377777 	NUMVAL:	CAIG A,INUMIN
  4248	405072'	254 00 0 00 405076'		JRST NUMAG1
  4249	405073'	275 01 0 00 577777 		SUBI A,INUM0
  4250	405074'	201 02 0 11 003740'		MOVEI B,FIXNUM(S)
  4251	405075'	263 14 0 00 000000 		POPJ P,
  4252
  4253	405076'	202 01 0 00 000004 	NUMAG1:	MOVEM A,AR1
  4254	405077'	550 01 0 01 000000 		HRRZ A,(A)
  4255	405100'	554 02 0 01 000000 		HLRZ B,(A)
  4256	405101'	550 01 0 01 000000 		HRRZ A,(A)
  4257	405102'	302 02 0 11 003740'		CAIE B,FIXNUM(S)
  4258	405103'	306 02 0 11 003744'		CAIN B,FLONUM(S)
  4259	405104'	334 01 0 01 000000 		SKIPA A,(A)
  4260	405105'	334 01 0 00 000004 	NUMV4:	SKIPA A,AR1
  4261	405106'	263 14 0 00 000000 		POPJ P,
  4262	405107'	260 14 0 00 402322'	NUMV2:	PUSHJ P,EPRINT	;bignums know about me
  4263	405110'	254 00 0 00 400721'		JRST NONNUM
  4264
  4265	405111'	254 00 0 00 400721'	NUMV3:	JRST NONNUM		;bignums change me to JRST BIGDIS
  4266					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-105
UCILSP	MAC	27-MAR-75 17:13		ARITHMETIC SUBROUTINES 

  4267	405112'	231 01 0 00 400000 	FLOAT:	IDIVI A,400000
  4268	405113'	332 00 0 00 000001 		SKIPE A
  4269	405114'	641 01 0 00 254000 		TLC A,254000
  4270	405115'	641 02 0 00 233000 		TLC B,233000
  4271	405116'	144 01 0 00 000002 		FADR A,B
  4272	405117'	263 14 0 00 000000 		POPJ P,
  4273
  4274	405120'	261 14 0 00 000001 	FIX:	PUSH P,A
  4275	405121'	260 14 0 00 405071'		PUSHJ P,NUMVAL
  4276	405122'	302 02 0 11 003744'		CAIE B,FLONUM(S)
  4277	405123'	254 00 0 00 405717'		JRST POPAJ
  4278	405124'	225 01 0 00 000400 		MULI A,400
  4279	405125'	651 01 0 00 000001 		TSC A,A
  4280	405126'	255 17 0 00 405127'		JFCL 17,.+1
  4281	405127'	240 02 0 01 777535 		ASH B,-243(A)
  4282	405130'	255 10 0 00 405172'	FIX2:	JFCL 10,FIXOV	;bignums change me to jfcl 10,bfix
  4283	405131'	262 14 0 00 000001 		POP P,A
  4284	405132'	200 01 0 00 000002 	FIX1:	MOVE A,B
  4285	405133'	254 00 0 00 405220'		JRST FIX1A
  4286
  4287	405134'	260 14 0 00 405071'	MINUSP:	PUSHJ P,NUMVAL
  4288	405135'	325 01 0 00 404013'		JUMPGE A,FALSE
  4289	405136'	254 00 0 00 403764'		JRST TRUE
  4290
  4291	405137'	260 14 0 00 405070'	MINUS:	PUSHJ P,NUMVLX
  4292	405140'	213 00 0 00 000001 		MOVNS A
  4293	405141'	255 10 1 00 405247'		JFCL 10,@OPOV
  4294	405142'	254 00 0 00 405057'		JRST MAKNUM
  4295
  4296	405143'	260 14 0 00 405070'	ABS:	PUSHJ P,NUMVLX
  4297	405144'	217 00 0 00 000001 		MOVMS A
  4298	405145'	254 00 0 00 405141'		JRST MINUS+2
  4299
  4300	405146'	260 14 0 00 405071'	NUMTYP:	PUSHJ	P,NUMVAL	;## NUMVAL LEAVES TYPE IN B
  4301	405147'	201 01 0 02 000000 		MOVEI	A,(B)		;## GET THE TYPE
  4302	405150'	263 14 0 00 000000 		POPJ	P,
  4303
  4304	405151'	307 01 0 00 377777 	INUMP:	CAIG	A,INUMIN	;##  INUM IF > INUMIN
  4305	405152'	254 00 0 00 404013'		JRST	FALSE		;## NO, RETURN NIL
  4306	405153'	263 14 0 00 000000 		POPJ	P,		;## RETURN USEFUL VALUE
  4307					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-106
UCILSP	MAC	27-MAR-75 17:13		ARITHMETIC SUBROUTINES 

  4308	405154'	306 02 0 00 577777 	DIVIDE:	CAIN B,INUM0
  4309	405155'	254 00 0 00 405173'		JRST ZERODIV
  4310	405156'	265 03 0 00 405211'		JSP C,OP
  4311	405157'	326 00 0 00 405161'		JUMPN RDIV		;bignums know about me
  4312	405160'	254 00 0 00 405175'		JRST ILLNUM
  4313	405161'	230 01 0 00 000007 	RDIV:	IDIV A,TT
  4314	405162'	261 14 0 00 000002 		PUSH P,B
  4315	405163'	260 14 0 00 405220'		PUSHJ P,FIX1A
  4316	405164'	250 01 0 14 000000 		EXCH A,(P)
  4317	405165'	260 14 0 00 405220'		PUSHJ P,FIX1A
  4318	405166'	262 14 0 00 000002 		POP P,B
  4319	405167'	254 00 0 00 403660'		JRST XCONS
  4320
  4321	405170'				REMAINDER:
  4322	405170'	260 14 0 00 405154'		PUSHJ P,DIVIDE
  4323	405171'	254 00 0 00 403615'		JRST CDR
  4324
  4325	405172'	001 00 0 00 411501'	FIXOV:	ERR1 [SIXBIT /INTEGER OVERFLOW!/]
  4326	405173'	001 00 0 00 411504'	ZERODIV:ERR1 [SIXBIT /ZERO DIVISOR!/]
  4327	405174'	001 00 0 00 411507'	FLOOV:	ERR1 [SIXBIT /FLOATING OVERFLOW!/]
  4328	405175'	001 00 0 00 411512'	ILLNUM:	ERR1 [SIXBIT /NON-INTEGRAL OPERAND!/]
  4329
  4330	405176'	265 03 0 00 405211'	GCD:	JSP C,OP
  4331	405177'	324 00 0 00 405201'		JUMPA GCD2	;bignums know about me
  4332	405200'	254 00 0 00 405175'		JRST ILLNUM
  4333	405201'	217 00 0 00 000001 	GCD2:	MOVMS A
  4334	405202'	217 00 0 00 000007 		MOVMS TT
  4335					;euclid's algorithm
  4336	405203'	317 01 0 00 000007 	GCD3:	CAMG A,TT
  4337	405204'	250 01 0 00 000007 		EXCH A,TT
  4338	405205'	322 07 0 00 405220'		JUMPE TT,FIX1A
  4339	405206'	230 01 0 00 000007 		IDIV A,TT
  4340	405207'	200 01 0 00 000002 		MOVE A,B
  4341	405210'	254 00 0 00 405203'		JRST GCD3
  4342					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-107
UCILSP	MAC	27-MAR-75 17:13		ARITHMETIC SUBROUTINES 

  4343					;general arithmetic op code routine for mixed types
  4344
  4345	405211'	307 01 0 00 377777 	OP:	CAIG A,INUMIN
  4346	405212'	254 00 0 00 405225'		JRST OPA1
  4347	405213'	275 01 0 00 577777 		SUBI A,INUM0
  4348	405214'	307 02 0 00 377777 		CAIG B,INUMIN
  4349	405215'	254 00 0 00 405233'		JRST OPA2
  4350	405216'	571 07 0 02 200001 		HRREI TT,-INUM0(B)
  4351	405217'	256 00 0 03 000000 		XCT (C)	;inum op  (cannot cause overflow)
  4352	405220'	271 01 0 00 577777 	FIX1A:	ADDI A,INUM0
  4353	405221'	303 01 0 00 377777 		CAILE A,INUMIN
  4354	405222'	301 01 0 00 777777 		CAIL A,-1
  4355	405223'	254 00 0 00 405064'		JRST FIX1B
  4356	405224'	263 14 0 00 000000 		POPJ P,
  4357
  4358	405225'	550 01 0 01 000000 	OPA1:	HRRZ A,(A)
  4359	405226'	554 06 0 01 000000 		HLRZ T,(A)
  4360	405227'	550 01 0 01 000000 		HRRZ A,(A)
  4361	405230'	302 06 0 11 003740'		CAIE T,FIXNUM(S)
  4362	405231'	254 00 0 00 405251'		JRST OPA6
  4363	405232'	334 01 0 01 000000 		SKIPA A,(A)
  4364	405233'				OPA2:
  4365	405233'	201 06 0 11 003740'		MOVEI T,FIXNUM(S)
  4366	405234'	303 02 0 00 377777 		CAILE B,INUMIN
  4367	405235'	254 00 0 00 405244'		JRST OPB2
  4368	405236'	550 02 0 02 000000 		HRRZ B,(B)
  4369	405237'	550 07 0 02 000000 		HRRZ TT,(B)
  4370	405240'	554 02 0 02 000000 		HLRZ B,(B)
  4371	405241'	302 02 0 11 003740'		CAIE B,FIXNUM(S)
  4372	405242'	254 00 0 00 405270'		JRST OPA5
  4373	405243'	334 07 0 07 000000 		SKIPA TT,(TT)
  4374	405244'	571 07 0 02 200001 	OPB2:	HRREI TT,-INUM0(B)
  4375	405245'	255 17 0 00 405246'		JFCL 17,.+1
  4376	405246'	256 00 0 03 000000 		XCT (C)	;fixed pt op
  4377	405247'	255 10 0 00 405172'		OPOV:	JFCL 10,FIXOV	;bignums change this to jfcl 10,fixovl
  4378	405250'	254 00 0 00 405220'		JRST FIX1A
  4379
  4380	405251'	303 02 0 00 377777 	OPA6:	CAILE B,INUMIN
  4381	405252'	254 00 0 00 405277'		JRST OPB7
  4382	405253'	550 02 0 02 000000 		HRRZ B,(B)
  4383	405254'	550 07 0 02 000000 		HRRZ TT,(B)
  4384	405255'	554 02 0 02 000000 		HLRZ B,(B)
  4385	405256'	302 02 0 11 003744'		CAIE B,FLONUM(S)
  4386	405257'	254 00 0 00 405274'		JRST OPB3
  4387	405260'	302 06 0 11 003744'		CAIE T,FLONUM(S)
  4388	405261'	254 00 0 00 405111'		JRST NUMV3
  4389	405262'	200 01 0 01 000000 		MOVE A,(A)
  4390	405263'	200 07 0 07 000000 		MOVE TT,(TT)
  4391	405264'	255 17 0 00 405265'	OPR:	JFCL 17,.+1
  4392	405265'	256 00 0 03 000001 		XCT 1(C)	;flt pt op
  4393	405266'	255 10 0 00 405174'		JFCL 10,FLOOV
  4394	405267'	254 00 0 00 405061'		JRST FLO1A
  4395
  4396	405270'				OPA5:
  4397	405270'	302 02 0 11 003744'		CAIE B,FLONUM(S)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-108
UCILSP	MAC	27-MAR-75 17:13		ARITHMETIC SUBROUTINES 

  4398	405271'	254 00 0 00 405111'		JRST NUMV3
  4399	405272'	260 14 0 00 405112'		PUSHJ P,FLOAT
  4400	405273'	254 00 0 00 405263'		JRST OPR-1
  4401
  4402	405274'				OPB3:
  4403	405274'	302 02 0 11 003740'		CAIE B,FIXNUM(S)
  4404	405275'	254 00 0 00 405111'		JRST NUMV3
  4405	405276'	334 07 0 07 000000 		SKIPA TT,(TT)
  4406	405277'	571 07 0 02 200001 	OPB7:	HRREI TT,-INUM0(B)
  4407	405300'	201 02 0 11 003740'		MOVEI B,FIXNUM(S)
  4408	405301'	302 06 0 11 003744'		CAIE T,FLONUM(S)
  4409	405302'	254 00 0 00 405111'		JRST NUMV3
  4410	405303'	200 01 0 01 000000 		MOVE A,(A)
  4411	405304'	250 01 0 00 000007 		EXCH A,TT
  4412	405305'	260 14 0 00 405112'		PUSHJ P,FLOAT
  4413	405306'	250 01 0 00 000007 		EXCH A,TT
  4414	405307'	254 00 0 00 405264'		JRST OPR
  4415						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-109
UCILSP	MAC	27-MAR-75 17:13		EXPLODE, READLIST AND FRIENDS 

  4416						SUBTTL EXPLODE, READLIST AND FRIENDS 
  4417
  4418	405310'	334 13 0 00 405311'	%FLATSIZEC:	SKIPA R,.+1	;$$ FLATSIZEC - (LENGTH (EXPLODEC))
  4419	405311'	551 13 0 00 405316'	FLATSIZE:	HRRZI R,FLAT2
  4420	405312'	402 00 0 00 000464'		SETZM	FLAT1
  4421	405313'	260 14 0 00 402341'		PUSHJ P,PRINTA
  4422	405314'	200 01 0 00 000464'		MOVE	A,FLAT1#
  4423	405315'	254 00 0 00 405220'		JRST FIX1A
  4424	405316'	350 00 0 00 000464'	FLAT2:	AOS FLAT1
  4425	405317'	263 14 0 00 000000 		POPJ P,
  4426
  4427
  4428	405320'	334 13 0 00 405321'	%EXPLODE:	SKIPA R,.+1
  4429	405321'	551 13 0 00 405325'	EXPLODE:	HRRZI R,EXPL1
  4430	405322'	205 04 0 00 000004 		MOVSI AR1,AR1
  4431	405323'	260 14 0 00 402341'		PUSHJ P,PRINTA
  4432	405324'	254 00 0 00 404554'		JRST SUBS4
  4433
  4434	405325'	261 14 0 00 000002 	EXPL1:	PUSH P,B
  4435	405326'	261 14 0 00 000003 		PUSH P,C
  4436	405327'	405 01 0 00 000177 		ANDI A,177
  4437	405330'	301 01 0 00 000060 		CAIL A,"0"
  4438	405331'	303 01 0 00 000071 		CAILE A,"9"
  4439	405332'	254 00 0 00 405335'		JRST EXPL2
  4440	405333'	271 01 0 00 577717 		ADDI A,INUM0-"0"
  4441	405334'	254 00 0 00 405350'		JRST EXPL4
  4442
  4443	405335'	261 14 0 00 000004 	EXPL2:	PUSH P,AR1
  4444	405336'	261 14 0 00 000007 		PUSH P,TT
  4445	405337'	261 14 0 00 000006 		PUSH P,T
  4446	405340'	242 01 0 00 000035 		LSH A,35
  4447	405341'	200 03 0 00 000017 		MOVE C,SP
  4448	405342'	261 03 0 00 000001 		PUSH C,A
  4449	405343'	201 04 0 00 000001 		MOVEI AR1,1
  4450	405344'	260 14 0 00 403271'		PUSHJ P,INTER0
  4451	405345'	262 14 0 00 000006 		POP P,T
  4452	405346'	262 14 0 00 000007 		POP P,TT
  4453	405347'	262 14 0 00 000004 		POP P,AR1
  4454	405350'	260 14 0 00 403657'	EXPL4:	PUSHJ P,NCONS
  4455	405351'	544 02 0 00 000004 		HLR B,AR1
  4456	405352'	542 01 0 02 000000 		HRRM A,(B)
  4457	405353'	506 01 0 00 000004 		HRLM A,AR1
  4458	405354'	262 14 0 00 000003 		POP P,C
  4459	405355'	254 00 0 00 406212'		JRST POPBJ
  4460					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-110
UCILSP	MAC	27-MAR-75 17:13		EXPLODE, READLIST AND FRIENDS 

  4461	405356'	634 06 0 00 000006 	READLIST:	TDZA T,T
  4462	405357'	211 06 0 00 000001 	MAKNAM:	MOVNI T,1
  4463	405360'	202 06 0 00 000531'		MOVEM T,NOINFG
  4464	405361'	261 14 0 00 000044'			PUSH P,OLDCH
  4465	405362'	402 00 0 00 000044'		SETZM OLDCH
  4466	405363'	322 01 0 00 400723'		JUMPE A,NOLIST
  4467	405364'	542 01 0 00 000524'		HRRM A,MKNAM3
  4468	405365'	201 01 0 00 405374'		MOVEI A,MKNAM2
  4469	405366'	260 14 0 00 402631'		PUSHJ P,READ0
  4470	405367'	550 06 0 00 000524'		HRRZ T,MKNAM3
  4471	405370'	302 06 0 00 777777 		CAIE T,-1
  4472	405371'	326 06 0 00 411524'		JUMPN T,[ERR1 [SIXBIT /MORE THAN ONE S-EXPRESSION-MKNAM!/]]
  4473	405372'	262 14 0 00 000044'		POP P,OLDCH
  4474	405373'	263 14 0 00 000000 		POPJ P,
  4475
  4476	405374'	261 14 0 00 000002 	MKNAM2:	PUSH P,B
  4477	405375'	261 14 0 00 000006 		PUSH P,T
  4478	405376'	261 14 0 00 000007 		PUSH P,TT
  4479	405377'	550 07 0 00 000524'		HRRZ	TT,MKNAM3#
  4480	405400'	322 07 0 00 405422'		JUMPE TT,MKNAM6
  4481	405401'	306 07 0 00 777777 		CAIN TT,-1
  4482	405402'	001 00 0 00 411525'		ERR1 [SIXBIT /READ UNHAPPY-MAKNAM!/]
  4483	405403'	550 02 0 07 000000 		HRRZ B,(TT)
  4484	405404'	542 02 0 00 000524'		HRRM B,MKNAM3
  4485	405405'	554 01 0 07 000000 		HLRZ A,(TT)
  4486	405406'	305 01 0 00 377777 		CAIGE A,INUMIN
  4487	405407'	254 00 0 00 405414'		JRST MKNAM5
  4488	405410'	275 01 0 00 577717 		SUBI A,INUM0-"0"
  4489	405411'	262 14 0 00 000007 	MKNAM4:	POP P,TT
  4490	405412'	262 14 0 00 000006 		POP P,T
  4491	405413'	254 00 0 00 406212'		JRST POPBJ
  4492
  4493	405414'	554 01 0 07 000000 	MKNAM5:	HLRZ A,(TT)
  4494	405415'	201 02 0 11 003734'		MOVEI B,PNAME(S)
  4495	405416'	260 14 0 00 404037'		PUSHJ P,GET
  4496	405417'	554 01 0 01 000000 		HLRZ A,(A)
  4497	405420'	135 01 0 00 411531'		LDB A,[POINT 7,(A),6]
  4498	405421'	254 00 0 00 405411'		JRST MKNAM4
  4499
  4500	405422'	201 01 0 00 000040 	MKNAM6:	MOVEI A," "
  4501	405423'	523 00 0 00 000524'		HLLOS MKNAM3
  4502	405424'	254 00 0 00 405411'		JRST MKNAM4
  4503
  4504					;	A COUPLE OF FUNCTIONS SO THAT THE PROGRAMMER MAY RETURN CELLS TO THE FREE LIST
  4505	405425'	202 15 0 01 000000 	FREE:	MOVEM	F,(A)	;$$ RETURN A SINGLE CELL TO FREE LIST
  4506	405426'	550 15 0 00 000001 		HRRZ	F,A
  4507	405427'	254 00 0 00 404013'		JRST	FALSE
  4508	405430'	322 01 0 00 404014'	FREELI:	JUMPE	A,CPOPJ	;$$ RETURN A LIST TO THE FREE LIST
  4509	405431'	550 02 0 01 000000 		HRRZ	B,(A)
  4510	405432'	202 15 0 01 000000 		MOVEM	F,(A)
  4511	405433'	550 15 0 00 000001 		HRRZ	F,A
  4512	405434'	200 01 0 00 000002 		MOVE	A,B
  4513	405435'	254 00 0 00 405430'		JRST	FREELI
  4514
  4515

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-111
UCILSP	MAC	27-MAR-75 17:13		EXPLODE, READLIST AND FRIENDS 

  4516						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-112
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4517						SUBTTL EVAL APPLY  -- THE INTERPRETER  
  4518
  4519	405436'	303 01 0 00 377777 	APPLY.:	CAILE A,INUMIN	;$$ AN APPLY TO HANDLE ANY FUNCTION TYPE
  4520	405437'	254 00 0 00 400727'		JRST UNDTAG
  4521	405440'	554 06 0 01 000000 		HLRZ T,(A)
  4522	405441'	302 06 0 00 777777 		CAIE T,-1
  4523	405442'	254 00 0 00 405463'		JRST GAPP
  4524	405443'	550 06 0 01 000000 		HRRZ T,(A)
  4525	405444'	322 06 0 00 405463'	AAGN:	JUMPE T,GAPP
  4526	405445'	554 07 0 06 000000 		HLRZ TT,(T)
  4527	405446'	550 06 0 06 000000 		HRRZ T,(T)
  4528	405447'	306 07 0 11 003764'		CAIN TT,FSUBR(S)
  4529						JRST	[MOVE A,B
  4530							 HLRZ T,(T)
  4531	405450'	254 00 0 00 411532'			 JRST (T)]
  4532	405451'	306 07 0 11 003774'		CAIN TT,FEXPR(S)
  4533						JRST [	HLRZ T,(T)
  4534							HRL T,A
  4535							PUSH P,T
  4536							MOVE A,B
  4537	405452'	254 00 0 00 411535'			JRST APPL.2]
  4538	405453'	306 07 0 11 004024'		CAIN TT,MACRO(S)
  4539						JRST [	PUSHJ P,CONS
  4540	405454'	254 00 0 00 411542'			JRST EVAL]
  4541	405455'	306 07 0 11 003770'		CAIN TT,EXPR(S)
  4542	405456'	254 00 0 00 405463'		JRST GAPP
  4543	405457'	306 07 0 11 003760'		CAIN TT,SUBR(S)
  4544	405460'	254 00 0 00 405463'		JRST GAPP
  4545	405461'	302 07 0 11 004020'		CAIE TT,LSUBR(S)
  4546	405462'	254 00 0 00 405444'		JRST AAGN
  4547	405463'	571 06 0 00 777776 	GAPP:	HRREI T,-2
  4548	405464'	261 14 0 00 000001 		PUSH P,A
  4549	405465'	261 14 0 00 000002 		PUSH P,B
  4550	405466'	254 00 0 00 405724'		JRST APPLY
  4551
  4552						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-113
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4553	405467'	554 01 0 04 000000 	EV3:	HLRZ A,(AR1)
  4554	405470'	201 02 0 11 003750'		MOVEI B,VALUE(S)
  4555	405471'	260 14 0 00 404037'		PUSHJ P,GET
  4556	405472'	322 01 0 00 400714'		JUMPE A,UNDFUN	;function object has no definition
  4557	405473'	550 01 0 01 000000 		HRRZ A,(A)
  4558					REMOTE<
  4559					XXX4:
  4560					UBDPTR:	UNBOUND>
  4561	405474'	554 02 0 04 000000 		HLRZ	B,(AR1)		;$$GET ORIGINAL FN NAME
  4562	405475'	312 01 0 00 000002 		CAME	A,B		;$$IF VALUE IS THE SAME THE WE HAVE A LOOP
  4563	405476'	316 01 0 00 000365'		CAMN A,UBDPTR
  4564	405477'	254 00 0 00 400714'		JRST UNDFUN
  4565	405500'	550 02 0 04 000000 		HRRZ B,(AR1)	;eval (cons (cdr a)(cdr ar1))
  4566	405501'	260 14 0 00 403661'		PUSHJ P,CONS
  4567	405502'	254 00 0 00 405511'		JRST XXEVAL
  4568					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-114
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4569	405503'	346 06 0 00 405606'	OEVAL:	AOJN T,AEVAL
  4570	405504'	262 14 0 00 000001 		POP P,A
  4571	405505'	261 14 0 00 000017 	EVAL:	PUSH	P,SP	;$$SAVE SPDL
  4572	405506'	260 14 0 00 405511'		PUSHJ	P,XXEVAL	;$$GO DO EVALUATION AS USUAL
  4573	405507'	262 14 0 00 000017 		POP	P,SP	;$$RESTORE SPDL
  4574	405510'	263 14 0 00 000000 		POPJ	P,	;$$AND RETURN TO CALLER
  4575
  4576	405511'	552 01 0 00 000004 	XXEVAL:	HRRZM A,AR1
  4577	405512'	303 01 0 00 377777 		CAILE A,INUMIN
  4578	405513'	254 00 0 00 404014'		JRST CPOPJ
  4579
  4580					;$$CODE TO PUT EVAL BLIP ON SPECIAL PDL
  4581
  4582	405514'	261 14 0 00 000002 		PUSH P,B	;$$SAVE WHAT WAS IN B
  4583	405515'	551 02 0 14 777777 		HRRZI	B,-1(P)	;$$GET RPDL POINTER AND OFFSET
  4584	405516'	505 02 0 11 002706'		HRLI B,UNBOUND(S)	;$$ SET UP RPDL POINTER
  4585	405517'	261 17 0 00 000002 		PUSH SP,B	;$$ SAVE RPDL POINTER ON SPDL
  4586	405520'	261 17 0 00 000001 		PUSH	SP,A	;$$SAVE EVAL FORM ON SPDL
  4587	405521'	262 14 0 00 000002 		POP	P,B	;$$AND GO OON
  4588	405522'	554 06 0 01 000000 		HLRZ	T,(A)	;;;;;;;;;;;;; 
  4589
  4590
  4591	405523'	336 00 0 00 000461'		SKIPN ERINT#	;$$CHECK IF DDT (CONTROL H) INTERRUPT OCCURRED
  4592	405524'	254 00 0 00 405530'		JRST .+4	;$$SKIP OVER INTERRUPT FEATURE
  4593	405525'	402 00 0 00 000461'		SETZM	ERINT#	;$$TURN OFF INTERRUPT FLAG
  4594	405526'	260 14 0 00 402322'		PUSHJ P,EPRINT	;$$PRINT OUT WHAT WAS INTERRUPTED
  4595	405527'	001 00 0 00 411544'		ERR1 [SIXBIT /WAS JUST INTERRUPTED - NOW IN ERRORX!/]
  4596
  4597	405530'	306 06 0 00 777777 		CAIN T,-1
  4598	405531'	254 00 0 00 405537'		JRST EE1		;x is atomic
  4599	405532'	303 06 0 00 377777 		CAILE T,INUMIN
  4600	405533'	254 00 0 00 400714'		JRST UNDFUN
  4601
  4602
  4603	405534'	564 07 0 06 000000 		HLRO TT,(T)
  4604	405535'	342 07 0 00 405644'		AOJE TT,EE2		;car (x) is atomic
  4605	405536'	254 00 0 00 405676'		JRST EXP3
  4606
  4607	405537'				EE1:
  4608	405537'	550 04 0 04 000000 	EV5:	HRRZ AR1,(AR1)
  4609	405540'	322 04 0 00 400717'		JUMPE AR1,UNBVAR
  4610	405541'	554 07 0 04 000000 		HLRZ TT,(AR1)
  4611	405542'	302 07 0 11 003744'		CAIE TT,FLONUM(S)
  4612	405543'	306 07 0 11 003740'		CAIN TT,FIXNUM(S)
  4613	405544'	263 14 0 00 000000 		POPJ P,
  4614	405545'	550 04 0 04 000000 	EVBIG:	HRRZ AR1,(AR1)		;bignums know about me
  4615	405546'	302 07 0 11 003750'		CAIE TT,VALUE(S)
  4616	405547'	254 00 0 00 405537'			JRST EV5
  4617	405550'	554 04 0 04 000000 		HLRZ AR1,(AR1)
  4618	405551'	550 04 0 04 000000 		HRRZ AR1,(AR1)
  4619	405552'	306 04 0 11 002706'		CAIN AR1,UNBOUND(S)
  4620	405553'	254 00 0 00 400717'		JRST UNBVAR
  4621	405554'	202 04 0 00 000001 		MOVEM AR1,A
  4622	405555'	263 14 0 00 000000 		POPJ P,
  4623					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-115
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4624					;	HANDLER OF ALISTS AND SPDL CONTEXT POINTERS
  4625
  4626	405556'	332 01 0 14 777777 	ALIST:	SKIPE  A,-1(P)
  4627	405557'	260 14 0 00 404064'		PUSHJ P,NUMBERP
  4628	405560'	202 17 0 00 000570'		MOVEM SP,SPSV
  4629	405561'	326 01 0 00 405632'		JUMPN A,AEVAL7	;number
  4630	405562'	200 03 0 00 000562'		MOVE C,SC2	;bottom of spec pdl
  4631	405563'	202 03 0 00 000435'		MOVEM C,AEVAL5#
  4632	405564'	476 00 0 00 000434'		SETOM AEVAL2
  4633	405565'	200 03 0 00 000017 	AEVAL8:	MOVE C,SP
  4634	405566'	316 03 0 00 000435'	AEVAL6:	CAMN C,AEVAL5	;bottom spec pdl
  4635	405567'	254 00 0 00 405613'		JRST AEVAL1	;done
  4636	405570'	262 03 0 00 000006 		POP C,T		;pointer for next block
  4637	405571'	325 06 0 00 405566'		JUMPGE	T,AEVAL6	;$$SKIP ANY EVAL BLIP CRAP
  4638	405572'	316 03 0 00 000006 	AEVAL4:	CAMN C,T
  4639	405573'	254 00 0 00 405566'		JRST AEVAL6	;thru with block
  4640	405574'	262 03 0 00 000004 		POP C,AR1
  4641	405575'	603 04 0 00 777777 		TLNE	AR1,-1		;$$ TEST FOR EVAL BLIP
  4642	405576'	254 00 0 00 405601'		JRST	.+3
  4643	405577'	274 03 0 00 411474'		SUB	C,[XWD 1,1]	;$$ FOUND ONE, SKIP RPDL WORD
  4644	405600'	254 00 0 00 405572'		JRST	AEVAL4
  4645	405601'	207 00 0 00 000004 		MOVSS AR1
  4646	405602'	261 17 0 04 000000 		PUSH SP,(AR1)	;save value cell
  4647	405603'	546 04 0 04 000000 		HLRM AR1,(AR1)	;store previous value in value cell
  4648	405604'	506 04 0 17 000000 		HRLM AR1,(SP)	;save pointer to spec pdl loc
  4649	405605'	254 00 0 00 405572'		JRST AEVAL4
  4650
  4651	405606'	260 14 0 00 405556'		AEVAL:	PUSHJ P,ALIST
  4652	405607'	262 14 0 00 000001 		POP P,A
  4653	405610'	201 01 0 00 406237'		MOVEI A,UNBIND
  4654	405611'	250 01 0 14 000000 		EXCH A,(P)
  4655	405612'	254 00 0 00 405505'		JRST EVAL
  4656					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-116
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4657	405613'	335 00 0 00 000434'	AEVAL1:	SKIPGE AEVAL2
  4658	405614'	336 02 0 14 777777 		SKIPN B,-1(P)
  4659	405615'	254 00 0 00 405630'		JRST ABIND3	;done with binding
  4660
  4661								;alist binding
  4662	405616'	200 01 0 00 000002 		MOVE A,B
  4663	405617'	260 14 0 00 404015'		PUSHJ P,REVERSE
  4664	405620'	334 00 0 00 000000 		SKIPA
  4665	405621'	200 01 0 00 000002 	ABIND2:	MOVE A,B
  4666	405622'	550 02 0 01 000000 		HRRZ B,(A)
  4667	405623'	554 01 0 01 000000 		HLRZ A,(A)
  4668	405624'	550 04 0 01 000000 		HRRZ AR1,(A)
  4669	405625'	554 01 0 01 000000 		HLRZ A,(A)
  4670	405626'	260 14 0 00 406177'		PUSHJ P,BIND
  4671	405627'	326 02 0 00 405621'		JUMPN B,ABIND2
  4672	405630'	261 17 0 00 000570'	ABIND3:	PUSH SP,SPSV
  4673	405631'	263 14 0 00 000000 		POPJ P,
  4674
  4675					;spec pdl binding
  4676	405632'	200 01 0 14 777777 	AEVAL7:	MOVE A,-1(P)
  4677	405633'	260 14 0 00 405071'		PUSHJ P,NUMVAL
  4678	405634'	321 01 0 00 405641'		JUMPL	A,.+5	;MAKE SURE IT IS A VALID STACK POINTER
  4679	405635'	204 06 0 00 000562'		MOVS	T,SC2	;IT'S NOT, MAKE IT VALID
  4680	405636'	270 06 0 00 000001 		ADD	T,A
  4681	405637'	270 01 0 00 000562'		ADD	A,SC2
  4682	405640'	504 01 0 00 000006 		HRL	A,T
  4683	405641'	402 00 0 00 000434'		CLEARM AEVAL2#
  4684	405642'	202 01 0 00 000435'		MOVEM A,AEVAL5	;point to unbind to
  4685	405643'	254 00 0 00 405565'		JRST AEVAL8
  4686
  4687					;AEVAL2:	0	;0 for number, -1 for a-list
  4688					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-117
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4689
  4690	405644'	550 06 0 06 000000 	EE2:	HRRZ T,(T)
  4691	405645'	322 06 0 00 405467'		JUMPE T,EV3
  4692	405646'	554 07 0 06 000000 		HLRZ TT,(T)
  4693	405647'	550 06 0 06 000000 		HRRZ T,(T)
  4694	405650'	306 07 0 11 003760'		CAIN TT,SUBR(S)
  4695	405651'	254 00 0 00 405705'		JRST ESB
  4696	405652'	306 07 0 11 004020'		CAIN TT,LSUBR(S)
  4697	405653'	254 00 0 00 404433'		JRST EELS
  4698	405654'	306 07 0 11 003770'		CAIN TT,EXPR(S)
  4699	405655'	254 00 0 00 405674'		JRST AEXP
  4700	405656'	306 07 0 11 003764'		CAIN TT,FSUBR(S)
  4701	405657'	254 00 0 00 405702'		JRST EFS
  4702	405660'	306 07 0 11 004024'		CAIN TT,MACRO(S)
  4703	405661'	254 00 0 00 405721'		JRST EFM
  4704	405662'	302 07 0 11 003774'		CAIE TT,FEXPR(S)
  4705	405663'	254 00 0 00 405644'		JRST EE2
  4706
  4707	405664'	554 06 0 06 000000 		HLRZ T,(T)
  4708	405665'	500 06 0 04 000000 		HLL T,(AR1)
  4709	405666'	261 14 0 00 000006 		PUSH P,T
  4710	405667'	550 01 0 01 000000 		HRRZ A,(A)
  4711	405670'	661 01 0 00 400000 	APPL.2:	TLO A,400000
  4712	405671'	261 14 0 00 000001 		PUSH P,A
  4713	405672'	211 06 0 00 000001 		MOVNI T,1
  4714	405673'	254 00 0 00 406001'		JRST IAPPLY
  4715
  4716	405674'	554 06 0 06 000000 	AEXP:	HLRZ T,(T)
  4717	405675'	500 06 0 04 000000 		HLL T,(AR1)
  4718	405676'	261 14 0 00 000006 	EXP3:	PUSH P,T
  4719	405677'	550 01 0 04 000000 		HRRZ A,(AR1)
  4720	405700'	265 07 0 00 404435'	CILIST:	JSP TT,ILIST
  4721	405701'	254 00 0 00 406001'	EXP2:	JRST IAPPLY
  4722
  4723	405702'	554 06 0 06 000000 	EFS:	HLRZ T,(T)
  4724	405703'	550 01 0 04 000000 		HRRZ A,(AR1)
  4725	405704'	254 00 0 06 000000 		JRST (T)
  4726					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-118
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4727	405705'	550 01 0 04 000000 	ESB:	HRRZ A,(AR1)
  4728	405706'	554 06 0 06 000000 	UUOS2:	HLRZ T,(T)
  4729	405707'	500 06 0 04 000000 		HLL T,(AR1)
  4730	405710'	261 14 0 00 000006 		PUSH P,T
  4731	405711'	265 07 0 00 404435'		JSP TT,ILIST
  4732	405712'	254 00 0 06 405720'	ESB1:	JRST .+NACS+1(T)
  4733	405713'	262 14 0 00 000005 		POP P,A+4
  4734	405714'	262 14 0 00 000004 		POP P,A+3
  4735	405715'	262 14 0 00 000003 		POP P,A+2
  4736	405716'	262 14 0 00 000002 		POP P,A+1
  4737	405717'	262 14 0 00 000001 	POPAJ:	POP P,A
  4738	405720'	263 14 0 00 000000 		POPJ P,
  4739
  4740	405721'	554 06 0 06 000000 	EFM:	HLRZ T,(T)
  4741	405722'	036 01 0 06 000000 		CALLF 1,(T)
  4742	405723'	254 00 0 00 405505'		JRST EVAL
  4743					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-119
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4744
  4745	405724'	201 07 0 00 405734'	APPLY:	MOVEI TT,AP2
  4746	405725'	312 06 0 00 411553'		CAME T,[-3]
  4747	405726'	254 00 0 00 400327'		JRST PDLARG
  4748	405727'	202 06 0 00 000440'		MOVEM T,APFNG1#
  4749	405730'	260 14 0 00 405556'		PUSHJ P,ALIST
  4750	405731'	200 06 0 00 000440'		MOVE T,APFNG1
  4751	405732'	265 07 0 00 400327'		JSP TT,PDLARG
  4752	405733'	261 14 0 00 411554'		PUSH P,[UNBIND]
  4753	405734'	261 14 0 00 000001 	AP2:	PUSH P,A
  4754	405735'	201 06 0 00 000000 		MOVEI T,0
  4755	405736'	322 02 0 00 406001'	AP3:	JUMPE B,IAPPLY	;all args pushed; b has arg list
  4756	405737'	554 03 0 02 000000 		HLRZ C,(B)
  4757	405740'	261 14 0 00 000003 		PUSH P,C	;push arg
  4758	405741'	550 02 0 02 000000 		HRRZ B,(B)
  4759	405742'	364 06 0 00 405736'		SOJA T,AP3
  4760
  4761	405743'	325 12 0 00 400725'	IAP4:	JUMPGE D,TOOFEW	;special case for fexprs
  4762	405744'	346 13 0 00 400725'		AOJN R,TOOFEW
  4763	405745'	261 14 0 00 000002 		PUSH P,B
  4764	405746'	200 01 0 00 000017 		MOVE A,SP
  4765	405747'	260 14 0 00 405220'		PUSHJ P,FIX1A
  4766	405750'	250 01 0 14 000000 		EXCH A,(P)
  4767	405751'	200 02 0 00 000001 		MOVE B,A
  4768	405752'	211 13 0 00 000002 		MOVNI R,2
  4769	405753'	364 06 0 00 406060'		SOJA T,IAP5
  4770
  4771	405754'	261 14 0 00 000001 	FUNCT:	PUSH P,A
  4772	405755'	200 01 0 00 000017 		MOVE A,SP
  4773	405756'	260 14 0 00 405220'		PUSHJ P,FIX1A
  4774	405757'	262 14 0 00 000002 		POP P,B
  4775	405760'	554 02 0 02 000000 		HLRZ B,(B)
  4776	405761'	260 14 0 00 403660'		PUSHJ P,XCONS
  4777	405762'	201 02 0 11 004014'		MOVEI B,FUNARG(S)
  4778	405763'	254 00 0 00 403660'		JRST XCONS
  4779					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-120
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4780	405764'	370 00 0 00 000006 	APFNG:	SOS T
  4781	405765'	202 06 0 00 000440'		MOVEM T,APFNG1
  4782	405766'	265 07 0 00 400327'		JSP TT,PDLARG	;get args and funarg list
  4783	405767'	550 01 0 01 000000 		HRRZ A,(A)
  4784	405770'	550 12 0 01 000000 		HRRZ D,(A)	;a-list pointer
  4785	405771'	554 01 0 01 000000 		HLRZ A,(A)	;function
  4786	405772'	514 13 0 00 000440'		HRLZ R,APFNG1	;no. of args
  4787	405773'	261 14 0 00 411554'		PUSH P,[UNBIND]
  4788	405774'	265 07 0 00 400311'		JSP TT,ARGP1	;replace args and fn name
  4789	405775'	261 14 0 00 000012 		PUSH P,D	;a-list pointer
  4790	405776'	260 14 0 00 405556'		PUSHJ P,ALIST	;set up spec pdl
  4791	405777'	262 14 0 00 000012 		POP P,D
  4792	406000'	350 06 0 00 000440'		AOS T,APFNG1
  4793
  4794					;falls through
  4795					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-121
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4796					;falls in
  4797
  4798	406001'	200 03 0 00 000006 	IAPPLY:	MOVE C,T	;state of world at entrance
  4799	406002'	271 03 0 14 000000 		ADDI C,(P)	;t has - number of args on pdl
  4800	406003'	550 02 0 03 000000 	ILP1A:	HRRZ B,(C)	;next pdl slot has function- poss fun name in lh
  4801	406004'	303 02 0 00 377777 		CAILE B,INUMIN
  4802	406005'	254 00 0 00 400726'		JRST UNDTAC
  4803	406006'	554 01 0 02 000000 		HLRZ A,(B)
  4804	406007'	306 01 0 00 777777 		CAIN A,-1
  4805	406010'	254 00 0 00 406031'		JRST IAP1	;fn is atomic
  4806	406011'	306 01 0 11 003754'		CAIN A,LAMBDA(S)
  4807	406012'	254 00 0 00 406046'		JRST IAPLMB
  4808	406013'	306 01 0 11 004014'		CAIN A,FUNARG(S)
  4809	406014'	254 00 0 00 405764'		JRST APFNG
  4810	406015'	306 01 0 11 004010'		CAIN A,LABEL(S)
  4811	406016'	254 00 0 00 406121'		JRST APLBL
  4812	406017'	261 14 0 00 000006 		PUSH P,T
  4813	406020'	200 01 0 00 000002 		MOVE A,B
  4814	406021'	260 14 0 00 405505'		PUSHJ P,EVAL
  4815	406022'	262 14 0 00 000006 		POP P,T
  4816	406023'	200 03 0 00 000006 		MOVE C,T
  4817	406024'	271 03 0 14 000000 		ADDI C,(P)
  4818	406025'	202 01 0 03 000000 	ILP1B:	MOVEM A,(C)
  4819	406026'	254 00 0 00 406003'		JRST ILP1A
  4820
  4821	406027'	554 01 0 02 000000 	IAPXPR:	HLRZ A,(B)
  4822	406030'	254 00 0 00 406025'		JRST ILP1B
  4823	406031'	550 02 0 02 000000 	IAP1:	HRRZ B,(B)
  4824	406032'	322 02 0 00 406141'		JUMPE B,IAP2
  4825	406033'	554 07 0 02 000000 		HLRZ TT,(B)
  4826	406034'	550 02 0 02 000000 		HRRZ B,(B)
  4827	406035'	306 07 0 11 003770'		CAIN TT,EXPR(S)
  4828	406036'	254 00 0 00 406027'		JRST IAPXPR
  4829	406037'	306 07 0 11 004020'		CAIN TT,LSUBR(S)
  4830	406040'	254 00 0 00 406115'		JRST IAP6
  4831	406041'	302 07 0 11 003760'		CAIE TT,SUBR(S)
  4832	406042'	254 00 0 00 406031'		JRST IAP1
  4833	406043'	554 02 0 02 000000 		HLRZ B,(B)
  4834	406044'	202 02 0 03 000000 		MOVEM B,(C)
  4835	406045'	254 00 0 00 405712'		JRST ESB1
  4836					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-122
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4837	406046'	550 02 0 02 000000 	IAPLMB:	HRRZ B,(B)
  4838	406047'	554 07 0 02 000000 		HLRZ TT,(B)
  4839	406050'	202 17 0 00 000570'		MOVEM SP,SPSV
  4840	406051'	550 02 0 02 000000 		HRRZ B,(B)
  4841	406052'	554 12 0 07 000000 		HLRZ D,(TT)
  4842	406053'	306 12 0 00 777777 		CAIN D,-1
  4843	406054'	326 07 0 00 406153'		JUMPN TT, IAP3
  4844	406055'	200 13 0 00 000006 		MOVE R,T
  4845	406056'	322 06 0 00 406067'		IPLMB1:	JUMPE T,IPLMB2	;no more args
  4846	406057'	322 07 0 00 400724'		JUMPE TT,TOMANY	;too many args supplied
  4847	406060'	554 01 0 07 000000 	IAP5:	HLRZ A,(TT)
  4848	406061'	201 04 0 06 000001 		MOVEI AR1,1(T)
  4849	406062'	270 04 0 00 000014 		ADD AR1,P
  4850	406063'	510 12 0 04 000000 		HLLZ D,(AR1)
  4851	406064'	506 01 0 04 000000 		HRLM A,(AR1)
  4852	406065'	550 07 0 07 000000 		HRRZ TT,(TT)
  4853	406066'	344 06 0 00 406056'		AOJA T,IPLMB1
  4854					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-123
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4855
  4856
  4857	406067'	326 07 0 00 405743'	IPLMB2:	JUMPN TT,IAP4	;too few args supplied
  4858	406070'	322 13 0 00 406105'		JUMPE R,IAP69
  4859	406071'	262 14 0 00 000004 	IPLMB4:	POP P,AR1
  4860	406072'	554 01 0 00 000004 		HLRZ A,AR1
  4861	406073'	347 13 0 00 406076'		AOJG R,IPLMB3
  4862	406074'	260 14 0 00 406177'		PUSHJ P,BIND
  4863	406075'	254 00 0 00 406071'		JRST IPLMB4
  4864	406076'	332 00 0 00 000442'	IPLMB3:	SKIPE BACTRF
  4865	406077'	254 00 0 00 406111'		JRST APBK1
  4866	406100'	201 01 0 00 000000 	APBK2:	MOVEI A,NIL	;$$SETUP FOR IMPLIED PROG
  4867	406101'	261 17 0 00 000570'		PUSH SP,SPSV
  4868	406102'	200 06 0 00 000002 		MOVE T,B	;$$SETUP FOR IMPLIED PROG
  4869	406103'	260 14 0 00 404712'		PUSHJ P,COND2+1	;$$INSTEAD OF EVAL
  4870	406104'	254 00 0 00 406237'		JRST UNBIND
  4871
  4872	406105'	262 14 0 14 000000 	IAP69:	POP P,(P)
  4873	406106'	201 01 0 00 000000 		MOVEI A,NIL	;$$SETUP FOR IMPLIED PROG
  4874	406107'	200 06 0 00 000002 		MOVE T,B	;$$
  4875	406110'	254 00 0 00 404712'		JRST COND2+1	;$$INSTEAD OF EVAL
  4876
  4877	406111'	541 04 0 00 404014'	APBK1:	HRRI AR1,CPOPJ 
  4878	406112'	603 04 0 00 777777 		TLNE AR1,-1
  4879	406113'	261 14 0 00 000004 		PUSH P,AR1
  4880	406114'	254 00 0 00 406100'		JRST APBK2
  4881	406115'	201 07 0 00 404014'	IAP6:	MOVEI TT,CPOPJ
  4882	406116'	202 07 0 03 000000 		MOVEM TT,(C)
  4883	406117'	554 02 0 02 000000 		HLRZ B,(B)
  4884	406120'	254 00 0 02 000000 		JRST (B)
  4885
  4886	406121'	202 17 0 00 000570'	APLBL:	MOVEM SP,SPSV
  4887	406122'	550 02 0 02 000000 		HRRZ B,(B)
  4888	406123'	554 01 0 02 000000 		HLRZ A,(B)
  4889	406124'	550 02 0 02 000000 		HRRZ B,(B)
  4890	406125'	554 04 0 02 000000 		HLRZ AR1,(B)
  4891	406126'	202 04 0 03 000000 		MOVEM AR1,(C)
  4892	406127'	260 14 0 00 406177'		PUSHJ P,BIND
  4893	406130'	201 01 0 00 406137'		MOVEI A,APLBL1
  4894	406131'	250 01 0 03 777777 		EXCH A,-1(C)
  4895	406132'	250 01 0 00 000515'		EXCH A,LBLAD#
  4896	406133'	505 01 0 00 000515'		HRLI A,LBLAD
  4897	406134'	261 17 0 00 000001 		PUSH SP,A
  4898	406135'	261 17 0 00 000570'		PUSH SP,SPSV
  4899	406136'	254 00 0 00 406001'		JRST IAPPLY
  4900	406137'	261 14 0 00 000515'	APLBL1:	PUSH P,LBLAD
  4901	406140'	254 00 0 00 406237'			JRST SPECSTR
  4902
  4903	406141'	550 01 0 03 000000 	IAP2:	HRRZ A,(C)
  4904	406142'	201 02 0 11 003750'		MOVEI B,VALUE(S)
  4905	406143'	260 14 0 00 404037'		PUSHJ P,GET
  4906	406144'	322 01 0 00 400726'		JUMPE A,UNDTAC
  4907	406145'	550 01 0 01 000000 		HRRZ A,(A)
  4908	406146'	550 02 0 03 000000 		HRRZ B,(C)	;$$GET ORIGINAL FN NAME
  4909	406147'	312 01 0 00 000002 		CAME A,B	;$$IF THE VALUE IS THE SAME THEN WE HAVE A LOOP

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-124
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4910	406150'	306 01 0 11 002706'		CAIN A,UNBOUND(S)
  4911	406151'	254 00 0 00 400726'		JRST UNDTAC
  4912	406152'	254 00 0 00 406025'		JRST ILP1B
  4913
  4914	406153'	211 04 0 06 200001 	IAP3:	MOVNI AR1,-INUM0(T)	;lexpr call
  4915	406154'	200 01 0 00 000007 		MOVE A,TT
  4916	406155'	260 14 0 00 406177'		PUSHJ P,BIND
  4917	406156'	261 14 0 00 000366'		PUSH P,%ARG
  4918	406157'	275 03 0 00 577777 		SUBI C,INUM0
  4919	406160'	542 03 0 00 000366'		HRRM C,%ARG
  4920	406161'	261 17 0 00 000570'		PUSH SP,SPSV
  4921	406162'	201 01 0 00 000000 		MOVEI A,NIL	;$$ MORE FOR IMPLIED PROG
  4922	406163'	200 06 0 00 000002 		MOVE T,B	;$$
  4923	406164'	260 14 0 00 404712'		PUSHJ P,COND2+1	;$$ INSTEAD OF EVAL
  4924	406165'	550 06 0 00 000366'		HRRZ T,%ARG
  4925	406166'	262 14 0 00 000366'		POP P,%ARG
  4926	406167'	275 06 0 14 200002 		SUBI T,1-INUM0(P)
  4927	406170'	505 06 0 06 777777 		HRLI T,-1(T)
  4928	406171'	270 14 0 00 000006 		ADD P,T
  4929	406172'	254 00 0 00 406237'		JRST UNBIND
  4930
  4931	406173'	550 01 1 00 000366'	ARG:	HRRZ A,@%ARG
  4932	406174'	263 14 0 00 000000 		POPJ P,
  4933
  4934					REMOTE<%ARG:	XWD A,0>
  4935	406175'	552 02 1 00 000366'	SETARG:	HRRZM B,@%ARG
  4936	406176'	254 00 0 00 404136'		JRST PROG2
  4937					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-125
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4938	406177'	322 01 0 00 400704'	BIND:	JUMPE A,BNDERR	;$$CAN'T REBIND NIL
  4939	406200'	306 01 0 11 002613'		CAIN A,TRUTH(S)	;$$SHOULDN'T REBIND T
  4940	406201'	254 00 0 00 400704'		JRST BNDERR	;$$
  4941	406202'	261 14 0 00 000002 		PUSH P,B
  4942	406203'	552 01 0 00 000443'		HRRZM A,BIND3#
  4943	406204'				BIND2:
  4944	406204'	201 02 0 11 003750'		MOVEI B,VALUE(S)	;bind atom in a to value in ar1,save
  4945	406205'	260 14 0 00 404037'		PUSHJ P,GET	;old binding on s pdl
  4946	406206'	322 01 0 00 406214'		JUMPE A,BIND1	;add value cell
  4947	406207'	261 17 0 01 000000 		PUSH SP,(A)
  4948	406210'	506 01 0 17 000000 		HRLM A,(SP)
  4949
  4950						HRRM AR1,(A)	;$$THIS WAS HHRZM AR1,(A) WHICH CLOBBERED ATOM POINTER IN MY SYSTEM
  4951	406211'	542 04 0 01 000000 
  4952	406212'	262 14 0 00 000002 	POPBJ:	POP P,B
  4953	406213'	263 14 0 00 000000 		POPJ P,
  4954
  4955	406214'				BIND1:
  4956	406214'	201 02 0 11 002706'		MOVEI B,UNBOUND(S)
  4957
  4958	406215'	200 01 0 00 000443'		MOVE A,BIND3	;$$SET UP ATOM POINTER FROM SPECIAL CELL
  4959								;$$THIS WAS MOVEI A,0
  4960	406216'	260 14 0 00 403661'		PUSHJ P,CONS
  4961	406217'	550 02 1 00 000443'		HRRZ B,@BIND3
  4962	406220'	260 14 0 00 403661'		PUSHJ P,CONS
  4963	406221'	201 02 0 11 003750'		MOVEI B,VALUE(S)
  4964	406222'	260 14 0 00 403660'		PUSHJ P,XCONS
  4965	406223'	542 01 1 00 000443'		HRRM A,@BIND3
  4966	406224'	200 01 0 00 000443'			MOVE A,BIND3
  4967	406225'	254 00 0 00 406204'		JRST BIND2
  4968
  4969	406226'	317 17 0 00 000002 	UBD:	CAMG SP,B
  4970	406227'	263 14 0 00 000000 		POPJ P,
  4971
  4972
  4973	406230'	554 07 0 17 000000 		HLRZ	TT,(SP)	;$$SKIP OVER EVAL BLIPS ETC.
  4974	406231'	322 07 0 00 406233'		JUMPE	TT,.+2	;$$IF EQUAL TO 0 IT WAS AN EVAL BLIP
  4975	406232'	254 00 0 00 406235'		JRST	PJUBND
  4976	406233'	274 17 0 00 411477'		SUB	SP,[XWD 2,2]	;$$DECREMENT SPDL
  4977	406234'	254 00 0 00 406226'		JRST	UBD		;$$GO BACK AND CHECK
  4978
  4979	406235'	260 14 0 00 406237'	PJUBND:	PUSHJ P,UNBIND
  4980	406236'	254 00 0 00 406226'		JRST UBD
  4981
  4982	406237'				UNBIND:
  4983	406237'	200 07 0 17 000000 	SPECSTR:	MOVE TT,(SP)
  4984	406240'	316 17 0 00 000562'		CAMN	SP,SC2	;$$CHECK TO AVOID OVERSHOOT
  4985	406241'	263 14 0 00 000000 		POPJ	P,	;$$
  4986
  4987	406242'	274 17 0 00 411474'		SUB SP,[XWD 1,1]
  4988	406243'	325 07 0 00 406237'		JUMPGE TT,UNBIND	;syncronize stack
  4989	406244'	316 17 0 00 000007 	UNBND1:	CAMN SP,TT
  4990	406245'	263 14 0 00 000000 		POPJ P,
  4991	406246'	262 17 0 00 000006 		POP SP,T
  4992

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-126
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  4993
  4994	406247'	306 06 0 06 000000 		CAIN T,(T)	;$$CHECK TO SKIP OVER NEW ITEMS PUT ON SPDL
  4995								;$$ALL SUCH ITEMS HAVE 0 LEFT HAND SIDES
  4996	406250'	254 00 0 00 406254'		JRST PROGUB	;$$THIS IS AN EVAL BLIP - CHECK IF A PROG
  4997
  4998	406251'	207 00 0 00 000006 		MOVSS T
  4999
  5000	406252'	546 06 0 06 000000 		HLRM T,(T)	;$$CHANGED FROM HLRZM T,(T) TO PROTECT NEW ATOM POINTER
  5001
  5002	406253'	254 00 0 00 406244'		JRST UNBND1
  5003
  5004
  5005	406254'	554 06 0 06 000000 	PROGUB:	HLRZ T,(T)	;$$CHECK FOR A PROG
  5006	406255'	302 06 0 11 002273'		CAIE T,PROGAT+1(S)	;$$CHECK IF IT IS A PROG
  5007	406256'	254 00 0 00 406263'		JRST PROGU1	;$$NOT A PROG, SKIP IT AND GO ON
  5008	406257'	200 06 0 17 000000 		MOVE T,(SP)	;$$GET THE RPDL POINTER FOR PROG INTO T
  5009	406260'	271 06 0 00 000002 		ADDI T,2	;$$INCREMENT TO GET TO WHERE PA3,PA4 SAVED
  5010	406261'	262 06 0 00 000543'		POP T,PA4	;$$RESTORE PA4
  5011	406262'	262 06 0 00 000542'		POP T,PA3	;$$AND PA3 FROM WHERE THEY WERE SAVED
  5012	406263'	262 17 0 00 000006 	PROGU1:	POP SP,T	;$$ POP RPDL POINTER
  5013	406264'	254 00 0 00 406244'		JRST UNBND1	;$$AND GO ON WITH THE UNBINDING
  5014
  5015
  5016
  5017	406265'	200 07 0 00 000017 	SPECBIND:	MOVE TT,SP
  5018	406266'	135 13 0 00 411555'	SPEC1:	LDB R,[POINT 13,(T),ACFLD]
  5019	406267'	303 13 0 00 000017 		CAILE R,17
  5020	406270'	254 00 0 00 406300'		JRST SPECX
  5021	406271'	332 00 0 00 000013 		SKIPE R
  5022	406272'	200 13 0 13 000000 		MOVE R,(R)
  5023	406273'	500 13 1 06 000000 		HLL R,@(T)	;$$AGAIN SAVE THE POOR LITTLE ATOM POINTER
  5024	406274'	250 13 1 06 000000 		EXCH R,@(T)
  5025	406275'	505 13 1 06 000000 		HRLI R,@(T)
  5026	406276'	261 17 0 00 000013 		PUSH SP,R
  5027	406277'	344 06 0 00 406266'		AOJA T,SPEC1
  5028	406300'	261 17 0 00 000007 	SPECX:	PUSH SP,TT
  5029	406301'	254 00 0 06 000000 		JRST (T)
  5030
  5031					;random special case compiler run time routines
  5032
  5033	406302'	261 14 0 00 000001 	%AMAKE:	PUSH P,A	;make alist for fsubr that requires it
  5034	406303'	200 01 0 00 000017 		MOVE A,SP
  5035	406304'	260 14 0 00 405220'		PUSHJ P,FIX1A
  5036	406305'	200 02 0 00 000001 		MOVE B,A
  5037	406306'	254 00 0 00 405717'		JRST POPAJ
  5038
  5039	406307'	260 14 0 00 402327'	%UDT:	PUSHJ P,PRINT	;error print for undefined computed go tag
  5040	406310'	004 00 0 00 411556'		STRTIP [SIXBIT /UNDEFINED COMPUTED GO TAG IN !/]
  5041	406311'	550 13 0 14 000000 		HRRZ R,(P)
  5042	406312'	260 14 0 00 400476'		PUSHJ P,ERSUB3
  5043	406313'	254 00 0 00 400620'		JRST ERREND
  5044
  5045	406314'	210 01 0 00 000006 	%LCALL:	MOVN A,T	;set up routine for compile lsubr
  5046	406315'	271 01 0 00 577777 		ADDI A,INUM0
  5047	406316'	271 06 0 14 000000 		ADDI T,(P)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-127
UCILSP	MAC	27-MAR-75 17:13		EVAL APPLY  -- THE INTERPRETER  

  5048	406317'	261 14 0 00 000006 		PUSH P,T
  5049	406320'	260 14 0 03 000000 		PUSHJ P,(3)
  5050	406321'	262 14 0 00 000006 		POP P,T
  5051	406322'	275 06 0 14 000000 		SUBI T,(P)
  5052	406323'	505 06 0 06 777777 		HRLI T,-1(T)
  5053	406324'	270 14 0 00 000006 		ADD P,T
  5054	406325'	263 14 0 00 000000 		POPJ P,
  5055						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-128
UCILSP	MAC	27-MAR-75 17:13		ARRAY SUBROUTINES  

  5056						SUBTTL ARRAY SUBROUTINES  
  5057
  5058		777777	777777		ARRERR=-1
  5059
  5060	406326'	260 14 0 00 406340'	ARRAY:	PUSHJ P,ARRAYS
  5061	406327'	541 05 0 13 000001 		HRRI AR2A,1(R)
  5062	406330'	200 01 0 00 000005 		MOVE A,AR2A
  5063	406331'	261 13 0 00 411345'		PUSH R,[0]
  5064	406332'	253 01 0 00 406331'		AOBJN A,.-1
  5065	406333'	200 01 0 00 000444'	ARREND:	MOVE A,BPPNR#
  5066	406334'	202 05 0 01 777777 		MOVEM AR2A,-1(A)
  5067	406335'	201 01 0 13 600000 		MOVEI A,INUM0+1(R)
  5068	406336'	202 01 0 11 004033'		MOVEM A,VBPORG(S)
  5069	406337'	263 14 0 00 000000 		POPJ P,
  5070
  5071	406340'	261 14 0 00 000001 	ARRAYS:	PUSH P,A
  5072	406341'	200 01 0 11 004033'		MOVE A,VBPORG(S)
  5073	406342'	275 01 0 00 577777 		SUBI A,INUM0
  5074	406343'	202 01 0 00 000444'		MOVEM A,BPPNR
  5075	406344'	200 01 0 11 004034'		MOVE A,VBPEND(S)
  5076	406345'	211 01 0 01 177777 		MOVNI A,-INUM0-2(A)
  5077	406346'	270 01 0 00 000444'		ADD A,BPPNR	;bporg-bpend+2
  5078	406347'	506 01 0 00 000444'		HRLM A,BPPNR
  5079	406350'	262 14 0 00 000001 		POP P,A
  5080	406351'	550 04 0 01 000000 		HRRZ AR1,(A)	;(cdr l)
  5081	406352'	554 01 0 01 000000 		HLRZ A,(A)	;(car l)name
  5082	406353'	550 02 0 00 000444'		HRRZ B,BPPNR
  5083	406354'	271 02 0 00 000002 		ADDI B,2
  5084	406355'	201 03 0 11 003760'		MOVEI C,SUBR(S)
  5085	406356'	260 14 0 00 404111'		PUSHJ P,PUTPROP
  5086	406357'	554 01 0 04 000000 		HLRZ A,(AR1)	;(cadr l)mode
  5087	406360'	261 14 0 00 000004 		PUSH P,AR1
  5088	406361'	260 14 0 00 405505'		PUSHJ P,EVAL	;eval mode
  5089	406362'	262 14 0 00 000004 		POP P,AR1
  5090	406363'	202 01 0 00 000437'		MOVEM A,AMODE#
  5091	406364'	201 03 0 00 000044 		MOVEI C,44
  5092	406365'	322 01 0 00 406376'		JUMPE A,ARRY1
  5093	406366'	201 03 0 01 200001 		MOVEI C,-INUM0(A)
  5094	406367'	303 01 0 00 377777 		CAILE A,INUMIN
  5095	406370'	254 00 0 00 406376'		JRST ARRY1
  5096	406371'	201 03 0 00 000022 		MOVEI C,22
  5097	406372'	550 01 0 00 000444'		HRRZ A,BPPNR
  5098	406373'	200 02 0 00 000402'		MOVE B,GCMKL
  5099	406374'	260 14 0 00 403661'		PUSHJ P,CONS
  5100	406375'	202 01 0 00 000402'		MOVEM A,GCMKL
  5101	406376'	202 03 0 00 000447'	ARRY1:	MOVEM C,BSIZE#
  5102	406377'	201 01 0 00 000044 		MOVEI A,44
  5103	406400'	230 01 0 00 000003 		IDIV A,C
  5104	406401'	202 01 0 00 000526'		MOVEM A,NBYTES#
  5105	406402'	550 01 0 04 000000 		HRRZ A,(AR1)	;(cddr l)bound pair list
  5106	406403'	265 07 0 00 404435'		JSP TT,ILIST
  5107	406404'	350 13 0 00 000444'		AOS R,BPPNR
  5108	406405'	201 04 0 00 000001 		MOVEI AR1,1	;ar1 is array size
  5109	406406'	201 05 0 00 000000 		MOVEI AR2A,0	;ar2a is cumulative residue
  5110	406407'	345 06 0 00 406445'		AOJGE T,ARRYS	;single dimension

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-129
UCILSP	MAC	27-MAR-75 17:13		ARRAY SUBROUTINES  

  5111	406410'	201 12 0 00 000000 		MOVEI D,A-1
  5112	406411'	274 12 0 00 000006 		SUB D,T	;d is next ac for array code generation
  5113	406412'	260 14 0 00 406425'	ARRY2:	PUSHJ P,ARRB0
  5114	406413'	641 07 0 00 221000 		TLC TT,(IMULI)
  5115	406414'	137 12 0 00 411563'		DPB D,[POINT 4,TT,ACFLD]
  5116	406415'	261 13 0 00 000007 		PUSH R,TT
  5117	406416'	306 12 0 00 000001 		CAIN D,A
  5118	406417'	254 00 0 00 406444'		JRST ARRY3
  5119	406420'	205 07 0 00 270000 		MOVSI TT,(ADD)
  5120	406421'	271 07 0 12 000001 		ADDI TT,1(D)
  5121	406422'	137 12 0 00 411563'		DPB D,[POINT 4,TT,ACFLD]
  5122	406423'	261 13 0 00 000007 		PUSH R,TT
  5123	406424'	364 12 0 00 406412'		SOJA D,ARRY2
  5124
  5125	406425'	262 14 0 00 000007 	ARRB0:	POP P,TT
  5126	406426'	250 07 0 14 000000 		EXCH TT,(P)
  5127	406427'	303 07 0 00 377777 		CAILE TT,INUMIN
  5128	406430'	254 00 0 00 406436'		JRST ARRB1
  5129	406431'	554 01 0 07 000000 		HLRZ A,(TT)
  5130	406432'	550 07 0 07 000000 		HRRZ TT,(TT)
  5131	406433'	275 07 0 01 000000 		SUBI TT,(A)
  5132	406434'	271 07 0 00 000001 		ADDI TT,1
  5133	406435'	254 00 0 00 406440'		JRST ARRB2
  5134
  5135	406436'	201 01 0 00 577777 	ARRB1:	MOVEI A,INUM0
  5136	406437'	274 07 0 00 000001 		SUB TT,A
  5137	406440'	220 01 0 00 000004 	ARRB2:	IMUL A,AR1
  5138	406441'	223 04 0 00 000007 		IMULB AR1,TT
  5139					;%%	ADDM A,AR2A
  5140	406442'	270 05 0 00 000001 		ADD	AR2A,A		;%% SOME PEOPLE HAVE PROBLEMS
  5141	406443'	263 14 0 00 000000 		POPJ P,
  5142
  5143	406444'	261 13 0 00 411564'	ARRY3:	PUSH R,[ADD A,B]
  5144	406445'	260 14 0 00 406425'	ARRYS:	PUSHJ P,ARRB0
  5145	406446'	550 07 0 00 000444'		HRRZ TT,BPPNR
  5146	406447'	202 05 0 07 000000 		MOVEM AR2A,(TT)
  5147	406450'	505 07 0 00 274040 		HRLI TT,(SUB A,)
  5148	406451'	261 13 0 00 000007 		PUSH R,TT
  5149	406452'	261 13 0 00 411565'		PUSH R,[JUMPL A,ARRERR]
  5150	406453'	200 07 0 00 000004 		MOVE TT,AR1
  5151	406454'	505 07 0 00 301040 		HRLI TT,(CAIL A,)
  5152	406455'	261 13 0 00 000007 		PUSH R,TT
  5153	406456'	261 13 0 00 411566'		PUSH R,[JRST ARRERR]
  5154	406457'	230 04 0 00 000526'		IDIV AR1,NBYTES	;calc #words in array
  5155	406460'	332 00 0 00 000005 		SKIPE AR2A	;correct for remainder non-zero
  5156	406461'	271 04 0 00 000001 		ADDI AR1,1
  5157	406462'	200 07 0 00 000526'		MOVE TT,NBYTES
  5158	406463'	362 07 0 00 406476'		SOJE TT,ARRY6
  5159	406464'	271 07 0 00 000001 		ADDI TT,1
  5160	406465'	505 07 0 00 231040 		HRLI TT,(IDIVI A,)
  5161	406466'	261 13 0 00 000007 		PUSH R,TT
  5162	406467'	210 07 0 00 000447'		MOVN TT,BSIZE
  5163	406470'	242 07 0 00 000014 		LSH TT,14
  5164	406471'	505 07 0 00 221100 		HRLI TT,(IMULI B,)
  5165	406472'	261 13 0 00 000007 		PUSH R,TT

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-130
UCILSP	MAC	27-MAR-75 17:13		ARRAY SUBROUTINES  

  5166	406473'	201 07 0 00 000244 		MOVEI TT,44+200
  5167	406474'	274 07 0 00 000447'		SUB TT,BSIZE
  5168	406475'	242 07 0 00 000006 		LSH TT,6
  5169	406476'	270 07 0 00 000447'	ARRY6:	ADD TT,BSIZE
  5170	406477'	242 07 0 00 000006 		LSH TT,6
  5171	406500'	332 05 0 00 000437'		SKIPE AR2A,AMODE
  5172	406501'	301 05 0 00 377777 		CAIL AR2A,INUMIN
  5173	406502'	271 07 0 00 000040 		ADDI TT,40	;mode not = t
  5174	406503'	641 07 0 00 515140 		TLC TT,(HRLZI C,)
  5175	406504'	261 13 0 00 000007 		PUSH R,TT
  5176	406505'	201 07 0 13 000004 		MOVEI TT,4(R)
  5177	406506'	505 07 0 00 271141 		HRLI TT,(ADDI C,(A))
  5178	406507'	261 13 0 00 000007 		PUSH R,TT
  5179	406510'	261 13 0 00 411567'		PUSH R,[LDB A,C]
  5180	406511'	515 05 0 00 263600 		HRLZI AR2A,(POPJ P,)
  5181	406512'	336 07 0 00 000437'		SKIPN TT,AMODE
  5182	406513'	200 05 0 00 411570'		MOVE AR2A,[JRST FLO1A]
  5183	406514'	301 07 0 00 377777 		CAIL TT,INUMIN
  5184	406515'	200 05 0 00 411571'		MOVE AR2A,[JRST FIX1A]
  5185	406516'	261 13 0 00 000005 		PUSH R,AR2A
  5186	406517'	204 05 0 00 000004 		MOVS AR2A,AR1
  5187	406520'	213 00 0 00 000005 		MOVNS AR2A
  5188	406521'	263 14 0 00 000000 		POPJ P,
  5189
  5190					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-131
UCILSP	MAC	27-MAR-75 17:13		ARRAY SUBROUTINES  

  5191	406522'	211 03 0 01 200001 	GTBLK:	MOVNI C,-INUM0(A)	;##COMPUTE NEGATIVE LENGTH
  5192	406523'	200 01 0 11 004033'		MOVE A,VBPORG(S)	;## GET BPORG
  5193	406524'	541 01 0 01 200001 		HRRI A,-INUM0(A)	;## CONVERT
  5194	406525'	506 03 0 01 000000 		HRLM C,(A)		;## MOVE TO BPORG INFO FOR (GC)
  5195	406526'	542 01 0 01 000000 		HRRM A,(A)		;##
  5196	406527'	350 13 0 01 000000 		AOS R,(A)		;## ADD ONE TO INFO AND MOVE TO R
  5197	406530'	275 13 0 00 000001 		SUBI R,1		;## SET PUSH DOWN POINTER(ASSUME POINTER BLOCK)
  5198	406531'	306 02 0 00 000000 		CAIN B,0		;## IS IT A POINTER BLOCK?
  5199	406532'	275 13 0 00 000001 		SUBI R,1		;## NO
  5200	406533'	200 04 0 11 004034'		MOVE AR1,VBPEND(S)	;## GET BPEND
  5201	406534'	211 04 0 04 200001 		MOVNI AR1,-INUM0(AR1)	;## CONVERT TO NEGATIVE
  5202	406535'	270 04 0 00 000013 		ADD AR1,R		;## BPORG-BPEND +(0 OR 1)
  5203	406536'	505 13 0 04 000000 		HRLI R,(AR1)		;## MOVE TO R FOR TESTING FOR BPS EXCEEDED
  5204	406537'	261 13 0 00 411345'		PUSH R,[0]		;## CLEAR THE SPACE, NOTE THAT IF IT IS NOT
  5205	406540'	346 03 0 00 406537'		AOJN C,.-1		;## WE WILL ALSO CLEAR THE INFO LOCATION
  5206	406541'	551 13 0 13 600000 		HRRZI R,INUM0+1(R)	;## COMPUTE NEW BPORG
  5207	406542'	542 13 0 11 004033'		HRRM R,VBPORG(S) 
  5208	406543'	306 02 0 00 000000 		CAIN B,0		;## IF IT WAS NOT A POINTER BLOCK, DONE
  5209	406544'	263 14 0 00 000000 		POPJ P,
  5210	406545'	200 02 0 00 000402'		MOVE B,GCMKL		;## GET GC'S LIST
  5211	406546'	260 14 0 00 403661'		PUSHJ P,CONS		;## CONS
  5212	406547'	202 01 0 00 000402'		MOVEM A,GCMKL		;## SAVE IT
  5213	406550'	554 01 0 01 000000 		HLRZ A,(A)		;GET THE OLD BPORG BACK
  5214	406551'	344 01 0 00 406544'		AOJA A,.-5		;## ADD ONE AND RETURN
  5215
  5216
  5217	406552'	261 14 0 00 000001 	BLKLST:	PUSH	P,A		;## SAVE LIST
  5218	406553'	302 02 0 00 000000 		CAIE	B,0		;## BLK LENGTH GIVEN
  5219	406554'	334 01 0 00 000002 		SKIPA	A,B		;## YES
  5220	406555'	260 14 0 00 403716'		PUSHJ	P,LENGTH	;## NO, USE LENGTH OF LIST
  5221	406556'	201 02 0 01 000000 		MOVEI	B,(A)		;## GET A POINTER BLOCK FROM GTBLK
  5222	406557'	260 14 0 00 406522'		PUSHJ	P,GTBLK
  5223	406560'	262 14 0 00 000002 		POP	P,B		;## GET LIST BACK
  5224	406561'	261 14 0 00 000001 		PUSH	P,A
  5225	406562'	551 13 0 01 777777 		HRRZI	R,-1(A)		;## SET UP PDL
  5226	406563'	574 03 0 13 000000 		HLRE	C,(R)		;## NEG LENGTH FROM GC INFO.
  5227	406564'	541 01 0 01 000001 	BLKLS1:	HRRI	A,1(A)		;## BUMP A FOR CDR
  5228
  5229					IFN	OLDNIL<			;## IF(CDR NIL)#NIL
  5230	406565'	602 02 0 00 777777 		TRNE	B,-1		;## END OF LIST?
  5231	406566'	334 02 0 02 000000 		SKIPA	B,(B)		;## NO
  5232	406567'	400 02 0 00 000000 		SETZ	B,		;## YES,  REST  OF BLOCK IS NIL
  5233						>
  5234
  5235					IFE OLDNIL<
  5236						MOVE	B,(B)		;##  IF  (CDR  NIL )=NIL
  5237						>
  5238
  5239	406570'	500 01 0 00 000002 		HLL	A,B		;## GET (CAR LIST)
  5240	406571'	261 13 0 00 000001 		PUSH	R,A		;## AND STORE
  5241	406572'	341 03 0 00 406564'		AOJL	C,BLKLS1	;## SEE IF DONE
  5242	406573'	512 01 0 13 000000 		HLLZM	A,(R)		;## SET (CDR (LAST BLOCK)) TO NIL
  5243	406574'	254 00 0 00 405717'		JRST	POPAJ		;## AND RETURN POINTER TO THE BLOCK
  5244
  5245

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-132
UCILSP	MAC	27-MAR-75 17:13		ARRAY SUBROUTINES  

  5246	406575'	261 14 0 00 000001 	EXARRAY:	PUSH P,A
  5247	406576'	554 01 0 01 000000 		HLRZ A,(A)
  5248	406577'	260 14 0 00 407174'		PUSHJ P,GETSYM
  5249	406600'	322 01 0 00 405717'		JUMPE A,POPAJ
  5250	406601'	260 14 0 00 405071'		PUSHJ P,NUMVAL
  5251	406602'	250 01 0 14 000000 		EXCH A,(P)
  5252	406603'	260 14 0 00 406340'		PUSHJ P,ARRAYS
  5253	406604'	262 14 0 00 000001 		POP P,A
  5254	406605'	542 01 0 13 777776 		HRRM A,-2(R)
  5255	406606'	540 05 0 00 000001 		HRR AR2A,A
  5256	406607'	254 00 0 00 406333'		JRST ARREND
  5257
  5258	406610'	261 14 0 00 000001 	STORE:	PUSH P,A
  5259	406611'	260 14 0 00 403603'		PUSHJ P,CADR
  5260	406612'	260 14 0 00 405505'			PUSHJ P,EVAL	;value to store
  5261	406613'	250 01 0 14 000000 		EXCH A,(P)
  5262	406614'	554 01 0 01 000000 		HLRZ A,(A)
  5263	406615'	260 14 0 00 405505'		PUSHJ P,EVAL	;byte pointer returned in c
  5264	406616'	262 14 0 00 000001 		POP P,A
  5265	406617'	261 14 0 00 000001 	NSTR:	PUSH P,A
  5266	406620'	603 03 0 00 000040 		TLNE C,40
  5267	406621'	260 14 0 00 405071'		PUSHJ P,NUMVAL	;numerical array
  5268	406622'	137 01 0 00 000003 		DPB A,C
  5269	406623'	262 14 0 00 000001 		POP P,A
  5270	406624'	263 14 0 00 000000 		POPJ P,
  5271	
  5272						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-133
UCILSP	MAC	27-MAR-75 17:13		EXAMINE, DEPOSIT , ETC 

  5273						SUBTTL EXAMINE, DEPOSIT , ETC 
  5274
  5275	406625'	200 07 0 00 000006 	BOOLE:	MOVE TT,T
  5276	406626'	271 07 0 14 000002 		ADDI TT,2(P)
  5277	406627'	200 01 0 07 777777 		MOVE A,-1(TT)
  5278	406630'	275 01 0 00 577777 		SUBI A,INUM0
  5279	406631'	137 01 0 00 411572'		DPB A,[POINT 4,BOOLI,OPFLD-2]
  5280	406632'	260 14 0 00 406637'		PUSHJ P,BOOLG
  5281	406633'	200 03 0 00 000001 		MOVE C,A
  5282	406634'	260 14 0 00 406637'	BOOLL:	PUSHJ P,BOOLG
  5283	406635'	256 00 0 00 000367'		XCT BOOLI
  5284					REMOTE<
  5285					BOOLI:	CLEARB C,A>
  5286	406636'	254 00 0 00 406634'		JRST BOOLL
  5287
  5288	406637'	301 07 0 14 000000 		BOOLG:	CAIL TT,(P)
  5289	406640'	254 00 0 00 406644'		JRST BOOL1
  5290	406641'	200 01 0 07 000000 		MOVE A,(TT)
  5291	406642'	260 14 0 00 405071'		PUSHJ P,NUMVAL
  5292	406643'	344 07 0 00 404014'		AOJA TT,CPOPJ
  5293
  5294	406644'	505 06 0 06 777777 	BOOL1:	HRLI T,-1(T)
  5295	406645'	270 14 0 00 000006 		ADD P,T
  5296	406646'	262 14 0 00 000002 		POP P,B
  5297	406647'	254 00 0 00 405220'		JRST FIX1A
  5298
  5299	406650'	260 14 0 00 405071'	EXAMINE:PUSHJ P,NUMVAL
  5300	406651'	200 01 0 01 000000 		MOVE A,(A)
  5301	406652'	254 00 0 00 405220'		JRST FIX1A
  5302
  5303	406653'	200 03 0 00 000002 	DEPOSIT:MOVE C,B
  5304	406654'	260 14 0 00 405071'		PUSHJ P,NUMVAL
  5305	406655'	250 01 0 00 000003 		EXCH A,C
  5306	406656'	260 14 0 00 405071'		PUSHJ P,NUMVAL
  5307	406657'	202 01 0 03 000000 		MOVEM A,(C)
  5308	406660'	254 00 0 00 405057'		JRST MAKNUM
  5309
  5310	406661'	201 03 0 02 200001 	LSH:	MOVEI C,-INUM0(B)
  5311	406662'	260 14 0 00 405071'		PUSHJ P,NUMVAL
  5312	406663'	242 01 0 03 000000 		LSH A,(C)
  5313	406664'	254 00 0 00 405220'		JRST FIX1A
  5314
  5315						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-134
UCILSP	MAC	27-MAR-75 17:13		GARBAGE COLLECTER   

  5316						SUBTTL GARBAGE COLLECTER   
  5317
  5318					;garbage collector
  5319
  5320	406665'	260 14 0 00 406667'	GC:	PUSHJ P,AGC
  5321	406666'	254 00 0 00 404013'		JRST FALSE
  5322
  5323	406667'	476 00 0 00 000473'	AGC:	SETOM	GCFLG	;SET GCFLAG INCASE OF USER CONTROL-C
  5324	406670'	202 13 0 00 000552'		MOVEM R,RGC#
  5325	406671'	261 14 0 00 000542'	GCPK1:	PUSH P,PA3
  5326	406672'	261 14 0 00 000543'		PUSH P,PA4
  5327					IFE OLDNIL	<PUSH	P,NILPRP	;##  PROP LIST OF NIL>
  5328	406673'	261 14 0 00 000365'		PUSH P,UBDPTR	;special atom UNBOUND; not on OBLIST
  5329	406674'	261 14 0 00 000524'		PUSH P,MKNAM3
  5330	406675'	261 14 0 00 000402'		PUSH P,GCMKL	;i/o channel input lists and arrays
  5331	406676'	261 14 0 00 000443'		PUSH P,BIND3
  5332	406677'	261 14 0 00 000511'		PUSH P,INITF
  5333	406700'	261 14 0 00 000512'		PUSH	P,INITF1	;## INIT FILE LIST
  5334	406701'	261 14 0 00 411573'	GCPK2:	PUSH P,[XWD 0,GCP6]	;this is a return address
  5335	406702'	254 00 0 00 000370'		JRST GCP4
  5336					REMOTE<
  5337					GCP4:	MOVEI S,X	;pdlac, .=bottom of reg pdl + 1
  5338					GCP41:	BLT S,X	;save ACs 0 through 10 at bottom of regpdl	;pdlac+n
  5339					GCP2:	CLEARB 0,X	;gc indicator, init. for bit table zero
  5340						MOVE A,C3GC
  5341					GCP5:	BLT A,X	;zero bit tables, .=top of bit tables
  5342						JRST GCRET1>
  5343	406703'	336 00 0 00 000474'	GCRET1:	SKIPN GCGAGV
  5344	406704'	254 00 0 00 406711'		JRST GCP5A
  5345	406705'	336 00 0 00 000015 		SKIPN F
  5346	406706'	004 00 0 00 411574'		STRTIP [SIXBIT /_FREE STG EXHAUSTED_!/]
  5347	406707'	336 00 0 00 000016 		SKIPN FF
  5348	406710'	004 00 0 00 411600'		STRTIP [SIXBIT /_FULL WORD SPACE EXHAUSTED_!/]
  5349
  5350	406711'	201 07 0 00 000001 	GCP5A:	MOVEI TT,1
  5351	406712'	201 01 0 00 000000 		MOVEI A,0
  5352	406713'	047 01 0 00 000027 		CALLI A,STIME	;time
  5353	406714'	213 00 0 00 000001 		MOVNS A
  5354	406715'	272 01 0 00 000501'		ADDM A,GCTIM#
  5355	406716'	200 03 0 00 000477'		MOVE C,GCP3#	;.=bottom of reg pdl
  5356	406717'	200 11 0 00 000014 	GCP6B:	MOVE S,P
  5357	406720'	500 03 0 00 000014 		HLL C,P
  5358	406721'	201 02 0 00 000000 		MOVEI B,0
  5359	406722'	316 03 0 00 000011 	GC1:	CAMN C,S
  5360	406723'	263 14 0 00 000000 		POPJ P,
  5361	406724'	550 01 0 03 000000 		HRRZ A,(C)
  5362	406725'	315 01 0 00 000475'	GCPI:	CAMGE A,GCP#	;.=bottom of bit tables
  5363					REMOTE<
  5364					GCPP1:
  5365					XXX5:FS>
  5366	406726'	315 01 0 00 000376'		CAMGE A,GCPP1
  5367	406727'	254 00 0 00 406752'		JRST GCEND
  5368	406730'	311 01 0 00 000476'		CAML A,GCP1#	;.=bottom of full word space (fws)
  5369	406731'	254 00 0 00 406744'		JRST GCMFW
  5370	406732'	200 15 0 01 000000 		MOVE F,(A)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-135
UCILSP	MAC	27-MAR-75 17:13		GARBAGE COLLECTER   

  5371	406733'	246 01 0 00 777773 		LSHC A,-5
  5372	406734'	241 02 0 00 000005 		ROT B,5
  5373	406735'	200 04 0 02 406757'		MOVE AR1,GCBT(B)
  5374	406736'	672 04 1 00 000400'		TDOE AR1,@GCBTP2	;bit tab- (fs_-5), .=magic number for sync
  5375	406737'	254 00 0 00 406752'		JRST GCEND
  5376	406740'	202 04 1 00 000377'		MOVEM AR1,@GCBTP1	;bit tab- (fs_-5)
  5377	406741'	261 14 0 00 000015 		PUSH P,F
  5378	406742'	554 01 0 00 000015 		HLRZ A,F
  5379	406743'	254 00 0 00 406725'		JRST GCPI
  5380					REMOTE<
  5381					GCBTP1:	XWD A,0
  5382					GCBTP2:	XWD A,0
  5383					GCMFWS:	XWD A,0>
  5384
  5385	406744'	201 04 1 00 000401'	GCMFW:	MOVEI AR1,@GCMFWS	;.=- bottom of fws
  5386	406745'	231 04 0 00 000044 		IDIVI AR1,44
  5387	406746'	213 00 0 00 000005 		MOVNS AR2A
  5388	406747'	242 05 0 00 000036 		LSH AR2A,36
  5389	406750'	270 05 0 00 000403'		ADD AR2A,C2GC
  5390	406751'	137 07 0 00 000005 		DPB TT,AR2A
  5391	406752'	316 14 0 00 000011 	GCEND:	CAMN P,S
  5392	406753'	344 03 0 00 406722'		AOJA C,GC1
  5393	406754'	262 14 0 00 000001 		POP P,A
  5394	406755'	553 00 0 00 000001 		HRRZS A
  5395	406756'	254 00 0 00 406725'		JRST GCPI
  5396					REMOTE<
  5397						GCMKL:	XWD 0,[XWD [XWD -NIOCH,CHTAB+FSTCH],0]
  5398					C2GC:	XWD 430100+AR1,X	;.=bottom of fws bit table
  5399					C3GC:	0>	;(bottom bit table)bottom bit table+1
  5400	406757'	400000	000000		GCBT:	XWD 400000,0
  5401		200000	000000		ZZ==1B1
  5402					XLIST
  5403					LIST
  5404	407017'	550 13 0 00 000562'	GCP6:	HRRZ R,SC2
  5405	407020'	301 13 0 17 000000 	GCP6C:	CAIL R,(SP)	;mark sp
  5406	407021'	254 00 0 00 407027'		JRST GCP6A
  5407	407022'	261 14 0 13 000000 		PUSH P,(R)
  5408	407023'	550 03 0 00 000014 		HRRZ C,P
  5409	407024'	260 14 0 00 406717'		PUSHJ P,GCP6B
  5410	407025'	274 14 0 00 411474'		SUB P,[XWD 1,1]
  5411	407026'	344 13 0 00 407020'		AOJA R,GCP6C
  5412
  5413	407027'	550 13 0 00 000402'	GCP6A:	HRRZ R,GCMKL	;mark arrays
  5414	407030'	322 13 0 00 407055'	GCP6D:	JUMPE R,GCSWP
  5415	407031'	554 01 0 13 000000 		HLRZ A,(R)
  5416	407032'	200 12 0 01 000000 		MOVE D,(A)
  5417	407033'	261 14 0 12 000000 	GCP6E:	PUSH P,(D)
  5418	407034'	550 03 0 00 000014 		HRRZ C,P
  5419	407035'	261 14 0 12 000000 		PUSH P,(D)
  5420	407036'	207 00 0 14 000000 		MOVSS (P)
  5421	407037'	260 14 0 00 406717'		PUSHJ P,GCP6B
  5422	407040'	274 14 0 00 411477'		SUB P,[XWD 2,2]
  5423	407041'	253 12 0 00 407033'		AOBJN D,GCP6E
  5424	407042'	550 13 0 13 000000 		HRRZ R,(R)
  5425	407043'	254 00 0 00 407030'		JRST GCP6D

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-136
UCILSP	MAC	27-MAR-75 17:13		GARBAGE COLLECTER   

  5426
  5427	407044'				GFSWPP:
  5428	000000				PHASE 0
  5429			000000		GFSP1==.
  5430	000000	321 11 0 00 000003 		JUMPL S,.+3
  5431	000001	552 15 0 13 000000 		HRRZM F,(R)
  5432	000002	550 15 0 00 000013 		HRRZ F,R
  5433	000003	241 11 0 00 000001 		ROT S,1
  5434	000004	253 13 0 00 000000 		AOBJN R,.-4
  5435	000005	200 11 0 12 000000 		MOVE S,(D)
  5436	000006	505 13 0 00 777740 		HRLI R,-40
  5437	000007	253 12 0 00 000000 		AOBJN D,GFSP1
  5438
  5439			000010		LPROG==.
  5440	000010	254 00 0 00 407062'		JRST GFSPR
  5441
  5442	407055'				DEPHASE
  5443					;garbage collector sweep
  5444
  5445	407055'	205 13 0 00 407044'	GCSWP:	MOVSI R,GFSWPP
  5446	407056'	251 13 0 00 000010 		BLT R,LPROG
  5447	407057'	201 15 0 00 000000 		MOVEI F,NIL	;will become movei f,-1
  5448	407060'	200 12 0 00 000415'		MOVE D,C3GCS
  5449	407061'	254 00 0 00 000405'		JRST	XXX3
  5450					REMOTE<
  5451					XXX3:	MOVEI R,FS	;$$ANOTHER FOOLIST REMNANT
  5452					GCBTL1:	HRLI R,X	;-(32-<fs&37>
  5453						MOVE S,(D)
  5454					GCBTL2:	ROT S,X	;fs&37
  5455						AOBJN D,GFSP1
  5456						JRST GFSPR>
  5457	407062'	200 01 0 00 000413'	GFSPR:	MOVE A,C1GCS
  5458	407063'	200 02 0 00 000414'		MOVE B,C2GCS
  5459	407064'	260 14 0 00 407115'		PUSHJ P,GCS0
  5460	407065'	336 00 0 00 000474'		SKIPN GCGAGV
  5461	407066'	254 00 0 00 407075'		JRST GCSPI1
  5462	407067'	200 02 0 00 000015 		MOVE B,F
  5463	407070'	260 14 0 00 407135'		PUSHJ P,GCPNT
  5464	407071'	004 00 0 00 411605'		STRTIP [SIXBIT / FREE STG,!/]
  5465	407072'	200 02 0 00 000016 		MOVE B,FF
  5466	407073'	260 14 0 00 407135'		PUSHJ P,GCPNT
  5467	407074'	004 00 0 00 411607'		STRTIP [SIXBIT / FULL WORDS AVAILABLE_!/]
  5468	407075'	514 11 0 00 000500'	GCSPI1:	HRLZ S,GCSP1#	;bottom of reg pdl+1
  5469	407076'	251 11 0 00 000010 		BLT S,NACS+3	;reload ac's
  5470	407077'	274 14 0 00 411613'		SUB P,[XWD GCPK2-GCPK1,GCPK2-GCPK1]	;restore p
  5471	407100'	356 00 0 00 000473'		AOSN	GCFLG		;CHECK FLAG FOR PENDING INTERRUPT
  5472	407101'	254 00 0 00 407105'		JRST	GCEXIT		;NO- SO NORMAL EXIT
  5473	407102'	262 14 0 00 400001*		POP	P,JOBOPC	;INTERRUPT WILL CONTINUE FROM THE GC RETURN
  5474	407103'	261 14 0 00 000473'		PUSH	P,GCFLG		;GC WILL RETURN TO THE INTERRUPT POINT
  5475	407104'	402 00 0 00 000473'		SETZM	GCFLG		;CLEAR GCFLG
  5476	407105'	322 15 0 00 411617'	GCEXIT:	JUMPE F,[ERR2 [SIXBIT /NO FREE STG LEFT!/]]
  5477	407106'	322 16 0 00 411623'		JUMPE FF,[ERR2 [SIXBIT /NO FW STG LEFT!/]]
  5478	407107'	200 13 0 00 000552'		MOVE R,RGC
  5479	407110'	201 01 0 00 000000 		MOVEI A,0
  5480	407111'	047 01 0 00 000027 		CALLI A,STIME	;time

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-137
UCILSP	MAC	27-MAR-75 17:13		GARBAGE COLLECTER   

  5481	407112'	272 01 0 00 000501'		ADDM A,GCTIM
  5482	407113'	200 11 0 00 000441'		MOVE S,ATMOV	;$$RESTORE ATOM OFFSET RELOCATOR (FOOLIST)
  5483								;$$HOPEFULLY S IS USED ONLY BY GC AND ATOM RELOCATION
  5484
  5485	407114'	263 14 0 00 000000 		POPJ P,
  5486
  5487	407115'	201 16 0 00 000000 	GCS0:	MOVEI FF,0
  5488	407116'	134 03 0 00 000002 	GCS1:	ILDB C,B
  5489	407117'	326 03 0 00 407122'		JUMPN C,GCS2
  5490	407120'	552 16 0 01 000000 		HRRZM FF,(A)
  5491	407121'	550 16 0 00 000001 		HRRZ FF,A
  5492	407122'	253 01 0 00 407116'	GCS2:	AOBJN A,GCS1
  5493	407123'	263 14 0 00 000000 		POPJ P,
  5494
  5495					REMOTE<
  5496					C1GCS:	0	;(- length of fws) bottom of fws
  5497					C2GCS:	XWD 100,0	;.=bottom of fws bit table
  5498					C3GCS:	0	;-n wds in bt,,bt
  5499					>
  5500	407124'	250 01 0 00 000474'	GCGAG:	EXCH A,GCGAGV#
  5501	407125'	263 14 0 00 000000 		POPJ P,
  5502
  5503	407126'	200 01 0 00 000501'	GCTIME:	MOVE A,GCTIM
  5504	407127'	254 00 0 00 405220'		JRST FIX1A
  5505
  5506	407130'	201 01 0 00 000000 	TIME:	MOVEI A,0
  5507	407131'	047 01 0 00 000027 		CALLI A,STIME
  5508	407132'	254 00 0 00 405220'		JRST FIX1A
  5509
  5510	407133'	200 01 0 00 000452'	SPEAK:	MOVE A,CONSVAL#
  5511	407134'	254 00 0 00 405220'		JRST FIX1A
  5512
  5513	407135'	201 13 0 00 401132'	GCPNT:	MOVEI R,TTYO
  5514	407136'	201 01 0 00 000000 		MOVEI A,0
  5515	407137'	322 02 0 00 402417'		JUMPE B,PRINL1
  5516	407140'	550 02 0 02 000000 		HRRZ B,(B)
  5517	407141'	344 01 0 00 407137'		AOJA A,.-2
  5518
  5519						IFN	REALLC <
  5520					;%%	NEW ROUTINES TO COUNT AVAILABLE
  5521					;%%	FREE SPACE AND FULL WORD SPACE
  5522					
  5523					FSCNT:	TDZA	C,C		;%% INITIALIZE
  5524					FWCNT:	MOVEI	C,1		;%%
  5525						MOVE	B,F(C)		;%% FREE LIST START
  5526						SETZ	A,		;%% COUNTER
  5527						JUMPE	B,FIX1A		;%% WHEN DONE, NO MORE POINTER
  5528						HRRZ	B,(B)		;%%
  5529						AOJA	A,.-2		;%%
  5530					>
  5531
  5532					GCING:	OUTSTR	[ASCIZ /
  5533					GARBAGE COLLECTING
  5534	407142'	051 03 0 00 411624'	/]
  5535	407143'	262 14 0 00 000473'		POP	P,GCFLG	;CAN'T INTERRUPT GC, QUEUE UP THE REQUEST

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-138
UCILSP	MAC	27-MAR-75 17:13		GARBAGE COLLECTER   

  5536	407144'	254 00 1 00 407102*		JRST	@JOBOPC
  5537	
  5538						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-139
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE ACCESSING ROUTINES

  5539						SUBTTL	SYMBOL TABLE ACCESSING ROUTINES
  5540
  5541
  5542	407145'	260 14 0 00 403302'	R50MAK:	PUSHJ P,PNAMUK
  5543	407146'	261 03 0 00 411345'		PUSH C,[0]
  5544	407147'	505 03 0 00 000700 		HRLI C,700
  5545	407150'	541 03 0 17 000000 		HRRI C,(SP)
  5546	407151'	201 02 0 00 000000 		MOVEI B,0
  5547	407152'	134 01 0 00 000003 	MK3:	ILDB A,C
  5548	407153'	135 01 0 00 402623'		LDB A,R50FLD
  5549	407154'	315 02 0 00 411631'		CAMGE B,[50*50*50*50*50]
  5550	407155'	336 00 0 00 000001 		SKIPN A
  5551	407156'	263 14 0 00 000000 		POPJ P,
  5552	407157'	221 02 0 00 000050 		IMULI B,50
  5553	407160'	270 02 0 00 000001 		ADD B,A
  5554	407161'	254 00 0 00 407152'		JRST MK3
  5555
  5556
  5557
  5558						;## NEW ROUTINES FOR CONVERTING  SYMBOLS TO CONS CELL
  5559
  5560	407162'	200 01 0 00 000002 	SYMERR:	MOVE	A,B
  5561	407163'	260 14 0 00 402322'	SYMER1:	PUSHJ	P,EPRINT		;## PRINT OFFENDER
  5562	407164'	001 00 0 00 411632'		ERR1	[SIXBIT /NOT A CONS CELL !/]
  5563						;## **CAUSES ERROR IF NOT IN FREE STORAGE**
  5564	407165'	260 14 0 00 407174'	RGTSYM:	PUSHJ	P,GETSYM
  5565	407166'	260 14 0 00 405071'		PUSHJ	P,NUMVAL	;## CONVERT TO REAL ADDRESS
  5566	407167'	271 01 0 11 000000 		ADDI	A,(S)		;## ADD  RELOCATION
  5567	407170'	301 01 0 11 000603'		CAIL	A,FS(S)		;## LESS THAN FS(S) IS NOT CONS CELL
  5568	407171'	311 01 0 00 000472'		CAML	A,FWSO		;## FS(S)<= A < FWSO IS A CONS CELL
  5569	407172'	254 00 0 00 407163'		JRST	SYMER1
  5570	407173'	263 14 0 00 000000 		POPJ	P,
  5571
  5572	407174'	260 14 0 00 407145'	GETSYM:	PUSHJ P,R50MAK
  5573	407175'	661 02 0 00 040000 		TLO B,040000	;04 for globals
  5574	407176'	200 03 0 00 401326*		MOVE C,JOBSYM
  5575	407177'	316 02 0 03 000000 	MK7:	CAMN B,(C)
  5576	407200'	254 00 0 00 407207'		JRST MK10	;found
  5577	407201'	252 03 0 00 407203'		AOBJP C,.+2
  5578	407202'	253 03 0 00 407177'		AOBJN C,MK7
  5579	407203'	641 02 0 00 140000 		TLC B,140000	;10 for locals
  5580	407204'	603 02 0 00 100000 		TLNE B,100000
  5581	407205'	254 00 0 00 407176'		JRST MK7-1
  5582	407206'	254 00 0 00 404013'		JRST FALSE
  5583
  5584	407207'	200 01 0 03 000001 	MK10:	MOVE A,1(C)	;value
  5585	407210'	254 00 0 00 405220'		JRST FIX1A
  5586
  5587
  5588						;## ROUTINE TO STORE A CONS CELL SO THAT IT CAN BE
  5589						;## REFERENCED VIA  ,CELL(S) I.E. THRU INDEX REG. S
  5590						;## ERROR IF NOT LEGITIMATE CONS CELL
  5591	407211'	301 02 0 11 000603'	RPTSYM:	CAIL	B,FS(S)		;## FS(S) =< B <FWSO IS A LEGIT
  5592	407212'	311 02 0 00 000472'		CAML	B,FWSO		;## CONS CELL, ALL ELSE IS ERROR
  5593	407213'	254 00 0 00 407162'		JRST	SYMERR		;## ERROR

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-140
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE ACCESSING ROUTINES

  5594	407214'	275 02 0 11 000000 		SUBI	B,(S)		;## STRIP OF RELOCATION
  5595
  5596	407215'	261 14 0 00 000002 	PUTSYM:	PUSH P,B
  5597	407216'	260 14 0 00 407145'		PUSHJ P,R50MAK
  5598	407217'	200 01 0 00 000002 		MOVE A,B
  5599	407220'	661 01 0 00 040000 		TLO A,040000	;make global
  5600	407221'	331 00 0 00 407176*		SKIPL JOBSYM
  5601	407222'	350 00 0 00 407221*		AOS JOBSYM	;increment initial symbol table pointer
  5602	407223'	210 02 0 00 411477'		MOVN B,[XWD 2,2]
  5603	407224'	273 02 0 00 407222*		ADDB B,JOBSYM
  5604	407225'	202 01 0 02 000000 		MOVEM A,(B)	;name
  5605	407226'	262 14 0 02 000001 		POP P,1(B)	;value
  5606	407227'	254 00 0 00 404013'		JRST FALSE
  5607
  5608	407230'				PATCH:	BLOCK 20
  5609
  5610						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-141
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5611						SUBTTL	SPRINT -- THE PRETTY PRINTER
  5612
  5613
  5614					;THIS IS THE NEW IMPROVED VERSION OF SPRINT
  5615 
  5616					;  0(P) = A
  5617					; -1(P) = B
  5618					; -2(P) = C
  5619					; -3(P) = M
  5620					; -4(P) = N
  5621					; -5(P) = X
  5622
  5623
  5624	407250'	275 02 0 00 577777 	SPRINT:	SUBI B,INUM0
  5625	407251'	261 14 0 00 000001 	SPRNT2:	PUSH P,A
  5626	407252'	261 14 0 00 000002 		PUSH P,B
  5627	407253'	402 00 0 00 000523'		SETZM M#
  5628	407254'	402 00 0 00 000454'		SETZM CSW#
  5629	407255'	202 14 0 00 000574'		MOVEM P,STP#
  5630	407256'	201 02 0 00 000000 		MOVEI B,0
  5631	407257'	260 14 0 00 407776'		PUSHJ P,DEPTH
  5632	407260'	336 02 0 00 000523'		SKIPN B,M
  5633	407261'	254 00 0 00 407267'		JRST .+6
  5634	407262'	200 01 0 00 000055'		MOVE A,LINL
  5635	407263'	274 01 0 00 000002 		SUB A,B
  5636	407264'	274 01 0 00 000002 		SUB A,B
  5637	407265'	230 01 0 00 000002 			IDIV A,B
  5638	407266'	303 01 0 00 000014 		CAILE A,14
  5639	407267'	201 01 0 00 000014 		MOVEI A,14
  5640	407270'	202 01 0 00 000456'		MOVEM A,CUT#
  5641	407271'	200 01 0 14 000000 		MOVE A,0(P)
  5642	407272'	230 01 0 00 000055'		IDIV A,LINL
  5643	407273'	307 02 0 00 000000 		CAIG B,0
  5644	407274'	270 02 0 00 000055'		ADD B,LINL
  5645	407275'	202 02 0 14 000000 		MOVEM B,0(P)
  5646	407276'	201 03 0 00 000000 		MOVEI C,0
  5647	407277'	254 00 0 00 407302'		JRST .+3
  5648 
  5649	407300'	261 14 0 00 000001 	ISPRIN:	PUSH P,A
  5650	407301'	261 14 0 00 000002 		PUSH P,B
  5651	407302'	261 14 0 00 000003 		PUSH P,C
  5652	407303'	261 14 0 00 411345'		PUSH P,[0]
  5653	407304'	261 14 0 00 411345'		PUSH P,[0]
  5654	407305'	261 14 0 00 411345'		PUSH P,[0]
  5655	407306'	200 01 0 00 000002 		MOVE A,B
  5656	407307'	274 02 0 00 000055'		SUB B,LINL
  5657	407310'	323 02 0 00 407313'		JUMPLE B,.+3
  5658	407311'	200 01 0 00 000002 		MOVE A,B
  5659	407312'	202 01 0 14 777774 		MOVEM A,-4(P)
  5660	407313'	260 14 0 00 407670'		PUSHJ P,POS
  5661	407314'	200 01 0 14 777773 		MOVE A,-5(P)
  5662	407315'	260 14 0 00 403676'		PUSHJ P,PATOM
  5663	407316'	322 01 0 00 407322'		JUMPE A,.+4
  5664	407317'	200 01 0 14 777773 	SPRN1:	MOVE A,-5(P)
  5665	407320'	260 14 0 00 402335'		PUSHJ P,PRIN1

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-142
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5666	407321'	254 00 0 00 407665'		JRST SPRN22
  5667	407322'	200 02 0 00 000055'		MOVE B,LINL
  5668	407323'	274 02 0 14 777774 		SUB B,-4(P)
  5669	407324'	271 02 0 00 000001 		ADDI B,1
  5670	407325'	202 02 0 14 000000 		MOVEM B,0(P)
  5671	407326'	274 02 0 14 777775 		SUB B,-3(P)
  5672	407327'	200 01 0 14 777773 		MOVE A,-5(P)
  5673	407330'	260 14 0 00 407733'		PUSHJ P,FLATLE
  5674	407331'	326 01 0 00 407317'		JUMPN A,SPRN1
  5675	407332'	201 01 0 00 000050 		MOVEI A,50
  5676	407333'	260 14 0 00 401074'		PUSHJ P,TYO
  5677	407334'	350 00 0 14 777774 		AOS -4(P)
  5678	407335'	370 00 0 14 000000 		SOS 0(P)
  5679	407336'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5680	407337'	260 14 0 00 403676'		PUSHJ P,PATOM
  5681	407340'	326 01 0 00 407476'		JUMPN A,SPRN13
  5682	407341'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5683	407342'	306 01 0 11 003754'		CAIN A,LAMBDA(S)
  5684	407343'	254 00 0 00 407564'		JRST LAM
  5685	407344'	306 01 0 11 002273'		CAIN A,PROGAT+1(S)
  5686	407345'	254 00 0 00 407611'		JRST PRG
  5687	407346'	260 14 0 00 403676'		PUSHJ P,PATOM
  5688	407347'	322 01 0 00 407360'		JUMPE A,SPRN3
  5689	407350'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5690	407351'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5691	407352'	200 01 0 14 000000 		MOVE A,0(P)
  5692	407353'	274 01 0 00 000056'		SUB A,CHCT
  5693	407354'	202 01 0 14 777777 		MOVEM A,-1(P)
  5694	407355'	307 01 0 00 000024 		CAIG A,24
  5695	407356'	254 00 0 00 407367'		JRST SPRN4
  5696	407357'	254 00 0 00 407473'		JRST SPRN12+4
  5697	407360'	200 02 0 14 000000 	SPRN3:	MOVE B,0(P)
  5698	407361'	303 02 0 00 000020 		CAILE B,20
  5699	407362'	201 02 0 00 000020 		MOVEI B,20
  5700	407363'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5701	407364'	260 14 0 00 407733'		PUSHJ P,FLATLE
  5702	407365'	322 01 0 00 407467'		JUMPE A,SPRN12
  5703	407366'	202 01 0 14 777777 		MOVEM A,-1(P)
  5704	407367'	550 01 1 14 777773 	SPRN4:	HRRZ A,@-5(P)
  5705	407370'	202 01 0 14 777776 		MOVEM A,-2(P)
  5706	407371'	550 01 0 01 000000 		HRRZ A,0(A)
  5707	407372'	260 14 0 00 403676'		PUSHJ P,PATOM
  5708	407373'	326 01 0 00 407450'		JUMPN A,SPRN8
  5709	407374'	200 02 0 14 777777 		MOVE B,-1(P)
  5710	407375'	317 02 0 00 000456'		CAMG B,CUT
  5711	407376'	254 00 0 00 407406'		JRST SPRN2
  5712	407377'	332 00 0 00 000454'		SKIPE CSW
  5713	407400'	254 00 0 00 407450'		JRST SPRN8
  5714	407401'	200 01 0 14 000000 		MOVE A,0(P)
  5715	407402'	274 01 0 00 000002 		SUB A,B
  5716	407403'	275 01 0 00 000001 		SUBI A,1
  5717	407404'	202 01 0 14 777777 		MOVEM A,-1(P)
  5718	407405'	254 00 0 00 407422'		JRST SPRN5
  5719	407406'	554 01 1 14 777773 	SPRN2:	HLRZ A,@-5(P)
  5720	407407'	260 14 0 00 403676'		PUSHJ P,PATOM

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-143
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5721	407410'	326 01 0 00 407413'		JUMPN A,.+3
  5722	407411'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5723	407412'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5724	407413'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5725	407414'	202 01 0 14 777773 		MOVEM A,-5(P)
  5726	407415'	200 01 0 14 777774 		MOVE A,-4(P)
  5727	407416'	270 01 0 14 777777 		ADD A,-1(P)
  5728	407417'	271 01 0 00 000001 		ADDI A,1
  5729	407420'	202 01 0 14 777774 		MOVEM A,-4(P)
  5730	407421'	254 00 0 00 407467'		JRST SPRN12
  5731	407422'	200 02 0 14 777777 	SPRN5:	MOVE B,-1(P)
  5732	407423'	554 01 1 14 777776 		HLRZ A,@-2(P)
  5733	407424'	260 14 0 00 407733'		PUSHJ P,FLATLE
  5734	407425'	322 01 0 00 407450'		JUMPE A,SPRN8
  5735	407426'	550 01 1 14 777776 		HRRZ A,@-2(P)
  5736	407427'	202 01 0 14 777776 		MOVEM A,-2(P)
  5737	407430'	550 01 0 01 000000 		HRRZ A,0(A)
  5738	407431'	260 14 0 00 403676'		PUSHJ P,PATOM
  5739	407432'	322 01 0 00 407422'		JUMPE A,SPRN5
  5740	407433'	550 02 1 14 777776 		HRRZ B,@-2(P)
  5741	407434'	326 02 0 00 407437'		JUMPN B,.+3
  5742	407435'	200 02 0 14 777777 		MOVE B,-1(P)
  5743	407436'	364 02 0 00 407444'		SOJA B,SPRN7
  5744	407437'	550 01 1 14 777776 		HRRZ A,@-2(P)
  5745	407440'	260 14 0 00 405311'		PUSHJ P,FLATSI
  5746	407441'	275 01 0 00 577773 		SUBI A,INUM0-4
  5747	407442'	274 01 0 14 777777 		SUB A,-1(P)
  5748	407443'	210 02 0 00 000001 		MOVN B,A
  5749	407444'	274 02 0 14 777775 	SPRN7:	SUB B,-3(P)
  5750	407445'	554 01 1 14 777776 		HLRZ A,@-2(P)
  5751	407446'	260 14 0 00 407733'		PUSHJ P,FLATLE
  5752	407447'	326 01 0 00 407525'		JUMPN A,SPRN18
  5753	407450'	554 01 1 14 777773 	SPRN8:	HLRZ A,@-5(P)
  5754	407451'	260 14 0 00 403676'		PUSHJ P,PATOM
  5755	407452'	326 01 0 00 407455'		JUMPN A,.+3
  5756	407453'	554 01 1 14 777773 	SPRN9:	HLRZ A,@-5(P)
  5757	407454'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5758	407455'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5759	407456'	202 01 0 14 777773 		MOVEM A,-5(P)
  5760	407457'	316 01 0 14 777776 		CAMN A,-2(P)
  5761	407460'	254 00 0 00 407464'		JRST SPRN11
  5762	407461'	200 01 0 14 777774 		MOVE A,-4(P)
  5763	407462'	260 14 0 00 407670'		PUSHJ P,POS
  5764	407463'	254 00 0 00 407453'		JRST SPRN9
  5765	407464'	550 01 1 14 777773 	SPRN11:	HRRZ A,@-5(P)
  5766	407465'	260 14 0 00 403676'		PUSHJ P,PATOM
  5767	407466'	326 01 0 00 407476'		JUMPN A,SPRN13
  5768	407467'	201 03 0 00 000000 	SPRN12:	MOVEI C,0
  5769	407470'	200 02 0 14 777774 		MOVE B,-4(P)
  5770	407471'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5771	407472'	260 14 0 00 407300'		PUSHJ P,ISPRIN
  5772	407473'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5773	407474'	202 01 0 14 777773 		MOVEM A,-5(P)
  5774	407475'	254 00 0 00 407464'		JRST SPRN11
  5775	407476'	550 01 1 14 777773 	SPRN13:	HRRZ A,@-5(P)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-144
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5776	407477'	322 01 0 00 407503'		JUMPE A,.+4
  5777	407500'	260 14 0 00 405311'		PUSHJ P,FLATSI
  5778	407501'	275 01 0 00 577774 		SUBI A,INUM0-3
  5779	407502'	272 01 0 14 777775 		ADDM A,-3(P)
  5780	407503'	350 00 0 14 777775 		AOS -3(P)
  5781	407504'	200 03 0 14 777775 		MOVE C,-3(P)
  5782	407505'	200 02 0 14 777774 		MOVE B,-4(P)
  5783	407506'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5784	407507'	260 14 0 00 407300'		PUSHJ P,ISPRIN
  5785	407510'	550 01 1 14 777773 	SPRN16:	HRRZ A,@-5(P)
  5786	407511'	322 01 0 00 407522'		JUMPE A,SPRN17
  5787	407512'	201 01 0 00 000040 		MOVEI A,40
  5788	407513'	260 14 0 00 401074'		PUSHJ P,TYO
  5789	407514'	201 01 0 00 000056 		MOVEI A,56
  5790	407515'	260 14 0 00 401074'		PUSHJ P,TYO
  5791	407516'	201 01 0 00 000040 		MOVEI A,40
  5792	407517'	260 14 0 00 401074'		PUSHJ P,TYO
  5793	407520'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5794	407521'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5795	407522'	201 01 0 00 000051 	SPRN17:	MOVEI A,51
  5796	407523'	260 14 0 00 401074'		PUSHJ P,TYO
  5797	407524'	254 00 0 00 407665'		JRST SPRN22
  5798	407525'	554 01 1 14 777773 	SPRN18:	HLRZ A,@-5(P)
  5799	407526'	260 14 0 00 403676'		PUSHJ P,PATOM
  5800	407527'	326 01 0 00 407532'		JUMPN A,.+3
  5801	407530'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5802	407531'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5803	407532'	201 01 0 00 000040 		MOVEI A,40
  5804	407533'	260 14 0 00 401074'		PUSHJ P,TYO
  5805	407534'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5806	407535'	202 01 0 14 777773 		MOVEM A,-5(P)
  5807	407536'	200 01 0 00 000055'		MOVE A,LINL
  5808	407537'	274 01 0 00 000056'		SUB A,CHCT
  5809	407540'	271 01 0 00 000001 		ADDI A,1
  5810	407541'	202 01 0 14 777774 		MOVEM A,-4(P)
  5811	407542'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5812	407543'	260 14 0 00 403676'		PUSHJ P,PATOM
  5813	407544'	326 01 0 00 407561'		JUMPN A,SPRN21
  5814	407545'	554 01 1 14 777773 	SPRN19:	HLRZ A,@-5(P)
  5815	407546'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5816	407547'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5817	407550'	202 01 0 14 777773 		MOVEM A,-5(P)
  5818	407551'	550 01 0 01 000000 		HRRZ A,0(A)
  5819	407552'	260 14 0 00 403676'		PUSHJ P,PATOM
  5820	407553'	326 01 0 00 407557'		JUMPN A,.+4
  5821	407554'	200 01 0 14 777774 		MOVE A,-4(P)
  5822	407555'	260 14 0 00 407670'		PUSHJ P,POS
  5823	407556'	254 00 0 00 407545'		JRST SPRN19
  5824	407557'	200 01 0 14 777774 		MOVE A,-4(P)
  5825	407560'	260 14 0 00 407670'		PUSHJ P,POS
  5826	407561'	554 01 1 14 777773 	SPRN21:	HLRZ A,@-5(P)
  5827	407562'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5828	407563'	254 00 0 00 407510'		JRST SPRN16
  5829	407564'	260 14 0 00 402335'	LAM:	PUSHJ P,PRIN1
  5830	407565'	550 01 1 14 777773 		HRRZ A,@-5(P)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-145
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5831	407566'	202 01 0 14 777773 		MOVEM A,-5(P)
  5832	407567'	200 02 0 14 777774 		MOVE B,-4(P)
  5833	407570'	202 02 0 14 777777 		MOVEM B,-1(P)
  5834	407571'	554 01 0 01 000000 		HLRZ A,0(A)
  5835	407572'	260 14 0 00 403676'		PUSHJ P,PATOM
  5836	407573'	201 02 0 00 000006 		MOVEI B,6
  5837	407574'	302 01 0 00 000000 		CAIE A,NIL
  5838	407575'	271 02 0 00 000001 		ADDI B,1
  5839	407576'	272 02 0 14 777774 		ADDM B,-4(P)
  5840	407577'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5841	407600'	260 14 0 00 403676'		PUSHJ P,PATOM
  5842	407601'	326 01 0 00 407476'		JUMPN A,SPRN13
  5843	407602'	201 03 0 00 000000 		MOVEI C,0
  5844	407603'	200 02 0 14 777774 		MOVE B,-4(P)
  5845	407604'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5846	407605'	260 14 0 00 407300'		PUSHJ P,ISPRIN
  5847	407606'	200 02 0 14 777777 		MOVE B,-1(P)
  5848	407607'	202 02 0 14 777774 		MOVEM B,-4(P)
  5849	407610'	254 00 0 00 407473'		JRST SPRN12+4
  5850	407611'	260 14 0 00 402335'	PRG:	PUSHJ P,PRIN1
  5851	407612'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5852	407613'	202 01 0 14 777773 		MOVEM A,-5(P)
  5853	407614'	200 01 0 14 777774 		MOVE A,-4(P)
  5854	407615'	202 01 0 14 777777 		MOVEM A,-1(P)
  5855	407616'	201 01 0 00 000005 		MOVEI A,5
  5856	407617'	272 01 0 14 777774 		ADDM A,-4(P)
  5857	407620'	550 01 1 14 777773 		HRRZ A,@-5(P)
  5858	407621'	260 14 0 00 403676'		PUSHJ P,PATOM
  5859	407622'	326 01 0 00 407476'		JUMPN A,SPRN13
  5860	407623'	201 03 0 00 000000 		MOVEI C,0
  5861	407624'	200 02 0 14 777774 			MOVE B,-4(P)
  5862	407625'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5863	407626'	260 14 0 00 407300'		PUSHJ P,ISPRIN
  5864	407627'	200 01 0 14 000000 		MOVE A,0(P)
  5865	407630'	275 01 0 00 000005 		SUBI A,5
  5866	407631'	202 01 0 14 777776 		MOVEM A,-2(P)
  5867	407632'	550 01 1 14 777773 	PRG1:	HRRZ A,@-5(P)
  5868	407633'	202 01 0 14 777773 		MOVEM A,-5(P)
  5869	407634'	550 01 0 01 000000 		HRRZ A,0(A)
  5870	407635'	260 14 0 00 403676'		PUSHJ P,PATOM
  5871	407636'	326 01 0 00 407657'		JUMPN A,PRG3
  5872	407637'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5873	407640'	260 14 0 00 403676'		PUSHJ P,PATOM
  5874	407641'	322 01 0 00 407647'		JUMPE A,PRG2
  5875	407642'	200 01 0 14 777777 		MOVE A,-1(P)
  5876	407643'	260 14 0 00 407670'		PUSHJ P,POS
  5877	407644'	554 01 1 14 777773 		HLRZ A,@-5(P)
  5878	407645'	260 14 0 00 402335'		PUSHJ P,PRIN1
  5879	407646'	254 00 0 00 407632'		JRST PRG1
  5880	407647'	200 01 0 00 000056'		PRG2:	MOVE A,CHCT
  5881	407650'	317 01 0 14 777776 		CAMG A,-2(P)
  5882	407651'	260 14 0 00 402501'		PUSHJ P,TERPRI
  5883	407652'	201 03 0 00 000000 		MOVEI C,0
  5884	407653'	200 02 0 14 777774 		MOVE B,-4(P)
  5885	407654'	554 01 1 14 777773 		HLRZ A,@-5(P)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-146
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5886	407655'	260 14 0 00 407300'		PUSHJ P,ISPRIN
  5887	407656'	254 00 0 00 407632'		JRST PRG1
  5888	407657'	554 01 1 14 777773 	PRG3:	HLRZ A,@-5(P)
  5889	407660'	260 14 0 00 403676'		PUSHJ P,PATOM
  5890	407661'	322 01 0 00 407476'		JUMPE A,SPRN13
  5891	407662'	200 02 0 14 777777 		MOVE B,-1(P)
  5892	407663'	202 02 0 14 777774 		MOVEM B,-4(P)
  5893	407664'	254 00 0 00 407476'		JRST SPRN13
  5894	407665'	201 01 0 00 000000 	SPRN22:	MOVEI A,NIL
  5895	407666'	274 14 0 00 411635'		SUB P,[XWD 6,6]
  5896	407667'	263 14 0 00 000000 		POPJ P,
  5897 
  5898	407670'	261 14 0 00 000001 	POS:	PUSH P,A
  5899	407671'	261 14 0 00 411345'		PUSH P,[0]
  5900	407672'	200 01 0 00 000055'		MOVE A,LINL
  5901	407673'	274 01 0 00 000056'		SUB A,CHCT
  5902	407674'	271 01 0 00 000001 		ADDI A,1
  5903	407675'	261 14 0 00 000001 		PUSH P,A
  5904	407676'	316 01 0 14 777776 		CAMN A,-2(P)
  5905	407677'	254 00 0 00 407731'		JRST POS4
  5906	407700'	317 01 0 14 777776 		CAMG A,-2(P)
  5907	407701'	254 00 0 00 407705'		JRST .+4
  5908	407702'	260 14 0 00 402501'		PUSHJ P,TERPRI
  5909	407703'	201 01 0 00 000001 		MOVEI A,1
  5910	407704'	202 01 0 14 000000 		MOVEM A,0(P)
  5911	407705'	275 01 0 00 000001 		SUBI A,1
  5912	407706'	242 01 0 00 777775 		LSH A,-3
  5913	407707'	271 01 0 00 000001 		ADDI A,1
  5914	407710'	242 01 0 00 000003 		LSH A,3
  5915	407711'	271 01 0 00 000001 		ADDI A,1
  5916	407712'	202 01 0 14 777777 		MOVEM A,-1(P)
  5917	407713'	313 01 0 14 777776 		CAMLE A,-2(P)
  5918	407714'	254 00 0 00 407723'		JRST POS3
  5919	407715'	201 01 0 00 000011 	POS2:	MOVEI A,11
  5920	407716'	260 14 0 00 401074'		PUSHJ P,TYO
  5921	407717'	200 01 0 14 777777 		MOVE A,-1(P)
  5922	407720'	202 01 0 14 000000 		MOVEM A,0(P)
  5923	407721'	271 01 0 00 000010 		ADDI A,10
  5924	407722'	254 00 0 00 407712'		JRST POS2-3
  5925	407723'	350 01 0 14 000000 	POS3:	AOS A,0(P)
  5926	407724'	313 01 0 14 777776 		CAMLE A,-2(P)
  5927	407725'	254 00 0 00 407731'		JRST POS4
  5928	407726'	201 01 0 00 000040 		MOVEI A,40
  5929	407727'	260 14 0 00 401074'		PUSHJ P,TYO
  5930	407730'	254 00 0 00 407723'		JRST POS3
  5931	407731'	274 14 0 00 411636'	POS4:	SUB P,[XWD 3,3]
  5932	407732'	263 14 0 00 000000 		POPJ P,
  5933 
  5934	407733'	323 02 0 00 407774'	FLATLE:	JUMPLE B,ABORT+1
  5935	407734'	402 00 0 00 000523'		SETZM M
  5936	407735'	202 02 0 00 000525'		MOVEM B,N#
  5937	407736'	202 14 0 00 000574'		MOVEM P,STP
  5938	407737'	261 14 0 00 000001 	SCAN:	PUSH P,A
  5939	407740'	260 14 0 00 403676'		PUSHJ P,PATOM
  5940	407741'	326 01 0 00 407763'		JUMPN A,EXIT1-6

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-147
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5941	407742'	350 01 0 00 000523'	NA:	AOS A,M
  5942	407743'	313 01 0 00 000525'		CAMLE A,N
  5943	407744'	254 00 0 00 407773'		JRST ABORT
  5944	407745'	554 01 1 14 000000 		HLRZ A,@0(P)
  5945	407746'	260 14 0 00 407737'		PUSHJ P,SCAN
  5946	407747'	550 01 1 14 000000 		HRRZ A,@0(P)
  5947	407750'	202 01 0 14 000000 		MOVEM A,0(P)
  5948	407751'	326 01 0 00 407754'		JUMPN A,.+3
  5949	407752'	350 01 0 00 000523'		AOS A,M
  5950	407753'	254 00 0 00 407767'		JRST EXIT1-2
  5951	407754'	200 01 0 14 000000 		MOVE A,0(P)
  5952	407755'	260 14 0 00 403676'		PUSHJ P,PATOM
  5953	407756'	322 01 0 00 407742'		JUMPE A,NA
  5954	407757'	201 01 0 00 000004 		MOVEI A,4
  5955	407760'	273 01 0 00 000523'		ADDB A,M
  5956	407761'	313 01 0 00 000525'		CAMLE A,N
  5957	407762'	254 00 0 00 407773'		JRST ABORT
  5958	407763'	200 01 0 14 000000 		MOVE A,0(P)
  5959	407764'	260 14 0 00 405311'		PUSHJ P,FLATSI
  5960	407765'	275 01 0 00 577777 		SUBI A,INUM0
  5961	407766'	273 01 0 00 000523'		ADDB A,M
  5962	407767'	313 01 0 00 000525'		CAMLE A,N
  5963	407770'	254 00 0 00 407773'		JRST ABORT
  5964	407771'	274 14 0 00 411474'	EXIT1:	SUB P,[XWD 1,1]
  5965	407772'	263 14 0 00 000000 		POPJ P,
  5966	407773'	200 14 0 00 000574'	ABORT:	MOVE P,STP
  5967	407774'	201 01 0 00 000000 		MOVEI A,NIL
  5968	407775'	263 14 0 00 000000 		POPJ P,
  5969 
  5970	407776'	261 14 0 00 000001 	DEPTH:	PUSH P,A
  5971	407777'	261 14 0 00 000002 		PUSH P,B
  5972	410000'	260 14 0 00 403676'		PUSHJ P,PATOM
  5973	410001'	326 01 0 00 410031'		JUMPN A,D2
  5974	410002'	350 01 0 14 000000 		AOS A,0(P)
  5975	410003'	313 01 0 00 000055'		CAMLE A,LINL
  5976	410004'	254 00 0 00 410034'		JRST OUT+1
  5977	410005'	313 01 0 00 000523'		CAMLE A,M
  5978	410006'	202 01 0 00 000523'		MOVEM A,M
  5979	410007'	200 01 0 14 777777 		MOVE A,-1(P)
  5980	410010'	261 14 0 00 000001 		PUSH P,A
  5981	410011'	261 14 0 00 411345'		PUSH P,[0]
  5982	410012'	554 01 1 14 777775 	D1:	HLRZ A,@-3(P)
  5983	410013'	200 02 0 14 777776 		MOVE B,-2(P)
  5984	410014'	260 14 0 00 407776'		PUSHJ P,DEPTH
  5985	410015'	550 01 1 14 777775 		HRRZ A,@-3(P)
  5986	410016'	202 01 0 14 777775 		MOVEM A,-3(P)
  5987	410017'	200 02 0 14 777777 		MOVE B,-1(P)
  5988	410020'	463 03 0 14 000000 		SETCMB C,0(P)
  5989	410021'	326 03 0 00 410024'		JUMPN C,.+3
  5990	410022'	550 02 0 02 000000 		HRRZ B,0(B)
  5991	410023'	202 02 0 14 777777 		MOVEM B,-1(P)
  5992	410024'	316 01 0 00 000002 		CAMN A,B
  5993	410025'	254 00 0 00 410033'		JRST OUT
  5994	410026'	260 14 0 00 403676'		PUSHJ P,PATOM
  5995	410027'	322 01 0 00 410012'		JUMPE A,D1

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-148
UCILSP	MAC	27-MAR-75 17:13		SPRINT -- THE PRETTY PRINTER

  5996	410030'	274 14 0 00 411477'		SUB P,[XWD 2,2]
  5997	410031'	274 14 0 00 411477'	D2:	SUB P,[XWD 2,2]
  5998	410032'	263 14 0 00 000000 		POPJ P,
  5999	410033'	476 00 0 00 000454'		OUT:	SETOM CSW
  6000	410034'	200 14 0 00 000574'		MOVE P,STP
  6001	410035'	254 00 1 14 000001 		JRST @1(P)
  6002					;
  6003					;
  6004					;(TAB X) TABS TO POSITION X DOING A (TERPRI) IF NECESSARY
  6005					;
  6006	410036'	260 14 0 00 405071'	.TAB:	PUSHJ	P,NUMVAL
  6007	410037'	260 14 0 00 407670'		PUSHJ	P,POS		;LET POS IN SPRINT DO THE WORK
  6008	410040'	254 00 0 00 404013'		JRST	FALSE
  6009
  6010						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-149
UCILSP	MAC	27-MAR-75 17:13		ALVINE AND LOADER INTERFACES   

  6011						SUBTTL ALVINE AND LOADER INTERFACES   
  6012
  6013					;interface to alvine
  6014
  6015					IFN ALVINE,<
  6016					ED:	MOVE 10,EDA
  6017						JRST (10)
  6018						PUSH P,A
  6019						HRRZ A,CORUSE
  6020						HRRM A,LST
  6021						AOS A
  6022						HRRM A,EDA#
  6023					
  6024					
  6025						HRRM	A,ED1	;$$SAVE REENTRY TO EDITOR
  6026						AOS	ED1#	;$$
  6027					
  6028						MOVSI A,(SIXBIT /ED/)
  6029						SETZ	D,	;THAT RELOCATION AGAIN - SEE BELOW
  6030						PUSHJ P,SYSINI
  6031						HRLM A,LST	
  6032						MOVNS A
  6033						PUSHJ P,MORCOR
  6034						PUSHJ P,SYSINP+1
  6035						POP P,A
  6036						JRST ED
  6037					GRINDEF:PUSH P,A
  6038						PUSHJ P,ED
  6039						POP P,A
  6040						JRST 2(10)>
  6041
  6042	410041'				EXCISE:
  6043					IFN ALVINE<
  6044						MOVEI A,ED+2
  6045						HRRM A,EDA>
  6046	410041'	200 01 0 00 000514'		MOVE A,JRELO
  6047	410042'	402 00 0 00 000516'		SETZM LDFLG#	;initial loader symbol table flag
  6048	410043'	047 01 0 00 000011 		CALLI A,CORE
  6049	410044'	254 00 0 00 410045'		JRST .+1
  6050	410045'	265 13 0 00 401323'		JSP R,IOBRST
  6051	410046'	254 00 0 00 403764'		JRST TRUE
  6052
  6053					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-150
UCILSP	MAC	27-MAR-75 17:13		ALVINE AND LOADER INTERFACES   

  6054
  6055					;	lisp loader interface
  6056					;	REG. D IS USED SINCE VARIABLES ARE MOVE WHEN LISP IS REENTRANT
  6057	410047'	350 02 0 00 000453'	LOAD:	AOS B,CORUSE
  6058	410050'	202 02 0 00 000535'		MOVEM B,OLDCU#
  6059	410051'	202 01 0 00 000517'		MOVEM A,LDPAR#
  6060	410052'	322 01 0 00 410055'		JUMPE A,LOAD2
  6061	410053'	200 02 0 11 004033'		MOVE B,VBPORG(S)
  6062	410054'	275 02 0 00 577777 		SUBI B,INUM0
  6063	410055'	202 02 0 00 000555'	LOAD2:	MOVEM B,RVAL#	;final destination of loaded code
  6064	410056'	205 01 0 00 545744 		MOVSI A,(SIXBIT /LOD/)
  6065	410057'	400 12 0 00 000000 		SETZ	D,
  6066	410060'	260 14 0 00 410176'		PUSHJ P,SYSINI
  6067	410061'	275 01 0 00 000150 		SUBI A,150	;extra room for locations 0 to 137 and slop
  6068	410062'	261 14 0 00 000001 		PUSH P,A
  6069	410063'	213 00 0 00 000001 		MOVNS A		;length(loader)
  6070	410064'	552 01 0 00 000520'		HRRZM A,LODSIZ#
  6071	410065'	260 14 0 00 410256'		PUSHJ P,MORCOR	;expand core for loader
  6072	410066'	202 01 0 00 000521'		MOVEM A,LOWLSP#	;location of blt'ed low lisp
  6073	410067'	210 02 0 14 000000 		MOVN B,(P)	;length(loader)
  6074	410070'	270 02 0 00 000001 		ADD B,A
  6075	410071'	202 02 0 00 000505'		MOVEM B,HVAL#	;temporary destination of loaded code
  6076	410072'	505 01 0 00 000000 		HRLI A,0
  6077	410073'	200 12 0 00 000001 		MOVE D,A	;THIS IS THE RELOCATION, THE LOADER WILL SAVE IT
  6078	410074'	251 01 0 02 000000 		BLT A,(B)	;blt up low lisp
  6079	410075'	500 01 0 12 000427'		HLL A,NAME+3(D)	;-length(loader)
  6080	410076'	541 01 0 00 000136 		HRRI A,137-1
  6081	410077'	260 14 0 00 410215'		PUSHJ P,SYSINP
  6082	410100'	332 00 0 12 000516'		SKIPE LDFLG(D)
  6083	410101'	254 00 0 00 410121'		JRST LOAD3
  6084	410102'	476 00 0 12 000516'		SETOM LDFLG(D)
  6085	410103'	205 01 0 00 637155 		MOVSI A,(SIXBIT /SYM/)
  6086	410104'	260 14 0 00 410176'		PUSHJ P,SYSINI
  6087	410105'	213 00 0 00 000001 		MOVNS A		;length symbols
  6088	410106'	260 14 0 00 410256'		PUSHJ P,MORCOR	;expand core for symbols
  6089	410107'	335 02 0 00 407224*		SKIPGE B,JOBSYM
  6090	410110'	370 00 0 00 000002 		SOS B		;if no symbol table, use original jobsym
  6091	410111'	554 01 0 12 000427'		HLRZ A,NAME+3(D)	;-length(symbols)
  6092	410112'	273 01 0 00 000002 		ADDB A,B
  6093	410113'	500 01 0 12 000427'		HLL A,NAME+3(D)	;symbol table iowd
  6094	410114'	260 14 0 00 410215'		PUSHJ P,SYSINP
  6095	410115'	542 02 0 00 410107*		HRRM B,JOBSYM
  6096	410116'	510 01 0 12 000427'		HLLZ A,NAME+3(D)
  6097	410117'	272 01 0 00 410115*		ADDM A,JOBSYM
  6098	410120'	334 00 0 00 000000 		SKIPA
  6099	410121'	370 00 0 00 410117*	LOAD3:	SOS JOBSYM	;want jobsym to point one below 1st symbol
  6100	410122'	200 03 0 12 000505'		MOVE 3,HVAL(D)	;h
  6101	410123'	200 05 0 12 000555'		MOVE 5,RVAL(D)	;r
  6102	410124'	200 02 0 00 000003 		MOVE 2,3
  6103	410125'	274 02 0 00 000005 		SUB 2,5		;x=h-r
  6104	410126'	505 05 0 00 000012 		HRLI 5,12	;(w)
  6105	410127'	505 02 0 00 000011 		HRLI 2,11	;(v)
  6106	410130'	403 01 0 00 000004 		SETZB 1,4
  6107	410131'	265 00 0 00 000140 		JSP 0,140	;call the loader
  6108	410132'	202 05 0 12 000553'		MOVEM 5,RLAST#(D)	;last location loaded(in final area)

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-151
UCILSP	MAC	27-MAR-75 17:13		ALVINE AND LOADER INTERFACES   

  6109	410133'	200 06 0 12 000535'		MOVE T,OLDCU(D)
  6110	410134'	200 01 0 00 410121*		MOVE A,JOBSYM
  6111	410135'	202 01 0 06 410134*		MOVEM A,JOBSYM(T)
  6112	410136'	200 01 0 00 402272*		MOVE A,JOBREL
  6113	410137'	202 01 0 06 410136*		MOVEM A,JOBREL(T)	;update jobrel
  6114	410140'	514 00 0 12 000521'		HRLZ 0,LOWLSP(D)
  6115	410141'	370 00 0 12 000520'		SOS LODSIZ(D)
  6116	410142'	253 00 0 00 410143'		AOBJN 0,.+1
  6117	410143'	251 00 1 12 000520'		BLT 0,@LODSIZ(D)	;blt down low lisp
  6118	410144'	200 00 1 00 000521'		MOVE 0,@LOWLSP	;EVERY THING IS FIXED, DON'T NEED REG. D ANYMORE
  6119	410145'	200 02 0 00 000553'		MOVE B,RLAST
  6120	410146'	200 01 0 00 000555'		MOVE A,RVAL
  6121	410147'	504 01 0 00 000505'		HRL A,HVAL
  6122	410150'	332 00 0 00 000517'		SKIPE LDPAR
  6123	410151'	254 00 0 00 410170'		JRST BINLD
  6124	410152'	200 03 0 00 000553'		MOVE C,RLAST	;new coruse
  6125	410153'	251 01 0 02 000000 	LDRET2:	BLT A,(B)	;blt down loaded code
  6126	410154'	552 03 0 00 000453'		HRRZM C,CORUSE	;top of code loaded
  6127	410155'	201 02 0 00 000001 		MOVEI B,1
  6128	410156'	412 02 0 00 410135*		ANDCAM B,JOBSYM
  6129	410157'	274 03 0 00 410156*		SUB C,JOBSYM	;length of free core
  6130	410160'	465 03 0 00 776000 		ORCMI C,776000
  6131	410161'	345 03 0 00 400022'		AOJGE C,START	;no contraction
  6132	410162'	270 03 0 00 410137*		ADD C,JOBREL	;new top of core
  6133	410163'	200 02 0 00 000003 		MOVE B,C
  6134	410164'	260 14 0 00 410223'		PUSHJ P,MOVDWN
  6135	410165'	047 03 0 00 000011 		CALLI C,CORE	;contract core
  6136	410166'	254 00 0 00 410167'		JRST .+1
  6137	410167'	254 00 0 00 400022'		JRST START
  6138
  6139	410170'	201 03 0 02 577777 	BINLD:	MOVEI C,INUM0(B)
  6140	410171'	311 03 0 11 004034'		CAML C,VBPEND(S)
  6141						JRST [	SETOM BPSFLG	;bps exceeded
  6142	410172'	254 00 0 00 411637'			JRST START]
  6143	410173'	202 03 0 11 004033'		MOVEM C,VBPORG(S)	;updat bporg
  6144	410174'	370 03 0 00 000535'		SOS C,OLDCU	;old top of core
  6145	410175'	254 00 0 00 410153'		JRST LDRET2
  6146
  6147						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-152
UCILSP	MAC	27-MAR-75 17:13		ALVINE AND LOADER INTERFACES   

  6148
  6149	410176'	202 01 0 12 000425'	SYSINI:	MOVEM A,NAME+1(D)
  6150						;%% FOLLOWING IS OLD, NON-PATCHABLE CHANNEL OPEN
  6151						COMMENT &
  6152						IFN SYSPRG,<	MOVE A,[XWD SYSPRG,SYSPN]
  6153								MOVEM A,NAME+3(D)>
  6154						IFE SYSPRG,<	SETZM NAME+3(D)>
  6155						INIT	17
  6156						SYSDEV
  6157						0
  6158						JRST AIN.4+1
  6159						&		;%% END OF OLD CODE
  6160						;%% NEW PATCHABLE CODE (DEVICE NAME IN LOW SEGMENT)
  6161	410177'	200 01 0 12 000416'		MOVE	A,SYSIN1(D)	;%% PICK UP PPN
  6162					REMOTE<
  6163					SYSIN1:	XWD	SYSPRG,SYSPN	;%% KEEP IN LOW SEGMENT
  6164					>
  6165	410200'	202 01 0 12 000427'		MOVEM	A,NAME+3(D)	;%% RESET VALUE HERE
  6166	410201'	201 01 0 00 000017 		MOVEI	A,17		;%% SET DATA MODE 
  6167	410202'	202 01 0 12 000417'		MOVEM	A,SYSIN0(D)	;%%
  6168	410203'	050 00 0 12 000417'		OPEN	0,SYSIN0(D)	;%% OPEN CHANNEL 0 TO READ FILE
  6169	410204'	254 00 0 00 401725'		JRST	AIN.4+1		;%% ERROR IN OPEN IF HERE
  6170					REMOTE<
  6171					SYSIN0:	17			;%% DUMP MODE I/O
  6172						SYSDEV			;%% INITIALLY SYSTEM DEVICE
  6173									;%% MAY BE PATCHED
  6174									;%% NOTE THAT THIS MAY REMAIN "SYS"
  6175									;%% WHEN HGHDAT IS CHANGED TO
  6176									;%% SOMETHING ELSE
  6177						0			;%% NO BUFFERING
  6178					>
  6179	410205'	076 00 0 12 000424'		LOOKUP NAME(D)
  6180	410206'	254 00 0 00 401727'		JRST AIN.7+1
  6181	410207'	200 01 0 00 411641'		MOVE	A,[IOWD 1,NAME+3]	;KLUDGE BECAUSE OF REG. D
  6182	410210'	270 01 0 00 000012 		ADD	A,D
  6183	410211'	202 01 0 12 000422'		MOVEM	A,INLOW(D)
  6184	410212'	066 00 0 12 000422'		INPUT	INLOW(D)	;INPUT SIZE OF FILE
  6185					REMOTE<
  6186					INLOW:	IOWD 1,NAME+3
  6187						0>
  6188	410213'	564 01 0 12 000427'		HLRO A,NAME+3(D)
  6189	410214'	263 14 0 00 000000 		POPJ P,
  6190
  6191					REMOTE<
  6192					NAME:	SYSNAM
  6193						0
  6194						0
  6195						0>
  6196
  6197	410215'	202 01 0 12 000430'	SYSINP:	MOVEM A,LST(D)
  6198	410216'	066 00 0 12 000430'		INPUT LST(D)
  6199	410217'	063 00 0 00 740000 		STATZ 740000
  6200	410220'	001 00 0 00 401730'		ERR1 AIN.8
  6201	410221'	071 00 0 00 000000 		RELEASE
  6202	410222'	263 14 0 00 000000 		POPJ P,

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-153
UCILSP	MAC	27-MAR-75 17:13		ALVINE AND LOADER INTERFACES   

  6203
  6204					REMOTE<
  6205					LST:	0
  6206						0>
  6207					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-154
UCILSP	MAC	27-MAR-75 17:13		ALVINE AND LOADER INTERFACES   

  6208	410223'	506 02 0 00 401324*	MOVDWN:	HRLM	B,JOBSA	;##SAVE NEW JOBSA
  6209	410224'	554 01 0 00 410157*		HLRZ A,JOBSYM
  6210	410225'	322 01 0 00 410254'		JUMPE A,MOVS1
  6211	410226'	271 01 0 02 000001 		ADDI A,1(B)
  6212	410227'	504 01 0 00 410224*		HRL A,JOBSYM
  6213	410230'	542 01 0 00 410227*		HRRM A,JOBSYM
  6214	410231'	251 01 0 02 000000 		BLT A,(B)	;downward blt
  6215	410232'	263 14 0 00 000000 		POPJ P,
  6216
  6217	410233'	200 02 0 00 410162*	MOVSYM:	MOVE B,JOBREL
  6218	410234'	506 02 0 00 410223*		HRLM B,JOBSA
  6219	410235'	574 01 0 00 410230*		HLRE A,JOBSYM
  6220	410236'	322 01 0 00 410254'		JUMPE A,MOVS1
  6221	410237'	271 02 0 01 000001 		ADDI B,1(A)	;new bottom of symbol table
  6222	410240'	211 01 0 01 000001 		MOVNI A,1(A)
  6223	410241'	270 01 0 00 410235*		ADD A,JOBSYM	;last loc of old symbol table
  6224	410242'	542 02 0 00 410241*		HRRM B,JOBSYM
  6225	410243'	261 14 0 00 000003 		PUSH P,C
  6226	410244'	200 02 0 00 410233*		MOVE B,JOBREL	;last loc of new symbol table
  6227	410245'	200 03 0 01 000000 		MOVE C,(A)	;simulated upward blt
  6228	410246'	202 03 0 02 000000 		MOVEM C,(B)
  6229	410247'	275 02 0 00 000001 		SUBI B,1
  6230	410250'	271 01 0 00 777777 		ADDI A,-1	;lf+1,rt-1
  6231	410251'	321 01 0 00 410245'		JUMPL A,.-4
  6232	410252'	262 14 0 00 000003 		POP P,C
  6233	410253'	263 14 0 00 000000 		POPJ P,
  6234
  6235	410254'	552 02 0 00 410242*	MOVS1:	HRRZM B,JOBSYM
  6236	410255'	263 14 0 00 000000 		POPJ P,
  6237
  6238					;enter with size needed in a
  6239					;exit with pointer in a to core
  6240
  6241	410256'	261 14 0 00 000002 	MORCOR:	PUSH P,B
  6242	410257'	550 02 0 00 410254*		HRRZ B,JOBSYM
  6243	410260'	274 02 0 12 000453'		SUB B,CORUSE(D)
  6244	410261'	276 01 0 00 000002 		SUBM	A,B	;NEEDED-JOBSYM-CORUSE(IE.  NEEDED-FREE)
  6245	410262'	321 02 0 00 410271'		JUMPL B,EXPND2
  6246	410263'	270 02 0 00 410244*		ADD B,JOBREL	;new core size
  6247	410264'	047 02 0 00 000011 		CALLI B,CORE	;expand core
  6248	410265'	001 00 0 00 411642'		ERR1 [SIXBIT /CANT EXPAND CORE !/]
  6249	410266'	261 14 0 00 000001 		PUSH P,A
  6250	410267'	260 14 0 00 410233'		PUSHJ P,MOVSYM
  6251	410270'	262 14 0 00 000001 		POP P,A
  6252	410271'	200 02 0 12 000453'	EXPND2:	MOVE B,CORUSE(D)
  6253	410272'	272 01 0 12 000453'		ADDM A,CORUSE(D)
  6254	410273'	200 01 0 00 000002 		MOVE A,B
  6255	410274'	262 14 0 00 000002 		POP P,B
  6256	410275'	263 14 0 00 000000 		POPJ P,
  6257					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-155
UCILSP	MAC	27-MAR-75 17:13		HIGH SEGMENT FUNCTIONS

  6258						SUBTTL HIGH SEGMENT FUNCTIONS
  6259
  6260					REMOTE<VHGHORG:BHORG>
  6261	410276'	322 01 0 00 410315'	HGHCOR:	JUMPE	A,NOWRT	;EXPAND CORE AND SET WRITE STATUS
  6262	410277'	260 14 0 00 405071'		PUSHJ	P,NUMVAL
  6263	410300'	323 01 0 00 404013'		JUMPLE	A,FALSE
  6264	410301'	403 03 0 00 000433'		CLEARB	C,WRTSTS
  6265	410302'	047 03 0 00 000036 		CALLI	C,SETUWP
  6266	410303'	001 00 0 00 411645'	UWPERR:	ERR1	[SIXBIT /CAN'T CHANGE HIGH SEG. WRITE PROTECT!/]
  6267	410304'	200 02 0 00 000432'		MOVE	B,VHGHORG
  6268	410305'	270 02 0 00 000001 		ADD	B,A
  6269	410306'	550 03 0 00 000000*		HRRZ	C,JOBHRL
  6270	410307'	317 02 0 00 000003 		CAMG	B,C
  6271	410310'	254 00 0 00 403764'		JRST	TRUE
  6272	410311'	514 01 0 00 000002 		HRLZ	A,B
  6273	410312'	047 01 0 00 000011 		CALLI	A,CORE
  6274	410313'	001 00 0 00 411654'		ERR1	[SIXBIT /CAN'T EXPAND HIGH SEGMENT!/]
  6275	410314'	254 00 0 00 403764'		JRST	TRUE
  6276	410315'	201 01 0 00 000001 	NOWRT:	MOVEI	A,1
  6277	410316'	202 01 0 00 000433'		MOVEM	A,WRTSTS
  6278	410317'	047 01 0 00 000036 		CALLI	A,SETUWP
  6279	410320'	254 00 0 00 410303'		JRST	UWPERR
  6280	410321'	254 00 0 00 403764'		JRST	TRUE
  6281
  6282	410322'	332 00 0 00 000001 	HGHORG:	SKIPE	A	;SET HIGH ORG. TO A AND RETURN OLD ORG.
  6283	410323'	260 14 0 00 405071'		PUSHJ	P,NUMVAL
  6284	410324'	261 14 0 00 000001 		PUSH	P,A
  6285	410325'	200 01 0 00 000432'		MOVE	A,VHGHORG
  6286	410326'	201 02 0 11 003740'		MOVEI	B,FIXNUM(S)
  6287	410327'	260 14 0 00 405057'		PUSHJ	P,MAKNUM
  6288	410330'	262 14 0 00 000002 		POP	P,B
  6289	410331'	332 00 0 00 000002 		SKIPE	B
  6290	410332'	202 02 0 00 000432'		MOVEM	B,VHGHORG
  6291	410333'	263 14 0 00 000000 		POPJ	P,
  6292
  6293	410334'	550 01 0 00 410306*	HGHEND:	HRRZ	A,JOBHRL	;GET VALUE OF END OF HIGH SEG.
  6294	410335'	201 02 0 11 003740'		MOVEI	B,FIXNUM(S)
  6295	410336'	254 00 0 00 405057'		JRST	MAKNUM
  6296
  6297					;SETS THE GETSEG INFO. SO USER CAN HAVE OWN HIGH SEG.
  6298	410337'	200 06 0 00 000001 	SETSYS:	MOVE	T,A	;MOVE ARGUMENT FOR UIOSUB
  6299	410340'	402 00 0 00 000111'		SETZM	DEV	;## ALLOW DEFAULT TO DSK:
  6300	410341'	260 14 0 00 401203'		PUSHJ	P,IOSUB	;BREAKS DOWN THE SPECIFICATION
  6301	410342'	202 01 0 00 000022'		MOVEM	A,HGHDAT+1	;SAVE THE FILE NAME
  6302	410343'	200 01 0 00 000111'		MOVE	A,DEV		;GET THE DEVICE AND SAVE IT
  6303	410344'	202 01 0 00 000021'		MOVEM	A,HGHDAT
  6304	410345'	200 01 0 00 000126'		MOVE	A,PPN		;GET THE PPN AND SAVE IT
  6305	410346'	202 01 0 00 000025'		MOVEM	A,HGHDAT+4
  6306	410347'	254 00 0 00 404013'		JRST	FALSE		;RETURN NIL
  6307
  6308					REMOTE<WRTSTS: 1>
  6309
  6310						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-156
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6311						SUBTTL REALLOC CODE     
  6312
  6313
  6314						IFN	REALLC <
  6315					;%%	DYNAMIC REALLOCTION ROUTINE
  6316					;%%
  6317					;%%	ARGUMENTS:
  6318					;%%	 A = FULL WORD SPACE INCREMENT
  6319					;%%	 B = BINARY PROGRAM SPACE INCREMENT
  6320					;%%	 C = REGULAR PUSHDOWN LIST INCREMENT
  6321					;%%	 AR1 = SPECIAL PUSHDOWN LIST INCREMENT
  6322					;%%	 AR2A = FREE SPACE INCREMENT
  6323					;%%
  6324					;%%	ACTION:
  6325					;%%	 1) PERFORMS AN EXCISE
  6326					;%%	 2) ALLOCATES ADDITIONAL CORE AS REQUIRED
  6327					;%%		(IF IMPOSSIBLE, SIGNALS "CAN'T EXPAND CORE")
  6328					;%%	 5) UNBINDS ALL VARIABLES ON THE SPECIAL STACK
  6329					;%%	    AND CLEARS BOTH STACKS
  6330					;%%	 4) REALLOCATES SPACE ACCORDING TO SPECIFICATIONS
  6331					;%%		(NOTE THAT TOTAL CORE USED WILL BE ROUNDED
  6332					;%%		 UP TO A MULTIPLE OF 1K WORDS, AND ANY EXCESS
  6333					;%%		 WILL BE APPORTIONED TO FWS, RPDL, SPDL, AND 
  6334					;%%		 FS.)
  6335					;%%	 5) RESTARTS THE SYSTEM AT THE TOP LEVEL
  6336					;%%
  6337					
  6338					REALL1:	JUMPE	A,.+2		;%%NO CONVERSION IF NIL
  6339						PUSHJ	P,NUMVAL	;%%CONVERT TO BINARY
  6340						ADDI	T,(A)		;%%ADD TO TOTAL BEING ACCUMULATED
  6341						EXCH	A,(P)		;%%PUSH ON STACK
  6342						JRST	(A)		;%%AND RETURN
  6343					
  6344					REALLOC:
  6345						SETZ	T,		;%% CLEAR ACCUMULATOR FOR ALLOC TOTAL
  6346						MOVE	TT,B		;%% SAVE SECOND ARG DURING FIRST CALL
  6347						PUSHJ	P,REALL1	;%% PROCESS FIRST ARG
  6348						MOVE	A,TT		;%%
  6349						PUSHJ	P,REALL1	;%% PROCESS SECOND ARG
  6350						MOVE	A,C		;%%
  6351						PUSHJ	P,REALL1	;%% PROCESS THIRD ARG
  6352						MOVE	A,AR1		;%%
  6353						PUSHJ	P,REALL1	;%% PROCESS FOURTH ARG
  6354						MOVE	A,AR2A		;%%
  6355						PUSHJ	P,REALL1	;%% PROCESS FIFTH ARG
  6356						MOVE	A,-4(P)		;%% PICK UP FWS INCREMENT
  6357						ADD	A,SFWS		;%% MAKE NEW TOTAL FWS
  6358						IDIVI	A,44		;%% CALCULATE SPACE FOR BIT TABLE
  6359						ADDI	T,1(A)		;%% ADD TO TOTAL
  6360						MOVEM	T,(P)		;%% SAVE TOTAL (FS AMOUNT NOT NEEDED)
  6361						PUSHJ	P,EXCISE	;%% CLEAR BUFFERS, ETC.
  6362						POP	P,A		;%% GET TOTAL BACK
  6363						SETZ	D,		;%% CLEAR RELOCATION REGISTER
  6364									;%% (HERE WE GO AGAIN)
  6365						PUSHJ	P,MORCOR	;%% ALLOCATE THE ADDITIONAL SPACE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-157
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6366						MOVE	B,SC2		;%% CLEAR STACKS AND UNBIND VARIABLES
  6367						PUSHJ	P,UBD		;%%
  6368						HRRZ	B,JOBREL	;%% GET NEW HIGH LIMIT
  6369						CAMGE	B,JRELO#	;%% DID CORE GET SMALLER?
  6370						HALT	.		;%% YES -- WE QUIT
  6371						MOVEM	B,JRELO#	;%% RESET LIMIT
  6372						HRLM	B,JOBSA		;%% 
  6373						IFN	ALVINE <
  6374						MOVEI	A,ED+2		;%%INDICATE ED WAS OVERWRITTEN
  6375						HRRM	A,EDA		;%%SO THEY WILL BE RELOADED IF NEEDED
  6376					>
  6377						SETZM	LDFLG		;%% INDICATE SYMBOLS GONE [1]
  6378						MOVE	A,SFWS		;%% SAVE OLD VALUE
  6379						MOVEM	A,OSFWS		;%%
  6380						MOVE	A,FSO		;%%
  6381						MOVEM	A,OFSO		;%%
  6382						POP	P,A		;%% SPDL INCREMENT
  6383						ADDM	A,SSPDL		;%% CHANGE TOTAL
  6384						MOVN	AR2A,A		;%% SAVE JUST IN CASE
  6385						POP	P,A		;%% RPDL INCREMENT
  6386						ADDM	A,SRPDL		;%% CHANGE TOTAL
  6387						MOVN	AR1,A		;%% SAVE AGAIN
  6388						POP	P,A		;%% BPS TOTAL
  6389						MOVEM	A,FSMOVE	;%% HOW MUCH TO MOVE FS
  6390						ADDM	A,FSO		;%% NEW FS ORIGIN
  6391						ADDM	A,SBPS		;%% BPS INCREMENT
  6392						POP	P,A		;%% FWS INCREMENT
  6393						ADDM	A,SFWS		;%% ADD TO TOTAL
  6394						JRST	REALL2		;%% JUMP INTO REGULAR ALLOCATOR
  6395									;%% (ALL DATA OFF STACK)
  6396					>
  6397
  6398
  6399	410350'				STRT:
  6400	410350'	550 01 0 00 410263*	INALLC:	HRRZ	A,JOBREL	;SEE IF CORE WAS EXPANDED
  6401	410351'	316 01 0 00 000514'		CAMN	A,JRELO#	;OR NOT
  6402	410352'	254 00 0 00 410716'		JRST	OUTALC		;NO EXPANSION - DON'T REALLOCATE
  6403	410353'	317 01 0 00 000514'		CAMG	A,JRELO#	;CHECK TO SEE IF IT GOT SMALLER!
  6404	410354'	254 04 0 00 000000 		JRST	4,0		;YES - BITCH
  6405	410355'	202 01 0 00 000514'		MOVEM	A,JRELO#	;SAVE NEW CORE BOUND
  6406	410356'	506 01 0 00 410234*		HRLM	A,JOBSA
  6407					IFN ALVINE,<
  6408						MOVEI	F,ED+2		;INDICATE THAT ED WAS OVERWRITTEN
  6409						HRRM	F,EDA		;SO ED AND GRINDEF WILL BE READ IN IF NEEDED>
  6410	410357'	402 00 0 00 000516'		SETZM	LDFLG		;%% INDICATE SYMBOLS GONE [1]
  6411	410360'	402 00 0 00 000530'	INAGN:	SETZM	NOALIN#		;SET UP TO ASK FOR ALLOCATION
  6412						OUTSTR	[ASCIZ /
  6413	410361'	051 03 0 00 411661'	ALLOC? (Y OR N) /]		;ASK USER IF HE WISHES TO SET UP
  6414	410362'	051 00 0 00 000003 		INCHRW	C		;THE ALLOCATION INCREMENTS
  6415	410363'	305 03 0 00 000117 		CAIGE	C,"O"
  6416	410364'	476 00 0 00 000530'		SETOM	NOALIN#		;SET FLAG SO NO INPUT IS DONE LATER
  6417	410365'	200 01 0 00 000564'	SETFWS:	MOVE	A,SFWS#		;SAVE OLD SIZE OF FWS
  6418	410366'	202 01 0 00 000540'		MOVEM	A,OSFWS#
  6419
  6420	410367'	336 00 0 00 000530'		SKIPN	NOALIN		;SKIP QUESTIONS IF AUTOMATIC

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-158
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6421						OUTSTR	[ASCIZ /
  6422	410370'	051 03 0 00 411665'	FULL WORD SP. = /]
  6423	410371'	265 13 0 00 410721'		JSP	R,ALLNUM
  6424	410372'	326 01 0 00 410375'		JUMPN	A,.+3
  6425	410373'	332 00 0 00 000513'		SKIPE	INITFW#
  6426	410374'	271 01 0 00 000440 		ADDI	A,440		;INITIAL ALLOCATION FOR FWS
  6427
  6428	410375'	272 01 0 00 000564'		ADDM	A,SFWS#		;ADD EITHER USER INCREMENT OR 0 TO SFWS
  6429
  6430	410376'	200 01 0 00 000470'		MOVE	A,FSO#		;SAVE OLD FS ORIGIN
  6431	410377'	202 01 0 00 000534'		MOVEM	A,OFSO#		;FOR RELOCATION
  6432
  6433
  6434	410400'	336 00 0 00 000530'		SKIPN	NOALIN		;SKIP IF USER DONE
  6435						OUTSTR [ASCIZ /
  6436	410401'	051 03 0 00 411671'	BIN. PROG. SP. = /]
  6437	410402'	265 13 0 00 410721'		JSP	R,ALLNUM
  6438	410403'	272 01 0 00 000557'		ADDM	A,SBPS#
  6439	410404'	202 01 0 00 000467'		MOVEM	A,FSMOVE#	;THE INCREMENT TO SBPS IS THE AMOUNT BY
  6440	410405'	272 01 0 00 000470'		ADDM	A,FSO#		;THE FREE SPACE IS MOVED - UPDATE ORIGIN
  6441
  6442
  6443
  6444	410406'	336 00 0 00 000530'		SKIPN	NOALIN		;SKIPIF USER DONE
  6445						OUTSTR [ASCIZ /
  6446	410407'	051 03 0 00 411675'	REG. PDL. = /]
  6447	410410'	265 13 0 00 410721'		JSP	R,ALLNUM
  6448	410411'	326 01 0 00 410414'		JUMPN	A,.+3
  6449	410412'	332 00 0 00 000513'		SKIPE	INITFW#		;CHECK IF INITIAL ALLOCATION
  6450	410413'	271 01 0 00 001000 		ADDI	A,1000
  6451	410414'	272 01 0 00 000571'		ADDM	A,SRPDL#
  6452	410415'	210 04 0 00 000001 		MOVN	AR1,A		;SAVE IN CASE OF OVERFLOW
  6453
  6454
  6455	410416'	336 00 0 00 000530'		SKIPN	NOALIN		;SKIP IF USER DONE
  6456						OUTSTR [ASCIZ /
  6457	410417'	051 03 0 00 411700'	SPEC. PDL. = /]
  6458	410420'	265 13 0 00 410721'		JSP	R,ALLNUM
  6459	410421'	326 01 0 00 410424'		JUMPN	A,.+3
  6460	410422'	332 00 0 00 000513'		SKIPE	INITFW#	;CHECK FOR INITIAL ALLOCATION
  6461	410423'	271 01 0 00 001000 		ADDI	A,1000
  6462	410424'	272 01 0 00 000572'		ADDM	A,SSPDL#
  6463	410425'	210 05 0 00 000001 		MOVN	AR2A,A		;SAVE IN CASE OF OVERFLOW
  6464					IFN HASH,<
  6465						SKIPN	INITFW
  6466						SETOM	NOALIN
  6467						SKIPN	NOALIN
  6468						OUTSTR	[ASCIZ /
  6469					HASH = /]
  6470						JSP	R,ALLNUM
  6471						CAIG	A,BCKETS
  6472						JRST	OCR
  6473						HRRM	A,INT1
  6474						MOVNS	A
  6475						HRRM	A,RH4

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-159
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6476						SETOM	HASHFG>
  6477					OCR:	OUTSTR	[ASCIZ /
  6478	410426'	051 03 0 00 411630'	/]
  6479	410427'	200 01 0 00 000514'	REALL2:	MOVE	A,JRELO#	;COMPUTE SIZE OF AVAILABLE CORE
  6480	410430'	275 01 0 00 000603'		SUBI	A,FS		;SO THAT EXTRA CORE CAN BE DISTRIBUTED
  6481
  6482	410431'	274 01 0 00 000557'		SUB	A,SBPS	;TAKE OFF CORE ALLOCATED FOR BPS
  6483	410432'	274 01 0 00 000563'		SUB	A,SFS#		;TAKE OFF CORE IN PREVIOUS FS
  6484	410433'	274 01 0 00 000560'		SUB	A,SBT#		;AND ASSOCIATED BIT TABLE
  6485	410434'	274 01 0 00 000564'		SUB	A,SFWS		;TAKE OFF CORE NOW ALLOCATED TO FWS
  6486	410435'	274 01 0 00 000571'		SUB	A,SRPDL		;TAKE OFF CORE NOW ALLOCATED TO RPDL
  6487	410436'	274 01 0 00 000572'		SUB	A,SSPDL		;TAKE OFF CORE NOW ALLOCATED TO SPDL
  6488
  6489	410437'	200 15 0 00 000564'		MOVE	F,SFWS		;ESTIMATE SIZE NEEDED FOR BTF
  6490	410440'	231 15 0 00 000044 		IDIVI	F,44
  6491	410441'	271 15 0 00 000001 		ADDI	F,1
  6492	410442'	274 01 0 00 000015 		SUB	A,F		;AND TAKE IT OFF TOTAL
  6493	410443'	202 15 0 00 000561'		MOVEM	F,SBTF#		;ALSO SAVE TO RESTORE LATER
  6494	410444'	325 01 0 00 410456'		JUMPGE	A,ALOK		;MAKE SURE NO OVERFLOW
  6495						OUTSTR	[ASCIZ /ALLOCATIONS ARE TOO LARGE
  6496	410445'	051 03 0 00 411704'	/]				; IF SO THEN RETRY
  6497	410446'	200 01 0 00 000540'		MOVE	A,OSFWS
  6498	410447'	202 01 0 00 000564'		MOVEM	A,SFWS		;RESTORE SIZE OF FWS
  6499	410450'	210 01 0 00 000467'		MOVN	A,FSMOVE
  6500	410451'	272 01 0 00 000557'		ADDM	A,SBPS		;RESET SIZE OF BPS
  6501	410452'	272 01 0 00 000470'		ADDM	A,FSO		;AND FS ORGIN
  6502	410453'	272 04 0 00 000571'		ADDM	AR1,SRPDL	;RESET STACKS
  6503	410454'	272 05 0 00 000572'		ADDM	AR2A,SSPDL
  6504	410455'	254 00 0 00 410360'		JRST	INAGN
  6505
  6506	410456'	200 02 0 00 000001 	ALOK:	MOVE	B,A		;NOW CAN ALLOCATE EXCESS CORE
  6507	410457'	240 02 0 00 777774 	ACHLOC:	ASH	B,-4		;1/16 TO FWS
  6508	410460'	272 02 0 00 000564'		ADDM	B,SFWS
  6509	410461'	274 01 0 00 000002 		SUB	A,B		;TAKE IT OFF REMAINING CORE
  6510	410462'	332 00 0 00 000513'		SKIPE	INITFW
  6511	410463'	400 02 0 00 000000 		SETZ	B,
  6512	410464'	240 02 0 00 777774 		ASH	B,-4		;1/64 TO PDLS
  6513	410465'	272 02 0 00 000572'		ADDM	B,SSPDL
  6514	410466'	274 01 0 00 000002 		SUB	A,B
  6515	410467'	272 02 0 00 000571'		ADDM	B,SRPDL
  6516	410470'	274 01 0 00 000002 		SUB	A,B		;AND TAKE IT OFF REMAINING CORE
  6517
  6518	410471'	200 06 0 00 000564'		MOVE	T,SFWS		;CALCULATE ACTUAL SIZE OF BTF
  6519	410472'	231 06 0 00 000044 		IDIVI	T,44
  6520	410473'	271 06 0 00 000001 		ADDI	T,1
  6521	410474'	270 01 0 00 000561'		ADD	A,SBTF		;REMOVE ESTIMATED LOSS FOR BTF
  6522	410475'	202 06 0 00 000561'		MOVEM	T,SBTF
  6523	410476'	274 01 0 00 000006 		SUB	A,T		;AND TAKE OFF ACTUAL LOSS TO BTF
  6524
  6525	410477'	270 01 0 00 000563'		ADD	A,SFS		;ADD BACK ON SPACE FROM OLD FS
  6526	410500'	270 01 0 00 000560'		ADD	A,SBT		;AND ASSOCIATED BT
  6527									;GIVING NEW SPACE AVAILABLE FOR
  6528									;FS AND BT
  6529	410501'	200 07 0 00 000001 		MOVE	TT,A
  6530	410502'	231 07 0 00 000041 		IDIVI	TT,41		;SBS = SFS/32.  = (SBS + SFS)/33.

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-160
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6531
  6532	410503'	271 07 0 00 000001 		ADDI	TT,1
  6533	410504'	202 07 0 00 000560'		MOVEM	TT,SBT
  6534
  6535	410505'	274 01 0 00 000007 		SUB	A,TT		;TAKE OFF SBT FROM REMAINING CORE
  6536	410506'	202 01 0 00 000563'		MOVEM	A,SFS		;GIVING AVAILABLE SFS
  6537
  6538
  6539									;SET UP REGISTERS FOR GC ETC. SETUP
  6540
  6541	410507'	200 01 0 00 000564'		MOVE	A,SFWS		;A _ SFWS
  6542	410510'	201 02 0 00 000603'		MOVEI	B,FS
  6543	410511'	270 02 0 00 000563'		ADD	B,SFS
  6544	410512'	270 02 0 00 000557'		ADD	B,SBPS		;B _ NFWSO (ORIGIN OF NEW FULL WORD SPACE)
  6545	410513'	200 03 0 00 000571'		MOVE	C,SRPDL		;C _ SRPDL
  6546	410514'	200 15 0 00 000540'		MOVE	F,OSFWS		;F _ OLD SIZE OF FWS
  6547
  6548
  6549
  6550
  6551	410515'	542 02 0 00 000476'		HRRM	B,GCP1		;GCP1 _ NFWSO
  6552	410516'	210 17 0 00 000002 		MOVN	SP,B		;-NEW BOTTOM OF FWS
  6553
  6554	410517'	542 17 0 00 000401'		HRRM	SP,GCMFWS
  6555	410520'	516 01 0 00 000413'		HRLZM	A,C1GCS
  6556	410521'	213 00 0 00 000413'		MOVNS	C1GCS		;-NEW LENGTH OF FWS
  6557	410522'	542 02 0 00 000413'		HRRM	B,C1GCS		;HAVE FWS POINTER AND COUNT FOR SWEEP
  6558
  6559	410523'	270 02 0 00 000001 		ADD	B,A		;NEW FIRST WORD OF BT (FS BIT TABLE)
  6560
  6561
  6562	410524'	200 17 0 00 000470'		MOVE	SP,FSO		;SP _ NEW ORIGIN OF FS
  6563
  6564	410525'	242 17 0 00 777773 		LSH	SP,-5
  6565	410526'	276 02 0 00 000017 		SUBM	B,SP		;NUMBER USED TO FIND BIT TABLE WORD
  6566	410527'	542 17 0 00 000377'		HRRM	SP,GCBTP1	;FROM FS WORD ADDRESS
  6567	410530'	542 17 0 00 000400'		HRRM	SP,GCBTP2
  6568
  6569	410531'	506 02 0 00 000404'		HRLM	B,C3GC		;BOTTOM OF BIT TABLES
  6570	410532'	542 02 0 00 000372'		HRRM	B,GCP2
  6571	410533'	542 02 0 00 000475'		HRRM	B,GCP		;(ALSO UPPER BOUND ON FWS AND FS)
  6572
  6573	410534'	211 17 0 07 777776 		MOVNI	SP,-2(TT)	;-SIZE OF BT (TT = SBT)
  6574	410535'	506 17 0 00 000415'		HRLM	SP,C3GCS	;IOWD FOR BIT TABLE SWEEP
  6575	410536'	542 02 0 00 000415'		HRRM	B,C3GCS
  6576	410537'	200 17 0 00 000470'		MOVE	SP,FSO
  6577	410540'	405 17 0 00 000037 		ANDI	SP,37		;MASK OUT ALL BU LAST FIVE BITS
  6578	410541'	542 17 0 00 000410'		HRRM	SP,GCBTL2	;MAGIC NUMBER TO POSITION
  6579	410542'	275 17 0 00 000040 		SUBI	SP,40
  6580	410543'	542 17 0 00 000406'		HRRM	SP,GCBTL1
  6581
  6582	410544'	271 02 0 00 000001 		ADDI	B,1		;B _ B + 1
  6583	410545'	542 02 0 00 000404'		HRRM	B,C3GC		;BOTTOM OF FS BIT TABLE + 1
  6584	410546'	271 02 0 07 777776 		ADDI	B,-2(TT)	;GET BOTTOM OF BTF - 1, POINTER IS INCREMENTED
  6585	410547'	542 02 0 00 000414'		HRRM	B,C2GCS		;BEFORE USE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-161
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6586
  6587	410550'	271 02 0 00 000001 		ADDI	B,1		;B _ B + 1
  6588	410551'	542 02 0 00 000403'		HRRM	B,C2GC		;BOTTOM OF FWS BIT TABLE + 1
  6589	410552'	271 02 0 06 777777 		ADDI	B,-1(T)		;SINCE T IS NOW SIZE OF BTF, NOT SBTF-1
  6590
  6591	410553'	542 02 0 00 000374'		HRRM	B,GCP5		;TOP OF BIT TABLES
  6592	410554'	271 02 0 00 000001 		ADDI	B,1		;BOTTOM OF REG PDL
  6593
  6594	410555'	200 11 0 00 000441'		MOVE	S,ATMOV		;## S NOT SET IF LISP STARTED WITH CORE
  6595									;## ALREADY EXPANDED, SO RESET IT
  6596	410556'	551 01 0 11 000603'		HRRZI	A,OBTBL(S)	;GET OBLIST POINTER
  6597									;## RHX2 IS NO LONGER PURE, WE WANT THE SYSTEM OBLIST
  6598									;## THIS IS IT (I HOPE)3/28/73
  6599	410557'	270 01 0 00 000467'		ADD	A,FSMOVE	;INCREMENT TO
  6600									;ACCOUNT FOR MOVE OF FS
  6601	410560'	202 01 0 02 000000 		MOVEM	A,(B)
  6602	410561'	542 02 0 00 000477'		HRRM	B,GCP3		;ROOM FOR ACS DURING GC
  6603	410562'	271 02 0 00 000001 		ADDI	B,1		;B _ B + 1
  6604	410563'	542 02 0 00 000500'		HRRM	B,GCSP1
  6605	410564'	542 02 0 00 000370'		HRRM	B,GCP4		;ROOM FOR ACS
  6606	410565'	271 02 0 00 000010 		ADDI	B,10		;B _ B + 10
  6607	410566'	542 02 0 00 000371'		HRRM	B,GCP41		;TOP OF AC AREA
  6608	410567'	271 02 0 00 000001 		ADDI	B,1		;B _ B + 1
  6609	410570'	542 02 0 00 000450'		HRRM	B,C2		;SET UP RPDL POINTER
  6610	410571'	211 01 0 03 777760 		MOVNI	A,-20(C)	;A _ - (C -20) = -(SRPDL - 20)
  6611	410572'	506 01 0 00 000450'		HRLM	A,C2		;THIS IS THE ACTUAL SIZE OF RPDL
  6612									;TAKING INTO ACCOUNT THE AC AREA
  6613	
  6614	410573'	550 01 0 00 000514'		HRRZ	A,JRELO#	;TOP OF CORE - FOR SPDL PTR
  6615
  6616	410574'	210 02 0 00 000572'		MOVN	B,SSPDL
  6617	410575'	270 01 0 00 000002 		ADD	A,B
  6618	410576'	504 01 0 00 000002 		HRL	A,B
  6619
  6620	410577'	202 01 0 00 000562'		MOVEM	A,SC2#	;SET UP SPDL POINTER (I HOPE)
  6621	410600'	210 01 0 00 000001 		MOVN	A,A	;CREATE OFFSET FOR STACK POINTERS
  6622	410601'	271 01 0 00 577777 		ADDI	A,INUM0
  6623	410602'	552 01 0 00 000567'		HRRZM	A,SPNM#
  6624	410603'	402 00 0 00 000513'		SETZM	INITFW	;TURN OFF INITIAL ALLOCATION FLAG
  6625
  6626
  6627	
  6628
  6629								;RELOCATE THE FULL WORD SPACE
  6630								;GCP1 HOLDS POINTER TO ORIGIN OF NEW FWS
  6631								;FWSO# HOLDS POINTER TO ORIGIN OF OLD FWS
  6632								;AND F HOLDS SIZE OF OLD FWS (AMOUNT TO BE MOVED)
  6633
  6634	410604'	205 02 0 00 000015 		MOVSI	B,F
  6635	410605'	540 02 0 00 000476'		HRR	B,GCP1
  6636	410606'	200 03 0 00 000472'		MOVE	C,FWSO#
  6637	410607'	551 05 0 03 777777 		HRRZI	AR2A,-1(C)	;TAKE THE OPPORTUNITY TO GET ADDRESS
  6638									;OF END OF OLD FS (USED LATER)
  6639	410610'	505 03 0 00 000015 		HRLI	C,F
  6640	410611'	200 01 1 00 000003 		MOVE	A,@C	;GET WORD FROM END OF OLD FWS

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-162
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6641	410612'	202 01 1 00 000002 		MOVEM	A,@B	;AND MOVE TO END OF NEW FWS
  6642	410613'	365 15 0 00 410611'		SOJGE	F,.-2	;F COUNTS DOWN WORDS IN OLDFWS
  6643								;END OF FWS RELOCATION
  6644
  6645	410614'	200 16 0 00 000467'		MOVE	FF,FSMOVE	;GET FAST ACCESS TO RELOCATE SIZE FOR FS
  6646	410615'	550 15 0 00 000005 		HRRZ	F,AR2A
  6647	410616'	270 15 0 00 000016 		ADD	F,FF		;AND FIND WHERE TO PUT WORDS FROM
  6648									;END OF OLD FS IN NEW FS
  6649
  6650
  6651
  6652	410617'	550 04 0 00 000476'		HRRZ	AR1,GCP1	;COMPUTE FWS RELOCATION CONSTANT
  6653	410620'	274 04 0 00 000472'		SUB	AR1,FWSO
  6654
  6655
  6656
  6657								;RELOCATE FS - ALSO RELOCATE ALL
  6658								;POINTERS TO FS AND TO FWS
  6659
  6660	410621'	554 01 0 05 000000 	REL1:	HLRZ	A,(AR2A)	;GET CAR POINTER OF OLD FS WORD
  6661	410622'	265 13 0 00 410667'		JSP	R,REL4
  6662	410623'	506 01 0 15 000000 		HRLM	A,(F)		;MOVE CAR TO NEW POSITION
  6663	410624'	550 01 0 05 000000 		HRRZ	A,(AR2A)	;GET CDR PTR
  6664	410625'	265 13 0 00 410667'		JSP	R,REL4		;CHECK FOR FS RELOCATE
  6665	410626'	542 01 0 15 000000 		HRRM	A,(F)
  6666	410627'	275 15 0 00 000001 		SUBI	F,1		;F _ F -1
  6667	410630'	313 05 0 00 000534'		CAMLE	AR2A,OFSO	;CHECK TO SEE IF DONE
  6668	410631'	364 05 0 00 410621'		SOJA	AR2A,REL1	;NO - GO LOOP
  6669	410632'	550 01 0 00 000402'		HRRZ	A,GCMKL		;RELOCATE ARRAYS
  6670	410633'	265 13 0 00 410667'		JSP	R,REL4
  6671	410634'	550 12 0 00 000001 		HRRZ	D,A
  6672	410635'	202 12 0 00 000402'		MOVEM	D,GCMKL
  6673	410636'	554 05 0 12 000000 	REL5:	HLRZ	AR2A,(D)
  6674	410637'	200 05 0 05 000000 		MOVE	AR2A,(AR2A)
  6675	410640'	554 01 0 05 000000 	REL6:	HLRZ	A,(AR2A)
  6676	410641'	265 13 0 00 410667'		JSP	R,REL4
  6677	410642'	506 01 0 05 000000 		HRLM	A,(AR2A)
  6678	410643'	550 01 0 05 000000 		HRRZ	A,(AR2A)
  6679	410644'	265 13 0 00 410667'		JSP	R,REL4
  6680	410645'	542 01 0 05 000000 		HRRM	A,(AR2A)
  6681	410646'	253 05 0 00 410640'		AOBJN	AR2A,REL6
  6682	410647'	550 12 0 12 000000 		HRRZ	D,(D)
  6683	410650'	326 12 0 00 410636'		JUMPN	D,REL5
  6684	410651'	402 00 0 00 000443'		SETZM	BIND3		;JUST IN CASE
  6685	410652'	332 00 0 00 000511'		SKIPE	INITF		;DON'T FORGET THE INITFN
  6686	410653'	272 16 0 00 000511'		ADDM	FF,INITF
  6687	410654'	332 00 0 00 000512'		SKIPE	INITF1		;## DON'T FORGET THE INIT FILES
  6688	410655'	272 16 0 00 000512'		ADDM	FF,INITF1	;##
  6689	410656'	332 00 0 00 000532'		SKIPE	NOUUOF		;RELOCATE FLAGS
  6690	410657'	272 16 0 00 000532'		ADDM	FF,NOUUOF
  6691	410660'	332 00 0 00 000442'		SKIPE	BACTRF
  6692	410661'	272 16 0 00 000442'		ADDM	FF,BACTRF
  6693	410662'	332 00 0 00 000474'		SKIPE	GCGAGV
  6694	410663'	272 16 0 00 000474'		ADDM	FF,GCGAGV
  6695	410664'	332 00 0 00 000554'		SKIPE	RSTSW

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-163
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6696	410665'	272 16 0 00 000554'		ADDM	FF,RSTSW
  6697	410666'	254 00 0 00 410700'		JRST	RELFOO
  6698
  6699	410667'	315 01 0 00 000460'	REL4:	CAMGE	A,EFWSO		;SEE IF BEYOND END OF FWS
  6700	410670'	315 01 0 00 000534'		CAMGE	A,OFSO		;OK - SEE IF MAYBE IN FS
  6701	410671'	254 00 0 13 000000 		JRST	(R)
  6702	410672'	315 01 0 00 000472'		CAMGE	A,FWSO		;SEE IF IN FWS
  6703	410673'	254 00 0 00 410676'		JRST	.+3
  6704	410674'	270 01 0 00 000004 		ADD	A,AR1		;RELOCATE FWS POINTER
  6705	410675'	254 00 0 13 000000 		JRST	(R)
  6706	410676'	270 01 0 00 000016 		ADD	A,FF		;RELOCATE FS POINTER
  6707	410677'	254 00 0 13 000000 		JRST	(R)
  6708
  6709
  6710
  6711
  6712
  6713	410700'	200 11 0 00 000557'	RELFOO:	MOVE	S,SBPS		;S IS THE RELOCATOR FOR MOST MACRO
  6714	410701'	202 11 0 00 000441'		MOVEM	S,ATMOV		;REFERENCES TO ATOMS AND FS
  6715	410702'	200 01 0 00 000467'		MOVE	A,FSMOVE	;NOW IS THE TIME FOR ALL GOOD MEN TO
  6716	410703'	272 01 0 11 004034'		ADDM	A,VBPEND(S)	;SET BPEND
  6717					IFE OLDNIL<	ADDM	A,NILPRP>	;## RESET NIL
  6718	410704'	540 02 0 11 003730'		HRR	B,VOBLIST(S)	;## GET CURRENT VALUE OF OBLIST
  6719	410705'	542 02 0 00 000363'		HRRM	B,RHX5		;## RESET WORD THAT POSTINDEXES OFF B
  6720	410706'	542 02 0 00 000362'		HRRM	B,RHX2		;## RESET WORD POSTINDEXING OFF C
  6721	410707'	272 01 0 00 000405'		ADDM	A,XXX3		;## RESET WIERD CODE 
  6722	410710'	272 01 0 00 000365'		ADDM	A,XXX4		;## RESET UNBOUND
  6723	410711'	272 01 0 00 000376'		ADDM	A,XXX5		;## RESET FS (SAME WORD AS FS),ALSO GCPP1
  6724	410712'	200 01 0 00 000476'		MOVE	A,GCP1
  6725	410713'	552 01 0 00 000472'		HRRZM	A,FWSO
  6726	410714'	200 01 0 00 000415'		MOVE	A,C3GCS
  6727	410715'	552 01 0 00 000460'		HRRZM	A,EFWSO#
  6728	410716'	403 15 0 00 000057'	OUTALC:	CLEARB	F,DDTIFG
  6729	410717'	265 13 0 00 401323'		JSP	R,IOBRST
  6730	410720'	254 00 0 00 400022'		JRST	START
  6731
  6732
  6733
  6734
  6735
  6736
  6737							;SUBROUTINE FOR NUMBER INPUT
  6738							;%% RETURNS 0 IF NOALIN # 0
  6739							;%% SETS NOALIN # 0 IF ALTMOD IS INPUT
  6740							;%% RETURNS 0 IF A BLANK IS INPUT
  6741							;%% IGNORES OTHER NON-NUMERIC CHARACTERS EXCEPT
  6742							;%% AS TERMINATORS OF NUMBERS
  6743
  6744
  6745	410721'	403 01 0 00 000436'	ALLNUM:	SETZB	A,ALLNM1#	;%% CLEAR A AND FIRST TIME FLAG
  6746	410722'	332 00 0 00 000530'		SKIPE	NOALIN#
  6747	410723'	254 00 0 13 000000 		JRST	(R)
  6748	410724'	051 00 0 00 000003 		INCHRW	C
  6749	410725'	306 03 0 00 000177 		CAIN	C,RUBOUT
  6750						JRST	[OUTSTR [ASCIZ /XXX /]

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-164
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6751	410726'	254 00 0 00 411713'			 JRST ALLNUM]
  6752	410727'	301 03 0 00 000060 		CAIL	C,"0"
  6753	410730'	303 03 0 00 000071 		CAILE	C,"9"
  6754	410731'	254 00 0 00 410736'		JRST	BANGCK
  6755	410732'	476 00 0 00 000436'		SETOM	ALLNM1#		;%% NOT FIRST TIME NOW
  6756	410733'	240 01 0 00 000003 		ASH	A,3
  6757	410734'	271 01 0 03 777720 		ADDI	A,-"0"(C)
  6758	410735'	254 00 0 00 410724'		JRST	ALLNUM+3
  6759
  6760	410736'	302 03 0 00 000015 	BANGCK:	CAIE	C,15		;%% TERMINATE ON CR OR
  6761	410737'	306 03 0 00 000040 		CAIN C,40		;%% TERMINATE ON BLANK
  6762	410740'	254 00 0 13 000000 		JRST	(R)		;%%
  6763	410741'	306 03 0 00 000033 		CAIN	C,ALTMOD	;%% ALTMODE (TERMINATOR)?
  6764						JRST	[SETOM NOALIN#
  6765	410742'	254 00 0 00 411715'			 JRST (R) ] 	;%% YES--TURN ON SWITCH AND RETURN
  6766	410743'	332 00 0 00 000436'		SKIPE	ALLNM1#		;%% IGNORE LEADING JUNK?
  6767	410744'	254 00 0 13 000000 		JRST	(R)		;%% NO--RETURN
  6768	410745'	254 00 0 00 410724'		JRST	ALLNUM+3	;%% YES--LOOP
  6769
  6770
  6771					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-165
UCILSP	MAC	27-MAR-75 17:13		REALLOC CODE     

  6772
  6773
  6774
  6775
  6776					IFN HASH,<
  6777					REHASH:
  6778						MOVEI A,BFWS(S)
  6779						PUSH P,A
  6780						HRRM A,RHX2
  6781						HRRM A,RHX5
  6782						MOVS B,RH4#
  6783						ADD B,S	;$$PUT IN ATOM MOVE OFFSET IN B, SINCE CAN'T
  6784								;$$DOUBLE INDEX - THIS REMOVES THE FOO PROBLEM
  6785								;$$IN THE NEXT THREE FOO'S
  6786					
  6787						HRRZI A,BFWS+1(B)
  6788						MOVEM A,BFWS(B)
  6789						AOBJN B,.-2
  6790						SETZM BFWS(B)
  6791						MOVSI AR2A,-BCKETS
  6792						HRR AR2A,S	;$$PUT IN ATOM MOVE OFFSET IN AR2A TO AVOID
  6793								;$$DOUBLE INDEXING WITH S IN REMOVING FOO
  6794								;$$PROBLEM
  6795					RH1:
  6796						HLRZ C,OBTBL(AR2A)
  6797					RH3:	JUMPE C,RH2
  6798						HLRZ A,(C)
  6799						PUSH P,C
  6800						PUSH P,AR2A
  6801						PUSHJ P,INTERN
  6802						POP P,AR2A
  6803						POP P,C
  6804						HRRZ C,(C)
  6805						JRST RH3
  6806					RH2:	AOBJN AR2A,RH1
  6807						SETZM HASHFG
  6808						POP P,A
  6809						HRRM A,@GCP3
  6810						MOVEM A,OBLIST(S)
  6811						JRST START>
  6812
  6813
  6814						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-166
UCILSP	MAC	27-MAR-75 17:13		NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS

  6815						SUBTTL NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS
  6816
  6817					;$$ROUTINE TO GET POINTER TO SPDL AND MAKE IT INTO AN INUM
  6818	410746'	550 01 0 00 000017 	SPDLPT:	HRRZ	A,SP	;$$CREATE A POINTER TO THE CURRENT TOP OF STACK
  6819	410747'	270 01 0 00 000567'		ADD	A,SPNM
  6820	410750'	263 14 0 00 000000 		POPJ	P,		;$$
  6821
  6822
  6823					;$$ROUTINE TO GET LEFT HAND SIDE OF SPDL ITEM INDICATED BY AN INUM FROM SPDLPT
  6824	410751'	274 01 0 00 000567'	SPDLFT:	SUB	A,SPNM	;$$CONVERT TO ADDRESS
  6825	410752'	574 01 0 01 000000 		HLRE	A,(A)	;$$GET LEFT HAND ITEM
  6826	410753'	321 01 0 00 403764'		JUMPL	A,TRUE		;$$IF IT IS NEGATIVE IT CAME FROM A STACK
  6827									;$$POINTER AND WE RETURN T INSTEAD
  6828	410754'	551 01 0 01 000000 		HRRZI	A,(A)		;$$CLEAR OUT LEFT HAND OF AC
  6829	410755'	263 14 0 00 000000 		POPJ	P,		;$$RETURN - RETURNS NIL FOR LHS = 0
  6830
  6831					;$$ROUTINE TO GIVE RIGHT HAND SIDE OF SPDL ENTRY SPECIFIED BY AN INUM FROM SPDLPT
  6832	410756'	274 01 0 00 000567'	SPDLRT:	SUB	A,SPNM		;$$CONVERT TO AN ADDRESS
  6833	410757'	550 01 0 01 000000 		HRRZ	A,(A)	;$$ALL RHS ITEMS ARE LEGAL, NO NEED FOR CHECK
  6834	410760'	263 14 0 00 000000 		POPJ	P,		;$$
  6835
  6836					;$$ROUTINE TO GET POINTER TO NEXT EVAL BLIP ON SPDL
  6837	410761'	274 01 0 00 000567'	NEXTEV:	SUB	A,SPNM	;$$GET POINTER INSTEAD OF INUM
  6838	410762'	550 06 0 00 000562'		HRRZ	T,SC2	;$$GET POINTER TO BOTTOM OF SPDL
  6839
  6840	410763'	317 01 0 00 000006 	SPDNLP:	CAMG	A,T	;$$CHECK IF HIT THE BOTTOM OF SPDL
  6841	410764'	254 00 0 00 404013'		JRST	FALSE	;$$RETURN NIL IF NO MORE INTERESTING WORDS
  6842	410765'	500 01 0 01 000000 		HLL	A,(A)	;$$TEST FOR WORD WITH 0 LHS
  6843	410766'	623 01 0 00 777777 		TLZE	A,-1	;$$
  6844	410767'	364 01 0 00 410763'		SOJA	A,SPDNLP	;$$NOT AN INTERESTING WORD, LOOK AGAIN
  6845	410770'	270 01 0 00 000567'		ADD	A,SPNM	;$$FOUND AN INTERESTING WORD, CHANGE POINTER TO INUM
  6846	410771'	263 14 0 00 000000 		POPJ	P,	;$$
  6847
  6848
  6849					;$$ROUTINE TO EVALUATE A VARIABLE IN AN EARLIER CONTEXT
  6850					;$$	MORE EFFICIENT THAN EVAL WITH ALIST
  6851	410772'	200 03 0 00 000001 	EVALV:	MOVE	C,A		;$$ MOVE AROUND FOR ATOM CHECK
  6852	410773'	260 14 0 00 403701'		PUSHJ	P,ATOM	;$$
  6853	410774'	250 01 0 00 000003 		EXCH	A,C		;$$
  6854	410775'	274 02 0 00 000567'		SUB	B,SPNM		;$$
  6855	410776'	306 02 0 17 000000 	EVALV1:	CAIN	B,(SP)		;$$CHECK FOR END OF SPDL
  6856	410777'	254 00 0 00 411011'		JRST	GETV		;$$VARIABLE NOT REBOUND - GET CURRENT VALUE
  6857	411000'	335 00 0 02 000000 		SKIPGE	,(B)		;$$CHECK TO AVOID SPDL POINTERS ON  STACK
  6858	411001'	344 02 0 00 410776'		AOJA	B,EVALV1	;$$
  6859	411002'	554 06 0 02 000000 		HLRZ	T,(B)		;$$T_CAR(B)
  6860	411003'	332 00 0 00 000003 		SKIPE	C		;$$
  6861	411004'	554 06 0 06 000000 		HLRZ	T,(T)		;$$GET CAR OF SPECIAL CELL - ATOM POINTER
  6862	411005'	302 06 0 01 000000 		CAIE	T,(A)		;$$COMPARE WITH ATOM TO BE EVALUATED
  6863	411006'	344 02 0 00 410776'		AOJA	B,EVALV1	;$$NOT IT, LOOK SOME MORE
  6864	411007'	550 01 0 02 000000 		HRRZ	A,(B)		;$$GET VALUE FROM SPDL
  6865	411010'	263 14 0 00 000000 		POPJ	P,		;$$
  6866
  6867	411011'	322 03 0 00 411015'	GETV:	JUMPE	C,GETV1
  6868	411012'	201 02 0 11 003750'		MOVEI	B,VALUE(S)		;$$ATOM NOT REBOUND, VALUE THEN IS 
  6869	411013'	260 14 0 00 404037'		PUSHJ	P,GET		;$$

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-167
UCILSP	MAC	27-MAR-75 17:13		NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS

  6870	411014'	322 01 0 00 411017'		JUMPE	A,UNBOND	;$$NOT BOUND AT ALL, GIVE UNBVAR MESSAGE
  6871	411015'	550 01 0 01 000000 	GETV1:	HRRZ	A,(A)		;$$GET CDR OF SPECIAL CELL
  6872	411016'	263 14 0 00 000000 		POPJ	P,		;$$
  6873
  6874	411017'	551 01 0 11 002706'	UNBOND:	HRRZI	A,UNBOUND(S)	;$$RETURN ATOM UNBOUND
  6875	411020'	263 14 0 00 000000 		POPJ	P,		;$$
  6876
  6877					;$$ROUTINE TO CLEAR SPECIAL PDL TO POSITION SPECIFIED BY INUM
  6878	411021'	201 02 0 01 177777 	CLRSPD:	MOVEI	B,-2-INUM0(A)	;$$ -2 TO GET OVER EVAL BLIP
  6879	411022'	554 07 0 00 000562'		HLRZ	TT,SC2#	;$$GET REAL SPD POINTER WITH A LHS
  6880	411023'	270 07 0 00 000002 		ADD	TT,B	;$$FIND OUT HOW MANY WORDS ARE USED
  6881	411024'	270 02 0 00 000562'		ADD	B,SC2	;$$
  6882	411025'	504 02 0 00 000007 		HRL	B,TT	;$$SET UP SPD POINTER
  6883	411026'	254 00 0 00 406226'		JRST	UBD		;$$UBD DOES ALL THE WORK
  6884
  6885					;$$ROUTINE TO RETURN FROM SPECIAL PDL CONTEXT, SPECIFIED BY AN
  6886					;$$EVAL BLIP, WITH A GIVEN VALUE
  6887	411027'	260 14 0 00 410761'	OUTVAL:	PUSHJ	P,NEXTEV	;$$FORCE TO AN EVAL BLIP
  6888	411030'	322 01 0 00 404013'		JUMPE	A,FALSE		;$$ NO EVAL BLIP, RETURN NIL
  6889	411031'	515 03 0 00 263600 		HRLZI	C,(POPJ P,)	;$$ SET TYPE OF RETURN
  6890	411032'	254 00 0 00 411060'		JRST	SPRE1		;$$ FINISH UP IN SPREDO
  6891
  6892
  6893					;$$ROUTINE TO RE-EVALUATE EXPRESSION FROM AN EVAL BLIP AND GO ON FROM
  6894					;$$ THAT CONTEXT (NOT A USER CALLABLE FUNCTION)
  6895	411033'	550 14 0 17 000001 	REVAL1:	HRRZ	P,1(SP)		;$$ RPDL POINTER IS UP ONE
  6896	411034'	550 06 0 00 000450'		HRRZ	T,C2#		;$$
  6897	411035'	554 07 0 00 000450'		HLRZ	TT,C2#		;$$
  6898	411036'	270 07 0 00 000014 		ADD	TT,P		;$$
  6899	411037'	274 07 0 00 000006 		SUB	TT,T		;$$
  6900	411040'	504 14 0 00 000007 		HRL	P,TT		;$$
  6901	411041'	200 12 0 00 000463'	DOSET:	MOVE D,ERRTN	;$$ POP ERRSETS, LOAD CURRENT ERRSET
  6902	411042'	332 00 0 00 000012 		SKIPE D		;$$DONE IF EMPTY
  6903	411043'	317 12 0 00 000014 		CAMG D,P		;$$ COMPARE TO CURRENT RPDL
  6904	411044'	256 00 0 00 000003 		XCT C		;$$ DONE, DO A STRANGE EXIT
  6905	411045'	274 12 0 00 411474'		SUB D,[XWD 1,1]	;$$ GO DOWN A WORD
  6906	411046'	262 12 0 00 000033'		POP D,ERRSW	;$$
  6907	411047'	262 12 0 00 000463'		POP D,ERRTN	;$$
  6908	411050'	274 12 0 00 411477'		SUB D,[XWD 2,2]	;$$ SKIP PROG JUNK
  6909	411051'	254 00 0 00 411041'		JRST DOSET	;$$ TRY AGAIN
  6910
  6911
  6912
  6913					;$$ROUTINE TO CLEAR SPD TO A GIVEN POINT AND REDO FROM THERE
  6914					;$$ A CONTAINS AN SPD INUM POINTER, FORCE IT TO BE EVAL BLIP POINTER
  6915
  6916	411052'	260 14 0 00 410761'	SPREDO:	PUSHJ	P,NEXTEV	;$$FORCE TO EVAL BLIP POINTER
  6917	411053'	322 01 0 00 404014'		JUMPE	A,CPOPJ		;$$RETURN NIL IF NO EVAL BLIP
  6918	411054'	200 02 0 00 000001 		MOVE	B,A	;$$GET THE EXPRESSION
  6919	411055'	274 02 0 00 000567'		SUB	B,SPNM
  6920	411056'	550 02 0 02 000000 		HRRZ	B,(B)
  6921	411057'	200 03 0 00 411543'		MOVE	C,[JRST EVAL]	;$$SET RETURN
  6922	411060'	261 14 0 00 000002 	SPRE1:	PUSH	P,B		;$$SAVE SPDL POINTER
  6923	411061'	260 14 0 00 411021'		PUSHJ	P,CLRSPD	;$$CLEAR OUT SPD - INCLUDES RESTORING PROGS
  6924	411062'	262 14 0 00 000001 		POP	P,A		;$$

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-168
UCILSP	MAC	27-MAR-75 17:13		NEW FUNCTIONS TO MAKE USE OF MODIFIED SPECIAL PDL FOR ERRORS

  6925	411063'	254 00 0 00 411033'		JRST	REVAL1
  6926
  6927					;$$ SPREVAL - SIMILAR TO OUTVAL BUT EVALUATES THE GIVEN VALUE
  6928					;$$AS OF THE SPECIFIED CONTEXT, EQUIVALENT TO:
  6929					;$$ (PROG2 (RPLACD (NUMVAL (SETQ A (NEXTEV A))) B) (SPREDO B))
  6930					;
  6931	411064'	260 14 0 00 410761'	SPREVAL:PUSHJ P,NEXTEV		;$$FORCE TO AN EVAL-BLIP
  6932	411065'	322 01 0 00 404014'		JUMPE	A,CPOPJ		;$$RETURN NIL IF NO EVAL-BLIP
  6933	411066'	254 00 0 00 411057'		JRST	SPRE1-1		;$$LET SPREDO FINISH UP
  6934
  6935
  6936					;$$COMPUTES A LISP POINTER TO A STACK ENTRY
  6937	411067'	274 01 0 00 000567'	STKPTR:	SUB	A,SPNM
  6938	411070'	263 14 0 00 000000 		POPJ	P,
  6939
  6940					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-169
UCILSP	MAC	27-MAR-75 17:13		LOW SEGMENT INCLUDING REMOTE CODE

  6941						SUBTTL LOW SEGMENT INCLUDING REMOTE CODE
  6942	000000'					RELOC	0
  6943	000000'	332 00 0 00 000473'		HERE
  6944	000001'	260 14 0 00 407142'
  6945	000002'	312 00 0 00 000573'
  6946	000003'	254 00 0 00 000007'
  6947	000004'	200 02 0 00 000562'
  6948	000005'	260 14 0 00 406226'
  6949	000006'	254 00 0 00 410350'
  6950	000007'	047 00 0 00 000000 
  6951	000010'	205 01 0 00 000001 
  6952	000011'	047 01 0 00 000011 
  6953	000012'	254 04 0 00 000000 
  6954	000013'	201 01 0 00 000021'
  6955	000014'	047 01 0 00 000040 
  6956	000015'	254 04 0 00 000000 
  6957	000016'	201 01 0 00 400002'
  6958	000017'	542 01 0 00 402267*
  6959	000020'	254 00 0 00 410350'
  6960	000021'	63 71 63 00 00 00 
  6961	000022'	54 51 63 60 00 00 
  6962	000023'	000000	000000
  6963	000024'	000000	000000
  6964	000025'	000000	000000
  6965	000026'	000000	000000
  6966	000027'	000000	000000
  6967	000030'	254 00 0 00 400200'
  6968	000031'	607 07 0 00 002000 
  6969	000032'	000000	400306'
  6970	000033'	777777	777777
  6971	000034'	254 00 0 00 401031'
  6972	000035'	616 04 1 00 000000 
  6973	000036'	066 00 0 00 000000 
  6974	000037'	063 00 0 00 740000 
  6975	000040'	001 00 0 00 401730'
  6976	000041'	061 00 0 00 020000 
  6977	000042'	254 00 0 00 400760'
  6978	000043'	254 00 0 00 400767'
  6979	000044'	000000	000000
  6980	000045'	000000	000007
  6981	000046'	254 00 0 00 401132'
  6982	000047'	254 00 0 00 000052'
  6983	000050'	136 01 0 00 000000 
  6984	000051'	263 14 0 00 000000 
  6985	000052'	057 00 0 00 000000 
  6986	000053'	254 00 0 00 000050'
  6987	000054'	001 00 0 00 411717'
  6988	000055'	000000	000105
  6989	000056'	000000	000105
  6990	000057'	000000	002613'
  6991	000060'	000000	000000
  6992	000061'	000000	000105
  6993	000062'	000000	000105
  6994	000102'	055 00 0 00 000123'
  6995	000103'	041 00 0 00 000013 

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-170
UCILSP	MAC	27-MAR-75 17:13		LOW SEGMENT INCLUDING REMOTE CODE

  6996	000104'	000000	000000
  6997	000105'	000000	000000
  6998	000106'	254 00 0 00 401726'
  6999	000107'	254 00 0 00 000114'
  7000	000110'	041 00 0 00 000000 
  7001	000111'	000000	000000
  7002	000112'	000000	000000
  7003	000113'	254 00 0 00 401726'
  7004	000114'	261 02 0 00 000111'
  7005	000115'	261 02 0 00 000126'
  7006	000116'	076 00 0 00 000123'
  7007	000117'	254 00 0 00 404013'
  7008	000120'	254 00 0 00 401526'
  7009	000121'	064 00 0 00 000002 
  7010	000122'	254 00 0 00 403764'
  7011	000127'	041 00 0 00 000000 
  7012	000130'	000000	000000
  7013	000131'	000000	000000
  7014	000132'	254 00 0 00 401724'
  7015	000133'	261 02 0 00 000111'
  7016	000134'	077 00 0 00 000123'
  7017	000135'	254 00 0 00 401570'
  7018	000136'	254 00 0 00 401562'
  7019	000137'	065 00 0 00 000002 
  7020	000140'	071 00 0 00 000000 
  7021	000141'	047 01 0 00 000040 
  7022	000142'	254 00 1 00 000017*
  7023	000143'	200 17 0 00 000556'
  7024	000144'	200 01 0 00 000504'
  7025	000145'	260 17 1 00 000503'
  7026	000146'	201 01 0 00 000021'
  7027	000147'	047 01 0 00 000040 
  7028	000150'	254 04 0 00 000000 
  7029	000151'	254 00 0 00 402261'
  7030	000152'	000000	000000
  7031	000153'	254 00 0 00 402510'
  7032	000154'	000000	000031
  7033	000155'	000000	000012
  7034	000156'	36 04 0 01 000161'
  7035	000157'	31 02 0 01 000161'
  7036	000160'	26 03 0 01 000161'
  7037	000361'	000000	000177
  7038	000362'	000003	000603'
  7039	000363'	000002	000603'
  7040	000364'	107 060 060 060 060 
  7041	000365'	000000	002706'
  7042	000366'	000001	000000
  7043	000367'	403 03 0 00 000001 
  7044	000370'	201 11 0 00 000000 
  7045	000371'	251 11 0 00 000000 
  7046	000372'	403 00 0 00 000000 
  7047	000373'	200 01 0 00 000404'
  7048	000374'	251 01 0 00 000000 
  7049	000375'	254 00 0 00 406703'
  7050	000376'	000000	000603'

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-171
UCILSP	MAC	27-MAR-75 17:13		LOW SEGMENT INCLUDING REMOTE CODE

  7051	000377'	000001	000000
  7052	000400'	000001	000000
  7053	000401'	000001	000000
  7054	000402'	000000	411723'
  7055	000403'	430104	000000
  7056	000404'	000000	000000
  7057	000405'	201 13 0 00 000603'
  7058	000406'	505 13 0 00 000000 
  7059	000407'	200 11 0 12 000000 
  7060	000410'	241 11 0 00 000000 
  7061	000411'	253 12 0 00 000000 
  7062	000412'	254 00 0 00 407062'
  7063	000413'	000000	000000
  7064	000414'	000100	000000
  7065	000415'	000000	000000
  7066	000416'	000000	000000
  7067	000417'	000000	000017
  7068	000420'	63 71 63 00 00 00 
  7069	000421'	000000	000000
  7070	000422'	777777	000426'
  7071	000423'	000000	000000
  7072	000424'	54 51 63 60 00 00 
  7073	000425'	000000	000000
  7074	000426'	000000	000000
  7075	000427'	000000	000000
  7076	000430'	000000	000000
  7077	000431'	000000	000000
  7078	000432'	000000	415670'
  7079	000433'	000000	000001
  7080	000434'				VAR
  7081					XALL
  7082						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-172
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7083						SUBTTL LISP ATOMS AND OBLIST	
  7084	000603'				FS:
  7085
  7086					DEFINE MAKBUC (A,%B)
  7087					<DEFINE OBT'A <%B=.>
  7088					XWD %B,IFN <<BCKETS-1>-A>,<.+1>
  7089					IF1 <%B=0>>
  7090
  7091					DEFINE ADDOB (A,C,%B)
  7092					<OBT'A
  7093					DEFINE OBT'A<%B=.>
  7094					IF1 <%B=0>
  7095					XWD C,%B>
  7096
  7097					DEFINE PUTOB (A,B)
  7098					<ZZ==<ASCII +A+>_<-1>
  7099					ZZ==-ZZ/BCKETS*BCKETS+ZZ
  7100						ADDOB \ZZ,B>
  7101
  7102					DEFINE PSTRCT (A)
  7103					<ZZ==[ASCII +A+]
  7104					LENGTH(ZY,<A>)
  7105					ZY==<ZY-1>/5
  7106					Q1(ZY,ZZ)
  7107					>
  7108
  7109					DEFINE Q1 (N,Z)<
  7110					IFN N,<XWD Z,[Q1(N-1,Z+1)]>
  7111					IFE N,<XWD Z,0>>
  7112
  7113
  7114					;## ARGS ARE A=NAME, B=PROP NAME, C'A=THE PROPERTY, D=LABEL OF ATOM
  7115
  7116					DEFINE MKAT (A,B,C,D)
  7117					<XLIST
  7118					IRP A< PUTOB A,.+1
  7119					D	XWD -1,.+1
  7120						XWD B,.+1
  7121						XWD C'A,.+1
  7122						XWD PNAME,.+1
  7123						XWD [PSTRCT(A)],0>
  7124					LIST>
  7125
  7126					;## ARGS ARE: D'A=PROPERTY, B=PROP NAME, C=NAME
  7127
  7128					DEFINE MKAT1 (A,B,C,D)
  7129					<XLIST
  7130					IRP C <PUTOB C,.+1
  7131						XWD -1,.+1
  7132						XWD B,.+1
  7133						XWD D'A,.+1
  7134						XWD PNAME,.+1
  7135						XWD [PSTRCT(C)],0>
  7136					LIST>
  7137

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-173
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7138					DEFINE LENGTH (A,B)
  7139					<A==0
  7140					IRPC B,<A==A+1>>
  7141
  7142					;## ATOM WITH SYM PROPERTY =V'ATOM LOCATION
  7143					DEFINE ML1 (A)<IRP A,<
  7144					V'A:	XWD	-1,.+1
  7145						XWD	FIXNUM,[A]
  7146						MKAT A,SYM,V
  7147					>>
  7148
  7149					;## SIMILAR TO ML1, EXCEPT %C=THE SYM PROP
  7150
  7151					DEFINE MKSY1 (A,B,%C)<
  7152					XLIST
  7153					%C:	XWD	-1,.+1
  7154						XWD	FIXNUM,[A]
  7155						PUTOB B,.+1
  7156						XWD	-1,.+1
  7157						XWD	SYM,.+1
  7158						XWD	%C,.+1
  7159						XWD	PNAME,.+1
  7160						XWD	[PSTRCT(B)],0
  7161					LIST>
  7162
  7163					;##  ATOM WITH NO PROPS WITH  LABEL SAME AS ATOM NAME
  7164
  7165					DEFINE ML (A)<
  7166					XLIST
  7167					IRP A,<PUTOB A,.+1
  7168					A:	XWD -1,.+1
  7169						XWD PNAME,.+1
  7170						XWD [PSTRCT(A)],0>
  7171					LIST>
  7172					;## CREATE ATOM WITH NO LABEL OR PROPS. USED FOR COMMON ATMS IN SYSTEM
  7173
  7174					DEFINE MK (A)<
  7175					XLIST
  7176					IRP A,<PUTOB A,.+1
  7177						XWD -1,.+1
  7178						XWD PNAME,.+1
  7179						XWD [PSTRCT(A)],0>
  7180					LIST>
  7181
  7182	000603'				OBTBL:
  7183			000000		OBLIST:	ZZ==0
  7184					XLIST
  7185					LIST
  7186
  7187					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-174
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7188					;## GENERATE # FNS ONLY IF NONUSEFUL VALUES DESIRED
  7189					IFN NONUSE<
  7190					MKAT1 MEMBR.,SUBR,MEMBER#
  7191					MKAT1 MEMB,SUBR,MEMQ#
  7192					MKAT1 AND.,FSUBR,AND#
  7193					MKAT1 OR.,FSUBR,OR#
  7194						>
  7195					MKAT<RPLACA,RPLACD,MINUS,TERPRI,CAR,CDR,CAAR>,SUBR^XLIST
  7196					MKAT<CADR,CDAR,CDDR,CAAAR,CAADR,CADAR,CADDR,CDAAR,CDADR,CDDAR,CDDDR>,SUBR^XLIST
  7197					MKAT<CAAAAR,CAAADR,CAADAR,CAADDR,CADAAR,CADADR,CADDAR,CADDDR,CDAAAR>,SUBR^XLIST
  7198					MKAT<CDAADR,CDADAR,CDADDR,CDDAAR,CDDADR,CDDDAR,CDDDDR,MAKNUM,CONS>,SUBR^XLIST
  7199					MKAT<STRINGP,ATOM,PATOM,EQ,PRIN1,PRINT,RETURN,EXPLODE,SASSOC,ASSOC>,SUBR^XLIST
  7200					MKAT<GCGAG,CHRCT,LINELENGTH,NUMBERP,EQUAL,GET,INTERN,MEMBER>,SUBR^XLIST
  7201					MKAT<LOAD,MAKNAM,READCH,NOT,NULL,GENSYM,ZEROP,DIVIDE,GCD>,SUBR^XLIST
  7202					MKAT<TIME,FIX,SET,PROG2,LENGTH,READLIST,LAST,ADD1,SUB1>,SUBR^XLIST
  7203					MKAT<GCTIME,REVERSE,SPEAK,GC,GETL,BAKGAG,MEMQ>,SUBR^XLIST
  7204					MKAT<PUTPROP,PRINC,FLATSIZE,ERR,EXAMINE,DEPOSIT,LSH>,SUBR^XLIST
  7205					MKAT<NCONS,XCONS,REMPROP,ARG,SETARG,NOUUO,MINUSP>,SUBR^XLIST
  7206					MKAT<OUTC,INC,DDTIN,INITFN,EXCISE,REMAINDER,ABS>,SUBR^XLIST
  7207					MKAT<PROG1,SPRINT,LITATOM,NTHCHAR>,SUBR^XLIST
  7208					IFN STPGAP,<MAKAT<PGLINE>,SUBR>
  7209
  7210					MKAT EXPLODEC,SUBR,%^XLIST
  7211					MKAT TAB,SUBR,.^XLIST
  7212					MKAT TYO,SUBR,I^XLIST
  7213						MKAT TYI,SUBR,I^XLIST
  7214			002213'		CEVAL=.+1
  7215					MKAT1 EVAL,SUBR,*EVAL^XLIST
  7216
  7217					;$$ REDEF. FOR NEW MAP FUNCTIONS
  7218					MKAT<MAPCAN,MAPCON,MAPLIST,MAPCAR,MAP,MAPC>,LSUBR^XLIST
  7219					;$$ GIVE MAPCAN THE DOUBLE NAME MAPCONC
  7220					MKAT1 MAPCAN,LSUBR,MAPCONC^XLIST
  7221
  7222	002272'				PROGAT:	MKAT<PROG>,FSUBR^XLIST
  7223
  7224					;##LIST STARTS HERE
  7225					MKAT LIST,FSUBR,,LISTAT:^XLIST
  7226
  7227					MKAT <PROGN,COND,SETQ,INPUT,OUTPUT,SETSYS>,FSUBR ^XLIST
  7228					IFN ALVINE,<MKAT<GRINDEF>,FSUBR
  7229						    MKAT<ED>,SUBR>
  7230					IFE ALVINE,<MK<GRINDEF>>^
  7231					MKAT<ERRSET,REMOB,OR,GO,ARRAY,STORE>,FSUBR^XLIST
  7232					MKAT<AND,DEFPROP,CSYM,EXARRAY>,FSUBR^XLIST
  7233					MKAT1 QUOTE,FSUBR,FUNCTION^XLIST
  7234					MKAT1 %CLRBFI,SUBR,CLRBFI^XLIST
  7235					MKAT1 .ERROR,SUBR,ERROR^XLIST
  7236					MKAT1 LINRD,SUBR,LINEREAD^XLIST
  7237					MKAT1 UNBOND,SUBR,UNBOUND^XLIST
  7238					MKAT1 ECHO,SUBR,TTYECHO^XLIST
  7239					MKAT1 FUNCT,FSUBR,*FUNCTION^XLIST
  7240					MKAT <APPEND,NCONC,BOOLE,APPLY>,LSUBR^XLIST
  7241
  7242					;## LABELS ON READ AND LISP EVAL FOR BOOTS

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-175
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7243					MKAT READ,SUBR,,READAT:^XLIST
  7244					MKAT EVAL,LSUBR,O,EVALAT:^XLIST
  7245					MKAT ASCII,SUBR,A^XLIST
  7246					MKAT QUOTE,FSUBR,,CQUOTE:^XLIST
  7247					MKAT INUM0,SYM^XLIST
  7248
  7249		250000	000000			PUTOB T,.+1^ZZ==<ASCII +T+>_<-1>
  7250	002612'	002613'	004161'		XWD .+1,..0503^^
  7251	002613'	777777	002614'		TRUTH:	XWD -1,.+1
  7252	002614'	003750'	002615'			XWD VALUE,.+1
  7253	002615'	002620'	002616'			XWD VTRUTH,.+1
  7254	002616'	003734'	002617'			XWD PNAME,.+1
  7255	002617'	412376'	000000			XWD [PSTRCT(T)],0
  7256	002620'	000000	002613'		VTRUTH:	TRUTH
  7257
  7258		235114	600000			PUTOB NIL,0^ZZ==<ASCII +NIL+>_<-1>
  7259	002621'	000000	004211'		XWD 0,..0504^^
  7260	002622'	003750'	002623'		CNIL2:	XWD VALUE,.+1
  7261	002623'	002626'	002624'			XWD VNIL,.+1
  7262	002624'	003734'	002625'			XWD PNAME,.+1
  7263	002625'	412615'	000000			XWD [PSTRCT(NIL)],0
  7264	002626'	000000	000000		VNIL:	NIL
  7265					MKSY1 %LCALL,*LCALL^
  7266					MKSY1 %AMAKE,*AMAKE^
  7267					MKSY1 %UDT,*UDT^
  7268					MKSY1 .MAPC,*MAPC^
  7269					MKSY1 .MAP,*MAP^
  7270					MKAT1 %NOPOINT,VALUE,*NOPOINT^XLIST
  7271	002705'	000000	000000		%NOPOINT:	NIL
  7272
  7273
  7274	002706'	777777	002707'		UNBOUND:	XWD -1,.+1
  7275	002707'	003734'	002710'			XWD PNAME,.+1
  7276	002710'	412557'	000000			XWD [PSTRCT(UNBOUND)],0
  7277					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-176
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7278					MKAT1 EXPN1,SUBR,*EXPAND1^XLIST
  7279					MKAT1 EXPAND,SUBR,*EXPAND^XLIST
  7280					MKAT1 PLUS,SUBR,*PLUS,.^XLIST
  7281					MKAT1 DIF,SUBR,*DIF,.^XLIST
  7282					MKAT1 QUO,SUBR,*QUO,.^XLIST
  7283					MKAT1 TIMES,SUBR,*TIMES,.^XLIST
  7284					MKAT1 APPEND,SUBR,*APPEND,.^XLIST
  7285					MKAT1 RSET,SUBR,*RSET,.^XLIST
  7286					MKAT1 GREAT,SUBR,*GREAT,.^XLIST
  7287					MKAT1 LESS,SUBR,*LESS,.^XLIST
  7288					MKAT1 PUTSYM,SUBR,*PUTSYM^XLIST
  7289					MKAT1 GETSYM,SUBR,*GETSYM^XLIST
  7290					MKAT1 RPTSYM,SUBR,*RPUTSYM^XLIST
  7291					MKAT1 RGTSYM,SUBR,*RGETSYM^XLIST
  7292
  7293					ML1 <SPECBIND,SPECSTR,FIX1A,NSTR>^IRP 
  7294	003035'	777777	003036'		VSPECBIND:	XWD	-1,.+1
  7295	003036'	003740'	412723'			XWD	FIXNUM,[
  7296	003045'	777777	003046'		VSPECSTR:	XWD	-1,.+1
  7297	003046'	003740'	411554'			XWD	FIXNUM,[
  7298	003055'	777777	003056'		VFIX1A:	XWD	-1,.+1
  7299	003056'	003740'	412734'			XWD	FIXNUM,[
  7300	003065'	777777	003066'		VNSTR:	XWD	-1,.+1
  7301	003066'	003740'	412737'			XWD	FIXNUM,[
  7302
  7303		235254	665501			PUTOB NUMVAL,.+1^ZZ==<ASCII +NUMVAL+>_<-1>
  7304	003075'	003076'	003265'		XWD .+1,..0542^^
  7305	003076'	777777	003077'			XWD -1,.+1
  7306	003077'	003760'	003100'			XWD SUBR,.+1
  7307	003100'	405071'	003101'			XWD NUMVAL,.+1
  7308	003101'	004000'	003104'			XWD SYM,.+3
  7309	003102'	003740'	412742'			XWD FIXNUM,[NUMVAL]
  7310	003103'	777777	003102'			XWD -1,.-1
  7311	003104'	003103'	003105'			XWD .-1,.+1
  7312	003105'	003734'	003106'			XWD PNAME,.+1
  7313	003106'	412746'	000000			XWD [PSTRCT(NUMVAL)],0
  7314
  7315					MKAT <OBLIST,BASE,IBASE,BPEND,BPORG>,VALUE,V^XLIST
  7316
  7317
  7318					;## QUEUE ATOMS AND OTHER NEW FNS.
  7319
  7320					MKAT<GTBLK,ERRCH,RDNAM>,SUBR^XLIST
  7321					MKAT<INUMP,NUMTYPE>,SUBR^XLIST
  7322					MKAT<UFDINP,RDFILE,MYPPN,BLKLST>,SUBR^XLIST
  7323					MKAT<RENAME,DELETE,INITFL>,FSUBR^XLIST
  7324					IFN	QALLOW<			;%% [1]
  7325					ML<DISP,CPU,FORMS,LIMIT,COPIES>^
  7326					MKAT<QUEUE>,FSUBR^XLIST
  7327							>		;%% [1]
  7328					MK<SUBST,COPY,*RENAME,FILBAK,LBK,DIR>^
  7329					MKAT1 ISFILE,SUBR,LOOKUP^XLIST
  7330					MK<NO BACKUP >^
  7331
  7332					IFN	QALLOW<		;%% [1]

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-177
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7333					;## MOST OF THE EXTENDED SWITCHES (NOT ALL)
  7334					IFN	QSWEXT<
  7335						ML<DEAD,AFTER>
  7336						ML<MODIFY,KILL,JOB,DEPND,UNIQUE>
  7337						ML<PAGES,PLOT,PTAPE,CARD,SEQ,PRIOR,SPACE,LIMIT,HEAD>
  7338						>		;##END OF EXTENDED SWITCHES
  7339							>	;%% END OF QALLOW CONDITIONAL [1]
  7340
  7341					;$$ATOMS FOR DEFINITIONS OF FUNCTIONS FOR NEW SPDL PACKAGE
  7342
  7343						ML ERRORX^
  7344						MKAT1 INTPRP,SUBR,INITPROMPT^XLIST
  7345						MKAT1 LSPRET,FSUBR,**TOP**^XLIST
  7346						MKAT<PROMPT,READP,UNTYI,STKPTR,SPREDO,SPREVAL>,SUBR^XLIST
  7347						MKAT<MEMB,NEXTEV>,SUBR^XLIST
  7348						MKAT<SPDLFT,SPDLRT,SPDLPT>,SUBR^XLIST
  7349						MKAT<EVALV,OUTVAL>,SUBR^XLIST
  7350
  7351						IFN	REALLC <
  7352					;%% NEW DYNAMIC REALLOCATION FUNCTION
  7353						MKAT1 REALLO,SUBR,REALLOC
  7354						MKAT<FWCNT,FSCNT>,SUBR
  7355					>
  7356
  7357					;$$ MORE EXTENSIONS INCLUDING READ MACROS
  7358						ML READMACRO^
  7359						MKAT1 %FLATSIZEC,SUBR,FLATSIZEC^XLIST
  7360						MKAT <NEQ,CONSP,CHRVAL,SETCHR,MODCHR,LEXORDER>,SUBR ^XLIST
  7361						MKAT <FREE,FREELIST,SYSCLR,HGHCOR,HGHORG,HGHEND>,SUBR^XLIST
  7362						MKAT1 FALSE,FSUBR,SPECIAL^XLIST
  7363						MKAT1 FALSE,FSUBR,NOCALL^XLIST
  7364						MKAT1 FALSE,FSUBR,DECLARE^XLIST
  7365						MKAT1 FALSE,FSUBR,NILL^XLIST
  7366						MKAT1 APPLY.,SUBR,APPLY#^XLIST
  7367						MKAT1 .MAX,SUBR,*MAX^XLIST
  7368						MKAT1 .MIN,SUBR,*MIN^XLIST
  7369
  7370					;$$ THE BREAK VARIABLES WHICH TELL ABOUT DEPTH IN THE BREAK PACKAGE
  7371						MKAT1 BIOCHN,VALUE,#%IOCHANS%#^XLIST
  7372						MKAT1 BPMPT,VALUE,#%PROMPTS%#^XLIST
  7373						MKAT1 BINDNT,VALUE,#%INDENT^XLIST
  7374	003725'	000000	000000		BIOCHN:	NIL
  7375	003726'	000000	000000		BPMPT:	NIL
  7376	003727'	000000	577777		BINDNT:	INUM0
  7377
  7378	003730'	000000	000603'		VOBLIST:	OBLIST
  7379	003731'	000000	600007		VBASE:	8+INUM0
  7380	003732'	000000	600007		VIBASE:	8+INUM0
  7381
  7382					ML <PNAME,FIXNUM,FLONUM,VALUE,LAMBDA,SUBR,FSUBR,EXPR,FEXPR,SYM,^_
  7383					$EOF$,LABEL,FUNARG,LSUBR,MACRO>^
  7384
  7385		176000	000000			PUTOB ?,.+1^ZZ==<ASCII +?+>_<-1>
  7386	004027'	004030'	006235'		XWD .+1,..0671^^
  7387	004030'	777777	004031'		QST:	XWD -1,.+1

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-178
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7388	004031'	003734'	004032'			XWD PNAME,.+1
  7389	004032'	413364'	000000			XWD [PSTRCT(?)],0
  7390
  7391	004033'	000000	577777		VBPORG:	INUM0
  7392	004034'	000000	577777		VBPEND:	INUM0
  7393
  7394					;MKAT ACHLOC,SYM
  7395					;DONT KNOW WHATS UP HERE, IF NEEDED CHECK ACHLOC
  7396					;%% THIS WAS A PREDECESSOR TO THE FUNCTIONS UNDER SWITCH "REALLC"
  7397					;%% NO LONGER USEFUL
  7398
  7399					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-179
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7400					;
  7401					;	ALL THE ATOMS IN THE WHOLE SYSTEM
  7402					MK<USERERRORX,RPUTSYM,RGETSYM>^
  7403					MK<A,ADD,AFTER,ALIAS,ARGPRINT,ASSOC#,ATM,B,BEFORE,BELOW,BEND1,BF,BI,BIND>^
  7404					MK<BK,BKE,BKEV,BKEVAL,BKF,BKFNLIST,BKFV,BKPOS,BKPROG,BKSETQ,BKV>^
  7405					MK<BLOCK,BLOCKED,BO,BORG1,BREAK>^
  7406					MK<BREAKMACROS,BREAK0,BREAK1,BREAK1ERX,BRKAPPLY>^
  7407					MK<BRKCOMS,BRKEXP,BRKFN,BRKTYPE,BRKWHEN,BROKEN,BROKENFNS>^
  7408					MK<BY,C,CAIE,CAIN,CALL,CALLF,CALLF@,CAME,CAMN,CAN'T,CHANGE>^
  7409					MK<CHNGDFLG,CLEARB,CLEARM,COM,COM0>^
  7410					MK<COMS,COMSQ,COPYFLG,CPTR,D,DE,DEFSYM,DELETE,DF>^
  7411					MK<DIFFERENCE,DIFFERENT EXPRESSION,DM,DREVERSE,DRM,DSKIN>^
  7412					MK<DSKOUT,DSM,DSUBST,E,EDIT,EDIT-SAVE>^
  7413					MK<EDIT4E,EDIT4F,EDIT4F1,EDIT:,EDITBF,EDIT1,EDITCOMSL>^
  7414					MK<EDITE,EDITF,EDITFNS,EDITFPAT>^
  7415					MK<EDITL,EDITL0,EDITL1,EDITMACROS,EDITMBD,EDITMV>^
  7416					MK<EDITOPS,EDITQF,EDITRACEFN,EDITXTR,EMBED,ENTER ,ERXACTION>^
  7417					MK<EX,EXCH,EXTRACT,F,F=,FF,FILES-LOADED,FINDFLAG,FNDBRKPT,FOR,FOUND>^
  7418					MK<FROM,FROM?=,FS,FUNTYPE,G,GETSYM,GREATERP,GRINL,GVAL>^
  7419					MK<GWD,HERE,HLLZS@,HLRZ,HLRZ@,HRLM@,HRRM,HRRM@,HRRZ,HRRZ@,HRRZS@>^
  7420					MK<I,IF,IN,INSERT,INSIDE,JCALL,JCALLF,JCALLF@,JRST,JSP>^
  7421					MK<JUMPE,JUMPN,KLIST,L,L0,L11,L12,LAP,LAPEVAL,LAPLST,LASTAIL>^
  7422					MK<LASTPOS,LASTWORD,LASTP1,LASTP2,LASTVALUE,LC,LCFLG,LCL,LDIFF,LESSP>^
  7423					MK<LEXPR,LI,LO,LP,LPQ,LPTLENGTH,LSUBST>^
  7424					MK<M,MARK,MARKLST,MAX,MAXLEVEL,MAXLEVEL EXCEEDED>^
  7425					MK<MAXLOOP,MAXLOOP EXCEEDED,MBD,MIN,MOVE,MOVEI,MOVEM>^
  7426					MK<MOVNI,MV,N,N?,NAMESCHANGED,NEX,NOT BLOCKED,NOT EDITABLE>^
  7427					MK<NOTHING SAVED,NTH,NX,OCCURRENCES,OK,OLDPROMPT,OPS,ORF,ORR>^
  7428					MK<P,PLEV,PLUS,POP,POPJ,PP,PREVEV,PRINLEV,PRINTLEV>^
  7429					MK<PUSH,PUSHJ,PUTSYM,QLIST,QUOTIENT,R,READBUF>^
  7430					MK<REDEFINED,REMOVE,REPACK,REPLACE,RETFROM,RI,RO> ^;##REMOVE MARKER
  7431					MK<S,SAVE,SECOND,SELECTQ,SN,SOJE,SOJN>^
  7432					MK<START,STKCOUNT,STKNAME,STKNTH>^
  7433					MK<STKSRCH,STOP,SUB,SUBPAIR,SURROUND,SW>^
  7434					MK<TAILP,TCONC,TDZA,TEST,THIRD,THROUGH,THRU,TIMES,TO>^
  7435					MK<TOFLG,TOPFLG,TRACE,TRACEDFNS,TTY:,TYPE,UNBLOCK,UNBREAK>^
  7436					MK<UNBREAK0,UNBREAKABLEFNS,UNDEF,UNDO>^
  7437					MK<UNDOLST,UNDOLST1,UNDONE,UNFIND,UNTRACE,UP>^
  7438					MK<UPFINDFLG,USE,USERMACROS,WHEN,WITH,X,XTR,Y,ZZ>^
  7439					MK<@,<\>,<\#\ >,<\P>,^,^^,_,__, ,   ,  ?, . ,< . UNBOUND)>>^
  7440					MK<- LOCATION UNCERTAIN, = ,!  ,!0,!NX,!UNDO,!VALUE,##>^
  7441					MK<#1,#2,#3,$%DOTFLG,%%BKPOS,%%CMDL,%%V>^
  7442					MK<%DEFINE,%DEREAD,%DEVP,%ERDEPTH,%LOOKDPTH,%PREVFN%>^
  7443					MK<%PRINFN,%READIN,&,& ,<(>,<(DEFPROP >,<)>,*,*ANY*,*RSETERX,-->^
  7444					MK<-IN-,::,:::,/BREAK1,:,=,==,?=,??>^
  7445					MK<... , ...],BINARY PROGRAM SPACE EXCEEDED>^
  7446					MK<NOT A TAIL - LDIFF,NO EVAL BLIP - RETFROM>^
  7447					MK<BAD ARGUMENT - LCONC,BAD ARGUMENT - TCONC>^
  7448					MK<DSK:,INIT,LSP,NOT IN SYMBOL TABLE,& UNHAPPY>^
  7449					MK<ARGUMENTS NOT FOUND,NOT BREAKABLE FUNCTION,ARGUMENT LIST?>^
  7450					MK<AROUND,BREAKIN,EDBRK,BROKEN-IN,EDVAL,DREMOVE,LCONC,SUBLIS>^
  7451					MK<EDITDSUBST,MAKEFN,FNDEF,LXPD,WHERE,MESS>^
  7452					MK<SHOULD BE LIST,SHOULD BE LIST OF ATOMIC ARGUMENTS>^
  7453					MK<FSUBR -- TAKES ONLY ONE ARGUMENT,UNBREAKABLE UNLESS 'IN' SOMETHING>^
  7454					MK<EDITV,GRINPROPS,=EDITV,EDITP,ARGS,EDITFINDP>^

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-180
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7455
  7456					;%% MORE NEW SYSTEM FUNCTIONS
  7457					MK<Q,%%MSGFLAG,-,SUBFUN1*RSETERX,SUBFUN2*RSETERX>^
  7458
  7459					;ATOMS OF GENERATED FUNCTIONS
  7460					MK<SUBFUN1ARGPRINT,SUBFUN1BREAKIN0,SUBFUN1EDITCONT,SUBFUN1EDITL1,SUBFUN1EDOR>^
  7461					MK<SUBFUN1EDVAL,SUBFUN1ERRCOM>^
  7462	007045'				BFWS:
  7463	007045'	000000	000000		EFWS:	0
  7464	411071'				RELOC
  7465					XLIST
  7466					LIST
  7467	415670'	000000	000000		BHORG:	0
  7468	007046'				RELOC
  7469						PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-181
UCILSP	MAC	27-MAR-75 17:13		LISP ATOMS AND OBLIST	

  7470
  7471							SUBTTL LISP STORAGE ALLOCATOR (ONCE ONLY) 
  7472
  7473
  7474	007046'	402 00 0 00 000557'	ALLOC:	CLEARM	0,SBPS		;SET UP INITIAL ALLOCATIONS FOR SPACE
  7475	007047'	551 01 0 00 006242 		HRRZI	A,BFWS-FS	;THIS IS THE SIZE OF THE ORIGINAL FS
  7476	007050'	552 01 0 00 000563'		HRRZM	A,SFS
  7477	007051'	551 01 0 00 000000 		HRRZI	A,EFWS-BFWS	;THIS ALLOWS ONLY THE INITIAL
  7478	007052'	552 01 0 00 000564'		HRRZM	A,SFWS		;FWS
  7479	007053'	551 01 0 00 000000 		HRRZI	A,0		;THE INITIAL ALLOCATION FOR SPDL
  7480	007054'	552 01 0 00 000572'		HRRZM	A,SSPDL
  7481	007055'	552 01 0 00 000571'		HRRZM	A,SRPDL		;AND FOR RPDL IS SET UP IN INALLC
  7482	007056'	551 01 0 00 000603'		HRRZI	A,FS
  7483	007057'	552 01 0 00 000470'		HRRZM	A,FSO		;THIS SETS UP INITIAL FS POINTER
  7484	007060'	551 01 0 00 007045'		HRRZI	A,BFWS		;THIS SETS UP INITIAL FWS ORIGIN POINTER
  7485	007061'	552 01 0 00 000472'		HRRZM	A,FWSO#
  7486
  7487	007062'	551 01 0 00 007045'		HRRZI	A,EFWS
  7488	007063'	552 01 0 00 000460'		HRRZM	A,EFWSO#
  7489
  7490
  7491	007064'	201 01 0 00 000603'		MOVEI	A,FS
  7492	007065'	272 01 0 00 004033'		ADDM	A,VBPORG	;SET UP VARIABLE FOR BPS ORIGIN
  7493	007066'	370 00 0 00 000001 		SOS	A
  7494	007067'	272 01 0 00 004034'		ADDM	A,VBPEND
  7495
  7496	007070'	200 01 0 00 410350*		MOVE	A,JOBREL
  7497	007071'	506 01 0 00 410356*		HRLM	A,JOBSA
  7498	007072'	047 00 0 00 000000 		CALLI 	RESET
  7499	007073'	201 01 0 00 400000'		MOVEI	A,DDT
  7500	007074'	047 01 0 00 000002 		CALLI	A,2	;SET UP DDT REENTRY POINT FOR AUTOMATIC CONTROL H
  7501	007075'	201 01 0 00 000000'		MOVEI	A,LISPGO
  7502	007076'	542 01 0 00 007071*		HRRM	A,JOBSA
  7503
  7504	007077'	476 00 0 00 000513'		SETOM	INITFW#		;FLAG FOR STANDARD INITIALIZATION OF
  7505	007100'	402 00 0 00 000514'		SETZM	JRELO#		;OF SIZES, AND TO INDICATE CORE WAS EXPANDED
  7506
  7507	007101'	254 00 0 00 410350'		JRST	INALLC
  7508
  7509
  7510					DEFINE MKENT (A)<
  7511					INTERNAL A>
  7512					;##DEBUG QUEUE
  7513					MKENT <CADAR,ATMOV,CADAR,CORUSE,DEBUGO,DEV>^
  7514					IFN	QALLOW<			;%% [1]
  7515					MKENT <COPIES>			^
  7516							>		;%% [1]
  7517					MKENT <EXT,HGHDAT,INUM0,INUMIN,IOPPN,LISTAT,MORCOR,MOVDWN>^
  7518					MKENT <NXTIO,OLDCU,SIXMAK,STNIL>^
  7519
  7520					MKENT <EVBIG,NUMBP2,OPOV,NUMV2,NUMV3,NUMV4,OPR,FLOOV,FIX2>^
  7521					MKENT <NUM1,NUM3,BPR,FWCONS,FALSE,TRUE,FW0CNS,NCONS>^
  7522					MKENT <READ,READP1,MAKNUM,PRIN1,PRINT,EXPLODE,SASSOC,EQUAL>^
  7523					MKENT <CHCT,LINL,OLDCH,FLATSIZE,TYI,RATOM,CHRCT,TYOD>^
  7524					MKENT <GET,INTERN,REMOB,MAKNAM,GENSYM,FIX,LENGTH,READLIST,PATOM>^

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-182
UCILSP	MAC	27-MAR-75 17:13		LISP STORAGE ALLOCATOR (ONCE ONLY) 

  7525					MKENT <LAST,INC,OUTC,FIX1A,NUMVAL,REVERSE,MAPLIST,GC,GETL,PUTPROP>^
  7526					MKENT <ERR,MAPCAR,REMPROP,LIST,SETQ,ERRSET,REMOB,ARRAY,APPEND>^
  7527					MKENT <SPECBIND,SPECSTR,XCONS,ATOM,READCH,SET,NCONC,PRINC>^
  7528					MKENT <CONS,ACONS,CTY,FP7A1,TERPRI,LSPRET>^
  7529					MKENT <TYO,ITYO,IGSTRT,NOINFG,CHRTAB,EVAL,OEVAL,.APPEND,INPUT,OUTPUT>^
  7530					IFN ALVINE,<MKENT<PSAV1,BKTRC>>
  7531
  7532					;%% RECENT ADDITIONS
  7533					MKENT <FLTYIA,SIXATM,BNINIT,RDFILE,UFDINP,MYPPN>^
  7534					IFN	QALLOW<		;%% [1]
  7535					MKENT <QUEUE>			^
  7536							>		;%% [1]
  7537					MKENT <SYSIN0,SYSIN1,SYSINI,SYSINP>^
  7538						IFN	REALLC <
  7539					MKENT <FWCNT,FSCNT,REALLO>
  7540					>
  7541
  7542					;$$ FOR ALAN'S DIRECT ACCESS INPUT
  7543					MKENT <ININBF,TYI2,TYIA,INCH>^
  7544
  7545					;## FOR BILL'S DIRECT ACCESS INPUT/OUTPUT
  7546					MKENT <AIN.2,AIN.4,AIN.7,AOUT.2,CHANNE>^
  7547					MKENT <CHNSUB,CHTAB,DEVDAT,ENTR,IOSUB>^
  7548					MKENT <LOOKIN,OUTCH,OUTERR,POPAJ,PPN,SMAC>^
  7549					MKENT <TABSR1,TABSRC,TYI2E,TYI2Z,TYI3B,TYO2X>^
  7550					MKENT <TYO5,AIOP,SETIN>^
  7551
  7552					;$$ FOR ALVINE
  7553					MKENT <PROMPT,INUM0,MEMQ,UNBOUND>^
  7554
  7555					;%% FOR THE MODIFIED ARITHMETIC PACKAGE
  7556					MKENT <FIXNUM,FLONUM>^
  7557
  7558					PAGE

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE 1-183
UCILSP	MAC	27-MAR-75 17:13		LISP STORAGE ALLOCATOR (ONCE ONLY) 

  7559			007046'			END ALLOC

NO ERRORS DETECTED

HI-SEG. BREAK IS 415671
PROGRAM BREAK IS 007102
CPU TIME USED 04:35.312

31K CORE USED

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-1
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

A		000001		APPLY		405724'		BOOTOK		400131'		CHLL		000002	SPD	
AAGN		405444'		APPLY.		405436'		BOOTOT		400147'		CHNAM		000000	SPD	
AASCII		403647'		APRFLG		230000	SPD	BOOTS		400116'		CHNSUB		401254'	INT	
ABIND2		405621'		APRINI		000016	SPD	BPMPT		003726'		CHOCH		000003	SPD	
ABIND3		405630'		APRINT		400151'		BPPNR		000444'		CHPPN		000002	SPD	
ABORT		407773'		AR1		000004		BPR		402411'	INT	CHRCT		401130'	INT	
ABS		405143'		AR2A		000005		BPSFLG		000445'		CHRTAB		000161'	INT	
ACFLD		000014	SPD	ARG		406173'		BSFLG		000446'		CHRVAL		403561'		
ACHLOC		410457'		ARGP1		400311'		BSIZE		000447'		CHTAB		000062'	INT	
ACONS		403656'	INT	ARGPDL		400306'		C		000003		CILIST		405700'		
ADD1		405007'		ARRAY		406326'	INT	C1GCS		000413'		CLRBFI	051440	000000		
ADRFLD		000043	SPD	ARRAYS		406340'		C2		000450'		CLRBLK		402310'		
AEVAL		405606'		ARRB0		406425'		C2GC		000403'		CLRSPD		411021'		
AEVAL1		405613'		ARRB1		406436'		C2GCS		000414'		CNIL2		002622'		
AEVAL2		000434'		ARRB2		406440'		C3GC		000404'		CNTLB		000002	SPD	
AEVAL4		405572'		ARREND		406333'		C3GCS		000415'		CNTLE		000005	SPD	
AEVAL5		000435'		ARRERR	777777	777777		CAAAAR		403632'		CNTLG		000007	SPD	
AEVAL6		405566'		ARRY1		406376'		CAAADR		403631'		CNTLH		000010	SPD	
AEVAL7		405632'		ARRY2		406412'		CAAAR		403622'		CNTLR		000022	SPD	
AEVAL8		405565'		ARRY3		406444'		CAADAR		403620'		CNTLZ		000032	SPD	
AEXP		405674'		ARRY6		406476'		CAADDR		403617'		CNVPPN		401462'		
AGC		406667'		ARRYS		406445'		CAADR		403621'		COMMEN		402734'		
AIN.1		401720'		ASSOC		404012'		CAAR		403604'		COMP2		405042'		
AIN.2		401722'	INT	ATMOV		000441'	INT	CADAAR		403643'		COMP3		404215'		
AIN.4		401724'	INT	ATOM		403701'	INT	CADADR		403642'		CON2		404700'		
AIN.7		401726'	INT	AVLB		000040	SPD	CADAR		403602'	INT	CONCOR		402276'		
AIN.8		401730'		B		000002		CADDAR		403600'		COND		404701'		
AIOP		401732'	INT	BACTRF		000442'		CADDDR		403577'		COND2		404711'		
ALIST		405556'		BAKGAG		400740'		CADDR		403601'		CONS		403661'	INT	
ALLNM1		000436'		BANGCK		410736'		CADR		403603'		CONSP		403670'		
ALLNUM		410721'		BCKETS		000177	SPD	CALLF	036000	000000		CONSVA		000452'		
ALLOC		007046'		BDEV		000104'		CAR		403605'		COPIES		003276'	INT	
ALOK		410456'		BDEV1		000105'		CDAAAR		403640'		CORE		000011	SPD	
ALTMOD		000033	SPD	BELL		000007	SPD	CDAADR		403637'		CORUSE		000453'	INT	
ALVINE		000000	SPD	BFWS		007045'		CDAAR		403627'		COUNT		000006	SPD	
AMODE		000437'		BHORG		415670'		CDADAR		403625'		CPOPJ		404014'		
AND		404354'		BIND		406177'		CDADDR		403624'		CPOPJ1		404010'		
ANDOR		404357'		BIND1		406214'		CDADR		403626'		CPU		003262'		
AOEND		404374'		BIND2		406204'		CDAR		403614'		CQUOTE		002577'		
AOUT.2		401722'	INT	BIND3		000443'		CDDAAR		403635'		CR		000015	SPD	
AOUT.4		401724'		BINDNT		003727'		CDDADR		403634'		CSET1		404135'		
AOUT2		000127'		BINER2		400171'		CDDAR		403612'		CSET2		404127'		
AOUT3		000130'		BINLD		410170'		CDDDAR		403610'		CSET3		404113'		
AP2		405734'		BINPUT		401347'		CDDDDR		403607'		CSW		000454'		
AP3		405736'		BIOCHN		003725'		CDDDR		403611'		CSYM		404415'		
APBK1		406111'		BLKLS1		406564'		CDDR		403613'		CTY		402507'	INT	
APBK2		406100'		BLKLST		406552'		CDR		403615'		CURBUC		000455'		
APFNG		405764'		BLKSIZ		000415	SPD	CEV		400634'		CUT		000456'		
APFNG1		000440'		BNDERR		400704'		CEVAL		002213'		D		000012		
APLBL		406121'		BNINIT		000103'	INT	CHANNE		000451'	INT	D1		410012'		
APLBL1		406137'		BOOL1		406644'		CHCT		000056'	INT	D2		410031'		
APP1		404314'		BOOLE		406625'		CHDAT		000004	SPD	DBLQT		000042	SPD	
APP2		404275'		BOOLG		406637'		CHDEV		000001	SPD	DDT		400000'		
APPEND		404272'	INT	BOOLI		000367'		CHHP		000003	SPD	DDTIFG		000057'		
APPL.2		405670'		BOOLL		406634'		CHKGO		402317'		DDTIN		401134'		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-2
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

DEBUGO		400002'	INT	ERRIO		400465'		FF		000016		GC1		406722'		
DEFPRO		404140'		ERRO2B		400512'		FIL		401241'		GCBT		406757'		
DELCLS		000003	SPD	ERRO2C		400514'		FILARE		402164'		GCBTL1		000406'		
DELERR		401404'		ERRO2G		400535'		FILDEF		402201'		GCBTL2		000410'		
DELET1		401411'		ERRO2H		400526'		FILECH		402130'		GCBTP1		000377'		
DELET2		401417'		ERROR		400537'		FILPAR		000016	SPD	GCBTP2		000400'		
DELETE		401407'		ERROR1		400556'		FIX		405120'	INT	GCD		405176'		
DEPOSI		406653'		ERROR2		400577'		FIX1		405132'		GCD2		405201'		
DEPTH		407776'		ERRORB		400447'		FIX1A		405220'	INT	GCD3		405203'		
DEV		000111'	INT	ERRORG		400552'		FIX1B		405064'		GCEND		406752'		
DEV1		000112'		ERRORX		003352'		FIX2		405130'	INT	GCEXIT		407105'		
DEVCHK		401175'		ERRP4		404645'		FIXI		400743'		GCFLG		000473'		
DEVCHR		000004	SPD	ERRPTR		000462'		FIXNUM		003740'	INT	GCGAG		407124'		
DEVCLR		401317'		ERRSET		400657'	INT	FIXOV		405172'		GCGAGV		000474'		
DEVDAT		000457'	INT	ERRSUB		400444'		FLAT1		000464'		GCING		407142'		
DIFPAR		000006	SPD	ERRSW		000033'		FLAT2		405316'		GCMFW		406744'		
DIRB		000004	SPD	ERRTAB		400546'		FLATLE		407733'		GCMFWS		000401'		
DISP		003256'		ERRTN		000463'		FLATSI		405311'	INT	GCMKL		000402'		
DIVIDE		405154'		ERSUB2		400604'		FLO1A		405061'		GCP		000475'		
DOSET		411041'		ERSUB3		400476'		FLOAT		405112'		GCP1		000476'		
DOTAB		403001'		ESB		405705'		FLONUM		003744'	INT	GCP2		000372'		
DOTERR		400712'		ESB1		405712'		FLOOV		405174'	INT	GCP3		000477'		
DOTFLD		402620'		EV3		405467'		FLOSUB		403466'		GCP4		000370'		
ECHO		401013'		EV5		405537'		FLTYIA		403106'	INT	GCP41		000371'		
EE1		405537'		EVAL		405505'	INT	FORMS		003266'		GCP5		000374'		
EE2		405644'		EVALAT		002563'		FP1		402523'		GCP5A		406711'		
EELS		404433'		EVALV		410772'		FP3		402527'		GCP6		407017'		
EFM		405721'		EVALV1		410776'		FP3A		402540'		GCP6A		407027'		
EFS		405702'		EVBIG		405545'	INT	FP4		402546'		GCP6B		406717'		
EFWS		007045'		EXAMIN		406650'		FP4A		402550'		GCP6C		407020'		
EFWSO		000460'		EXARRA		406575'		FP4C		000465'		GCP6D		407030'		
EG1		400733'		EXCISE		410041'		FP7		402567'		GCP6E		407033'		
EG2		400735'		EXIT		000012	SPD	FP7A1		402575'	INT	GCPI		406725'		
EG3		400737'		EXIT1		407771'		FP7B		402576'		GCPK1		406671'		
ENDHI		000151'		EXP		000001	SPD	FPTEM		000466'		GCPK2		406701'		
ENTER	077000	000000		EXP2		405701'		FREE		405425'		GCPNT		407135'		
ENTR		000123'	INT	EXP3		405676'		FREELI		405430'		GCPP1		000376'		
EPRINT		402322'		EXPA1		404773'		FS		000603'		GCRET1		406703'		
EQ		403713'		EXPAND		404766'		FSMOVE		000467'		GCS0		407115'		
EQ2		404200'		EXPCOR		402274'		FSO		000470'		GCS1		407116'		
EQUAL		404150'	INT	EXPFLD		402621'		FSTCH		000001	SPD	GCS2		407122'		
EQUAL1		404151'		EXPL1		405325'		FSUBR		003764'		GCSP1		000500'		
EQUAL3		404164'		EXPL2		405335'		FT		402606'		GCSPI1		407075'		
EQUAL4		404162'		EXPL4		405350'		FT0		402615'		GCSWP		407055'		
ERINT		000461'		EXPLOD		405321'	INT	FT01		402614'		GCTIM		000501'		
ERR		400636'	INT	EXPN1		404772'		FT8		402602'		GCTIME		407126'		
ERR1		400644'		EXPND2		410271'		FUNARG		004014'		GENSY1		404411'		
ERR1	001000	000000		EXPR		003770'		FUNCT		405754'		GENSY2		404401'		
ERR2		400641'		EXPTAB		403251'		FW0CNS		403766'	INT	GENSYM		404376'	INT	
ERR2	002000	000000		EXT		000124'	INT	FWC0		000471'		GET		404037'	INT	
ERR3	003000	000000		F		000015		FWC1		403773'		GET1		404040'		
ERRBK		400617'		FALSE		404013'	INT	FWCONS		403767'	INT	GETHGH		000007'		
ERRCH		401026'		FCALL	034000	000000		FWSO		000472'		GETL		404047'	INT	
ERRCHR		000045'		FCP		402615'		GAPP		405463'		GETL0		404051'		
ERREND		400620'		FEXPR		003774'		GC		406665'	INT	GETL1		404053'		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-3
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

GETPPN	047000	000024		INC2		401621'		ITYI		400742'		LPTLL		000160	SPD	
GETSEG		000040	SPD	INC3		401640'		ITYO		401071'	INT	LR1		403056'		
GETSYM		407174'		INCH		000507'	INT	JCALL	035000	000000		LREND		403075'		
GETV		411011'		INCHRW	051000	000000		JCALLF	037000	000000		LRMORE		403077'		
GETV1		411015'		INCHSL	051240	000000		JOB41		400024'	EXT	LRTY		403044'		
GFSP1		000000	SPD	INCHWL	051200	000000		JOBAPR		411164'	EXT	LRTY1		403104'		
GFSPR		407062'		INCNT		401607'		JOBCNI		400151'	EXT	LSH		406661'		
GFSWPP		407044'		INFAIL		401345'		JOBFF		402262'	EXT	LSPEDT		000001	SPD	
GNUM		000364'		INHERR		000510'		JOBHRL		410334'	EXT	LSPMIN		000001	SPD	
GO		404650'		ININBF		000121'	INT	JOBOPC		407144'	EXT	LSPRET		400110'	INT	
GOBF		000502'		ININIT		000110'		JOBREL		007070'	EXT	LSPRMP		000522'		
GTBLK		406522'		INIT	041000	000000		JOBREN		000142'	EXT	LSPRT1		400036'		
HALT	254200	000000		INITF		000511'		JOBSA		007076'	EXT	LSPVER		000003	SPD	
HASH		000000	SPD	INITF1		000512'		JOBSYM		410257'	EXT	LSPWHO		000002	SPD	
HGHCOR		410276'		INITFL		400104'		JOBTPC		411143'	EXT	LST		000430'		
HGHDAT		000021'	INT	INITFN		400106'		JOBUUO		411155'	EXT	LSUBR		004020'		
HGHEND		410334'		INITFW		000513'		JRELO		000514'		M		000523'		
HGHORG		410322'		INITOK		000114'		KLDG1		403407'		MACRO		004024'		
HIADDR		000503'		INLOOK		000116'		LABEL		004010'		MAKID		403265'		
HIARGS		000504'		INLOW		000422'		LAM		407564'		MAKID1		403341'		
HVAL		000505'		INPPAR		000032	SPD	LAMBDA		003754'		MAKID2		403275'		
IAP1		406031'		INPREQ		401764'		LAST		403726'	INT	MAKID3		403337'		
IAP2		406141'		INPUT		401343'	INT	LBLAD		000515'		MAKID4		403343'		
IAP3		406153'		INPUT1		401333'		LDFLG		000516'		MAKID5		403347'		
IAP4		405743'		INPUT2		401337'		LDPAR		000517'		MAKNAM		405357'	INT	
IAP5		406060'		INT1		000361'		LDRET2		410153'		MAKNUM		405057'	INT	
IAP6		406115'		INTER0		403271'		LENGTH		403716'	INT	MAP		404504'		
IAP69		406105'		INTER1		403323'		LEX1		404736'		MAPC		404502'		
IAPLMB		406046'		INTERN		403506'	INT	LEX2		404755'		MAPCAN		404501'		
IAPPLY		406001'		INTPRP		401057'		LEXORD		404722'		MAPCAR		404503'	INT	
IAPXPR		406027'		INUM0		577777	INT	LF		000012	SPD	MAPCON		404477'		
IDCLS		000000	SPD	INUMIN		377777	INT	LHLEN		023016	SPD	MAPL2		404521'		
IDEND		403260'		INUMP		405151'		LIMIT		003272'		MAPLIS		404505'	INT	
IDEND1		403261'		INXTIO		401162'		LINEL1		401126'		MCEXIT		403557'		
IDFLD		000160'		IOBRST		401323'		LINELE		401122'		MEMB		404337'		
IDPTR		000506'		IODEV2		401215'		LINL		000055'	INT	MEMB0		404325'		
IDSUB		403313'		IODEV3		401216'		LINP		402126'		MEMB1		404326'		
IDTAB		403027'		IOEND		401643'		LINPCH		402117'		MEMBER		404350'		
IGCRLF		000031	SPD	IOEXT		401232'		LINRD		403037'		MEMBR.		404350'		
IGEND		000155'		IOFIL		401226'		LISP1		400076'		MEMQ		404337'	INT	
IGSTRT		000154'	INT	IOFIL2		401244'		LISPGO		000000'		MES21		400157'		
ILIST		404435'		IOPPN		401217'	INT	LIST		404426'	INT	MINSGN		000010	SPD	
ILIST1		404437'		IOSEL		401575'		LISTAT		002301'	INT	MINUS		405137'		
ILIST2		404454'		IOSEL1		401600'		LITATO		403736'		MINUSP		405134'		
ILIST3		404446'		IOSELZ		401605'		LNGTH1		403717'		MK10		407207'		
ILLMEM		400173'		IOSUB		401203'	INT	LOAD		410047'		MK3		407152'		
ILLNUM		405175'		IOSUB1		401211'		LOAD2		410055'		MK7		407177'		
ILLUUO		400602'		IPLMB1		406056'		LOAD3		410121'		MKNAM2		405374'		
ILP1A		406003'		IPLMB2		406067'		LODSIZ		000520'		MKNAM3		000524'		
ILP1B		406025'		IPLMB3		406076'		LOOKIN		000123'	INT	MKNAM4		405411'		
INAGN		410360'		IPLMB4		406071'		LOOKUP	076000	000000		MKNAM5		405414'		
INALLC		410350'		IRET1		401526'		LOWLEN		000156	SPD	MKNAM6		405422'		
INB		000002	SPD	ISFILE		401352'		LOWLSP		000521'		MLIOB		000203	SPD	
INBUF	064000	000000		ISPRIN		407300'		LPIG		403065'		MODCHR		403545'		
INC		401611'	INT	ITTYRE		401651'		LPROG		000010	SPD	MORCOR		410256'	INT	

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-4
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

MOVDWN		410223'	INT	NUMAK4		403430'		OUTERR		401570'	INT	PRINI4		402443'		
MOVS1		410254'		NUMAK6		403431'		OUTOBF		000137'		PRINIC		402422'		
MOVSYM		410233'		NUMBER		404064'		OUTPAR		000024	SPD	PRINL		402415'		
MPDN		404551'		NUMBP2		404075'	INT	OUTPR1		000023	SPD	PRINL1		402417'		
MPL3		404523'		NUMCLS		000002	SPD	OUTPUT		401532'	INT	PRINL2		402413'		
MPV		020000	SPD	NUMFLD		402620'		OUTREQ		401763'		PRINN		402444'		
MYPPN		401453'	INT	NUMTAB		403214'		OUTRET		400457'		PRINO		402515'		
N		000525'		NUMTYP		405146'		OUTSTR	051140	000000		PRINT		402327'	INT	
NA		407742'		NUMV2		405107'	INT	OUTVAL		411027'		PRINT1		402366'		
NACS		000005	SPD	NUMV3		405111'	INT	P		000014		PRINT2		402364'		
NAME		000424'		NUMV4		405105'	INT	PA3		000542'		PRINT3		402351'		
NBYTES		000526'		NUMVAL		405071'	INT	PA4		000543'		PRINTA		402341'		
NCONC		404271'	INT	NUMVLX		405070'		PATCH		407230'		PROG		404556'		
NCONS		403657'	INT	NXM		010000	SPD	PATOM		403676'	INT	PROG1		404137'		
NEQ		403710'		NXTIO		401164'	INT	PDLARG		400327'		PROG2		404136'		
NEWHI		402237'		OBLIST		000603'		PDOV		200000	SPD	PROGAT		002272'		
NEWHI1		000141'		OBTBL		000603'		PG1		404577'		PROGN		404763'		
NEXP		000002	SPD	OCR		410426'		PG4		404643'		PROGU1		406263'		
NEXTEV		410761'		OEVAL		405503'	INT	PG5		404625'		PROGUB		406254'		
NIL		000000		OFSO		000534'		PG7A		404570'		PROMCH		000545'		
NILPRP		000527'		OLDCH		000044'	INT	PG7B		404574'		PROMPT		401051'	INT	
NIOB		000002	SPD	OLDCU		000535'	INT	PGO		404615'		PRVCNT		000546'		
NIOCH		000017	SPD	OLDHI		000146'		PJUBND		406235'		PRVSEL		000547'		
NOALIN		000530'		OLDNIL		000001	SPD	PNAMAK		403365'		PSAV		000550'		
NOINFG		000531'	INT	OP		405211'		PNAMB		403371'		PSAVE		000551'		
NOINTR		403024'		OPA1		405225'		PNAME		003734'		PSMAC		403205'		
NOLIST		400723'		OPA2		405233'		PNAMU3		403306'		PSTR		402467'		
NONNUM		400721'		OPA5		405270'		PNAMUK		403302'		PSTR2		402473'		
NONUSE		000000	SPD	OPA6		405251'		PNGNK1		403653'		PSTR3		402472'		
NOPNAM		400722'		OPB2		405244'		POINTR		000005	SPD	PUTPRO		404111'	INT	
NOQUE		401766'		OPB3		405274'		POPAJ		405717'	INT	PUTSYM		407215'		
NOT		403763'		OPB7		405277'		POPBJ		406212'		Q.AFTR		000013	SPD	
NOUUO		400337'		OPEN	050000	000000		POS		407670'		Q.CNO		000015	SPD	
NOUUOF		000532'		OPFLD		000010	SPD	POS2		407715'		Q.CREA		000012	SPD	
NOWRT		410315'		OPOV		405247'	INT	POS3		407723'		Q.DEAD		000014	SPD	
NQS		000006	SPD	OPR		405264'	INT	POS4		407731'		Q.DEV		000003	SPD	
NSTR		406617'		OR		404355'		PPN		000126'	INT	Q.F		000000	SPD	
NSWS		000005	SPD	ORET1		401562'		PPNEXT		401250'		Q.FBIT		000012	SPD	
NTH1		404252'		ORGSGN		000536'		PRETB		404475'		Q.FDIR		000001	SPD	
NTH2		404260'		ORGSTK		000537'		PRG		407611'		Q.FDRM		000000	SPD	
NTH3		404232'		OSFWS		000540'		PRG1		407632'		Q.FEXM		000007	SPD	
NTH4		404245'		OTTYRE		401714'		PRG2		407647'		Q.FEXT		000010	SPD	
NTH5		404242'		OUT		410033'		PRG3		407657'		Q.FF		000024	SPD	
NTH6		404267'		OUT	057000	000000		PRIN1		402335'	INT	Q.FLEN		000016	SPD	
NTHCHA		404221'		OUTALC		410716'		PRIN1A		402370'		Q.FMDM		000010	SPD	
NULL		403763'		OUTB		000001	SPD	PRIN1B		402377'		Q.FMLN		000011	SPD	
NUM		403475'		OUTBUF	065000	000000		PRIN2		402462'		Q.FMOD		000013	SPD	
NUM1		000533'	INT	OUTC		401657'	INT	PRIN2X		402456'		Q.FNAM		000007	SPD	
NUM10		403474'		OUTC2		401671'		PRIN3		402461'		Q.FNMM		000006	SPD	
NUM2		403500'		OUTC3		401706'		PRIN4		402463'		Q.FRNM		000011	SPD	
NUM3		403504'	INT	OUTCH		000541'	INT	PRIN5		000544'		Q.FRPT		000014	SPD	
NUMAG1		405076'		OUTCHK		402064'		PRINC		402334'	INT	Q.FSTR		000000	SPD	
NUMAK		403403'		OUTCHR	051040	000000		PRINI1		402421'		Q.I		000020	SPD	
NUMAK2		403434'		OUTCNT		401655'		PRINI2		402430'		Q.IDDI		000024	SPD	
NUMAK3		403453'		OUTENT		000134'		PRINI3		402436'		Q.IDEP		000020	SPD	

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-5
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

Q.II		000032	SPD	QTABLE		402046'		REL4		410667'		SETFWS		410365'		
Q.IL		000024	SPD	QTIFY		400315'		REL5		410636'		SETIN		401472'	INT	
Q.ILIM		000021	SPD	QTIME		000000	SPD	REL6		410640'		SETIN1		401477'		
Q.JOB		000005	SPD	QTLFY		400320'		RELEAS	071000	000000		SETIN2		401500'		
Q.LEN		000002	SPD	QTLFY1		400321'		RELFOO		410700'		SETINA		401470'		
Q.MEM		000000	SPD	QUEUE		401741'	INT	REMAIN		405170'		SETQ		404660'	INT	
Q.O		000020	SPD	QUEUE1		402016'		REMOB		403516'	INT	SETSYS		410337'		
Q.OFRM		000020	SPD	QUOTE		403645'		REMOB2		403542'		SETUWP		000036	SPD	
Q.OL		000022	SPD	R		000013		REMOB3		403533'		SFS		000563'		
Q.ONOT		000022	SPD	R50FLD		402623'		REMP1		404035'		SFWS		000564'		
Q.OPR		000001	SPD	R50MAK		407145'		REMPRO		404025'	INT	SHRST		400000	SPD	
Q.OSIZ		000021	SPD	R50VAL		000000		RENAME		401375'		SIXAT1		403144'		
Q.PDEV		000010	SPD	RATAB		402752'		RENCLR		401423'		SIXAT2		403146'		
Q.PPN		000004	SPD	RATFLD		000156'		RENSUB		401370'		SIXAT3		403155'		
Q.PRI		000007	SPD	RATOM		402740'	INT	RERX		400652'		SIXATM		403126'	INT	
Q.SEQ		000006	SPD	RATOM2		402747'		RESET		000000	SPD	SIXDON		403160'		
Q.TIME		000011	SPD	RATOM3		402771'		RESTOR		402261'		SIXMAK		401143'	INT	
Q.USER		000016	SPD	RDE		403234'		RETURN		404633'		SIXMK1		401151'		
Q.ZER		000000	SPD	RDE2		403254'		REVAL1		411033'		SIXMK2		000565'		
QALLOW		000001	SPD	RDFIL1		403112'		REVERS		404015'	INT	SIXRT		401172'		
QARG		402114'		RDFILE		403113'	INT	RGC		000552'		SKPINC	051540	000000		
QCOPIE		402070'		RDFLD		402622'		RGTSYM		407165'		SKPINL	051600	000000		
QCPU		402053'		RDID		403033'		RHX2		000362'		SMAC		000566'	INT	
QDEFST		401734'	SPD	RDIV		405161'		RHX5		000363'		SMACRO		403202'		
QDISP		402073'		RDNAM		402642'		RINP		402127'		SP		000017		
QDONE		402211'		RDNDOT		403225'		RINPCH		402121'		SPACE		000040	SPD	
QDONE1		402231'		RDNMIN		403231'		RLAST		000553'		SPDLFT		410751'		
QDONEB		402226'		RDNPLS		403232'		RLS		000140'		SPDLOV		400165'		
QDONEC		402224'		RDNUM		403221'		RMAC2		403166'		SPDLPT		410746'		
QERR1		401740'		RDOT		402775'		RMACRO		403166'		SPDLRT		410756'		
QFILE		402136'		RDOT2		402767'		RMERR		400701'		SPDNLP		410763'		
QFILEA		402133'		RDQT		402732'		RNAME		000102'		SPEAK		407133'		
QFILEB		402143'		RDRUB		402644'		RPAERR		400706'		SPEC1		406266'		
QFORMS		402055'		RDSTR		403015'		RPDERR		400710'		SPECBI		406265'	INT	
QGOOD		401770'		RDT		402711'		RPLACA		403744'		SPECST		406237'	INT	
QGTARG		402110'		RDTAB		402677'		RPLACD		403755'		SPECX		406300'		
QILLSW		401734'		RDTAB2		402662'		RPTSYM		407211'		SPNM		000567'		
QLIMIT		402061'		RDTX		402705'		RSTSW		000554'		SPRE1		411060'		
QLOOP		402026'		READ		402651'	INT	RUBOUT		000177	SPD	SPREDO		411052'		
QLOOP1		402042'		READ0		402631'		RVAL		000555'		SPREVA		411064'		
QLSTOK		000000	SPD	READ1		402656'		S		000011		SPRINT		407250'		
QO.CRE		000001	SPD	READ2		402670'		SAS0		404001'		SPRN1		407317'		
QO.DEL		000010	SPD	READ2A		402673'		SAS1		404002'		SPRN11		407464'		
QO.FLS		000012	SPD	READ4		402723'		SASSOC		403776'	INT	SPRN12		407467'		
QO.KIL		000006	SPD	READ5		402730'		SAVSP		000556'		SPRN13		407476'		
QO.LST		000004	SPD	READAT		002555'		SAWDOT		000004	SPD	SPRN16		407510'		
QO.MOD		000005	SPD	READCH		402624'	INT	SBPS		000557'		SPRN17		407522'		
QO.REQ		000011	SPD	READLI		405356'	INT	SBT		000560'		SPRN18		407525'		
QSELF		402027'		READMA		003510'		SBTF		000561'		SPRN19		407545'		
QSETUP		401772'		READP		401063'		SC2		000562'		SPRN2		407406'		
QST		004030'		READP1		402630'	INT	SCAN		407737'		SPRN21		407561'		
QSTABL		401755'		REALL2		410427'		SET		404666'	INT	SPRN22		407665'		
QSWEXT		000000		REALLC		000000	SPD	SETARG		406175'		SPRN3		407360'		
QSXARG		402305'		REL		000010		SETCHR		403567'		SPRN4		407367'		
QTABL1		000005		REL1		410621'		SETERR		400731'		SPRN5		407422'		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-6
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

SPRN7		407444'		TT		000007		UUOEX1		400272'		%AMAKE		406302'		
SPRN8		407450'		TTCH		000000	SPD	UUOEXP		400271'		%ARG		000366'		
SPRN9		407453'		TTOCH		000060'		UUOH		000027'		%CLRBF		401022'		
SPRNT2		407251'		TTOHP		000062'		UUOH1		400213'		%EXPLO		405320'		
SPSV		000570'		TTOLL		000061'		UUOH2		400200'		%FLATS		405310'		
SRPDL		000571'		TTSV		000600'		UUOMAX		000004	SPD	%LCALL		406314'		
SSPDL		000572'		TTYCLR		401140'		UUOMIN		000001	SPD	%NOPOI		002705'		
START		400022'		TTYI		401031'		UUOS		400264'		%UDT		406307'		
STATO	061000	000000		TTYID		401041'		UUOS1		400364'		..0055		003747'		
STATZ	063000	000000		TTYLL		000105	SPD	UUOS10		400441'		..0056		002146'		
STIME		000027	SPD	TTYO		401132'		UUOS2		405706'		..0057		002036'		
STKPTR		411067'		TTYRET		401136'		UUOS3		400370'		..0060		002452'		
STNIL		000573'	INT	TTYUUO	051000	000000		UUOS4		400400'		..0061		001346'		
STORE		406610'		TTYXIT		401035'		UUOS4A		400372'		..0062		001472'		
STP		000574'		TYI		400745'	INT	UUOS5		400403'		..0063		003465'		
STPGAP		000000	SPD	TYI1		402726'		UUOS6		400412'		..0064		001670'		
STR2		403021'		TYI2		000034'	INT	UUOS6A		400375'		..0065		003301'		
STRCLS		000001	SPD	TYI2E		401007'	INT	UUOS7		400423'		..0066		001544'		
STRFLD		000157'		TYI2Q		400767'		UUOS7A		000032'		..0067		002671'		
STRING		404076'		TYI2X		000036'		UUOS8		400422'		..0070		001404'		
STRT		410350'		TYI2Y		000037'		UUOS9		400432'		..0071		001412'		
STRTAB		403012'		TYI2Z		000041'	INT	UUOSBR		400243'		..0072		002466'		
STRTIP	004000	000000		TYI3		000601'		UUS10A		400434'		..0073		002014'		
STRTYP		400564'		TYI3A		000035'		UUST		400345'		..0074		001016'		
SUB1		405016'		TYI3B		400760'	INT	UWPERR		410303'		..0075		001024'		
SUBAS		000575'		TYIA		400754'	INT	VALUE		003750'		..0076		002576'		
SUBBS		000576'		TYID		400756'		VBASE		003731'		..0077		003501'		
SUBR		003760'		TYIEOF		000043'		VBPEND		004034'		..0100		001332'		
SUBS4		404554'		TYO		401074'	INT	VBPORG		004033'		..0101		003307'		
SXATER		403142'		TYO1		401101'		VFIX1A		003055'		..0102		001376'		
SYM		004000'		TYO2X		000052'	INT	VHGHOR		000432'		..0103		005301'		
SYMER1		407163'		TYO3		401111'		VIBASE		003732'		..0104		001354'		
SYMERR		407162'		TYO4		401107'		VNIL		002626'		..0105		004355'		
SYSCLR		400675'		TYO5		000050'	INT	VNSTR		003065'		..0106		001046'		
SYSIN0		000417'	INT	TYOD		000046'	INT	VOBLIS		003730'		..0107		004771'		
SYSIN1		000416'	INT	TYOI		000152'		VSPECB		003035'		..0110		002344'		
SYSINI		410176'	INT	TYOI2		402510'		VSPECS		003045'		..0111		001054'		
SYSINP		410215'	INT	UBD		406226'		VTRUTH		002620'		..0112		001654'		
SYSPN		000000	SPD	UBDPTR		000365'		WRTSTS		000433'		..0113		001734'		
SYSPRG		000000	SPD	UFDINP		401427'	INT	X		000000	SPD	..0114		001070'		
SYSUNV		000001	SPD	UNBIND		406237'		X.LOG	200000	000000	SPD	..0115		002336'		
T		000006		UNBND1		406244'		X.NEW	100000	000000	SPD	..0116		002741'		
TAB		000011	SPD	UNBOND		411017'		XCONS		403660'	INT	..0117		001506'		
TABSR1		401270'	INT	UNBOUN		002706'	INT	XFLD		000021	SPD	..0120		002256'		
TABSRC		401277'	INT	UNBVAR		400717'		XXEVAL		405511'		..0121		003565'		
TALK	260600	401140'		UNDFUN		400714'		XXX1		000362'		..0122		003703'		
TEMCOR		402271'		UNDTAC		400726'		XXX2		000363'		..0123		002314'		
TEN		000012	SPD	UNDTAG		400727'		XXX3		000405'		..0124		005465'		
TERPRI		402501'	INT	UNTYI		401066'		XXX4		000365'		..0125		004535'		
TIME		407130'		UUET		400356'		XXX5		000376'		..0126		006345'		
TOMANY		400724'		UUFET		400361'		ZERODI		405173'		..0127		002562'		
TOOFEW		400725'		UUFST		400350'		ZEROP		403762'		..0130		004171'		
TRUE		403764'	INT	UULT		400353'		ZY		000002	SPD	..0131		005021'		
TRUTH		002613'		UUO2		000602'		ZZ		415630'	SPD	..0132		005335'		
TSV		000577'		UUOCL		000031'		$EOF$		004004'		..0133		001712'		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-7
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

..0134		005175'		..0223		003123'		..0312		001566'		..0401		002677'		
..0135		005201'		..0224		004235'		..0313		001302'		..0402		002356'		
..0136		001574'		..0225		001500'		..0314		002755'		..0403		004141'		
..0137		001726'		..0226		003261'		..0315		004541'		..0404		002306'		
..0140		001340'		..0227		001514'		..0316		001742'		..0405		002066'		
..0141		004421'		..0230		002132'		..0317		005771'		..0406		002406'		
..0142		001324'		..0231		001362'		..0320		001552'		..0407		002651'		
..0143		001640'		..0232		001610'		..0321		005701'		..0410		002140'		
..0144		000000		..0233		003377'		..0322		002006'		..0411		003313'		
..0145		006101'		..0234		003037'		..0323		002400'		..0412		002747'		
..0146		005401'		..0235		002116'		..0324		001616'		..0413		002234'		
..0147		002272'		..0236		006035'		..0325		002414'		..0414		002474'		
..0150		003711'		..0237		001530'		..0326		005605'		..0415		002733'		
..0151		005705'		..0240		002430'		..0327		001704'		..0416		002725'		
..0152		001536'		..0241		001002'		..0330		002502'		..0417		000000		
..0153		002300'		..0242		002074'		..0331		001646'		..0420		002460'		
..0154		002322'		..0243		001434'		..0332		002030'		..0421		004301'		
..0155		006201'		..0244		002154'		..0333		001442'		..0422		003047'		
..0156		003767'		..0245		003005'		..0334		001662'		..0423		002204'		
..0157		003345'		..0246		001450'		..0335		003543'		..0424		004017'		
..0160		004325'		..0247		001456'		..0336		003225'		..0425		002516'		
..0161		004441'		..0250		001420'		..0337		001522'		..0426		004451'		
..0162		004531'		..0251		001624'		..0340		002444'		..0427		002364'		
..0163		002641'		..0252		001772'		..0341		001602'		..0430		002422'		
..0164		005001'		..0253		001316'		..0342		002372'		..0431		002242'		
..0165		002631'		..0254		001010'		..0343		001632'		..0432		002264'		
..0166		001156'		..0255		003161'		..0344		006275'		..0433		003233'		
..0167		004055'		..0256		002052'		..0345		001560'		..0434		002621'		
..0170		002771'		..0257		001370'		..0346		002060'		..0435		003013'		
..0171		001164'		..0260		002124'		..0347		002022'		..0436		003435'		
..0172		002661'		..0261		001076'		..0350		002330'		..0437		003275'		
..0173		005425'		..0262		002044'		..0351		002226'		..0440		006505'		
..0174		001200'		..0263		001062'		..0352		004365'		..0441		002436'		
..0175		005521'		..0264		003405'		..0353		003653'		..0442		002546'		
..0176		006301'		..0265		004135'		..0354		002000'		..0443		005031'		
..0177		001230'		..0266		002711'		..0355		003551'		..0444		004027'		
..0200		004145'		..0267		001112'		..0356		003623'		..0445		003427'		
..0201		002212'		..0270		001126'		..0357		001750'		..0446		003175'		
..0202		001310'		..0271		001134'		..0360		001756'		..0447		005475'		
..0203		006335'		..0272		004231'		..0361		004761'		..0450		002524'		
..0204		001032'		..0273		001142'		..0362		003107'		..0451		004431'		
..0205		001720'		..0274		003323'		..0363		003115'		..0452		003021'		
..0206		004571'		..0275		002777'		..0364		001676'		..0453		005675'		
..0207		001040'		..0276		003067'		..0365		003355'		..0454		003217'		
..0210		001426'		..0277		001172'		..0366		001764'		..0455		003271'		
..0211		004545'		..0300		001206'		..0367		002162'		..0456		003675'		
..0212		001104'		..0301		001214'		..0370		000000		..0457		002612'		
..0213		003027'		..0302		001236'		..0371		002170'		..0460		002532'		
..0214		002250'		..0303		001222'		..0372		003255'		..0461		003757'		
..0215		001120'		..0304		001244'		..0373		002554'		..0462		003763'		
..0216		001464'		..0305		001260'		..0374		002110'		..0463		005045'		
..0217		003753'		..0306		004121'		..0375		002102'		..0464		002570'		
..0220		001150'		..0307		001252'		..0376		002763'		..0465		003337'		
..0221		002220'		..0310		001266'		..0377		002352'		..0466		003137'		
..0222		003521'		..0311		001274'		..0400		002176'		..0467		002510'		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-8
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

..0470		003167'		..0557		005725'		..0646		005035'		..0735		004255'		
..0471		005451'		..0560		003615'		..0647		003717'		..0736		005265'		
..0472		003145'		..0561		004275'		..0650		004435'		..0737		006465'		
..0473		002540'		..0562		003573'		..0651		000000		..0740		005505'		
..0474		003211'		..0563		003513'		..0652		004265'		..0741		004755'		
..0475		003661'		..0564		006341'		..0653		004731'		..0742		004311'		
..0476		004341'		..0565		004401'		..0654		004035'		..0743		005005'		
..0477		004151'		..0566		004445'		..0655		006165'		..0744		004665'		
..0500		002604'		..0567		004175'		..0656		004007'		..0745		004315'		
..0501		003371'		..0570		004261'		..0657		006155'		..0746		004635'		
..0502		003131'		..0571		003457'		..0660		005455'		..0747		005075'		
..0503		004161'		..0572		004331'		..0661		004051'		..0750		006415'		
..0504		004211'		..0573		006045'		..0662		004045'		..0751		000000		
..0505		002627'		..0574		005611'		..0663		004661'		..0752		005311'		
..0506		005065'		..0575		003333'		..0664		005421'		..0753		004705'		
..0507		002637'		..0576		006461'		..0665		004561'		..0754		004351'		
..0510		004721'		..0577		004411'		..0666		004071'		..0755		004505'		
..0511		002647'		..0600		003351'		..0667		004461'		..0756		005111'		
..0512		003413'		..0601		004105'		..0670		004061'		..0757		005545'		
..0513		002657'		..0602		003557'		..0671		006235'		..0760		000000		
..0514		005331'		..0603		003443'		..0672		004715'		..0761		005025'		
..0515		002667'		..0604		005101'		..0673		004361'		..0762		006671'		
..0516		003075'		..0605		003601'		..0674		005555'		..0763		004405'		
..0517		004751'		..0606		004605'		..0675		000000		..0764		004741'		
..0520		002717'		..0607		004321'		..0676		000000		..0765		004465'		
..0521		003327'		..0610		004775'		..0677		004621'		..0766		005711'		
..0522		003241'		..0611		003473'		..0700		005441'		..0767		006151'		
..0523		004013'		..0612		006261'		..0701		004271'		..0770		005641'		
..0524		004041'		..0613		000000		..0702		004115'		..0771		004525'		
..0525		003057'		..0614		003743'		..0703		004371'		..0772		005055'		
..0526		003317'		..0615		004075'		..0704		005041'		..0773		006051'		
..0527		004565'		..0616		003773'		..0705		004455'		..0774		005161'		
..0530		006501'		..0617		003527'		..0706		004205'		..0775		005745'		
..0531		004101'		..0620		004201'		..0707		005165'		..0776		005535'		
..0532		003203'		..0621		003667'		..0710		004515'		..0777		000000		
..0533		004671'		..0622		003607'		..0711		005325'		..1000		004471'		
..0534		004651'		..0623		005171'		..0712		000000		..1001		005615'		
..0535		005205'		..0624		004521'		..0713		005231'		..1002		000000		
..0536		003637'		..0625		004425'		..0714		005655'		..1003		006751'		
..0537		003421'		..0626		003631'		..0715		004711'		..1004		006405'		
..0540		003645'		..0627		004655'		..0716		004575'		..1005		005061'		
..0541		003363'		..0630		004215'		..0717		005371'		..1006		005071'		
..0542		003265'		..0631		003737'		..0720		000000		..1007		005375'		
..0543		003451'		..0632		004003'		..0721		005755'		..1010		004725'		
..0544		004335'		..0633		004111'		..0722		006661'		..1011		005141'		
..0545		004375'		..0634		004415'		..0723		004305'		..1012		005575'		
..0546		003507'		..0635		004155'		..0724		004511'		..1013		005445'		
..0547		003247'		..0636		003777'		..0725		004345'		..1014		004551'		
..0550		003153'		..0637		004065'		..0726		004221'		..1015		004555'		
..0551		003535'		..0640		005435'		..0727		004601'		..1016		005261'		
..0552		004023'		..0641		004165'		..0730		004475'		..1017		000000		
..0553		004131'		..0642		006315'		..0731		000000		..1020		005255'		
..0554		006241'		..0643		005661'		..0732		004241'		..1021		006171'		
..0555		004501'		..0644		004125'		..0733		004245'		..1022		005461'		
..0556		003733'		..0645		004225'		..0734		004251'		..1023		005631'		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-9
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

..1024		004611'		..1113		006011'		..1202		000000		..1271		006625'		
..1025		004615'		..1114		005315'		..1203		005721'		..1272		006041'		
..1026		004745'		..1115		005321'		..1204		000000		..1273		006655'		
..1027		004625'		..1116		005245'		..1205		005621'		..1274		006225'		
..1030		004631'		..1117		005271'		..1206		006075'		..1275		000000		
..1031		005515'		..1120		000000		..1207		000000		..1276		006121'		
..1032		004641'		..1121		005761'		..1210		000000		..1277		006065'		
..1033		004645'		..1122		006475'		..1211		006321'		..1300		006071'		
..1034		004701'		..1123		000000		..1212		006575'		..1301		006525'		
..1035		005221'		..1124		006221'		..1213		000000		..1302		006471'		
..1036		005121'		..1125		005665'		..1214		006355'		..1303		000000		
..1037		005211'		..1126		005471'		..1215		006015'		..1304		006111'		
..1040		004675'		..1127		000000		..1216		006031'		..1305		006135'		
..1041		006231'		..1130		005235'		..1217		005601'		..1306		000000		
..1042		000000		..1131		005275'		..1220		005651'		..1307		006741'		
..1043		004735'		..1132		005241'		..1221		006125'		..1310		000000		
..1044		005751'		..1133		005411'		..1222		006431'		..1311		006421'		
..1045		006445'		..1134		005571'		..1223		000000		..1312		006725'		
..1046		005225'		..1135		005561'		..1224		006005'		..1313		006255'		
..1047		005531'		..1136		006455'		..1225		000000		..1314		000000		
..1050		005115'		..1137		006205'		..1226		006245'		..1315		000000		
..1051		005155'		..1140		005345'		..1227		000000		..1316		006451'		
..1052		004765'		..1141		000000		..1230		000000		..1317		000000		
..1053		000000		..1142		005431'		..1231		000000		..1320		006251'		
..1054		005145'		..1143		000000		..1232		000000		..1321		006311'		
..1055		005125'		..1144		005645'		..1233		000000		..1322		000000		
..1056		005015'		..1145		000000		..1234		000000		..1323		000000		
..1057		006571'		..1146		005671'		..1235		005775'		..1324		006401'		
..1060		005011'		..1147		005361'		..1236		000000		..1325		006521'		
..1061		005731'		..1150		005415'		..1237		000000		..1326		006265'		
..1062		000000		..1151		000000		..1240		006515'		..1327		000000		
..1063		006365'		..1152		006215'		..1241		006141'		..1330		006511'		
..1064		006145'		..1153		005351'		..1242		000000		..1331		000000		
..1065		005051'		..1154		006631'		..1243		006605'		..1332		006361'		
..1066		005215'		..1155		005355'		..1244		000000		..1333		006351'		
..1067		000000		..1156		005765'		..1245		000000		..1334		006411'		
..1070		000000		..1157		005365'		..1246		006115'		..1335		000000		
..1071		006131'		..1160		005501'		..1247		000000		..1336		006541'		
..1072		005105'		..1161		006325'		..1250		000000		..1337		000000		
..1073		005565'		..1162		006675'		..1251		000000		..1340		006775'		
..1074		005405'		..1163		005525'		..1252		006305'		..1341		006705'		
..1075		006641'		..1164		006055'		..1253		000000		..1342		000000		
..1076		005541'		..1165		005715'		..1254		006001'		..1343		006765'		
..1077		000000		..1166		005625'		..1255		006565'		..1344		000000		
..1100		005735'		..1167		006021'		..1256		006531'		..1345		000000		
..1101		006535'		..1170		000000		..1257		006211'		..1346		000000		
..1102		005305'		..1171		006715'		..1260		006651'		..1347		006425'		
..1103		006435'		..1172		005635'		..1261		006175'		..1350		006545'		
..1104		005251'		..1173		006665'		..1262		000000		..1351		006615'		
..1105		000000		..1174		006331'		..1263		006271'		..1352		006371'		
..1106		005151'		..1175		006161'		..1264		000000		..1353		000000		
..1107		005341'		..1176		005551'		..1265		000000		..1354		006441'		
..1110		005131'		..1177		005741'		..1266		006105'		..1355		000000		
..1111		005135'		..1200		000000		..1267		000000		..1356		000000		
..1112		005511'		..1201		006025'		..1270		006061'		..1357		000000		

LISP INTERPRETER	3A(1)-2	MACRO %50(272) 17:15 27-MAR-75 PAGE S-10
UCILSP	MAC	27-MAR-75 17:13		SYMBOL TABLE

..1360		006375'		..1447		000000		
..1361		000000		..1450		000000		
..1362		000000		..1451		006735'		
..1363		006601'		..1452		000000		
..1364		000000		..1453		000000		
..1365		000000		..1454		000000		
..1366		000000		..1455		000000		
..1367		000000		..1456		000000		
..1370		000000		..1457		000000		
..1371		000000		..1460		000000		
..1372		000000		..1461		000000		
..1373		000000		..1462		000000		
..1374		006555'		..1463		007005'		
..1375		000000		..1464		007011'		
..1376		006635'		..1465		007015'		
..1377		006551'		..1466		007021'		
..1400		000000		..1467		007025'		
..1401		000000		..1470		007031'		
..1402		006755'		..1471		007035'		
..1403		000000		..1472		007041'		
..1404		006701'		..1473		000000		
..1405		000000		.APPEN		404311'	INT	
..1406		000000		.DIF		405021'		
..1407		000000		.ERROR		400570'		
..1410		006611'		.GREAT		405034'		
..1411		000000		.JBVER		000137	SPD	
..1412		000000		.LESS		405036'		
..1413		006645'		.MAP		404465'		
..1414		000000		.MAPC		404455'		
..1415		000000		.MAX		405045'		
..1416		006561'		.MIN		405047'		
..1417		000000		.NCONC		404302'		
..1420		000000		.PLUS		405013'		
..1421		000000		.QUO		405027'		
..1422		000000		.RSET		400114'		
..1423		000000		.TAB		410036'		
..1424		006771'		.TIMES		405024'		
..1425		006621'		
..1426		000000		
..1427		006731'		
..1430		007001'		
..1431		000000		
..1432		000000		
..1433		000000		
..1434		006761'		
..1435		000000		
..1436		000000		
..1437		000000		
..1440		000000		
..1441		000000		
..1442		006745'		
..1443		006711'		
..1444		000000		
..1445		000000		
..1446		006721'		

A	   119#	   120	   354	   355	   364	   374	   375	   385	   386	   402	   405	   414	   452	   455
	   459	   460	   463	   469	   470	   472	   539	   541	   544	   546	   548	   586	   594	   602
	   604	   611	   612	   613	   614	   615	   616	   620	   623	   709	   710	   711	   712	   713
	   715	   718	   748	   784	   789	   790	   791	   792	   793	   795	   818	   826	   830	   834
	   839	   840	   849	   860	   867	   891	   894	   910	   924	   934	  1010	  1016	  1021	  1022
	  1027	  1033	  1044	  1045	  1059	  1060	  1061	  1065	  1074	  1094	  1095	  1096	  1097	  1098
	  1111	  1112	  1121	  1123	  1126	  1132	  1135	  1136	  1141	  1145	  1146	  1147	  1148	  1149
	  1153	  1154	  1155	  1162	  1167	  1171	  1186	  1187	  1190	  1195	  1196	  1199	  1205	  1210
	  1211	  1212	  1213	  1214	  1217	  1225	  1229	  1255	  1258	  1261	  1262	  1263	  1265	  1271
	  1273	  1274	  1278	  1279	  1289	  1291	  1301	  1302	  1304	  1307	  1309	  1311	  1312	  1314
	  1317	  1320	  1321	  1322	  1324	  1325	  1326	  1328	  1338	  1339	  1342	  1343	  1345	  1346
	  1348	  1349	  1351	  1363	  1364	  1366	  1373	  1375	  1379	  1382	  1383	  1386	  1387	  1388
	  1389	  1391	  1395	  1396	  1397	  1398	  1400	  1401	  1405	  1409	  1416	  1423	  1424	  1425
	  1429	  1431	  1433	  1434	  1438	  1445	  1462	  1480	  1483	  1484	  1485	  1486	  1490	  1492
	  1497	  1500	  1502	  1503	  1508	  1509	  1510	  1511	  1512	  1516	  1517	  1519	  1520	  1521
	  1522	  1523	  1525	  1526	  1527	  1528	  1529	  1531	  1533	  1534	  1535	  1536	  1537	  1538
	  1541	  1542	  1543	  1544	  1545	  1587	  1588	  1592	  1595	  1596	  1597	  1598	  1599	  1600
	  1601	  1602	  1603	  1604	  1605	  1607	  1631	  1632	  1650	  1669	  1670	  1672	  1673	  1674
	  1675	  1676	  1677	  1678	  1680	  1690	  1694	  1695	  1696	  1697	  1698	  1703	  1706	  1720
	  1721	  1722	  1724	  1725	  1726	  1727	  1728	  1730	  1732	  1734	  1741	  1758	  1925	  1933
	  1936	  1938	  1939	  1942	  1958	  1959	  1962	  1964	  1966	  1968	  1969	  1973	  1974	  1979
	  1980	  1981	  1982	  1984	  1985	  1987	  1989	  1991	  1992	  2000	  2002	  2004	  2009	  2100
	  2106	  2107	  2121	  2122	  2124	  2126	  2129	  2133	  2135	  2138	  2146	  2147	  2167	  2169
	  2173	  2177	  2181	  2182	  2183	  2184	  2185	  2186	  2197	  2198	  2199	  2202	  2203	  2205
	  2206	  2209	  2210	  2212	  2213	  2214	  2215	  2222	  2223	  2226	  2227	  2230	  2231	  2233
	  2234	  2244	  2256	  2260	  2261	  2268	  2269	  2270	  2272	  2298	  2299	  2319	  2325	  2326
	  2327	  2328	  2329	  2330	  2335	  2336	  2357	  2361	  2367	  2369	  2371	  2372	  2373	  2376
	  2386	  2387	  2389	  2390	  2391	  2393	  2394	  2395	  2396	  2410	  2414	  2415	  2418	  2420
	  2427	  2428	  2429	  2431	  2433	  2437	  2443	  2444	  2445	  2447	  2451	  2454	  2455	  2463
	  2464	  2465	  2466	  2469	  2470	  2472	  2476	  2480	  2481	  2483	  2484	  2486	  2488	  2489
	  2490	  2492	  2494	  2497	  2498	  2499	  2507	  2508	  2519	  2525	  2527	  2528	  2530	  2531
	  2532	  2535	  2538	  2539	  2556	  2557	  2584	  2585	  2586	  2587	  2707	  2708	  2717	  2719
	  2744	  2762	  2769	  2779	  2789	  2819	  2820	  2827	  2846	  2851	  2853	  2864	  2872	  2875
	  2877	  2889	  2890	  2891	  2893	  2895	  2896	  2899	  2902	  2920	  2928	  2929	  2931	  2933
	  2941	  2956	  2959	  2968	  2970	  2972	  2984	  2987	  2990	  3003	  3007	  3009	  3011	  3015
	  3025	  3032	  3036	  3042	  3045	  3046	  3048	  3050	  3057	  3065	  3066	  3071	  3082	  3089
	  3091	  3093	  3094	  3130	  3133	  3135	  3136	  3137	  3141	  3143	  3144	  3146	  3154	  3155
	  3156	  3157	  3160	  3161	  3163	  3164	  3168	  3172	  3173	  3176	  3177	  3178	  3186	  3187
	  3192	  3196	  3199	  3202	  3206	  3210	  3211	  3213	  3220	  3233	  3234	  3236	  3239	  3240
	  3244	  3250	  3253	  3255	  3256	  3259	  3267	  3274	  3278	  3279	  3294	  3296	  3298	  3301
	  3302	  3310	  3311	  3312	  3321	  3322	  3332	  3333	  3334	  3335	  3336	  3337	  3338	  3341
	  3342	  3343	  3344	  3345	  3346	  3347	  3350	  3351	  3352	  3353	  3356	  3357	  3358	  3359
	  3362	  3363	  3366	  3367	  3370	  3371	  3374	  3375	  3379	  3383	  3391	  3393	  3394	  3395
	  3399	  3411	  3412	  3414	  3418	  3420	  3421	  3423	  3424	  3425	  3426	  3429	  3432	  3437
	  3438	  3441	  3443	  3446	  3452	  3456	  3458	  3459	  3464	  3465	  3467	  3468	  3469	  3471
	  3474	  3475	  3477	  3482	  3484	  3487	  3489	  3491	  3492	  3493	  3505	  3507	  3512	  3515
	  3516	  3525	  3529	  3530	  3534	  3547	  3548	  3551	  3552	  3553	  3558	  3559	  3566	  3567
	  3568	  3571	  3573	  3575	  3576	  3577	  3578	  3581	  3583	  3584	  3586	  3587	  3589	  3594
	  3597	  3598	  3599	  3602	  3603	  3604	  3608	  3615	  3616	  3619	  3620	  3624	  3626	  3629
	  3634	  3636	  3639	  3641	  3646	  3649	  3652	  3654	  3655	  3660	  3662	  3663	  3665	  3666
	  3674	  3720	  3724	  3726	  3728	  3729	  3732	  3735	  3738	  3741	  3744	  3745	  3748	  3752
	  3753	  3754	  3763	  3765	  3768	  3769	  3776	  3778	  3779	  3783	  3784	  3791	  3794	  3797
	  3804	  3805	  3806	  3809	  3810	  3813	  3824	  3825	  3846	  3847	  3849	  3852	  3856	  3857
	  3859	  3860	  3863	  3882	  3890	  3891	  3894	  3895	  3896	  3897	  3902	  3907	  3909	  3910
	  3911	  3919	  3920	  3922	  3926	  3928	  3936	  3938	  3957	  3958	  3964	  3988	  3990	  3993
	  3999	  4007	  4008	  4009	  4010	  4017	  4027	  4029	  4030	  4032	  4054	  4068	  4074	  4075
	  4076	  4078	  4084	  4088	  4089	  4090	  4091	  4093	  4098	  4101	  4102	  4103	  4104	  4105
	  4108	  4112	  4123	  4125	  4126	  4128	  4133	  4136	  4137	  4147	  4150	  4152	  4158	  4159
	  4166	  4171	  4172	  4174	  4175	  4177	  4186	  4187	  4189	  4191	  4192	  4194	  4195	  4198
	  4199	  4202	  4203	  4208	  4209	  4211	  4213	  4218	  4225	  4228	  4230	  4241	  4247	  4249
	  4253	  4254	  4255	  4256	  4259	  4260	  4267	  4268	  4269	  4271	  4274	  4278	  4279	  4281
	  4283	  4284	  4288	  4292	  4297	  4301	  4304	  4313	  4316	  4333	  4336	  4337	  4339	  4340
	  4345	  4347	  4352	  4353	  4354	  4358	  4359	  4360	  4363	  4389	  4410	  4411	  4413	  4422
	  4436	  4437	  4438	  4440	  4446	  4448	  4456	  4457	  4466	  4467	  4468	  4485	  4486	  4488
	  4493	  4496	  4497	  4500	  4505	  4506	  4508	  4509	  4510	  4511	  4512	  4519	  4521	  4524
	  4529	  4534	  4536	  4548	  4553	  4556	  4557	  4562	  4563	  4570	  4576	  4577	  4586	  4588
	  4621	  4626	  4629	  4652	  4653	  4654	  4662	  4665	  4666	  4667	  4668	  4669	  4676	  4678
	  4680	  4681	  4682	  4684	  4710	  4711	  4712	  4719	  4724	  4727	  4733	  4734	  4735	  4736
	  4737	  4753	  4764	  4766	  4767	  4771	  4772	  4783	  4784	  4785	  4803	  4804	  4806	  4808
	  4810	  4813	  4818	  4821	  4847	  4851	  4860	  4866	  4873	  4888	  4893	  4894	  4895	  4896
	  4897	  4903	  4906	  4907	  4909	  4910	  4915	  4921	  4931	  4938	  4939	  4942	  4946	  4947
	  4948	  4950	  4958	  4965	  4966	  5033	  5034	  5036	  5045	  5046	  5062	  5064	  5065	  5066
	  5067	  5068	  5071	  5072	  5073	  5074	  5075	  5076	  5077	  5078	  5079	  5080	  5081	  5086
	  5090	  5092	  5093	  5094	  5097	  5100	  5102	  5103	  5104	  5105	  5111	  5117	  5129	  5131
	  5135	  5136	  5137	  5140	  5143	  5147	  5149	  5151	  5160	  5177	  5179	  5191	  5192	  5193
	  5194	  5195	  5196	  5212	  5213	  5214	  5217	  5219	  5221	  5224	  5225	  5227	  5239	  5240
	  5242	  5246	  5247	  5249	  5251	  5253	  5254	  5255	  5258	  5261	  5262	  5264	  5265	  5268
	  5269	  5277	  5278	  5279	  5281	  5290	  5300	  5305	  5307	  5312	  5351	  5352	  5353	  5354
	  5361	  5362	  5366	  5368	  5370	  5371	  5378	  5393	  5394	  5415	  5416	  5457	  5479	  5480
	  5481	  5490	  5491	  5492	  5500	  5503	  5506	  5507	  5510	  5514	  5517	  5547	  5548	  5550
	  5553	  5560	  5566	  5567	  5568	  5584	  5598	  5599	  5604	  5625	  5634	  5635	  5636	  5637
	  5638	  5639	  5640	  5641	  5642	  5649	  5655	  5658	  5659	  5661	  5663	  5664	  5672	  5674
	  5675	  5679	  5681	  5682	  5683	  5685	  5688	  5689	  5691	  5692	  5693	  5694	  5700	  5702
	  5703	  5704	  5705	  5706	  5708	  5714	  5715	  5716	  5717	  5719	  5721	  5722	  5724	  5725
	  5726	  5727	  5728	  5729	  5732	  5734	  5735	  5736	  5737	  5739	  5744	  5746	  5747	  5748
	  5750	  5752	  5753	  5755	  5756	  5758	  5759	  5760	  5762	  5765	  5767	  5770	  5772	  5773
	  5775	  5776	  5778	  5779	  5783	  5785	  5786	  5787	  5789	  5791	  5793	  5795	  5798	  5800
	  5801	  5803	  5805	  5806	  5807	  5808	  5809	  5810	  5811	  5813	  5814	  5816	  5817	  5818
	  5820	  5821	  5824	  5826	  5830	  5831	  5834	  5837	  5840	  5842	  5845	  5851	  5852	  5853
	  5854	  5855	  5856	  5857	  5859	  5862	  5864	  5865	  5866	  5867	  5868	  5869	  5871	  5872
	  5874	  5875	  5877	  5880	  5881	  5885	  5888	  5890	  5894	  5898	  5900	  5901	  5902	  5903
	  5904	  5906	  5909	  5910	  5911	  5912	  5913	  5914	  5915	  5916	  5917	  5919	  5921	  5922
	  5923	  5925	  5926	  5928	  5938	  5940	  5941	  5942	  5944	  5946	  5947	  5948	  5949	  5951
	  5953	  5954	  5955	  5956	  5958	  5960	  5961	  5962	  5967	  5970	  5973	  5974	  5975	  5977
	  5978	  5979	  5980	  5982	  5985	  5986	  5992	  5995	  6046	  6048	  6059	  6060	  6064	  6067
	  6068	  6069	  6070	  6072	  6074	  6076	  6077	  6078	  6079	  6080	  6085	  6087	  6091	  6092
	  6093	  6096	  6097	  6110	  6111	  6112	  6113	  6120	  6121	  6125	  6149	  6161	  6165	  6166
	  6167	  6181	  6182	  6183	  6188	  6197	  6209	  6210	  6211	  6212	  6213	  6214	  6219	  6220
	  6221	  6222	  6223	  6227	  6230	  6231	  6244	  6249	  6251	  6253	  6254	  6261	  6263	  6268
	  6272	  6273	  6276	  6277	  6278	  6282	  6284	  6285	  6293	  6298	  6301	  6302	  6303	  6304
	  6305	  6400	  6401	  6403	  6405	  6406	  6417	  6418	  6424	  6426	  6428	  6430	  6431	  6438
	  6439	  6440	  6448	  6450	  6451	  6452	  6459	  6461	  6462	  6463	  6479	  6480	  6482	  6483
	  6484	  6485	  6486	  6487	  6492	  6494	  6497	  6498	  6499	  6500	  6501	  6506	  6509	  6514
	  6516	  6521	  6523	  6525	  6526	  6529	  6535	  6536	  6541	  6555	  6559	  6596	  6599	  6601
	  6610	  6611	  6614	  6617	  6618	  6620	  6621	  6622	  6623	  6640	  6641	  6660	  6662	  6663
	  6665	  6669	  6671	  6675	  6677	  6678	  6680	  6699	  6700	  6702	  6704	  6706	  6715	  6716
	  6721	  6722	  6723	  6724	  6725	  6726	  6727	  6745	  6756	  6757	  6818	  6819	  6824	  6825
	  6826	  6828	  6832	  6833	  6837	  6840	  6842	  6843	  6844	  6845	  6851	  6853	  6862	  6864
	  6870	  6871	  6874	  6878	  6888	  6917	  6918	  6924	  6932	  6937	  6951	  6952	  6954	  6955
	  6957	  6958	  6983	  7021	  7024	  7026	  7027	  7034	  7035	  7036	  7042	  7043	  7047	  7048
	  7051	  7052	  7053	  7475	  7476	  7477	  7478	  7479	  7480	  7481	  7482	  7483	  7484	  7485
	  7487	  7488	  7491	  7492	  7493	  7494	  7496	  7497	  7499	  7500	  7501	  7502
AAGN	  4525#	  4546
AASCII	  3382#	  3755	  7246
ABIND2	  4665#	  4671
ABIND3	  4659	  4672#
ABORT	  5934	  5943	  5957	  5963	  5966#
ABS	  4296#	  7207
ACFLD	   214#	   521	   577	   590	   659	   672	  1534	  1535	  1536	  1537	  1538	  1596	  1597	  1598
	  1639	  1674	  1675	  1676	  1725	  2481	  5018	  5115	  5121
ACHLOC	  6507#
ACONS	  2951	  3389#	  4239	  4244	  7529
ADD1	  4186#	  7203
ADRFLD	   217#
AEVAL	  4569	  4651#
AEVAL1	  4635	  4657#
AEVAL2	  4632	  4657	  4683#	  4683
AEVAL4	  4638#	  4644	  4649
AEVAL5	  4631#	  4631	  4634	  4684
AEVAL6	  4634#	  4637	  4639
AEVAL7	  4629	  4676#
AEVAL8	  4633#	  4685
AEXP	  4699	  4716#
AGC	   382	   504	  3396	  3490	  5320	  5323#
AIN.1	  1744#
AIN.2	  1530	  1747#	  7547
AIN.4	  1532	  1750#	  6169	  7547
AIN.7	   459	  1065	  1416	  1752#	  6180	  6998	  7003	  7547
AIN.8	  1755#	  6200	  6975
AIOP	  1455	  1630	  1744	  1747	  1750	  1752	  1758#	  7551
ALIST	  4626#	  4651	  4749	  4790
ALLNM1	  6745#	  6745	  6755#	  6755	  6766#	  6766
ALLNUM	  6423	  6437	  6447	  6458	  6745#	  6751	  6758	  6768
ALLOC	  7474#	  7559
ALOK	  6494	  6506#
ALTMOD	   203	  2775	  2889	  6763	  7037
ALVINE	    95	   348	   349	   844	   945	  1128	  2981	  2999	  6015	  6043	  6407	  7228	  7230	  7530
AMODE	  5090#	  5090	  5171	  5181
AND	  3845#	  7233
ANDOR	  3849#	  3861
AOEND	  3850	  3855	  3863#
AOUT.2	  1606	  1746#	  7547
AOUT.4	  1608	  1749#	  7014
AOUT2	  1596	  1609	  7011#
AOUT3	  1601	  1603	  7012#
AP2	  4745	  4753#
AP3	  4755#	  4759
APBK1	  4865	  4877#
APBK2	  4866#	  4880
APFNG	  4780#	  4809
APFNG1	  4748#	  4748	  4750	  4781	  4786	  4792
APLBL	  4811	  4886#
APLBL1	  4893	  4900#
APP1	  3779#	  3786
APP2	  3762#	  3766
APPEND	  3759#	  7241	  7527
APPL.2	  4537	  4711#
APPLY	  4550	  4745#	  7241
APPLY.	  4519#	  7367
APRFLG	   239#	   344	   789
APRINI	   250#	   345	   790
APRINT	   342	   481#
AR1	   122#	   769	   770	   772	   773	   924	  1019	  1058	  1066	  1252	  1259	  1264	  1265	  1405
	  1406	  1407	  2221	  2225	  2232	  2241	  2273	  2699	  2799	  2918	  2945	  2962	  3138	  3208
	  3214	  3216	  3226	  3229	  3247	  3254	  3777	  3907	  3960	  3961	  3962	  3996	  3999	  4018
	  4093	  4094	  4095	  4098	  4137	  4138	  4141	  4143	  4145	  4225	  4229	  4230	  4253	  4260
	  4430	  4443	  4449	  4453	  4455	  4457	  4553	  4561	  4565	  4576	  4608	  4609	  4610	  4614
	  4617	  4618	  4619	  4621	  4640	  4641	  4645	  4646	  4647	  4648	  4668	  4708	  4717	  4719
	  4724	  4727	  4729	  4848	  4849	  4850	  4851	  4859	  4860	  4877	  4878	  4879	  4890	  4891
	  4914	  4950	  5080	  5086	  5087	  5089	  5105	  5108	  5137	  5138	  5150	  5154	  5156	  5186
	  5200	  5201	  5202	  5203	  5373	  5374	  5376	  5385	  5386	  6452	  6502	  6652	  6653	  6704
	  6972	  7055
AR2A	   123#	   754	   780	   783	  1938	  1961	  1971	  2273	  2958	  2965	  3204	  3213	  3225	  3227
	  3228	  3236	  3242	  3244	  3250	  4139	  4140	  4142	  4143	  4145	  4226	  4229	  5061	  5062
	  5066	  5109	  5140	  5146	  5155	  5171	  5172	  5180	  5182	  5184	  5185	  5186	  5187	  5255
	  5387	  5388	  5389	  5390	  6463	  6503	  6637	  6646	  6660	  6663	  6667	  6668	  6673	  6674
	  6675	  6677	  6678	  6680	  6681
ARG	  4931#	  7206
ARGP1	   593#	  4788
ARGPDL	   590#	   656	   685	   695	  6969
ARRAY	  5060#	  7232	  7527
ARRAYS	  5060	  5071#	  5252
ARRB0	  5113	  5125#	  5144
ARRB1	  5128	  5135#
ARRB2	  5133	  5137#
ARREND	  5065#	  5256
ARRERR	  5058#	  5149	  5153
ARRY1	  5092	  5095	  5101#
ARRY2	  5113#	  5123
ARRY3	  5118	  5143#
ARRY6	  5158	  5169#
ARRYS	  5110	  5144#
ASSOC	  3511#	  7200
ATMOV	   351	   369	   394#	   394	  2297	  5482	  6594	  6714	  7514
ATOM	  1272	  1340	  1344	  2003	  3008	  3421#	  3457	  3582	  3638	  3640	  6852	  7200	  7528
AVLB	   179#	  1531	  1607
B	   120#	   121	   410	   461	   466	   540	   542	   545	   599	   606	   619	   621	   622	   731
	   732	   736	   737	   738	   752	   753	   763	   827	   831	   835	   861	   872	   880	   881
	  1162	  1163	  1192	  1197	  1198	  1200	  1201	  1202	  1203	  1206	  1289	  1290	  1292	  1305
	  1332	  1365	  1367	  1373	  1376	  1377	  1380	  1390	  1425	  1427	  1435	  1473	  1481	  1487
	  1488	  1489	  1505	  1541	  1543	  1564	  1571	  1572	  1599	  1600	  1619	  1620	  1621	  1623
	  1638	  1651	  1655	  1664	  1665	  1670	  1680	  1681	  1682	  1690	  1691	  1707	  1711	  1714
	  1715	  1716	  1717	  1722	  1728	  1729	  1732	  1733	  1734	  1735	  1937	  1939	  1965	  1975
	  1976	  1999	  2005	  2006	  2087	  2103	  2104	  2112	  2130	  2138	  2143	  2145	  2165	  2170
	  2171	  2172	  2203	  2204	  2206	  2243	  2257	  2260	  2261	  2262	  2271	  2272	  2303	  2305
	  2306	  2310	  2311	  2312	  2314	  2326	  2327	  2330	  2335	  2362	  2364	  2365	  2395	  2397
	  2399	  2401	  2421	  2422	  2427	  2432	  2447	  2449	  2458	  2459	  2487	  2495	  2498	  2499
	  2505	  2507	  2510	  2517	  2519	  2522	  2523	  2534	  2730	  2742	  2746	  2758	  2765	  2767
	  2774	  2775	  2801	  2802	  2821	  2829	  2830	  2837	  2838	  2848	  2849	  2866	  2867	  2872
	  2897	  2900	  2902	  2904	  2905	  2907	  2909	  2934	  2941	  2945	  2949	  2961	  2963	  2975
	  2988	  3012	  3014	  3015	  3016	  3027	  3028	  3059	  3060	  3080	  3087	  3091	  3092	  3109
	  3110	  3111	  3123	  3131	  3137	  3139	  3145	  3147	  3190	  3210	  3218	  3219	  3224	  3226
	  3237	  3238	  3240	  3258	  3259	  3261	  3291	  3293	  3295	  3298	  3300	  3301	  3308	  3319
	  3321	  3322	  3325	  3387	  3389	  3390	  3391	  3393	  3395	  3399	  3414	  3415	  3429	  3432
	  3436	  3444	  3446	  3447	  3448	  3450	  3451	  3456	  3459	  3471	  3477	  3501	  3502	  3503
	  3518	  3527	  3549	  3556	  3560	  3581	  3584	  3587	  3606	  3614	  3619	  3620	  3624	  3625
	  3627	  3634	  3637	  3639	  3641	  3650	  3653	  3656	  3668	  3717	  3739	  3761	  3765	  3773
	  3780	  3782	  3792	  3793	  3795	  3798	  3799	  3804	  3807	  3869	  3873	  3875	  3878	  3879
	  3892	  3900	  3901	  3927	  3928	  3929	  3930	  3932	  3937	  3938	  3939	  3940	  3942	  3959
	  3962	  3963	  3964	  3989	  3990	  3998	  4032	  4033	  4045	  4061	  4078	  4079	  4084	  4085
	  4088	  4095	  4126	  4130	  4131	  4150	  4165	  4170	  4179	  4181	  4188	  4196	  4205	  4211
	  4212	  4226	  4234	  4237	  4242	  4250	  4255	  4257	  4258	  4270	  4271	  4276	  4281	  4284
	  4301	  4308	  4314	  4318	  4340	  4348	  4350	  4366	  4368	  4369	  4370	  4371	  4374	  4380
	  4382	  4383	  4384	  4385	  4397	  4403	  4406	  4407	  4434	  4455	  4456	  4476	  4483	  4484
	  4494	  4509	  4512	  4529	  4536	  4549	  4554	  4561	  4562	  4565	  4582	  4583	  4584	  4585
	  4587	  4658	  4662	  4665	  4666	  4671	  4755	  4756	  4758	  4763	  4767	  4774	  4775	  4777
	  4800	  4801	  4803	  4813	  4821	  4823	  4824	  4825	  4826	  4833	  4834	  4837	  4838	  4840
	  4868	  4874	  4883	  4884	  4887	  4888	  4889	  4890	  4904	  4908	  4909	  4922	  4935	  4941
	  4944	  4952	  4956	  4961	  4963	  4969	  5036	  5082	  5083	  5098	  5143	  5164	  5198	  5208
	  5210	  5218	  5219	  5221	  5223	  5230	  5231	  5232	  5239	  5296	  5303	  5310	  5358	  5372
	  5373	  5458	  5462	  5465	  5488	  5515	  5516	  5546	  5549	  5552	  5553	  5560	  5573	  5575
	  5579	  5580	  5591	  5592	  5594	  5596	  5598	  5602	  5603	  5604	  5605	  5624	  5626	  5630
	  5632	  5635	  5636	  5637	  5643	  5644	  5645	  5650	  5655	  5656	  5657	  5658	  5667	  5668
	  5669	  5670	  5671	  5697	  5698	  5699	  5709	  5710	  5715	  5731	  5740	  5741	  5742	  5743
	  5748	  5749	  5769	  5782	  5832	  5833	  5836	  5838	  5839	  5844	  5847	  5848	  5861	  5884
	  5891	  5892	  5934	  5936	  5971	  5983	  5987	  5990	  5991	  5992	  6057	  6058	  6061	  6062
	  6063	  6073	  6074	  6075	  6078	  6089	  6090	  6092	  6095	  6119	  6125	  6127	  6128	  6133
	  6139	  6208	  6211	  6214	  6217	  6218	  6221	  6224	  6226	  6228	  6229	  6235	  6241	  6242
	  6243	  6244	  6245	  6246	  6247	  6252	  6254	  6255	  6267	  6268	  6270	  6272	  6286	  6288
	  6289	  6290	  6294	  6506	  6507	  6508	  6509	  6511	  6512	  6513	  6514	  6515	  6516	  6542
	  6543	  6544	  6551	  6552	  6557	  6559	  6565	  6569	  6570	  6571	  6575	  6582	  6583	  6584
	  6585	  6587	  6588	  6589	  6591	  6592	  6601	  6602	  6603	  6604	  6605	  6606	  6607	  6608
	  6609	  6616	  6617	  6618	  6634	  6635	  6641	  6718	  6719	  6720	  6854	  6855	  6857	  6858
	  6859	  6863	  6864	  6868	  6878	  6880	  6881	  6882	  6918	  6919	  6920	  6922	  6947	  7004
	  7005	  7015	  7038	  7039
BACTRF	  1010#	  1010	  4864	  6691	  6692
BAKGAG	  1010#	  7204
BANGCK	  6754	  6760#
BCKETS	   104	  7037	  7185	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206
	  7207	  7208	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232
	  7233	  7234	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248
	  7250	  7259	  7266	  7267	  7268	  7269	  7270	  7271	  7279	  7280	  7281	  7282	  7283	  7284
	  7285	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7304	  7316
	  7321	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348
	  7349	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372
	  7373	  7374	  7384	  7386	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412
	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426
	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440
	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454
	  7455	  7458	  7461	  7462
BDEV	  1527	  6996#
BDEV1	  1545	  6997#
BELL	   210#	  6980
BFWS	  7462#	  7475	  7477	  7484
BHORG	  7078	  7467#
BIND	  4019	  4096	  4670	  4862	  4892	  4916	  4938#
BIND1	  4946	  4955#
BIND2	  4943#	  4967
BIND3	  4942#	  4942	  4958	  4961	  4965	  4966	  5331	  6684
BINDNT	   355	  7374	  7376#
BINER2	   393	   498#
BINLD	  6123	  6139#
BINPUT	  1419#
BIOCHN	   352	  7372	  7374#
BLKLS1	  5227#	  5241
BLKLST	  5217#	  7323
BLKSIZ	   176#	  1383
BNDERR	   913#	  4938	  4940
BNINIT	  1420	  1496	  1535	  6995#	  7534
BOOL1	  5289	  5294#
BOOLE	  5275#	  7241
BOOLG	  5280	  5282	  5288#
BOOLI	  5279	  5283	  7043#
BOOLL	  5282#	  5286
BOOTOK	   455	   460#
BOOTOT	   451	   456	   474#
BOOTS	   384	   449#
BPMPT	   353	  7373	  7375#
BPPNR	  5065#	  5065	  5074	  5077	  5078	  5082	  5097	  5107	  5145
BPR	  2403#	  7522
BPSFLG	   392#	   392	   498	  6141
BSFLG	   383#	   383	   449#	   449	   900
BSIZE	  5101#	  5101	  5162	  5167	  5169
C	   121#	   756	   758	   759	   760	   761	   762	   763	   766	   784	   785	   891	   892	   893
	   934	  1056	  1060	  1068	  1364	  1365	  1367	  1381	  1386	  1388	  1389	  1390	  1502	  1505
	  1517	  1520	  1522	  1636	  1637	  1639	  1644	  1645	  1647	  1656	  1657	  1665	  1712	  1713
	  1715	  1717	  1940	  1941	  1942	  1972	  1978	  1986	  2001	  2002	  2005	  2007	  2008	  2009
	  2121	  2123	  2125	  2127	  2242	  2411	  2416	  2417	  2423	  2429	  2431	  2438	  2440	  2441
	  2442	  2443	  2454	  2458	  2463	  2487	  2505	  2514	  2520	  2556	  2557	  2558	  2796	  2797
	  2798	  2838	  2846	  2853	  2864	  2878	  2879	  2881	  2883	  2884	  2885	  2960	  2962	  2964
	  2965	  2984	  3025	  3040	  3046	  3057	  3066	  3067	  3079	  3090	  3092	  3098	  3099	  3101
	  3102	  3103	  3104	  3116	  3117	  3118	  3119	  3120	  3134	  3138	  3139	  3142	  3155	  3163
	  3170	  3173	  3177	  3178	  3179	  3180	  3182	  3183	  3237	  3265	  3266	  3268	  3271	  3272
	  3273	  3276	  3441	  3442	  3498	  3560	  3561	  3564	  3565	  3600	  3606	  3612	  3625	  3628
	  3633	  3643	  3667	  3669	  3673	  3770	  3771	  3773	  3777	  3783	  3784	  3806	  3807	  3809
	  3847	  3848	  3849	  3850	  3851	  3853	  3854	  3870	  3880	  3982	  3983	  3986	  3991	  4047
	  4063	  4165	  4170	  4181	  4190	  4197	  4201	  4207	  4214	  4310	  4330	  4351	  4376	  4392
	  4435	  4447	  4448	  4458	  4630	  4631	  4633	  4634	  4636	  4638	  4640	  4643	  4756	  4757
	  4798	  4799	  4800	  4816	  4817	  4818	  4834	  4882	  4891	  4894	  4903	  4908	  4918	  4919
	  5084	  5091	  5093	  5096	  5101	  5103	  5174	  5177	  5179	  5191	  5194	  5205	  5226	  5241
	  5266	  5268	  5281	  5303	  5305	  5307	  5310	  5312	  5355	  5357	  5359	  5361	  5392	  5408
	  5418	  5488	  5489	  5543	  5544	  5545	  5547	  5574	  5575	  5577	  5578	  5584	  5646	  5651
	  5768	  5781	  5843	  5860	  5883	  5988	  5989	  6124	  6126	  6129	  6130	  6131	  6132	  6133
	  6135	  6139	  6140	  6143	  6144	  6225	  6227	  6228	  6232	  6264	  6265	  6269	  6270	  6414
	  6415	  6545	  6610	  6636	  6637	  6639	  6640	  6748	  6749	  6752	  6753	  6757	  6760	  6761
	  6763	  6851	  6853	  6860	  6867	  6889	  6904	  6921	  7043
C1GCS	  5457	  6555	  6556	  6557	  7063#
C2	   360#	   360	   802	  6609	  6611	  6896#	  6896	  6897#	  6897
C2GC	  5389	  6588	  7055#
C2GCS	  5458	  6585	  7064#
C3GC	  6569	  6583	  7047	  7056#
C3GCS	  5448	  6574	  6575	  6726	  7065#
CAAAAR	  3363#	  7198
CAAADR	  3362#	  7198
CAAAR	  3353#	  3364	  7197
CAADAR	  3351#	  7198
CAADDR	  3350#	  7198
CAADR	  3352#	  7197
CAAR	  3337#	  3354	  7196
CADAAR	  3375#	  7198
CADADR	  3374#	  7198
CADAR	  2134	  2320	  3335#	  3376	  7197	  7514
CADDAR	  3333#	  7198
CADDDR	  3332#	  7198
CADDR	  3334#	  7197
CADR	  3336#	  3550	  3609	  4086	  5259	  7197
CAR	  2701	  3083	  3338#	  7196
CDAAAR	  3371#	  7198
CDAADR	  3370#	  7199
CDAAR	  3359#	  3372	  7197
CDADAR	  3357#	  7199
CDADDR	  3356#	  7199
CDADR	  3358#	  7197
CDAR	  3346#	  3360	  7197
CDDAAR	  3367#	  7199
CDDADR	  3366#	  7199
CDDAR	  3344#	  3368	  7197
CDDDAR	  3342#	  7199
CDDDDR	  3341#	  7199
CDDDR	  3343#	  7197
CDDR	  3345#	  7197
CDR	  3347#	  4323	  7196
CEV	   862#
CEVAL	  3900	  7214#
CHANNE	  1391#	  1391	  1409	  1472	  1483	  1516	  1519	  1533	  1595	  7547
CHCT	  1173	  1191	  1200	  1203	  1206	  1213	  1217	  1714	  1735	  5692	  5808	  5880	  5901	  6989#
	  7524
CHDAT	   195#	  1543	  1600
CHDEV	   184#	  1520
CHHP	   200#	  1715	  1734
CHKGO	  1943	  2010	  2335#
CHLL	   199#	  1713	  1717	  1732	  1741
CHNAM	   183#	  1365	  1367	  1390
CHNSUB	  1342#	  1404	  1586	  7548
CHOCH	   186#	  1657	  1665	  1690	  1703
CHPPN	   185#	  1522
CHRCT	  1217#	  7201	  7524
CHRTAB	  2447	  2451	  2584	  2585	  2586	  2587	  3294	  3301	  3322	  3325	  7034	  7035	  7036	  7037#
	  7530
CHRVAL	  3308#	  3320	  3588	  7361
CHTAB	  1060	  1061	  1364	  1388	  1389	  1399	  1400	  1401	  1517	  1541	  1542	  1599	  1644	  1645
	  1647	  1677	  1696	  1727	  6994#	  7054	  7548
CILIST	   684	  4720#
CLRBLK	  1970	  2211	  2325#
CLRSPD	  6878#	  6923
CNIL2	   371	   374	   749	  7260#
CNTLB	   244#	   324
CNTLE	   243#	   320
CNTLG	   246#	   333
CNTLH	   242#	   317
CNTLR	   247#	   311
CNTLZ	   245#	   330
CNVPPN	  1313	  1493	  1508#
COMMEN	  1024	  2788#	  2790	  2804	  2832	  2843	  2860	  3020	  3054
COMP2	  4215	  4216	  4218#
COMP3	  3670	  3671	  3673#
CON2	  4101#	  4108
CONCOR	  1928	  2246	  2310#
COND	  4102#	  7228
COND2	  4110#	  4118	  4160	  4869	  4875	  4923
CONS	   607	   862	  3081	  3392#	  3781	  4539	  4566	  4960	  4962	  5099	  5211	  7199	  7529
CONSP	  3411#	  7361
CONSVA	   901	  3392	  5510#	  5510
COPIES	  2018	  7326#	  7516
CORE	   255#	  2314	  6048	  6135	  6247	  6273	  6952
CORUSE	  1397#	  1397	  2303	  2311	  6057	  6126	  6243	  6252	  6253	  7514
COUNT	   176	   197#	  1678	  1730
CPOPJ	  1273	  1318	  1320	  1337	  1637	  1695	  2444	  2974	  3227	  3238	  3411	  3451	  3458	  3502
	  3513#	  3517	  3583	  3741	  3797	  4102	  4111	  4136	  4173	  4189	  4195	  4213	  4508	  4578
	  4877	  4881	  5292	  6917	  6932
CPOPJ1	  3129	  3508#
CPU	  2019	  7326#
CQUOTE	   599	  7247#
CR	   208#	  1171	  1205	  2470	  2717	  2899
CSET1	  3613	  3619#
CSET2	  3601	  3611#
CSET3	  3598#	  3603
CSW	  5628#	  5628	  5712	  5999
CSYM	  3890#	  7233
CTY	  2352	  2368	  2374	  2377	  2378	  2380	  2409	  2419	  2452	  2476#	  2491	  2502	  7529
CURBUC	  3079#	  3079	  3123	  3261
CUT	  5640#	  5640	  5710
D	   128#	   559	   560	  1384	  2307	  3548	  3549	  3551	  3972	  3973	  3974	  3975	  3977	  3978
	  4222	  4224	  4227	  4761	  4784	  4789	  4791	  4841	  4842	  4850	  5111	  5112	  5115	  5117
	  5120	  5121	  5123	  5416	  5417	  5419	  5423	  5435	  5437	  5448	  6065	  6077	  6079	  6082
	  6084	  6091	  6093	  6096	  6100	  6101	  6108	  6109	  6114	  6115	  6117	  6149	  6161	  6165
	  6167	  6168	  6179	  6182	  6183	  6184	  6188	  6197	  6198	  6243	  6252	  6253	  6671	  6672
	  6673	  6682	  6683	  6901	  6902	  6903	  6905	  6906	  6907	  6908	  7059	  7061
D1	  5982#	  5995
D2	  5973	  5997#
DBLQT	   211#	  2445	  2464	  2851
DDT	   305#	   319	  7499
DDTIFG	  1119	  1229	  6728	  6990#
DDTIN	  1229#	  7207
DEBUGO	   308#	   315	   336	  2298	  6957	  7514
DEFPRO	  3623#	  7233
DELCLS	  2598#	  2822
DELERR	  1455#	  1466
DELET1	  1461#	  1470
DELET2	  1462	  1467#
DELETE	  1459#	  7324
DEPOSI	  5303#	  7205
DEPTH	  5631	  5970#	  5984
DEV	  1298	  1302	  1307	  1410	  1486	  1521	  1526	  1590	  1602	  2173	  2181	  6299	  6302	  7001#
	  7004	  7015	  7514
DEV1	  1544	  7002#
DEVCHK	  1288#	  1303	  1935	  1998
DEVCHR	   253#	  1528	  1604
DEVCLR	  1375	  1381	  1389#
DEVDAT	  1297#	  1297	  1438	  1440	  1468	  1492	  1758	  7548
DIFPAR	  1915#	  1959	  1978
DIRB	   180#
DISP	  2022	  7326#
DIVIDE	  4308#	  4322	  7202
DOSET	  4049	  4065	  6901#	  6909
DOTAB	  2830	  2832#
DOTERR	   922#	  2759	  2764	  2768
DOTFLD	  2583#	  2829
ECHO	  1094#	  7239
EE1	  4598	  4607#
EE2	  4604	  4690#	  4705
EELS	  3906#	  4697
EFM	  4703	  4740#
EFS	  4701	  4723#
EFWS	  7463#	  7477	  7487
EFWSO	  6699	  6727#	  6727	  7488#	  7488
EG1	   939#	  4051
EG2	   941#	  4043
EG3	   943#	  4059
ENDHI	  7029#
ENTR	  1592	  1593	  1594	  1631	  7011#	  7016	  7548
EPRINT	   549	   911	   913	   916	   919	   925	   927	   935	   937	   939	   941	  1759	  2343#	  4262
	  4594	  5561
EQ	  3432#	  7200
EQ2	  3646	  3659#
EQUAL	  3633#	  3796	  7201	  7523
EQUAL1	  3634#	  3651	  3657
EQUAL3	  3642	  3646#
EQUAL4	  3643#	  3652	  3662	  3665	  3675
ERINT	   305	   326	   356#	   356	  4591#	  4591	  4593#	  4593
ERR	   323	   475	   855	   857	   866#	  1075	  1497	  7205	  7527
ERR1	   872#	   898
ERR2	   869#	   883
ERRBK	   810	   843#
ERRCH	  1111#	  7321
ERRCHR	  1112	  1126	  6980#
ERREND	   806	   818	   820	   824	   833	   849#	  5043
ERRIO	   731#	   807	   812	   821	   836	  2345
ERRO2B	   763#	   786
ERRO2C	   767#	   776
ERRO2G	   757	   768	   782	   785#
ERRO2H	   771	   774	   778#
ERROR	   518	   789#
ERROR1	   796	   805#
ERROR2	   798	   826#
ERRORB	   712#	   717	   720
ERRORG	   797	   800#
ERRORX	   860	   867	   881	  7344#
ERRP4	   877	  4070#
ERRPTR	   711#	   711	   712
ERRSET	   471	   885#	  7232	  7527
ERRSUB	   709#	   809	   813
ERRSW	   357	   731	   805	   819	   832	   856	   874	   880	   888	   893	  2343	  6906	  6970#
ERRTAB	   795	   796#
ERRTN	   358#	   358	   800	   869	   871	   875	   887	   890	  6901	  6907
ERSUB2	   828	   832#
ERSUB3	   747#	   842	  5042
ESB	  4695	  4727#
ESB1	  4732#	  4835
EV3	  4553#	  4691
EV5	  4608#	  4616
EVAL	   397	   863	   895	  2993	  3858	  3915	  4037	  4080	  4087	  4106	  4114	  4116	  4540	  4571#
	  4655	  4742	  4814	  5088	  5260	  5263	  6921	  7216	  7530
EVALAT	   466	  7245#
EVALV	  6851#	  7350
EVALV1	  6855#	  6858	  6863
EVBIG	  4614#	  7521
EXAMIN	  5299#	  7205
EXARRA	  5246#	  7233
EXCISE	   474	   903	  6042#	  7207
EXIT	   254#
EXIT1	  5940	  5950	  5964#
EXP	  2590#	  3044	  3184	  3203
EXP2	  4721#
EXP3	  4605	  4718#
EXPA1	  4168	  4171#	  4176
EXPAND	  4165#	  7280
EXPCOR	  2200	  2307#
EXPFLD	  2585#	  3059
EXPL1	  2700	  4429	  4434#
EXPL2	  4439	  4443#
EXPL4	  4441	  4454#
EXPLOD	  4429#	  7200	  7523
EXPN1	  4170#	  7279
EXPND2	  6245	  6252#
EXPR	   533	  4541	  4698	  4827	  7384#
EXPTAB	  3054#	  3060
EXT	  1324	  1334	  1464	  1485	  1539	  2183	  7011#	  7518
F	   131#	   381	   502	  3394	  3398	  4505	  4506	  4510	  4511	  5345	  5370	  5377	  5378	  5431
	  5432	  5447	  5462	  5476	  6489	  6490	  6491	  6492	  6493	  6546	  6634	  6639	  6642	  6646
	  6647	  6662	  6665	  6666	  6728
FALSE	  1099	  1107	  1159	  1369	  2247	  2750	  2780	  3253	  3413	  3415	  3427	  3430	  3434	  3482
	  3512#	  3532	  3556	  3574	  3580	  3586	  3590	  3644	  3719	  3745	  3754	  3760	  3792	  3805
	  4129	  4146	  4212	  4219	  4288	  4305	  4507	  5321	  5582	  5606	  6008	  6263	  6306	  6841
	  6888	  7007	  7363	  7364	  7365	  7366	  7522
FCP	  2517	  2519	  2556#
FEXPR	   535	  4532	  4704	  7384#
FF	   132#	  3488	  3492	  3493	  5347	  5465	  5477	  5487	  5490	  5491	  6645	  6647	  6686	  6688
	  6690	  6692	  6694	  6696	  6706
FIL	  1328#	  1335
FILARE	  2160	  2180	  2196#	  2229
FILDEF	  2201	  2209#
FILECH	  2111	  2119	  2158#
FILPAR	  1916#	  1919	  2197	  2199	  2204	  2210	  2234
FIX	  4274#	  7203	  7525
FIX1	  3440	  3442	  4284#
FIX1A	  1113	  3303	  3313	  3323	  3326	  4235	  4285	  4315	  4317	  4338	  4352#	  4378	  4423	  4765
	  4773	  5035	  5184	  5297	  5301	  5313	  5504	  5508	  5511	  5585	  7299	  7526
FIX1B	  4241#	  4355
FIX2	  4282#	  7521
FIXI	  1016#	  1169	  1215	  1218
FIXNUM	  2399	  3190	  3577	  4242	  4250	  4257	  4361	  4365	  4371	  4403	  4407	  4612	  6286	  6294
	  7266	  7267	  7268	  7269	  7270	  7295	  7297	  7299	  7301	  7309	  7384#	  7557
FIXOV	  3241	  4282	  4325#	  4377
FLAT1	  4420	  4422#	  4422	  4424
FLAT2	  4419	  4424#
FLATLE	  5673	  5701	  5733	  5751	  5934#
FLATSI	  4419#	  5745	  5777	  5959	  7205	  7524
FLO1A	  4236#	  4394	  5182
FLOAT	  3198	  3205	  3207	  4267#	  4399	  4412
FLONUM	  2401	  3219	  3578	  4234	  4237	  4258	  4276	  4385	  4387	  4397	  4408	  4611	  7384#	  7557
FLOOV	  3221	  4327#	  4393	  7521
FLOSUB	  3209	  3217	  3224#	  3229
FLTYIA	  2917#	  2924	  2926	  2930	  7534
FORMS	  2020	  7326#
FP1	  2488	  2492#
FP3	  2489	  2497#	  2524
FP3A	  2507#	  2511
FP4	  2493	  2495	  2514#
FP4A	  2516#	  2520
FP4C	  2523	  2527#	  2527
FP7	  2501	  2531#	  2536
FP7A1	  2435	  2531	  2535	  2538#	  7529
FP7B	  2509	  2539#
FPTEM	  2500#	  2500	  2504	  2533
FREE	  4505#	  7362
FREELI	  4508#	  4513	  7362
FS	  5567	  5591	  6480	  6542	  7050	  7057	  7084#	  7475	  7482	  7491
FSMOVE	  6439#	  6439	  6499	  6599	  6645	  6715
FSO	  6430#	  6430	  6440#	  6440	  6501	  6562	  6576	  7483
FSTCH	   174#	  1363	  1399	  1400	  1401	  6994	  7054
FSUBR	   529	   773	  4528	  4700	  7223	  7226	  7228	  7232	  7233	  7234	  7240	  7247	  7324	  7327
	  7346	  7363	  7364	  7365	  7366	  7384#
FT	  2548#	  2557	  3214
FT0	  2555#	  2556	  2558
FT01	  2492	  2554#	  3208	  3216
FT8	  2494	  2544#
FUNARG	  4777	  4808	  7384#
FUNCT	  4771#	  7240
FW0CNS	  3487#	  7522
FWC0	  3489#	  3489	  3491
FWC1	  3488	  3492#
FWCONS	  2967	  3158	  3384	  3488#	  3883	  4238	  4243	  7522
FWSO	  3438	  3448	  3810	  5568	  5592	  6636#	  6636	  6653	  6702	  6725	  7485#	  7485
GAPP	  4523	  4525	  4542	  4544	  4547#
GC	  5320#	  7204	  7526
GC1	  5359#	  5392
GCBT	  5373	  5400#
GCBTL1	  6580	  7058#
GCBTL2	  6578	  7060#
GCBTP1	  5376	  6566	  7051#
GCBTP2	  5374	  6567	  7052#
GCD	  4330#	  7202
GCD2	  4331	  4333#
GCD3	  4336#	  4341
GCEND	  5367	  5375	  5391#
GCEXIT	  5472	  5476#
GCFLG	   308#	   308	   346	  5323	  5471	  5474	  5475	  5535	  6943
GCGAG	  5500#	  7201
GCGAGV	  5343	  5460	  5500#	  5500	  6693	  6694
GCING	   309	  5532#	  6944
GCMFW	  5369	  5385#
GCMFWS	  5385	  6554	  7053#
GCMKL	  5098	  5100	  5210	  5212	  5330	  5413	  6669	  6672	  7054#
GCP	  5362#	  5362	  6571
GCP1	   573	  2390	  3418	  3424	  5368#	  5368	  6551	  6635	  6652	  6724
GCP2	  6570	  7046#
GCP3	  5355#	  5355	  6602
GCP4	  5335	  6605	  7044#
GCP41	  6607	  7045#
GCP5	  6591	  7048#
GCP5A	  5344	  5350#
GCP6	  5334	  5404#
GCP6A	  5406	  5413#
GCP6B	  5356#	  5409	  5421
GCP6C	  5405#	  5411
GCP6D	  5414#	  5425
GCP6E	  5417#	  5423
GCPI	  5362#	  5379	  5395
GCPK1	  5325#	  5470
GCPK2	  5334#	  5470
GCPNT	  5463	  5466	  5513#
GCPP1	   572	  2391	  3420	  5366	  7050#
GCRET1	  5343#	  7049
GCS0	  5459	  5487#
GCS1	  5488#	  5492
GCS2	  5489	  5492#
GCSP1	  5468#	  5468	  6604
GCSPI1	  5461	  5468#
GCSWP	  5414	  5445#
GCTIM	   902	  5354#	  5354	  5481	  5503
GCTIME	  5503#	  7204
GENSY1	  3877	  3882#
GENSY2	  3873#	  3880
GENSYM	  1439	  3869#	  7202	  7525
GET	   543	  2989	  3088	  3132	  3309	  3544#	  3740	  3893	  4132	  4134	  4495	  4555	  4905	  4945
	  6869	  7201	  7525
GET1	  3548#	  3553
GETHGH	  6946	  6950#
GETL	  3556#	  7204	  7526
GETL0	  3559#	  3568
GETL1	  3561#	  3565
GETSEG	   257#	  6955	  7021	  7027
GETSYM	  5248	  5564	  5572#	  7290
GETV	  6856	  6867#
GETV1	  6867	  6871#
GFSP1	  5429#	  5437	  7061
GFSPR	  5440	  5457#	  7062
GFSWPP	  5427#	  5445
GNUM	  3869	  3882	  3897	  7040#
GO	  4074#	  4081	  7232
GOBF	   389#	   389	   391	   754	   756
GTBLK	  5191#	  5222	  7321
HASH	    97	   377	  6464	  6776
HGHCOR	  6261#	  7362
HGHDAT	  6301	  6303	  6305	  6954	  6960#	  7026	  7518
HGHEND	  6293#	  7362
HGHORG	  6282#	  7362
HIADDR	  2257#	  2257	  7025
HIARGS	  2256#	  2256	  7024
HVAL	  6075#	  6075	  6100	  6121
IAP1	  4805	  4823#	  4832
IAP2	  4824	  4903#
IAP3	  4843	  4914#
IAP4	  4761#	  4857
IAP5	  4769	  4847#
IAP6	  4830	  4881#
IAP69	  4858	  4872#
IAPLMB	  4807	  4837#
IAPPLY	   581	   588	  4714	  4721	  4755	  4798#	  4899
IAPXPR	  4821#	  4828
IDCLS	  2595#
IDEND	  2854	  2985	  3065#	  3072
IDEND1	  3066#	  3068
IDFLD	  2866	  7036#
IDPTR	  3104#	  3104	  3134	  3152
IDSUB	  2855	  3075	  3098#	  3246
IDTAB	  2860#	  2867
IGCRLF	   205#	  1187	  7032
IGEND	  2789	  7033#
IGSTRT	  1022	  7032#	  7530
ILIST	   679	  3908#	  4720	  4731	  5106
ILIST1	  3910#	  3922
ILIST2	  3909	  3923#
ILIST3	  3917#
ILLMEM	   501#
ILLNUM	  4312	  4328#	  4332
ILLUUO	   794	   830#
ILP1A	  4800#	  4819
ILP1B	  4818#	  4822	  4912
INAGN	  6411#	  6504
INALLC	  6400#	  7507
INB	   177#	  1529
INC	   462	  1653#	  7207	  7526
INC2	  1655	  1667	  1668#
INC3	  1683#	  1704
INCH	  1059	  1653#	  1653	  1668	  1673	  1701	  7544
INCNT	  1072	  1234	  1650#
INFAIL	  1416#	  1421
INHERR	   866	   876#	   876	   879	   882	   897
ININBF	  1498	  1538	  1573	  7009#	  7544
ININIT	   454	   458	  1064	  1415	  1442	  1461	  1534	  7000#
INITF	   385	   405#	   405	  5332	  6685	  6686
INITF1	   402#	   402	   450#	   450	  5333	  6687	  6688
INITFL	   402#	  7324
INITFN	   405#	  7207
INITFW	  6425#	  6425	  6449#	  6449	  6460#	  6460	  6510	  6624	  7504#	  7504
INITOK	  6999	  7004#
INLOOK	  1537	  7006#
INLOW	  6183	  6184	  7070#
INPPAR	  1912#	  1915	  2225	  2234
INPREQ	  1951	  1959#
INPUT	  1414#	  7228	  7530
INPUT1	  1404#	  1414	  1419
INPUT2	   453	  1408#	  1441
INT1	   752	  3111	  7037#
INTER0	  2986	  3075#	  4450
INTER1	  3076	  3109#	  3248
INTERN	  2954	  3244#	  3257	  3756	  7201	  7525
INTPRP	  1153#	  7345
INUM0	   103#	   354	   732	  1016	  1111	  1147	  1149	  1162	  1167	  1211	  1503	  1505	  1509	  1512
	  2135	  2415	  2417	  3187	  3321	  3324	  3589	  3718	  3724	  4188	  4196	  4205	  4241	  4249
	  4308	  4347	  4350	  4352	  4374	  4406	  4440	  4488	  4914	  4918	  4926	  5046	  5067	  5073
	  5076	  5093	  5135	  5191	  5193	  5201	  5206	  5278	  5310	  5624	  5746	  5778	  5960	  6062
	  6139	  6622	  6878	  7248	  7376	  7379	  7380	  7391	  7392	  7518	  7554
INUMIN	   102	   103	  2387	  3412	  3421	  3465	  3474	  3571	  4030	  4076	  4091	  4186	  4194	  4247
	  4304	  4345	  4348	  4353	  4366	  4380	  4486	  4519	  4577	  4599	  4801	  5094	  5127	  5172
	  5183	  7518
INUMP	  4304#	  7322
INXTIO	  1269#	  1308	  1329
IOBRST	  1395#	  6050	  6729
IODEV2	  1307#
IODEV3	  1308#	  1315
IOEND	  1694#	  1737
IOEXT	  1311	  1321#
IOFIL	  1305	  1309	  1317#
IOFIL2	  1317	  1332#
IOPPN	  1304	  1309#	  2176	  7518
IOSEL	  1474	  1636#	  1654	  1710
IOSEL1	  1639#
IOSELZ	  1638	  1647#
IOSUB	  1297#	  1524	  1591	  6300	  7548
IOSUB1	  1299	  1303#
IPLMB1	  4845#	  4853
IPLMB2	  4845	  4857#
IPLMB3	  4861	  4864#
IPLMB4	  4859#	  4863
IRET1	  1564#	  7008
ISFILE	  1423#	  7330
ISPRIN	  5649#	  5771	  5784	  5846	  5863	  5886
ITTYRE	  1669	  1701#
ITYI	  1015#	  7214
ITYO	  1167#	  7213	  7530
JOB41	   221#	   341
JOBAPR	   222#	   343	   755	   758	   764
JOBCNI	   223#	   481
JOBFF	   224#	  1572	  1623	  2258	  2262	  2294
JOBHRL	   232#	  6269	  6293
JOBOPC	   231#	   306	  5473	  5536
JOBREL	   225#	  1395	  2305	  6112	  6113	  6132	  6217	  6226	  6246	  6400	  7496
JOBREN	   226#	  2269	  2270	  2299	  6958	  7022
JOBSA	   227#	  1396	  6208	  6218	  6406	  7497	  7502
JOBSYM	   228#	  1398	  5574	  5600	  5601	  5603	  6089	  6095	  6097	  6099	  6110	  6111	  6128	  6129
	  6209	  6212	  6213	  6219	  6223	  6224	  6235	  6242
JOBTPC	   229#	   483	   501	   503	   505
JOBUUO	   230#	   488	   493	   496	   516	   519	   521	   524	   541	   548	   553	   571	   577	   590
	   659	   672	   678	   681	   687	   698	   710	   791	   826
JRELO	  3099	  3180	  6046	  6401#	  6401	  6403#	  6403	  6405#	  6405	  6479#	  6479	  6614#	  6614	  7505#
	  7505
KLDG1	  3043	  3172#
LABEL	  4810	  7384#
LAM	  5684	  5829#
LAMBDA	  4806	  5683	  7384#
LAST	  3446#	  3453	  3992	  7203	  7526
LBLAD	  4895#	  4895	  4896	  4900
LDFLG	  6047#	  6047	  6082	  6084	  6410
LDPAR	  6059#	  6059	  6122
LDRET2	  6125#	  6145
LENGTH	  3436#	  5220	  7203	  7525
LEX1	  4135#	  4149
LEX2	  4125	  4150#
LEXORD	  4123#	  7361
LF	   207#	  2472	  2719	  7033
LHLEN	  1919#	  1972
LIMIT	  2021	  7326#
LINEL1	  1210	  1214#
LINELE	  1209#	  7201
LINL	  1198	  1202	  1212	  1214	  1716	  1733	  5634	  5642	  5644	  5656	  5667	  5807	  5900	  5975
	  6988#	  7524
LINP	  2103	  2143	  2150#
LINPCH	  2143#
LINRD	  2871#	  2906	  7237
LISP1	   394#	   400
LISPGO	  6943#	  7501
LIST	  3900#	  7226	  7527
LISTAT	  7226#	  7518
LITATO	  3456#	  3727	  7208
LNGTH1	  3437#	  3444
LOAD	  6057#	  7202
LOAD2	  6060	  6063#
LOAD3	  6083	  6099#
LODSIZ	  6070#	  6070	  6115	  6117
LOOKIN	  1463	  1525	  1540	  6994	  7006	  7011#	  7011	  7549
LOWLEN	  1917#
LOWLSP	  6072#	  6072	  6114	  6118
LPIG	  2886	  2893#
LPROG	  5439#	  5446
LPTLL	   170#	  1619	  1620
LR1	  2885	  2886#
LREND	  2883	  2892	  2902#
LRMORE	  2874	  2882	  2888	  2891	  2894	  2904#
LRTY	  2876#	  2898	  2901	  2910
LRTY1	  2880	  2887	  2890	  2909#
LSH	  5310#	  7205
LSPEDT	     9#	    77
LSPMIN	     8#	    77
LSPRET	   329	   332	   409#	   870	  7346	  7529
LSPRMP	   364#	   364	  1154	  1155#	  1155
LSPRT1	   352#	   412
LSPVER	     7#	    77
LSPWHO	     6#	    77
LST	  6197	  6198	  7076#
LSUBR	   531	   770	  4545	  4696	  4829	  7219	  7221	  7241	  7245	  7384#
M	  5627#	  5627	  5632	  5935	  5941	  5949	  5955	  5961	  5977	  5978
MACRO	  4538	  4702	  7384#
MAKID	  2862	  3071#
MAKID1	  3125	  3129#
MAKID2	  3079#	  3251
MAKID3	  3127#	  3135	  3140	  3143
MAKID4	  3131#
MAKID5	  3135#	  3142
MAKNAM	  4462#	  7202	  7525
MAKNUM	  3193	  4233#	  4294	  5308	  6287	  6295	  7199	  7523
MAP	  3954#	  7219
MAPC	  3952#	  7219
MAPCAN	  3951#	  7219	  7221
MAPCAR	  3904	  3953#	  7219	  7527
MAPCON	  3949#	  7219
MAPL2	  3969#	  3984	  3988	  3994
MAPLIS	  3950	  3956#	  7219	  7526
MCEXIT	  3295	  3302#
MEMB	  3804#	  7348
MEMB0	  3791#	  3823
MEMB1	  3792#	  3800
MEMBER	  3821#	  7201
MEMBR.	  3823#
MEMQ	  3802#	  3813	  7204	  7554
MES21	   484	   488#
MINSGN	  2593#	  3035	  3191
MINUS	  4291#	  4298	  7196
MINUSP	  4287#	  7206
MK10	  5576	  5584#
MK3	  5547#	  5554
MK7	  5575#	  5578	  5581
MKNAM2	  4468	  4476#
MKNAM3	  4467	  4470	  4479#	  4479	  4484	  4501	  5329
MKNAM4	  4489#	  4498	  4502
MKNAM5	  4487	  4493#
MKNAM6	  4480	  4500#
MLIOB	   171#	   176
MODCHR	  3291#	  7361
MORCOR	  1385	  2308	  6071	  6088	  6241#	  7518
MOVDWN	  2313	  6134	  6208#	  7518
MOVS1	  6210	  6220	  6235#
MOVSYM	  6217#	  6250
MPDN	  3973	  3996#
MPL3	  3972#	  3980
MPV	   237#	   239	   482
MYPPN	  1491	  1500#	  7323	  7534
N	  5936#	  5936	  5942	  5956	  5962
NA	  5941#	  5953
NACS	   135#	   610	  4732	  5469
NAME	  6079	  6091	  6093	  6096	  6149	  6165	  6179	  6181	  6188	  7070	  7072#
NBYTES	  5104#	  5104	  5154	  5157
NCONC	  3758#	  7241	  7528
NCONS	   464	   465	   468	   598	   896	  1426	  1504	  2903	  2948	  2973	  2991	  3010	  3153	  3159
	  3385	  3386	  3390#	  3884	  3987	  4178	  4454	  7206	  7522
NEQ	  3429#	  7361
NEWHI	  2245	  2254#
NEWHI1	  2276	  7021#
NEXP	  2591#	  3049	  3215
NEXTEV	  6837#	  6887	  6916	  6931	  7348
NIL	   118#	   322	   484	   749	   861	  1132	  1650	  3437	  3447	  3464	  3512	  4029	  4075	  4159
	  4866	  4873	  4921	  5447	  5837	  5894	  5967	  7264	  7271	  7374	  7375
NILPRP	   375#	   375
NIOB	   172#	   176	  7009	  7019
NIOCH	   173#	  1363	  1401	  6994	  7054
NOALIN	  6411#	  6411	  6416#	  6416	  6420	  6434	  6444	  6455	  6746#	  6746	  6764#	  6764
NOINFG	  2703	  2714	  2722#	  2722	  2925	  2952	  3073	  4463	  7530
NOINTR	  2854#	  3074
NOLIST	   931#	  4466
NONNUM	   929#	  4263	  4265
NONUSE	    84	  3416	  3417	  3789	  3802	  3821	  3828	  3864	  7189
NOPNAM	   930#	  3089	  3133	  3894
NOQUE	  1936	  1937	  1941	  1961#
NOT	  3461	  3481#	  4155	  7202
NOUUO	   619#	  7206
NOUUOF	   623#	   623	  6689	  6690
NOWRT	  6261	  6276#
NQS	  1920#	  1940
NSTR	  5265#	  7301
NSWS	  1781#	  2007
NTH1	  3742#	  3747
NTH2	  3743	  3748#
NTH3	  3722	  3726#
NTH4	  3728	  3737#
NTH5	  3730	  3734#
NTH6	  3733	  3755#
NTHCHA	  3717#	  7208
NULL	  3482#	  7202
NUM	  3188	  3234#
NUM1	  3234	  3239#	  3239	  7522
NUM10	  3195	  3201	  3212	  3233#
NUM2	  3237#	  3242
NUM3	  3241#	  7522
NUMAG1	  4248	  4253#
NUMAK	  3022	  3031	  3056	  3168#
NUMAK2	  3185	  3195#
NUMAK3	  3200	  3212#
NUMAK4	  3189#	  3204
NUMAK6	  3191#	  3222
NUMBER	  3460	  3571#	  3585	  3661	  3664	  4124	  4127	  4151	  4627	  7201
NUMBP2	  3580#	  7521
NUMCLS	  2597#	  3169
NUMFLD	  2584#	  3027
NUMTAB	  3020#	  3028
NUMTYP	  4300#	  7322
NUMV2	  4262#	  7521
NUMV3	  4265#	  4388	  4398	  4404	  4409	  7521
NUMV4	  4260#	  7521
NUMVAL	  3292	  3299	  3382	  3480	  4247#	  4275	  4287	  4300	  4677	  5250	  5267	  5291	  5299	  5304
	  5306	  5311	  5565	  6006	  6262	  6283	  7307	  7309	  7526
NUMVLX	  4246#	  4291	  4296
NXM	   238#	   239	   482
NXTIO	  1269	  1271#	  1288	  2175	  7519
OBLIST	  7183#	  7378
OBTBL	   313	  6596	  7038	  7039	  7182#
OCR	  6477#
OEVAL	  4569#	  7245	  7530
OFSO	  6431#	  6431	  6667	  6700
OLDCH	   922	  1027	  1106	  1163	  1664	  1691	  2705	  2706#	  2706	  2710	  2769	  2774	  2776	  2779
	  2819	  2875	  2877	  3042	  3071	  3168	  4464	  4465	  4473	  6979#	  7524
OLDCU	  2306	  2310	  6058#	  6058	  6109	  6144	  7519
OLDHI	  2268	  7026#
OLDNIL	    82#	   371	   372	   749	   750	  3542	  3545	  3557	  3594	  3595	  5229	  5235	  5327	  6717
OP	  3669	  4190	  4197	  4201	  4207	  4214	  4310	  4330	  4345#
OPA1	  4346	  4358#
OPA2	  4349	  4364#
OPA5	  4372	  4396#
OPA6	  4362	  4380#
OPB2	  4367	  4374#
OPB3	  4386	  4402#
OPB7	  4381	  4406#
OPFLD	   216#	   516	   791	  5279
OPOV	  4293	  4377#	  7521
OPR	  4391#	  4400	  4414	  7521
OR	  3847#	  7232
ORET1	  1619#	  7018
ORGSGN	  2820	  2827	  3036#	  3036	  3172	  3721	  3725	  3732	  3734	  3735	  3737
ORGSTK	  2798#	  2798	  3040	  3170
OSFWS	  6418#	  6418	  6497	  6546
OTTYRE	  1720	  1739#
OUT	  5976	  5993	  5999#
OUTALC	  6402	  6728#
OUTB	   178#	  1605
OUTC	  1709#	  7207	  7526
OUTC2	  1711	  1718	  1719#
OUTC3	  1732#	  1742
OUTCH	  1709#	  1709	  1719	  1726	  1739	  7549
OUTCHK	  2098	  2102	  2106#
OUTCNT	  1233	  1706#
OUTENT	  1597	  7016#
OUTERR	  1630#	  7017	  7549
OUTOBF	  1598	  1624	  7019#
OUTPAR	  1913#	  1914	  1915	  1964	  2221
OUTPR1	  1914#	  1919
OUTPUT	  1586#	  7228	  7530
OUTREQ	  1952	  1953	  1954	  1955	  1956	  1958#
OUTRET	   723#	   814	   848	  2347
OUTVAL	  6887#	  7350
P	   130#	   166	   309	   327	   328	   360	   366	   370	   382	   387	   388	   396	   397	   398
	   399	   403	   406	   409	   411	   415	   453	   454	   457	   458	   462	   464	   465	   467
	   468	   469	   470	   471	   474	   489	   504	   539	   540	   543	   545	   546	   549	   554
	   557	   579	   580	   586	   594	   598	   604	   605	   606	   607	   611	   612	   613	   614
	   615	   616	   624	   655	   660	   664	   676	   677	   678	   681	   682	   689	   694	   699
	   702	   714	   716	   719	   725	   726	   727	   728	   734	   739	   755	   764	   800	   801
	   802	   807	   808	   809	   812	   813	   814	   821	   822	   823	   834	   835	   836	   837
	   838	   839	   841	   842	   848	   858	   862	   871	   872	   873	   874	   875	   885	   886
	   887	   888	   889	   890	   895	   896	   911	   913	   916	   919	   925	   927	   935	   937
	   939	   941	  1011	  1015	  1017	  1020	  1023	  1024	  1036	  1055	  1056	  1057	  1058	  1063
	  1064	  1066	  1067	  1068	  1069	  1072	  1127	  1142	  1150	  1156	  1164	  1168	  1186	  1188
	  1189	  1190	  1192	  1197	  1226	  1230	  1233	  1238	  1254	  1256	  1260	  1266	  1272	  1281
	  1288	  1293	  1303	  1308	  1310	  1313	  1319	  1323	  1327	  1328	  1329	  1333	  1344	  1347
	  1353	  1368	  1374	  1376	  1378	  1380	  1382	  1385	  1387	  1392	  1404	  1406	  1407	  1408
	  1414	  1415	  1419	  1420	  1424	  1426	  1427	  1428	  1429	  1430	  1431	  1432	  1433	  1435
	  1436	  1439	  1441	  1444	  1446	  1449	  1455	  1456	  1459	  1461	  1469	  1472	  1474	  1480
	  1482	  1491	  1493	  1495	  1496	  1498	  1504	  1513	  1524	  1546	  1586	  1587	  1589	  1591
	  1630	  1636	  1646	  1648	  1653	  1654	  1671	  1694	  1699	  1709	  1710	  1723	  1744	  1747
	  1750	  1752	  1926	  1928	  1935	  1965	  1967	  1970	  1975	  1998	  2003	  2099	  2120	  2134
	  2136	  2137	  2159	  2175	  2176	  2177	  2180	  2188	  2200	  2208	  2211	  2216	  2229	  2245
	  2246	  2254	  2258	  2266	  2267	  2293	  2294	  2295	  2300	  2313	  2316	  2320	  2331	  2344
	  2345	  2346	  2350	  2351	  2353	  2357	  2358	  2361	  2366	  2369	  2370	  2371	  2373	  2375
	  2379	  2383	  2386	  2410	  2422	  2426	  2432	  2434	  2439	  2453	  2456	  2462	  2467	  2469
	  2471	  2473	  2480	  2482	  2483	  2501	  2509	  2512	  2521	  2524	  2526	  2529	  2530	  2534
	  2536	  2538	  2698	  2700	  2704	  2705	  2709	  2710	  2711	  2712	  2718	  2720	  2721	  2723
	  2724	  2726	  2728	  2729	  2740	  2744	  2745	  2746	  2749	  2751	  2754	  2756	  2757	  2761
	  2762	  2763	  2773	  2777	  2783	  2788	  2791	  2800	  2804	  2808	  2823	  2824	  2828	  2832
	  2843	  2847	  2854	  2855	  2860	  2863	  2865	  2871	  2876	  2905	  2906	  2907	  2921	  2924
	  2926	  2927	  2929	  2930	  2932	  2934	  2947	  2948	  2950	  2951	  2953	  2957	  2967	  2968
	  2972	  2973	  2975	  2985	  2986	  2989	  2991	  2992	  2993	  2994	  2995	  3002	  3008	  3010
	  3017	  3020	  3026	  3047	  3054	  3058	  3069	  3072	  3075	  3076	  3077	  3078	  3081	  3088
	  3095	  3105	  3116	  3120	  3132	  3148	  3153	  3158	  3159	  3174	  3188	  3195	  3198	  3201
	  3205	  3207	  3209	  3212	  3217	  3245	  3246	  3248	  3249	  3255	  3257	  3258	  3278	  3291
	  3292	  3293	  3296	  3299	  3300	  3309	  3320	  3339	  3348	  3380	  3382	  3384	  3385	  3386
	  3388	  3396	  3400	  3417	  3449	  3457	  3460	  3472	  3478	  3480	  3485	  3490	  3494	  3497
	  3499	  3508	  3509	  3511	  3513	  3520	  3522	  3554	  3563	  3569	  3582	  3585	  3588	  3605
	  3607	  3621	  3629	  3630	  3633	  3638	  3640	  3643	  3647	  3648	  3651	  3653	  3654	  3659
	  3661	  3664	  3666	  3667	  3673	  3720	  3723	  3726	  3727	  3729	  3731	  3736	  3738	  3740
	  3755	  3761	  3763	  3764	  3774	  3780	  3781	  3782	  3796	  3808	  3814	  3823	  3826	  3848
	  3851	  3853	  3856	  3858	  3859	  3863	  3868	  3883	  3884	  3891	  3893	  3901	  3902	  3910
	  3912	  3913	  3914	  3915	  3916	  3917	  3919	  3926	  3930	  3931	  3932	  3936	  3940	  3941
	  3942	  3945	  3959	  3963	  3965	  3966	  3967	  3969	  3970	  3976	  3982	  3987	  3989	  3992
	  3993	  3996	  3997	  3998	  4000	  4005	  4006	  4019	  4023	  4036	  4037	  4038	  4044	  4045
	  4046	  4047	  4049	  4060	  4061	  4062	  4063	  4065	  4069	  4070	  4071	  4072	  4080	  4085
	  4086	  4087	  4089	  4096	  4099	  4103	  4106	  4107	  4115	  4116	  4117	  4124	  4127	  4132
	  4134	  4151	  4154	  4167	  4174	  4176	  4177	  4178	  4179	  4180	  4227	  4231	  4238	  4243
	  4251	  4261	  4262	  4272	  4274	  4275	  4283	  4287	  4291	  4296	  4300	  4302	  4306	  4314
	  4315	  4316	  4317	  4318	  4322	  4356	  4399	  4412	  4421	  4425	  4431	  4434	  4435	  4443
	  4444	  4445	  4450	  4451	  4452	  4453	  4454	  4458	  4464	  4469	  4473	  4474	  4476	  4477
	  4478	  4489	  4490	  4495	  4535	  4539	  4548	  4549	  4555	  4566	  4570	  4571	  4572	  4573
	  4574	  4582	  4583	  4587	  4594	  4613	  4622	  4626	  4627	  4651	  4652	  4654	  4658	  4663
	  4670	  4673	  4676	  4677	  4709	  4712	  4718	  4730	  4733	  4734	  4735	  4736	  4737	  4738
	  4749	  4752	  4753	  4757	  4763	  4765	  4766	  4771	  4773	  4774	  4776	  4787	  4789	  4790
	  4791	  4799	  4812	  4814	  4815	  4817	  4849	  4859	  4862	  4869	  4872	  4879	  4892	  4900
	  4905	  4916	  4917	  4923	  4925	  4926	  4928	  4932	  4941	  4945	  4952	  4953	  4960	  4962
	  4964	  4970	  4979	  4985	  4990	  5033	  5035	  5039	  5041	  5042	  5047	  5048	  5049	  5050
	  5051	  5053	  5054	  5060	  5069	  5071	  5079	  5085	  5087	  5088	  5089	  5099	  5113	  5125
	  5126	  5141	  5144	  5180	  5188	  5209	  5211	  5217	  5220	  5222	  5223	  5224	  5246	  5248
	  5250	  5251	  5252	  5253	  5258	  5259	  5260	  5261	  5263	  5264	  5265	  5267	  5269	  5270
	  5276	  5280	  5282	  5288	  5291	  5295	  5296	  5299	  5304	  5306	  5311	  5320	  5325	  5326
	  5328	  5329	  5330	  5331	  5332	  5333	  5334	  5356	  5357	  5360	  5377	  5391	  5393	  5407
	  5408	  5409	  5410	  5417	  5418	  5419	  5420	  5421	  5422	  5459	  5463	  5466	  5470	  5473
	  5474	  5485	  5493	  5501	  5535	  5542	  5551	  5561	  5564	  5565	  5570	  5572	  5596	  5597
	  5605	  5625	  5626	  5629	  5631	  5641	  5645	  5649	  5650	  5651	  5652	  5653	  5654	  5659
	  5660	  5661	  5662	  5664	  5665	  5668	  5670	  5671	  5672	  5673	  5676	  5677	  5678	  5679
	  5680	  5682	  5687	  5689	  5690	  5691	  5693	  5697	  5700	  5701	  5703	  5704	  5705	  5707
	  5709	  5714	  5717	  5719	  5720	  5722	  5723	  5724	  5725	  5726	  5727	  5729	  5731	  5732
	  5733	  5735	  5736	  5738	  5740	  5742	  5744	  5745	  5747	  5749	  5750	  5751	  5753	  5754
	  5756	  5757	  5758	  5759	  5760	  5762	  5763	  5765	  5766	  5769	  5770	  5771	  5772	  5773
	  5775	  5777	  5779	  5780	  5781	  5782	  5783	  5784	  5785	  5788	  5790	  5792	  5793	  5794
	  5796	  5798	  5799	  5801	  5802	  5804	  5805	  5806	  5810	  5811	  5812	  5814	  5815	  5816
	  5817	  5819	  5821	  5822	  5824	  5825	  5826	  5827	  5829	  5830	  5831	  5832	  5833	  5835
	  5839	  5840	  5841	  5844	  5845	  5846	  5847	  5848	  5850	  5851	  5852	  5853	  5854	  5856
	  5857	  5858	  5861	  5862	  5863	  5864	  5866	  5867	  5868	  5870	  5872	  5873	  5875	  5876
	  5877	  5878	  5881	  5882	  5884	  5885	  5886	  5888	  5889	  5891	  5892	  5895	  5896	  5898
	  5899	  5903	  5904	  5906	  5908	  5910	  5916	  5917	  5920	  5921	  5922	  5925	  5926	  5929
	  5931	  5932	  5937	  5938	  5939	  5944	  5945	  5946	  5947	  5951	  5952	  5958	  5959	  5964
	  5965	  5966	  5968	  5970	  5971	  5972	  5974	  5979	  5980	  5981	  5982	  5983	  5984	  5985
	  5986	  5987	  5988	  5991	  5994	  5996	  5997	  5998	  6000	  6001	  6006	  6007	  6066	  6068
	  6071	  6073	  6081	  6086	  6088	  6094	  6134	  6189	  6202	  6215	  6225	  6232	  6233	  6236
	  6241	  6249	  6250	  6251	  6255	  6256	  6262	  6283	  6284	  6287	  6288	  6291	  6300	  6820
	  6829	  6834	  6846	  6852	  6865	  6869	  6872	  6875	  6887	  6889	  6895	  6898	  6900	  6903
	  6916	  6922	  6923	  6924	  6931	  6938	  6944	  6948	  6984
PA3	   885	  4005#	  4005	  4023	  4042	  4044	  4058	  4060	  4071	  5011	  5325
PA4	   886	  4006#	  4006	  4009	  4010	  4025	  4034	  4050	  4070	  5010	  5326
PATCH	  5608#
PATOM	  2366	  2375	  3418#	  5662	  5680	  5687	  5707	  5720	  5738	  5754	  5766	  5799	  5812	  5819
	  5835	  5841	  5858	  5870	  5873	  5889	  5939	  5952	  5972	  5994	  7200	  7525
PDLARG	   610#	   652	   670	   680	  4747	  4751	  4782
PDOV	   236#	   239	   495
PG1	  4025#	  4031	  4033	  4040	  4055
PG4	  4026	  4066	  4068#
PG5	  4051#	  4056
PG7A	  4017#	  4021
PG7B	  4015	  4021#
PGO	  4042#	  4077	  4079
PJUBND	  4975	  4979#
PNAMAK	  2856	  3078	  3152#
PNAMB	  3156#	  3162
PNAME	  2397	  2949	  3087	  3131	  3308	  3387	  3739	  3892	  4131	  4494	  7196	  7197	  7198	  7199
	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208	  7211	  7212	  7213	  7214	  7216
	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234	  7235	  7236	  7237	  7238	  7239
	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7254	  7262	  7266	  7267	  7268	  7269	  7270
	  7271	  7275	  7279	  7280	  7281	  7282	  7283	  7284	  7285	  7286	  7287	  7288	  7289	  7290
	  7291	  7292	  7296	  7298	  7300	  7302	  7312	  7316	  7321	  7322	  7323	  7324	  7326	  7327
	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349	  7350	  7359	  7360	  7361	  7362
	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373	  7374	  7384#	  7384	  7388	  7403
	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413	  7414	  7415	  7416	  7417
	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427	  7428	  7429	  7430	  7431
	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441	  7442	  7443	  7444	  7445
	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455	  7458	  7461	  7462
PNAMU3	  2439	  3091#	  3094
PNAMUK	  3086#	  3245	  5542
PNGNK1	  3165	  3386#	  3885
POINTR	   196#	  1680	  1728
POPAJ	  1330	  1417	  1434	  1475	  1499	  1628	  2359	  2381	  2384	  2474	  2766	  2770	  2933	  3631
	  3898	  4277	  4737#	  5037	  5243	  5249	  7549
POPBJ	  4459	  4491	  4952#
POS	  5660	  5763	  5822	  5825	  5876	  5898#	  6007
POS2	  5919#	  5924
POS3	  5918	  5925#	  5930
POS4	  5905	  5927	  5931#
PPN	  1300	  1306	  1314	  1489	  1523	  2172	  2185	  6304	  7005	  7011#	  7549
PPNEXT	  1310	  1319	  1337#
PRETB	  3927	  3937	  3945#
PRG	  5686	  5850#
PRG1	  5867#	  5879	  5887
PRG2	  5874	  5880#
PRG3	  5871	  5888#
PRIN1	  2351	  2356#	  5665	  5690	  5723	  5757	  5794	  5802	  5815	  5827	  5829	  5850	  5878	  7200
	  7523
PRIN1A	  2379	  2383	  2386#
PRIN1B	  2389	  2393#	  2403	  2404
PRIN2	  2449	  2452#
PRIN2X	  2447#	  2460
PRIN3	  2362	  2451#
PRIN4	  2364	  2448	  2453#
PRIN5	  2365	  2455#	  2455
PRINC	   765	   823	  2355#	  7205	  7528
PRINI1	  2400	  2414#
PRINI2	  2418	  2421#
PRINI3	  2412	  2427#
PRINI4	  2426	  2435#
PRINIC	  2388	  2415#
PRINL	  2392	  2394	  2409#
PRINL1	  2407	  2411#	  5515
PRINL2	   838	  2406#
PRINN	  2398	  2437#
PRINO	  2402	  2486#
PRINT	   398	  1926	  2346	  2349#	  5039	  7200	  7523
PRINT1	  2367	  2383#
PRINT2	  2372	  2380#
PRINT3	  2369#	  2376
PRINTA	  1254	  2358	  2361#	  2370	  3731	  4421	  4431
PROG	  4005#	  7223
PROG1	  3621#	  7208
PROG2	  3617	  3620#	  3762	  3768	  3776	  3946	  4936	  7203
PROGAT	  5006	  5685	  7222#
PROGN	  4158#	  7228
PROGU1	  5007	  5012#
PROGUB	  4996	  5005#
PROMCH	  1122#	  1122	  1146	  1148#	  1148
PROMPT	   366	  1145#	  7347	  7554
PRVCNT	   359#	   359	   723	   724	   733
PRVSEL	   726#	   726	   738
PSAV	  1139	  2721#	  2721	  2723	  2725	  2992	  2994
PSAVE	  2266#	  2266	  2293
PSMAC	  2794	  3007#
PSTR	  2446	  2458#
PSTR2	  2462#	  2465
PSTR3	  2461#	  2466
PUTPRO	  3593#	  3630	  5085	  7205	  7526
PUTSYM	  5596#	  7289
Q.AFTR	  1867#
Q.CNO	  1869#
Q.CREA	  1866#
Q.DEAD	  1868#
Q.DEV	  1859#	  1971	  2106	  2146	  2222
Q.F	  1887#	  1899	  1906
Q.FBIT	  1893#
Q.FDIR	  1889#	  2171	  2186
Q.FDRM	  1902#
Q.FEXM	  1904#
Q.FEXT	  1891#	  2184	  2231
Q.FF	  1885#	  1913
Q.FLEN	  1899#	  1916
Q.FMDM	  1905#
Q.FMLN	  1906#
Q.FMOD	  1894#	  2112	  2130	  2215	  2234
Q.FNAM	  1890#	  2179	  2188	  2207	  2221	  2225	  2232
Q.FNMM	  1903#
Q.FRNM	  1892#
Q.FRPT	  1897#
Q.FSTR	  1888#	  2169	  2182	  2213
Q.I	  1872#	  1879
Q.IDDI	  1876#
Q.IDEP	  1873#	  1985	  2150	  2152
Q.II	  1877#	  1912
Q.IL	  1875#
Q.ILIM	  1874#	  1979	  1980	  1982
Q.JOB	  1861#	  2239	  2241
Q.LEN	  1858#	  1986	  2196	  2226
Q.MEM	  1849#
Q.O	  1880#
Q.OFRM	  1881#	  2100
Q.OL	  1883#
Q.ONOT	  1884#
Q.OPR	  1850#	  1993
Q.OSIZ	  1882#	  1974
Q.PDEV	  1864#
Q.PPN	  1860#	  1989	  2170
Q.PRI	  1863#	  1992
Q.SEQ	  1862#
Q.TIME	  1865#
Q.USER	  1870#
Q.ZER	  1848#
QALLOW	    86	  1779	  7324	  7332	  7514	  7534
QARG	  2087	  2104	  2113	  2131	  2137#
QCOPIE	  2018	  2111#
QCPU	  2019	  2086#
QDEFST	  1843#	  1909
QDISP	  2022	  2119#
QDONE	  1997	  2221#
QDONE1	  2240	  2242#
QDONEB	  2224	  2239#
QDONEC	  2227	  2233#
QERR1	  1929#	  1934
QFILE	  2000	  2004	  2008	  2167#
QFILEA	  1999	  2164#
QFILEB	  2166	  2172#
QFORMS	  2020	  2098#
QGOOD	  1960	  1963#
QGTARG	  2133#	  2137
QILLSW	  1925#	  2109	  2128	  2149
QLIMIT	  2021	  2102#
QLOOP	  1996#	  2101	  2139
QLOOP1	  2008#
QLSTOK	  1783
QO.CRE	  1851#
QO.DEL	  1855#
QO.FLS	  1857#
QO.KIL	  1854#
QO.LST	  1852#
QO.MOD	  1853#
QO.REQ	  1856#
QSELF	  1997#	  2174	  2189
QSETUP	  1965#
QST	   748	  7387#
QSTABL	  1942	  1951#
QSWEXT	  1780	  1781	  1782	  2026	  2061	  2075	  2090	  7334
QSXARG	  2099	  2120	  2319#
QTABL1	  1781	  2022#
QTABLE	  2009	  2016#
QTIFY	   598#	   605	  2784
QTIME	  1784
QTLFY	   602#	   657	   696
QTLFY1	   603#	   608
QUEUE	  1933#	  7327	  7536
QUEUE1	  1977	  1986#
QUOTE	  3379#	  7234	  7247
R	   129#	   481	   482	   495	   501	   502	   519	   520	   523	   528	   530	   532	   534	   536
	   592	   593	   594	   595	   650	   653	   668	   673	   781	   841	  1057	  1067	  1253	  1402
	  1943	  2010	  2086	  2098	  2102	  2108	  2111	  2119	  2148	  2158	  2159	  2336	  2337	  2349
	  2355	  2356	  2363	  2406	  2448	  2453	  2461	  2462	  2482	  2526	  2529	  2540	  2795	  2822
	  2852	  3169	  3730	  3758	  3759	  3764	  4418	  4419	  4428	  4429	  4762	  4768	  4786	  4844
	  4858	  4861	  5018	  5019	  5021	  5022	  5023	  5024	  5025	  5026	  5041	  5061	  5063	  5067
	  5107	  5116	  5122	  5143	  5148	  5149	  5152	  5153	  5161	  5165	  5175	  5176	  5178	  5179
	  5185	  5196	  5197	  5199	  5202	  5203	  5204	  5206	  5207	  5225	  5226	  5240	  5242	  5254
	  5324	  5404	  5405	  5407	  5411	  5413	  5414	  5415	  5424	  5431	  5432	  5434	  5436	  5445
	  5446	  5478	  5513	  6050	  6423	  6437	  6447	  6458	  6661	  6664	  6670	  6676	  6679	  6701
	  6705	  6707	  6729	  6747	  6762	  6765	  6767	  7057	  7058
R50FLD	  2587#	  5548
R50MAK	  5542#	  5572	  5597
R50VAL	  7037#	  7037
RATAB	  2802	  2804#
RATFLD	  2801	  2878	  7034#
RATOM	  2728	  2740	  2756	  2763	  2793#	  3004	  7524
RATOM2	  2800#	  2805	  2807
RATOM3	  2806	  2821#	  3013
RDE	  3024	  3040#
RDE2	  3051	  3052	  3055	  3057#
RDFIL1	  2924#	  2928
RDFILE	  2925#	  7323	  7534
RDFLD	  2586#	  2821	  2884
RDID	  2809	  2861	  2864#	  3175
RDIV	  4311	  4313#
RDNAM	  2714#	  7321
RDNDOT	  3023	  3030#
RDNMIN	  2810	  3035#
RDNPLS	  2816	  3036#
RDNUM	  2812	  2840	  3021	  3025#	  3033	  3037
RDOT	  2811	  2827#	  2833
RDOT2	  2819#	  2834	  2835	  2836
RDQT	  2738	  2754	  2783#
RDRUB	  1140	  2717#
RDSTR	  2813	  2844	  2846#
RDT	  2753	  2761#
RDTAB	  2742	  2749#
RDTAB2	  2730	  2733#	  2758
RDTX	  2756#	  2761
READ	   396	  2709	  2715	  2722#	  2871	  7244	  7523
READ0	  2704#	  4469
READ1	  2724	  2728#	  2731	  2783
READ2	  2733	  2740#	  2745	  2749	  2773
READ2A	  2741	  2744#
READ4	  2735	  2751	  2773#
READ5	  2752	  2779#
READAT	   463	  7244#
READCH	  2698#	  7202	  7528
READLI	  4461#	  7203	  7525
READMA	  2988	  7359#
READP	  1158#	  7347
READP1	  2703#	  7523
REALL2	  6479#
REALLC	    87	  5519	  6314	  7351	  7538
REL	   126#	  1990	  2112	  2130	  2158	  2168	  2169	  2171	  2178	  2179	  2182	  2184	  2186	  2188
	  2201	  2202	  2205	  2207	  2209	  2213	  2215	  2231	  2232
REL1	  6660#	  6668
REL4	  6661	  6664	  6670	  6676	  6679	  6699#
REL5	  6673#	  6683
REL6	  6675#	  6681
RELFOO	  6697	  6713#
REMAIN	  4321#	  7207
REMOB	  3253#	  3280	  7232	  7525	  7527
REMOB2	  3260	  3270	  3278#
REMOB3	  3271#	  3275
REMP1	  3528	  3534#
REMPRO	  3525#	  3531	  7206	  7527
RENAME	  1444#	  7324
RENCLR	  1432	  1445	  1448	  1449	  1456	  1467	  1472#
RENSUB	  1430	  1438#	  1444	  1459
RERX	   335	   853	   868	   879#	  1133
RESET	   251#	   339	  6950	  7498
RESTOR	  2293#	  7029
RETURN	  4058#	  7200
REVAL1	  6895#	  6925
REVERS	  3515#	  4167	  4663	  7204	  7526
RGC	  5324#	  5324	  5478
RGTSYM	  5564#	  7292
RHX2	   761	  3080	  3082	  3118	  3122	  6720	  7038#
RHX5	   760	   762	  3119	  3265	  3269	  6719	  7039#
RINP	  2145	  2152#
RINPCH	  2086	  2145#
RLAST	  6108#	  6108	  6119	  6124
RLS	  1639	  1640	  7020#
RMAC2	  2984#	  3002
RMACRO	  2814	  2980#
RMERR	   910#	  2990
RNAME	  1447	  1465	  1536	  6994#
RPAERR	   916#	  3466	  3470
RPDERR	   919#	  3476
RPLACA	  3464#	  7196
RPLACD	  3474#	  7196
RPTSYM	  5591#	  7291
RSTSW	   414#	   414	   854	  6695	  6696
RUBOUT	   206#	  1136	  1141	  6749
RVAL	  6063#	  6063	  6101	  6120
S	   127#	   313	   314	   351	   352	   353	   355	   369	   371	   374	   394	   452	   460	   463
	   466	   472	   527	   529	   531	   533	   535	   542	   599	   748	   749	   759	   770	   772
	   773	   860	   867	   881	  1074	  1651	  2006	  2297	  2397	  2399	  2401	  2416	  2424	  2949
	  2988	  3087	  3117	  3131	  3186	  3190	  3219	  3308	  3387	  3484	  3577	  3578	  3612	  3739
	  3846	  3892	  3900	  4131	  4234	  4237	  4242	  4250	  4257	  4258	  4276	  4361	  4365	  4371
	  4385	  4387	  4397	  4403	  4407	  4408	  4494	  4528	  4532	  4538	  4541	  4543	  4545	  4554
	  4584	  4611	  4612	  4615	  4619	  4694	  4696	  4698	  4700	  4702	  4704	  4777	  4806	  4808
	  4810	  4827	  4829	  4831	  4904	  4910	  4939	  4944	  4956	  4963	  5006	  5068	  5072	  5075
	  5084	  5192	  5200	  5207	  5356	  5359	  5391	  5430	  5433	  5435	  5468	  5469	  5482	  5566
	  5567	  5591	  5594	  5683	  5685	  6061	  6140	  6143	  6286	  6294	  6594	  6596	  6713	  6714
	  6716	  6718	  6868	  6874	  7044	  7045	  7059	  7060
SAS0	  3501#	  3506
SAS1	  3497	  3502#	  3511
SASSOC	  3497#	  7200	  7523
SAVSP	  2275#	  2275	  7023
SAWDOT	  2592#	  2839	  3030	  3184	  3197
SBPS	  6438#	  6438	  6482	  6500	  6544	  6713	  7474
SBT	  6484#	  6484	  6526	  6533
SBTF	  6493#	  6493	  6521	  6522
SC2	   361#	   361	   410	  4630	  4679	  4681	  4984	  5404	  6620#	  6620	  6838	  6879#	  6879	  6881
	  6947
SCAN	  5938#	  5945
SET	  4090#	  7203	  7528
SETARG	  4935#	  7206
SETCHR	  3319#	  7361
SETERR	   937#	  4092	  4094
SETFWS	  6417#
SETIN	  1063	  1519#	  7551
SETIN1	  1412	  1524#
SETIN2	  1495	  1525#
SETINA	   457	  1446	  1469	  1516#
SETQ	  4084#	  7228	  7527
SETSYS	  6298#	  7228
SETUWP	   256#	  6265	  6278
SFS	  6483#	  6483	  6525	  6536	  6543	  7476
SFWS	  6417#	  6417	  6428#	  6428	  6485	  6489	  6498	  6508	  6518	  6541	  7478
SHRST	    66	    68	    80	    85	   560
SIXAT1	  2947	  2958#	  2969
SIXAT2	  2960#	  2966
SIXAT3	  2967#	  2970
SIXATM	  2927	  2932	  2941#	  7534
SIXDON	  2961	  2970#
SIXMAK	  1251#	  1275	  1323	  1327	  1347	  2321	  7519
SIXMK1	  1253	  1258#
SIXMK2	  1251#	  1251	  1252	  1255
SIXRT	  1279#
SMAC	   368	  1105	  2793#	  2793	  2873	  3003	  3007	  3009	  3011	  3014	  3016	  7549
SMACRO	  2815	  2998#
SP	   133#	   361	   491	   889	  2254	  2267	  2275	  2295	  2438	  2442	  2797	  3090	  3102	  3103
	  3109	  3183	  3914	  3916	  4012	  4022	  4036	  4038	  4097	  4447	  4571	  4573	  4585	  4586
	  4628	  4633	  4646	  4648	  4672	  4764	  4772	  4839	  4867	  4886	  4897	  4898	  4920	  4947
	  4948	  4969	  4973	  4976	  4983	  4984	  4987	  4989	  4991	  5008	  5012	  5017	  5026	  5028
	  5034	  5405	  5545	  6552	  6554	  6562	  6564	  6565	  6566	  6567	  6573	  6574	  6576	  6577
	  6578	  6579	  6580	  6818	  6855	  6895	  7023	  7025
SPACE	   204#
SPDLFT	  6824#	  7349
SPDLOV	   494#	  3100	  3181
SPDLPT	   327	  6818#	  7349
SPDLRT	  6832#	  7349
SPDNLP	  6840#	  6844
SPEAK	  5510#	  7204
SPEC1	  5018#	  5027
SPECBI	  5017#	  7295	  7528
SPECST	  4901	  4983#	  7297	  7528
SPECX	  5020	  5028#
SPNM	  6623#	  6623	  6819	  6824	  6832	  6837	  6845	  6854	  6919	  6937
SPRE1	  6890	  6922#	  6933
SPREDO	   328	  6916#	  7347
SPREVA	  6931#	  7347
SPRINT	  5624#	  7208
SPRN1	  5664#	  5674
SPRN11	  5761	  5765#	  5774
SPRN12	  5696	  5702	  5730	  5768#	  5849
SPRN13	  5681	  5767	  5775#	  5842	  5859	  5890	  5893
SPRN16	  5785#	  5828
SPRN17	  5786	  5795#
SPRN18	  5752	  5798#
SPRN19	  5814#	  5823
SPRN2	  5711	  5719#
SPRN21	  5813	  5826#
SPRN22	  5666	  5797	  5894#
SPRN3	  5688	  5697#
SPRN4	  5695	  5704#
SPRN5	  5718	  5731#	  5739
SPRN7	  5743	  5749#
SPRN8	  5708	  5713	  5734	  5753#
SPRN9	  5756#	  5764
SPRNT2	  5625#
SPSV	  4014#	  4014	  4022	  4628	  4672	  4839	  4867	  4886	  4898	  4920
SRPDL	  6451#	  6451	  6486	  6502	  6515	  6545	  7481
SSPDL	  6462#	  6462	  6487	  6503	  6513	  6616	  7480
START	   339#	   486	  6131	  6137	  6142	  6730
STIME	   252#	  5352	  5480	  5507
STKPTR	  6937#	  7347
STNIL	   318	   321	   325	   331	   334	   373#	   373	  2296	  6945	  7519
STORE	  5258#	  7232
STP	  5629#	  5629	  5937	  5966	  6000
STPGAP	    99	   187	   194	  1038	  1077	  1566	  1621	  1622	  1658	  1663	  1684	  1689	  6980	  6992
	  7208
STR2	  2845	  2851#
STRCLS	  2596#	  2852
STRFLD	  2848	  7035#
STRING	  3581#	  7200
STRT	  6399#	  6949	  6959
STRTAB	  2843#	  2849
STRTYP	   799	   812#
SUB1	  4194#	  7203
SUBAS	  3791#	  3791	  3794
SUBBS	  3793#	  3793	  3798	  3825
SUBR	   527	   772	  4543	  4694	  4831	  5084	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203
	  7204	  7205	  7206	  7207	  7208	  7211	  7212	  7213	  7214	  7216	  7235	  7236	  7237	  7238
	  7239	  7244	  7246	  7279	  7280	  7281	  7282	  7283	  7284	  7285	  7286	  7287	  7288	  7289
	  7290	  7291	  7292	  7306	  7321	  7322	  7323	  7330	  7345	  7347	  7348	  7349	  7350	  7360
	  7361	  7362	  7367	  7368	  7369	  7384#
SUBS4	  3787	  3999#	  4432
SXATER	  2942	  2956#
SYM	  7248	  7266	  7267	  7268	  7269	  7270	  7296	  7298	  7300	  7302	  7308	  7384#
SYMER1	  5561#	  5569
SYMERR	  5560#	  5593
SYSCLR	   900#	  7362
SYSDEV	   106
SYSIN0	  6167	  6168	  7067#	  7538
SYSIN1	  6161	  7066#	  7538
SYSINI	  6066	  6086	  6149#	  7538
SYSINP	  6081	  6094	  6197#	  7538
SYSNAM	   111
SYSPN	    93	  6964	  7066
SYSPRG	    91	   105	   108	  6964	  7066
SYSUNV	    64	    70
T	   124#	   450	   456	   514	   516	   517	   521	   522	   523	   524	   525	   526	   537	   538
	   551	   552	   554	   556	   566	   568	   576	   577	   578	   581	   582	   583	   584	   585
	   590	   591	   592	   603	   608	   610	   650	   651	   655	   664	   665	   668	   669	   671
	   672	   676	   690	   694	   697	   698	   699	   702	   703	   910	  1055	  1061	  1062	  1069
	  1269	  1270	  1271	  1274	  1297	  1312	  1318	  1321	  1325	  1337	  1338	  1342	  1343	  1346
	  1351	  1352	  1440	  1467	  1468	  1481	  1490	  1494	  1542	  1678	  1679	  1693	  1702	  1730
	  1731	  1736	  1740	  1925	  1933	  1963	  1996	  1997	  2001	  2133	  2164	  2174	  2274	  2319
	  2503	  2504	  2511	  2795	  2839	  2943	  2966	  2974	  2987	  3030	  3035	  3044	  3049	  3124
	  3127	  3128	  3129	  3130	  3144	  3147	  3152	  3156	  3162	  3184	  3191	  3197	  3203	  3215
	  3266	  3267	  3273	  3274	  3276	  3277	  3294	  3302	  3501	  3503	  3504	  3507	  3515	  3517
	  3518	  3519	  3521	  3525	  3526	  3530	  3531	  3559	  3562	  3573	  3574	  3594	  3604	  3608
	  3614	  3616	  3636	  3647	  3649	  3659	  3660	  3717	  3718	  3719	  3721	  3722	  3724	  3725
	  3737	  3742	  3746	  3749	  3750	  3751	  3752	  3760	  3762	  3873	  3874	  3875	  3876	  3903
	  3906	  3908	  3913	  3918	  3921	  3949	  3951	  3952	  3953	  3954	  3956	  3958	  3960	  3961
	  3965	  3969	  3974	  3977	  3980	  4012	  4013	  4014	  4025	  4026	  4027	  4028	  4034	  4050
	  4051	  4052	  4053	  4101	  4107	  4109	  4110	  4111	  4112	  4113	  4114	  4115	  4117	  4130
	  4133	  4135	  4139	  4148	  4158	  4171	  4173	  4175	  4359	  4361	  4365	  4387	  4408	  4445
	  4451	  4461	  4462	  4463	  4470	  4471	  4472	  4477	  4490	  4521	  4522	  4524	  4525	  4526
	  4527	  4530	  4531	  4533	  4534	  4535	  4547	  4569	  4588	  4597	  4599	  4603	  4636	  4637
	  4638	  4679	  4680	  4682	  4690	  4691	  4692	  4693	  4707	  4708	  4709	  4713	  4716	  4717
	  4718	  4723	  4725	  4728	  4729	  4730	  4732	  4740	  4741	  4746	  4748	  4750	  4754	  4759
	  4769	  4780	  4781	  4792	  4798	  4812	  4815	  4816	  4844	  4845	  4848	  4853	  4868	  4874
	  4914	  4922	  4924	  4926	  4927	  4928	  4991	  4994	  4998	  5000	  5005	  5006	  5008	  5009
	  5010	  5011	  5012	  5018	  5023	  5024	  5025	  5027	  5029	  5045	  5047	  5048	  5050	  5051
	  5052	  5053	  5110	  5112	  5275	  5294	  5295	  6109	  6111	  6113	  6298	  6518	  6519	  6520
	  6522	  6523	  6589	  6838	  6840	  6859	  6861	  6862	  6896	  6899
TAB	   209#	  1195	  1199	  2895
TABSR1	  1363#	  1374	  1378	  1671	  1723	  7550
TABSRC	  1373#	  1408	  1482	  1589	  7550
TEMCOR	  1967	  2303#
TEN	   138#	  2423	  2508	  2532	  3233
TERPRI	   388	   399	   409	   716	   808	   822	   837	  1189	  2350	  2469#	  5882	  5908	  7196	  7529
TIME	  5506#	  7203
TOMANY	   932#	  4846
TOOFEW	   933#	  4761	  4762
TRUE	  1100	  1160	  1345	  1350	  1450	  3419	  3422	  3423	  3426	  3431	  3433	  3483#	  3535	  3572
	  3579	  3591	  3635	  3676	  4135	  4144	  4153	  4220	  4289	  6051	  6271	  6275	  6280	  6826
	  7010	  7522
TRUTH	   452	   460	  1651	  3484	  3846	  4939	  6990	  7251#	  7256
TSV	   514#	   514	   568	   569	   651	   665	   669	   703
TT	   125#	   515	   525	   527	   529	   531	   533	   535	   544	   551	   553	   555	   567	   571
	   572	   573	   576	   580	   585	   586	   587	   593	   596	   603	   617	   619	   652	   656
	   657	   658	   659	   660	   661	   670	   673	   679	   680	   684	   685	   686	   687	   688
	   690	   695	   696	   766	   767	   768	   769	   775	   778	   779	   780	   781	   783	  1966
	  1968	  1969	  1971	  1974	  1979	  1980	  1982	  1985	  1986	  1989	  1992	  1993	  2100	  2106
	  2146	  2150	  2152	  2170	  2196	  2198	  2221	  2222	  2225	  2226	  2234	  2239	  2241	  2244
	  2274	  2515	  2516	  2518	  2521	  3122	  3124	  3127	  3145	  3146	  3154	  3160	  3161	  3196
	  3199	  3202	  3206	  3211	  3218	  3220	  3268	  3269	  3271	  3277	  3319	  3323	  3324	  3325
	  3504	  3505	  3526	  3527	  3528	  3529	  3534	  3561	  3562	  3564	  3598	  3599	  3600	  3637
	  3648	  3650	  3663	  3668	  3674	  3769	  3770	  3771	  3772	  3778	  3779	  3785	  3786	  3871
	  3878	  3906	  3912	  3917	  3918	  3923	  3970	  3972	  3978	  3979	  3981	  4007	  4017	  4020
	  4021	  4052	  4054	  4123	  4128	  4129	  4152	  4153	  4191	  4192	  4198	  4199	  4202	  4203
	  4208	  4209	  4218	  4313	  4334	  4336	  4337	  4338	  4339	  4350	  4369	  4373	  4374	  4383
	  4390	  4405	  4406	  4411	  4413	  4444	  4452	  4478	  4479	  4480	  4481	  4483	  4485	  4489
	  4493	  4526	  4528	  4532	  4538	  4541	  4543	  4545	  4603	  4604	  4610	  4611	  4612	  4615
	  4692	  4694	  4696	  4698	  4700	  4702	  4704	  4720	  4731	  4745	  4751	  4782	  4788	  4825
	  4827	  4829	  4831	  4838	  4841	  4843	  4846	  4847	  4852	  4857	  4881	  4882	  4915	  4973
	  4974	  4983	  4988	  4989	  5017	  5028	  5106	  5114	  5115	  5116	  5119	  5120	  5121	  5122
	  5125	  5126	  5127	  5129	  5130	  5131	  5132	  5136	  5138	  5145	  5146	  5147	  5148	  5150
	  5151	  5152	  5157	  5158	  5159	  5160	  5161	  5162	  5163	  5164	  5165	  5166	  5167	  5168
	  5169	  5170	  5173	  5174	  5175	  5176	  5177	  5178	  5181	  5183	  5275	  5276	  5277	  5288
	  5290	  5292	  5350	  5390	  6529	  6530	  6532	  6533	  6535	  6573	  6584	  6879	  6880	  6882
	  6897	  6898	  6899	  6900	  6968
TTCH	   175#
TTOCH	  1657	  1703	  6991#
TTOHP	  6993#
TTOLL	  1713	  1741	  6992#
TTSV	   515#	   515	   567
TTYCLR	   166	  1236#
TTYI	  1119#	  1702	  6971
TTYID	  1120	  1135#
TTYLL	   169#	  6988	  6989	  6992	  6993
TTYO	   736	  1225#	  1740	  2718	  2720	  5513	  6981
TTYRET	   370	   387	  1233#
TTYXIT	  1126#	  1137
TYI	  1015	  1019#	  1025	  1070	  2698	  2808	  2863	  7524
TYI1	  1028	  2776#
TYI2	  1029	  1045	  1693	  2704	  2708	  2711	  2917	  6971#	  7544
TYI2E	  1062	  1072#	  7550
TYI2Q	  1055#	  6978
TYI2X	  1032	  1674	  2919	  6973#
TYI2Y	  1675	  6974#
TYI2Z	  1676	  6976#	  7550
TYI3	  1033#	  1033	  1046	  1681	  2920
TYI3A	  1034	  1682	  6972#
TYI3B	  1033#	  6977	  7550
TYIA	  1020	  1027#	  2800	  3174	  7544
TYID	  1029#	  1047	  2788	  2828	  2847	  2865	  2876	  3026	  3047	  3058
TYIEOF	  6978#
TYO	   719	  1168	  1171#	  1196	  2349	  2356	  2406	  2471	  2473	  5676	  5788	  5790	  5792	  5796
	  5804	  5920	  5929	  7530
TYO1	  1174	  1186#
TYO2X	  1725	  6982	  6985#	  7550
TYO3	  1172	  1195#
TYO4	  1192#	  1204	  1207
TYO5	  1729	  6983#	  6986	  7551
TYOD	   727	   737	  1175	  1188	  1193	  1736	  6981#	  7524
TYOI	  2476	  7030#
TYOI2	  2480#	  7031
UBD	   411	   873	  4046	  4062	  4969#	  4977	  4980	  6883	  6948
UBDPTR	  4563	  5328	  7041#
UFDINP	  1480#	  7323	  7534
UNBIND	  4069	  4653	  4752	  4787	  4870	  4929	  4979	  4982#	  4988
UNBND1	  4989#	  5002	  5013
UNBOND	  6870	  6874#	  7238
UNBOUN	  4584	  4619	  4910	  4956	  6874	  7041	  7274#	  7554
UNBVAR	   927#	  4609	  4620
UNDFUN	   924#	  4556	  4564	  4600
UNDTAC	   934#	  4802	  4906	  4911
UNDTAG	   935#	  4520
UNTYI	  1162#	  7347
UUET	   534	   642#
UUFET	   536	   646#
UUFST	   530	   634#
UULT	   532	   638#
UUO2	   803#	   803	   850	   852
UUOCL	   565	   622	  6968#
UUOEX1	   547	   577#	   662	   674
UUOEXP	   576#	   642	   648
UUOH	   340	   557	   558	   559	   566	   579	   677	   682	   689	   815	   830	  6966#
UUOH1	   525#	   538
UUOH2	   514#	  6967
UUOMAX	   510#	   793
UUOMIN	   509#	   792	   795
UUOS	   520	   571#
UUOS1	   630	   650#
UUOS10	   635	   702#
UUOS2	   631	  4728#
UUOS3	   646	   655#
UUOS4	   647	   664#
UUOS4A	   657#	   666
UUOS5	   643	   668#
UUOS6	   644	   676#
UUOS6A	   660#	   683
UUOS7	   638	   685#
UUOS7A	   686	   691	  6969#
UUOS8	   640	   684#
UUOS9	   634	   694#
UUOSBR	   552#	   574	   629	   636	   639	   700
UUS10A	   696#	   704
UUST	   528	   629#
UWPERR	  6266#	  6279
VALUE	   542	  3612	  4554	  4615	  4904	  4944	  4963	  6868	  7252	  7260	  7271	  7316	  7372	  7373
	  7374	  7384#
VBASE	  2416	  7316	  7379#
VBPEND	  5075	  5200	  6140	  6716	  7316	  7392#	  7494
VBPORG	  5068	  5072	  5192	  5207	  6061	  6143	  7316	  7391#	  7492
VFIX1A	  7298#	  7300
VHGHOR	  6267	  6285	  6290	  7078#
VIBASE	  3186	  7316	  7380#
VNIL	  7261	  7264#
VNSTR	  7300#	  7302
VOBLIS	   314	   759	  3117	  6718	  7316	  7378#
VSPECB	  7294#	  7296
VSPECS	  7296#	  7298
VTRUTH	  7253	  7256#
WRTSTS	   562	  6264	  6277	  7079#
X	   137#	  6966	  6972	  6973	  6974	  6976	  6981	  6983	  6985	  6994	  6995	  6996	  6997	  7000
	  7001	  7002	  7006	  7009	  7011	  7012	  7013	  7016	  7019	  7020	  7030	  7044	  7045	  7046
	  7048	  7055	  7058	  7060
X.LOG	  1895#
X.NEW	  1896#
XCONS	   467	   600	  1428	  1506	  2747	  2908	  2935	  2950	  2976	  3388	  3391#	  3520	  3605	  3607
	  4180	  4182	  4319	  4776	  4778	  4964	  7206	  7528
XFLD	   215#	   501
XXEVAL	  4567	  4572	  4576#
XXX1	  7038#
XXX2	  7039#
XXX3	  5449	  6721	  7057#
XXX4	  6722	  7041#
XXX5	  6723	  7050#
ZERODI	  4206	  4309	  4326#
ZEROP	  3480#	  7202
ZY	  7196#	  7196	  7197#	  7197	  7198#	  7198	  7199#	  7199	  7200#	  7200	  7201#	  7201	  7202#	  7202
	  7203#	  7203	  7204#	  7204	  7205#	  7205	  7206#	  7206	  7207#	  7207	  7208#	  7208	  7211#	  7211
	  7212#	  7212	  7213#	  7213	  7214#	  7214	  7216#	  7216	  7219#	  7219	  7221#	  7221	  7223#	  7223
	  7226#	  7226	  7228#	  7228	  7231#	  7231	  7232#	  7232	  7233#	  7233	  7234#	  7234	  7235#	  7235
	  7236#	  7236	  7237#	  7237	  7238#	  7238	  7239#	  7239	  7240#	  7240	  7241#	  7241	  7244#	  7244
	  7245#	  7245	  7246#	  7246	  7247#	  7247	  7248#	  7248	  7255#	  7255	  7263#	  7263	  7266#	  7266
	  7267#	  7267	  7268#	  7268	  7269#	  7269	  7270#	  7270	  7271#	  7271	  7276#	  7276	  7279#	  7279
	  7280#	  7280	  7281#	  7281	  7282#	  7282	  7283#	  7283	  7284#	  7284	  7285#	  7285	  7286#	  7286
	  7287#	  7287	  7288#	  7288	  7289#	  7289	  7290#	  7290	  7291#	  7291	  7292#	  7292	  7296#	  7296
	  7298#	  7298	  7300#	  7300	  7302#	  7302	  7313#	  7313	  7316#	  7316	  7321#	  7321	  7322#	  7322
	  7323#	  7323	  7324#	  7324	  7326#	  7326	  7327#	  7327	  7329#	  7329	  7330#	  7330	  7331#	  7331
	  7344#	  7344	  7345#	  7345	  7346#	  7346	  7347#	  7347	  7348#	  7348	  7349#	  7349	  7350#	  7350
	  7359#	  7359	  7360#	  7360	  7361#	  7361	  7362#	  7362	  7363#	  7363	  7364#	  7364	  7365#	  7365
	  7366#	  7366	  7367#	  7367	  7368#	  7368	  7369#	  7369	  7372#	  7372	  7373#	  7373	  7374#	  7374
	  7384#	  7384	  7389#	  7389	  7403#	  7403	  7404#	  7404	  7405#	  7405	  7406#	  7406	  7407#	  7407
	  7408#	  7408	  7409#	  7409	  7410#	  7410	  7411#	  7411	  7412#	  7412	  7413#	  7413	  7414#	  7414
	  7415#	  7415	  7416#	  7416	  7417#	  7417	  7418#	  7418	  7419#	  7419	  7420#	  7420	  7421#	  7421
	  7422#	  7422	  7423#	  7423	  7424#	  7424	  7425#	  7425	  7426#	  7426	  7427#	  7427	  7428#	  7428
	  7429#	  7429	  7430#	  7430	  7431#	  7431	  7432#	  7432	  7433#	  7433	  7434#	  7434	  7435#	  7435
	  7436#	  7436	  7437#	  7437	  7438#	  7438	  7439#	  7439	  7440#	  7440	  7441#	  7441	  7442#	  7442
	  7443#	  7443	  7444#	  7444	  7445#	  7445	  7446#	  7446	  7447#	  7447	  7448#	  7448	  7449#	  7449
	  7450#	  7450	  7451#	  7451	  7452#	  7452	  7453#	  7453	  7454#	  7454	  7455#	  7455	  7458#	  7458
	  7461#	  7461	  7462#	  7462
ZZ	  5401#	  5403	  5403#	  7183#	  7185	  7185#	  7196#	  7196	  7197#	  7197	  7198#	  7198	  7199#	  7199
	  7200#	  7200	  7201#	  7201	  7202#	  7202	  7203#	  7203	  7204#	  7204	  7205#	  7205	  7206#	  7206
	  7207#	  7207	  7208#	  7208	  7211#	  7211	  7212#	  7212	  7213#	  7213	  7214#	  7214	  7216#	  7216
	  7219#	  7219	  7221#	  7221	  7223#	  7223	  7226#	  7226	  7228#	  7228	  7231#	  7231	  7232#	  7232
	  7233#	  7233	  7234#	  7234	  7235#	  7235	  7236#	  7236	  7237#	  7237	  7238#	  7238	  7239#	  7239
	  7240#	  7240	  7241#	  7241	  7244#	  7244	  7245#	  7245	  7246#	  7246	  7247#	  7247	  7248#	  7248
	  7249#	  7250	  7250#	  7255#	  7255	  7258#	  7259	  7259#	  7263#	  7263	  7266#	  7266	  7267#	  7267
	  7268#	  7268	  7269#	  7269	  7270#	  7270	  7271#	  7271	  7276#	  7276	  7279#	  7279	  7280#	  7280
	  7281#	  7281	  7282#	  7282	  7283#	  7283	  7284#	  7284	  7285#	  7285	  7286#	  7286	  7287#	  7287
	  7288#	  7288	  7289#	  7289	  7290#	  7290	  7291#	  7291	  7292#	  7292	  7296#	  7296	  7298#	  7298
	  7300#	  7300	  7302#	  7302	  7303#	  7304	  7304#	  7313#	  7313	  7316#	  7316	  7321#	  7321	  7322#
	  7322	  7323#	  7323	  7324#	  7324	  7326#	  7326	  7327#	  7327	  7329#	  7329	  7330#	  7330	  7331#
	  7331	  7344#	  7344	  7345#	  7345	  7346#	  7346	  7347#	  7347	  7348#	  7348	  7349#	  7349	  7350#
	  7350	  7359#	  7359	  7360#	  7360	  7361#	  7361	  7362#	  7362	  7363#	  7363	  7364#	  7364	  7365#
	  7365	  7366#	  7366	  7367#	  7367	  7368#	  7368	  7369#	  7369	  7372#	  7372	  7373#	  7373	  7374#
	  7374	  7384#	  7384	  7385#	  7386	  7386#	  7389#	  7389	  7403#	  7403	  7404#	  7404	  7405#	  7405
	  7406#	  7406	  7407#	  7407	  7408#	  7408	  7409#	  7409	  7410#	  7410	  7411#	  7411	  7412#	  7412
	  7413#	  7413	  7414#	  7414	  7415#	  7415	  7416#	  7416	  7417#	  7417	  7418#	  7418	  7419#	  7419
	  7420#	  7420	  7421#	  7421	  7422#	  7422	  7423#	  7423	  7424#	  7424	  7425#	  7425	  7426#	  7426
	  7427#	  7427	  7428#	  7428	  7429#	  7429	  7430#	  7430	  7431#	  7431	  7432#	  7432	  7433#	  7433
	  7434#	  7434	  7435#	  7435	  7436#	  7436	  7437#	  7437	  7438#	  7438	  7439#	  7439	  7440#	  7440
	  7441#	  7441	  7442#	  7442	  7443#	  7443	  7444#	  7444	  7445#	  7445	  7446#	  7446	  7447#	  7447
	  7448#	  7448	  7449#	  7449	  7450#	  7450	  7451#	  7451	  7452#	  7452	  7453#	  7453	  7454#	  7454
	  7455#	  7455	  7458#	  7458	  7461#	  7461	  7462#	  7462
$EOF$	   472	  1074	  7384#
%AMAKE	  5033#	  7267
%ARG	  4917	  4919	  4924	  4925	  4931	  4935	  7042#
%CLRBF	   858	  1104#	  7235
%EXPLO	  4428#	  7211
%FLATS	  3723	  4418#	  7360
%LCALL	  5045#	  7266
%NOPOI	  2424	  7271	  7271#
%UDT	  5039#	  7268
..0055	  7185	  7384#
..0056	  7185	  7208#
..0057	  7185	  7206#
..0060	  7185	  7234#
..0061	  7185	  7200#
..0062	  7185	  7201#
..0063	  7185	  7349#
..0064	  7185	  7204#
..0065	  7185	  7327#
..0066	  7185	  7202#
..0067	  7185	  7270#
..0070	  7185	  7200#
..0071	  7185	  7200#
..0072	  7185	  7236#
..0073	  7185	  7206#
..0074	  7185	  7196#
..0075	  7185	  7196#
..0076	  7185	  7247#
..0077	  7185	  7350#
..0100	  7185	  7200#
..0101	  7185	  7329#
..0102	  7185	  7200#
..0103	  7185	  7424#
..0104	  7185	  7200#
..0105	  7185	  7409#
..0106	  7185	  7196#
..0107	  7185	  7419#
..0110	  7185	  7228#
..0111	  7185	  7197#
..0112	  7185	  7203#
..0113	  7185	  7205#
..0114	  7185	  7197#
..0115	  7185	  7228#
..0116	  7185	  7283#
..0117	  7185	  7202#
..0120	  7185	  7219#
..0121	  7185	  7362#
..0122	  7185	  7372#
..0123	  7185	  7228#
..0124	  7185	  7428#
..0125	  7185	  7413#
..0126	  7185	  7442#
..0127	  7185	  7245#
..0130	  7185	  7405#
..0131	  7185	  7419#
..0132	  7185	  7425#
..0133	  7185	  7204#
..0134	  7185	  7422#
..0135	  7185	  7422#
..0136	  7185	  7203#
..0137	  7185	  7204#
..0140	  7185	  7200#
..0141	  7185	  7411#
..0142	  7185	  7199#
..0143	  7185	  7203#
..0144	  7185
..0145	  7185	  7437#
..0146	  7185	  7426#
..0147	  7185	  7223#
..0150	  7185	  7373#
..0151	  7185	  7432#
..0152	  7185	  7202#
..0153	  7185	  7226#
..0154	  7185	  7228#
..0155	  7185	  7440#
..0156	  7185	  7384#
..0157	  7185	  7331#
..0160	  7185	  7409#
..0161	  7185	  7411#
..0162	  7185	  7413#
..0163	  7185	  7267#
..0164	  7185	  7419#
..0165	  7185	  7266#
..0166	  7185	  7198#
..0167	  7185	  7404#
..0170	  7185	  7287#
..0171	  7185	  7198#
..0172	  7185	  7269#
..0173	  7185	  7427#
..0174	  7185	  7198#
..0175	  7185	  7429#
..0176	  7185	  7441#
..0177	  7185	  7198#
..0200	  7185	  7405#
..0201	  7185	  7216#
..0202	  7185	  7199#
..0203	  7185	  7442#
..0204	  7185	  7196#
..0205	  7185	  7204#
..0206	  7185	  7414#
..0207	  7185	  7196#
..0210	  7185	  7201#
..0211	  7185	  7414#
..0212	  7185	  7197#
..0213	  7185	  7292#
..0214	  7185	  7219#
..0215	  7185	  7197#
..0216	  7185	  7201#
..0217	  7185	  7384#
..0220	  7185	  7197#
..0221	  7185	  7219#
..0222	  7185	  7361#
..0223	  7185	  7316#
..0224	  7185	  7406#
..0225	  7185	  7201#
..0226	  7185	  7326#
..0227	  7185	  7202#
..0230	  7185	  7208#
..0231	  7185	  7200#
..0232	  7185	  7203#
..0233	  7185	  7347#
..0234	  7185	  7296#
..0235	  7185	  7207#
..0236	  7185	  7436#
..0237	  7185	  7202#
..0240	  7185	  7233#
..0241	  7185	  7196#
..0242	  7185	  7207#
..0243	  7185	  7201#
..0244	  7185	  7208#
..0245	  7185	  7289#
..0246	  7185	  7201#
..0247	  7185	  7201#
..0250	  7185	  7200#
..0251	  7185	  7203#
..0252	  7185	  7205#
..0253	  7185	  7199#
..0254	  7196	  7196#
..0255	  7196	  7321#
..0256	  7196	  7206#
..0257	  7196	  7200#
..0260	  7196	  7207#
..0261	  7196	  7197#
..0262	  7196	  7206#
..0263	  7197	  7197#
..0264	  7197	  7347#
..0265	  7197	  7404#
..0266	  7197	  7279#
..0267	  7197	  7197#
..0270	  7197	  7197#
..0271	  7197	  7197#
..0272	  7197	  7406#
..0273	  7197	  7197#
..0274	  7197	  7329#
..0275	  7197	  7288#
..0276	  7198	  7302#
..0277	  7198	  7198#
..0300	  7198	  7198#
..0301	  7198	  7198#
..0302	  7198	  7198#
..0303	  7198	  7198#
..0304	  7198	  7199#
..0305	  7198	  7199#
..0306	  7198	  7404#
..0307	  7199	  7199#
..0310	  7199	  7199#
..0311	  7199	  7199#
..0312	  7199	  7202#
..0313	  7199	  7199#
..0314	  7199	  7285#
..0315	  7199	  7413#
..0316	  7199	  7205#
..0317	  7199	  7435#
..0320	  7200	  7202#
..0321	  7200	  7432#
..0322	  7200	  7206#
..0323	  7200	  7232#
..0324	  7200	  7203#
..0325	  7200	  7232#
..0326	  7200	  7430#
..0327	  7200	  7204#
..0330	  7200	  7238#
..0331	  7200	  7203#
..0332	  7201	  7206#
..0333	  7201	  7201#
..0334	  7201	  7204#
..0335	  7201	  7361#
..0336	  7201	  7323#
..0337	  7201	  7202#
..0340	  7201	  7233#
..0341	  7201	  7203#
..0342	  7202	  7232#
..0343	  7202	  7203#
..0344	  7202	  7441#
..0345	  7202	  7202#
..0346	  7202	  7207#
..0347	  7202	  7206#
..0350	  7202	  7228#
..0351	  7202	  7219#
..0352	  7202	  7409#
..0353	  7203	  7366#
..0354	  7203	  7205#
..0355	  7203	  7361#
..0356	  7203	  7362#
..0357	  7203	  7205#
..0360	  7203	  7205#
..0361	  7203	  7419#
..0362	  7203	  7316#
..0363	  7203	  7316#
..0364	  7204	  7204#
..0365	  7204	  7345#
..0366	  7204	  7205#
..0367	  7204	  7211#
..0370	  7204
..0371	  7204	  7212#
..0372	  7204	  7326#
..0373	  7205	  7244#
..0374	  7205	  7207#
..0375	  7205	  7207#
..0376	  7205	  7286#
..0377	  7205	  7231#
..0400	  7205	  7213#
..0401	  7205	  7271#
..0402	  7206	  7232#
..0403	  7206	  7405#
..0404	  7206	  7228#
..0405	  7206	  7207#
..0406	  7206	  7232#
..0407	  7206	  7268#
..0410	  7206	  7208#
..0411	  7207	  7329#
..0412	  7207	  7284#
..0413	  7207	  7219#
..0414	  7207	  7237#
..0415	  7207	  7282#
..0416	  7207	  7281#
..0417	  7207
..0420	  7208	  7235#
..0421	  7208	  7408#
..0422	  7208	  7298#
..0423	  7208	  7214#
..0424	  7211	  7384#
..0425	  7212	  7240#
..0426	  7213	  7411#
..0427	  7214	  7232#
..0430	  7216	  7233#
..0431	  7219	  7219#
..0432	  7219	  7221#
..0433	  7219	  7324#
..0434	  7219	  7259#
..0435	  7219	  7290#
..0436	  7219	  7348#
..0437	  7221	  7326#
..0440	  7223	  7445#
..0441	  7226	  7233#
..0442	  7228	  7241#
..0443	  7228	  7420#
..0444	  7228	  7386#
..0445	  7228	  7347#
..0446	  7228	  7322#
..0447	  7228	  7428#
..0450	  7231	  7241#
..0451	  7232	  7411#
..0452	  7232	  7291#
..0453	  7232	  7432#
..0454	  7232	  7323#
..0455	  7232	  7326#
..0456	  7232	  7369#
..0457	  7233	  7250#
..0460	  7233	  7241#
..0461	  7233	  7384#
..0462	  7233	  7384#
..0463	  7234	  7420#
..0464	  7235	  7246#
..0465	  7236	  7330#
..0466	  7237	  7316#
..0467	  7238	  7239#
..0470	  7239	  7322#
..0471	  7240	  7427#
..0472	  7241	  7321#
..0473	  7241	  7241#
..0474	  7241	  7323#
..0475	  7241	  7367#
..0476	  7244	  7409#
..0477	  7245	  7405#
..0500	  7246	  7248#
..0501	  7247	  7347#
..0502	  7248	  7316#
..0503	  7250	  7405#
..0504	  7259	  7405#
..0505	  7266#	  7266
..0506	  7266	  7420#
..0507	  7267#	  7267
..0510	  7267	  7418#
..0511	  7268#	  7268
..0512	  7268	  7347#
..0513	  7269#	  7269
..0514	  7269	  7425#
..0515	  7270#	  7270
..0516	  7270	  7304#
..0517	  7271	  7418#
..0520	  7279	  7280#
..0521	  7280	  7329#
..0522	  7281	  7324#
..0523	  7282	  7384#
..0524	  7283	  7403#
..0525	  7284	  7300#
..0526	  7285	  7329#
..0527	  7286	  7414#
..0530	  7287	  7445#
..0531	  7288	  7404#
..0532	  7289	  7323#
..0533	  7290	  7417#
..0534	  7291	  7417#
..0535	  7292	  7422#
..0536	  7296	  7364#
..0537	  7298	  7347#
..0540	  7300	  7365#
..0541	  7302	  7346#
..0542	  7304	  7326#
..0543	  7316	  7349#
..0544	  7316	  7409#
..0545	  7316	  7410#
..0546	  7316	  7359#
..0547	  7316	  7324#
..0550	  7321	  7321#
..0551	  7321	  7361#
..0552	  7321	  7384#
..0553	  7322	  7404#
..0554	  7322	  7440#
..0555	  7323	  7412#
..0556	  7323	  7384#
..0557	  7323	  7433#
..0560	  7323	  7362#
..0561	  7324	  7408#
..0562	  7324	  7362#
..0563	  7324	  7360#
..0564	  7326	  7442#
..0565	  7326	  7410#
..0566	  7326	  7411#
..0567	  7326	  7405#
..0570	  7326	  7407#
..0571	  7327	  7349#
..0572	  7329	  7409#
..0573	  7329	  7436#
..0574	  7329	  7430#
..0575	  7329	  7329#
..0576	  7329	  7444#
..0577	  7329	  7410#
..0600	  7330	  7344#
..0601	  7331	  7404#
..0602	  7344	  7361#
..0603	  7345	  7348#
..0604	  7346	  7421#
..0605	  7347	  7362#
..0606	  7347	  7415#
..0607	  7347	  7409#
..0610	  7347	  7419#
..0611	  7347	  7350#
..0612	  7347	  7440#
..0613	  7348
..0614	  7348	  7384#
..0615	  7349	  7404#
..0616	  7349	  7384#
..0617	  7349	  7361#
..0620	  7350	  7405#
..0621	  7350	  7368#
..0622	  7359	  7362#
..0623	  7360	  7422#
..0624	  7361	  7413#
..0625	  7361	  7411#
..0626	  7361	  7363#
..0627	  7361	  7417#
..0630	  7361	  7406#
..0631	  7361	  7384#
..0632	  7362	  7384#
..0633	  7362	  7404#
..0634	  7362	  7410#
..0635	  7362	  7405#
..0636	  7362	  7384#
..0637	  7362	  7404#
..0640	  7363	  7427#
..0641	  7364	  7405#
..0642	  7365	  7441#
..0643	  7366	  7432#
..0644	  7367	  7404#
..0645	  7368	  7406#
..0646	  7369	  7420#
..0647	  7372	  7374#
..0650	  7373	  7411#
..0651	  7374
..0652	  7384	  7408#
..0653	  7384	  7418#
..0654	  7384	  7403#
..0655	  7384	  7439#
..0656	  7384	  7384#
..0657	  7384	  7439#
..0660	  7384	  7428#
..0661	  7384	  7404#
..0662	  7384	  7403#
..0663	  7384	  7417#
..0664	  7384	  7427#
..0665	  7384	  7414#
..0666	  7384	  7404#
..0667	  7384	  7411#
..0670	  7384	  7404#
..0671	  7386	  7440#
..0672	  7403	  7418#
..0673	  7403	  7409#
..0674	  7403	  7429#
..0675	  7404
..0676	  7404
..0677	  7404	  7416#
..0700	  7404	  7427#
..0701	  7404	  7408#
..0702	  7404	  7404#
..0703	  7404	  7409#
..0704	  7404	  7420#
..0705	  7404	  7411#
..0706	  7404	  7405#
..0707	  7404	  7422#
..0710	  7404	  7413#
..0711	  7404	  7424#
..0712	  7404
..0713	  7405	  7423#
..0714	  7405	  7432#
..0715	  7405	  7418#
..0716	  7405	  7414#
..0717	  7405	  7426#
..0720	  7405
..0721	  7405	  7434#
..0722	  7405	  7451#
..0723	  7405	  7408#
..0724	  7405	  7412#
..0725	  7405	  7409#
..0726	  7406	  7406#
..0727	  7406	  7415#
..0730	  7406	  7412#
..0731	  7406
..0732	  7406	  7407#
..0733	  7407	  7407#
..0734	  7407	  7407#
..0735	  7407	  7407#
..0736	  7407	  7423#
..0737	  7407	  7445#
..0740	  7408	  7428#
..0741	  7408	  7418#
..0742	  7408	  7408#
..0743	  7408	  7419#
..0744	  7408	  7417#
..0745	  7408	  7408#
..0746	  7408	  7416#
..0747	  7409	  7420#
..0750	  7409	  7444#
..0751	  7409
..0752	  7409	  7424#
..0753	  7409	  7418#
..0754	  7409	  7409#
..0755	  7409	  7412#
..0756	  7409	  7421#
..0757	  7409	  7429#
..0760	  7409
..0761	  7409	  7420#
..0762	  7410	  7452#
..0763	  7410	  7410#
..0764	  7410	  7418#
..0765	  7410	  7412#
..0766	  7410	  7433#
..0767	  7411	  7439#
..0770	  7411	  7431#
..0771	  7411	  7413#
..0772	  7411	  7420#
..0773	  7411	  7436#
..0774	  7411	  7422#
..0775	  7411	  7434#
..0776	  7411	  7429#
..0777	  7411
..1000	  7412	  7412#
..1001	  7412	  7430#
..1002	  7412
..1003	  7412	  7455#
..1004	  7412	  7443#
..1005	  7412	  7420#
..1006	  7413	  7420#
..1007	  7413	  7426#
..1010	  7413	  7418#
..1011	  7413	  7421#
..1012	  7413	  7430#
..1013	  7413	  7427#
..1014	  7414	  7414#
..1015	  7414	  7414#
..1016	  7414	  7423#
..1017	  7414
..1020	  7414	  7423#
..1021	  7414	  7439#
..1022	  7414	  7428#
..1023	  7415	  7431#
..1024	  7415	  7415#
..1025	  7415	  7415#
..1026	  7415	  7418#
..1027	  7416	  7416#
..1030	  7416	  7416#
..1031	  7416	  7428#
..1032	  7416	  7416#
..1033	  7416	  7416#
..1034	  7416	  7417#
..1035	  7417	  7422#
..1036	  7417	  7421#
..1037	  7417	  7422#
..1040	  7417	  7417#
..1041	  7417	  7440#
..1042	  7417
..1043	  7417	  7418#
..1044	  7418	  7434#
..1045	  7418	  7444#
..1046	  7418	  7423#
..1047	  7418	  7429#
..1050	  7418	  7421#
..1051	  7418	  7422#
..1052	  7418	  7419#
..1053	  7418
..1054	  7418	  7421#
..1055	  7418	  7421#
..1056	  7418	  7419#
..1057	  7419	  7449#
..1060	  7419	  7419#
..1061	  7419	  7434#
..1062	  7419
..1063	  7419	  7443#
..1064	  7419	  7439#
..1065	  7419	  7420#
..1066	  7419	  7422#
..1067	  7419
..1070	  7420
..1071	  7420	  7438#
..1072	  7420	  7421#
..1073	  7420	  7430#
..1074	  7420	  7426#
..1075	  7420	  7451#
..1076	  7420	  7429#
..1077	  7420
..1100	  7420	  7434#
..1101	  7420	  7446#
..1102	  7420	  7424#
..1103	  7421	  7444#
..1104	  7421	  7423#
..1105	  7421
..1106	  7421	  7422#
..1107	  7421	  7425#
..1110	  7421	  7421#
..1111	  7421	  7421#
..1112	  7421	  7428#
..1113	  7421	  7435#
..1114	  7421	  7424#
..1115	  7422	  7424#
..1116	  7422	  7423#
..1117	  7422	  7423#
..1120	  7422
..1121	  7422	  7435#
..1122	  7422	  7445#
..1123	  7422
..1124	  7422	  7440#
..1125	  7422	  7432#
..1126	  7422	  7428#
..1127	  7422
..1130	  7423	  7423#
..1131	  7423	  7424#
..1132	  7423	  7423#
..1133	  7423	  7426#
..1134	  7423	  7430#
..1135	  7423	  7429#
..1136	  7423	  7444#
..1137	  7423	  7440#
..1140	  7423	  7425#
..1141	  7423
..1142	  7424	  7427#
..1143	  7424
..1144	  7424	  7431#
..1145	  7424
..1146	  7424	  7432#
..1147	  7424	  7426#
..1150	  7424	  7427#
..1151	  7425
..1152	  7425	  7440#
..1153	  7425	  7425#
..1154	  7425	  7451#
..1155	  7425	  7425#
..1156	  7425	  7435#
..1157	  7426	  7426#
..1160	  7426	  7428#
..1161	  7426	  7442#
..1162	  7426	  7452#
..1163	  7426	  7429#
..1164	  7426	  7436#
..1165	  7426	  7433#
..1166	  7427	  7431#
..1167	  7427	  7435#
..1170	  7427
..1171	  7427	  7453#
..1172	  7427	  7431#
..1173	  7427	  7452#
..1174	  7427	  7442#
..1175	  7427	  7439#
..1176	  7428	  7429#
..1177	  7428	  7434#
..1200	  7428
..1201	  7428	  7436#
..1202	  7428
..1203	  7428	  7433#
..1204	  7428
..1205	  7428	  7431#
..1206	  7428	  7437#
..1207	  7429
..1210	  7429
..1211	  7429	  7441#
..1212	  7429	  7449#
..1213	  7429
..1214	  7429	  7442#
..1215	  7429	  7435#
..1216	  7429	  7436#
..1217	  7429	  7430#
..1220	  7430	  7431#
..1221	  7430	  7438#
..1222	  7430	  7444#
..1223	  7430
..1224	  7430	  7435#
..1225	  7430
..1226	  7430	  7440#
..1227	  7431
..1230	  7431
..1231	  7431
..1232	  7431
..1233	  7431
..1234	  7431
..1235	  7431	  7435#
..1236	  7432
..1237	  7432
..1240	  7432	  7445#
..1241	  7432	  7439#
..1242	  7432
..1243	  7432	  7449#
..1244	  7432
..1245	  7433
..1246	  7433	  7438#
..1247	  7433
..1250	  7433
..1251	  7434
..1252	  7434	  7441#
..1253	  7434
..1254	  7434	  7435#
..1255	  7434	  7449#
..1256	  7434	  7446#
..1257	  7435	  7440#
..1260	  7435	  7451#
..1261	  7435	  7439#
..1262	  7435
..1263	  7435	  7441#
..1264	  7435
..1265	  7435
..1266	  7435	  7438#
..1267	  7435
..1270	  7436	  7436#
..1271	  7436	  7451#
..1272	  7436	  7436#
..1273	  7436	  7451#
..1274	  7436	  7440#
..1275	  7436
..1276	  7436	  7438#
..1277	  7436	  7437#
..1300	  7437	  7437#
..1301	  7437	  7445#
..1302	  7437	  7445#
..1303	  7437
..1304	  7438	  7438#
..1305	  7438	  7439#
..1306	  7438
..1307	  7438	  7455#
..1310	  7438
..1311	  7438	  7444#
..1312	  7439	  7454#
..1313	  7439	  7440#
..1314	  7439
..1315	  7439
..1316	  7439	  7444#
..1317	  7439
..1320	  7439	  7440#
..1321	  7439	  7441#
..1322	  7439
..1323	  7440
..1324	  7440	  7443#
..1325	  7440	  7445#
..1326	  7440	  7441#
..1327	  7440
..1330	  7440	  7445#
..1331	  7440
..1332	  7440	  7443#
..1333	  7440	  7442#
..1334	  7440	  7444#
..1335	  7440
..1336	  7440	  7446#
..1337	  7440
..1340	  7441	  7458#
..1341	  7441	  7452#
..1342	  7441
..1343	  7441	  7458#
..1344	  7441
..1345	  7441
..1346	  7441
..1347	  7441	  7444#
..1350	  7442	  7447#
..1351	  7442	  7450#
..1352	  7442	  7443#
..1353	  7442
..1354	  7442	  7444#
..1355	  7442
..1356	  7442
..1357	  7443
..1360	  7443	  7443#
..1361	  7443
..1362	  7443
..1363	  7443	  7449#
..1364	  7443
..1365	  7444
..1366	  7444
..1367	  7444
..1370	  7444
..1371	  7444
..1372	  7444
..1373	  7444
..1374	  7444	  7448#
..1375	  7444
..1376	  7444	  7451#
..1377	  7444	  7447#
..1400	  7445
..1401	  7445
..1402	  7445	  7455#
..1403	  7445
..1404	  7445	  7452#
..1405	  7445
..1406	  7445
..1407	  7445
..1410	  7445	  7450#
..1411	  7446
..1412	  7446
..1413	  7446	  7451#
..1414	  7447
..1415	  7447
..1416	  7448	  7448#
..1417	  7448
..1420	  7449
..1421	  7449
..1422	  7449
..1423	  7449
..1424	  7449	  7458#
..1425	  7450	  7450#
..1426	  7450
..1427	  7450	  7454#
..1430	  7451	  7458#
..1431	  7451
..1432	  7451
..1433	  7451
..1434	  7451	  7455#
..1435	  7451
..1436	  7451
..1437	  7451
..1440	  7452
..1441	  7452
..1442	  7452	  7455#
..1443	  7452	  7452#
..1444	  7452
..1445	  7452
..1446	  7453	  7453#
..1447	  7453
..1450	  7454
..1451	  7454	  7455#
..1452	  7455
..1453	  7455
..1454	  7455
..1455	  7455
..1456	  7455
..1457	  7455
..1460	  7458
..1461	  7458
..1462	  7458
..1463	  7458	  7458#
..1464	  7458	  7461#
..1465	  7461	  7461#
..1466	  7461	  7461#
..1467	  7461	  7461#
..1470	  7461	  7461#
..1471	  7461	  7462#
..1472	  7462	  7462#
..1473	  7462
.APPEN	  3759	  3776#	  7285	  7530
.DIF	  4197#	  7282
.ERROR	   818#	  7236
.GREAT	  4154	  4211#	  4222	  7287
.JBVER	    74#	    76
.LESS	  4213#	  4224	  7288
.MAP	  3936#	  3943	  7270
.MAPC	  3926#	  3933	  7269
.MAX	  4222#	  7368
.MIN	  4224#	  7369
.NCONC	  3759	  3764	  3768#
.PLUS	  4190#	  7281
.QUO	  4205#	  7283
.RSET	   414#	  7286
.TAB	  6006#	  7212
.TIMES	  4201#	  7284
ADDOB	  7092#	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208
	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234
	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7250	  7259
	  7266	  7267	  7268	  7269	  7270	  7271	  7279	  7280	  7281	  7282	  7283	  7284	  7285	  7286
	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7304	  7316	  7321	  7322
	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349	  7350
	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373	  7374
	  7384	  7386	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413	  7414
	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427	  7428
	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441	  7442
	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455	  7458
	  7461	  7462
CALLF	   147#	   386	  3931	  3941	  3957	  4741
CLRBFI	   163#	  1104
DELIMI	  2618#	  7037
ENTER	  7016
ERR1	   151#	   550	   912	   914	   917	   920	   923	   926	   928	   929	   930	   931	   932	   933
	   936	   938	   940	   942	   943	  1379	  1457	  1633	  1634	  1672	  1724	  1745	  1748	  1751
	  1753	  1929	  4325	  4326	  4327	  4328	  4472	  4482	  4595	  5562	  6200	  6248	  6266	  6274
	  6975	  6987
ERR2	   152#	   494	   499	  5476	  5477
ERR3	   153#	   483	   503
FCALL	   145#
GETPPN	  1500	  1987
HALT	   497	  6953	  6956	  7028
HERE	   271#	  6943
HERE1	   264#	   302	   513	   564	   692	   744	  1030	  1035	  1054	  1089	  1117	  1184	  1222	  1228
	  1247	  1359	  1454	  1562	  1584	  1618	  1627	  1643	  2290	  2479	  2582	  2696	  3115	  3264
	  3888	  4560	  4934	  5285	  5342	  5365	  5383	  5399	  5456	  5499	  6164	  6178	  6187	  6195
	  6206	  6260	  6308	  6943#	  6943
IGNORE	  2621#	  7037
INBUF	  7009
INCHRW	   158#	   310	  1135	  6414	  6748
INCHSL	   162#	  1121
INCHWL	   161#	  1123
INIT	  6995	  7000	  7011
JCALL	   146#
JCALLF	   148#	  3498
LENGTH	  7139#	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208
	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234
	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7255	  7263
	  7266	  7267	  7268	  7269	  7270	  7271	  7276	  7279	  7280	  7281	  7282	  7283	  7284	  7285
	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7313	  7316	  7321
	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349
	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373
	  7374	  7384	  7389	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413
	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427
	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441
	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455
	  7458	  7461	  7462
LET	  2615#	  7037
LOOKUP	  6179	  7006
MAKBUC	  7087#	  7185
MK	  7174#	  7230	  7328	  7330	  7402	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411
	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425
	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439
	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453
	  7454	  7457	  7460	  7461
MKAT	  7117#	  7195	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207
	  7210	  7211	  7212	  7213	  7218	  7222	  7225	  7227	  7231	  7232	  7240	  7243	  7244	  7245
	  7246	  7247	  7296	  7298	  7300	  7302	  7315	  7320	  7321	  7322	  7323	  7326	  7346	  7347
	  7348	  7349	  7360	  7361
MKAT1	  7129#	  7215	  7220	  7233	  7234	  7235	  7236	  7237	  7238	  7239	  7270	  7278	  7279	  7280
	  7281	  7282	  7283	  7284	  7285	  7286	  7287	  7288	  7289	  7290	  7291	  7329	  7344	  7345
	  7359	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7371	  7372	  7373
MKENT	  7510#	  7513	  7515	  7517	  7518	  7520	  7521	  7522	  7523	  7524	  7525	  7526	  7527	  7528
	  7529	  7533	  7535	  7537	  7543	  7546	  7547	  7548	  7549	  7550	  7553	  7556
MKSY1	  7151#	  7265	  7266	  7267	  7268	  7269
ML	  7165#	  7325	  7343	  7358	  7382
ML1	  7143#	  7293
OBT0	  7185#	  7384	  7384#	  7439	  7439#	  7440	  7440#
OBT1	  7185#	  7208	  7208#	  7298	  7298#	  7347	  7347#	  7350	  7350#	  7405	  7405#	  7408	  7408#	  7417
	  7417#
OBT10	  7185#	  7327	  7327#	  7349	  7349#	  7384	  7384#	  7403	  7403#	  7429	  7429#	  7436	  7436#	  7451
	  7451#	  7458	  7458#	  7461	  7461#	  7462	  7462#
OBT100	  7185#	  7440	  7440#
OBT101	  7185#	  7384	  7384#	  7404	  7404#
OBT102	  7185#	  7331	  7331#	  7404	  7404#	  7420	  7420#	  7430	  7430#	  7431	  7431#	  7435	  7435#
OBT103	  7185#	  7409	  7409#	  7444	  7444#
OBT104	  7185#	  7411	  7411#	  7436	  7436#
OBT105	  7185#	  7413	  7413#	  7421	  7421#	  7435	  7435#
OBT106	  7185#	  7267	  7267#	  7418	  7418#	  7429	  7429#	  7441	  7441#	  7444	  7444#
OBT107	  7185#	  7419	  7419#	  7443	  7443#
OBT11	  7185#	  7202	  7202#	  7206	  7206#	  7228	  7228#	  7241	  7241#	  7367	  7367#	  7404	  7404#	  7413
	  7413#	  7420	  7420#	  7446	  7446#
OBT110	  7185#	  7266	  7266#	  7420	  7420#	  7434	  7434#	  7441	  7441#
OBT111	  7185#	  7198	  7198#	  7302	  7302#	  7346	  7346#	  7421	  7421#	  7444	  7444#
OBT112	  7185#	  7404	  7404#
OBT113	  7185#	  7287	  7287#	  7445	  7445#
OBT114	  7185#	  7198	  7198#	  7404	  7404#	  7422	  7422#
OBT115	  7185#	  7269	  7269#	  7425	  7425#
OBT116	  7185#	  7427	  7427#
OBT117	  7185#	  7198	  7198#	  7199	  7199#	  7202	  7202#	  7409	  7409#
OBT12	  7185#	  7270	  7270#	  7304	  7304#	  7326	  7326#	  7411	  7411#	  7422	  7422#	  7423	  7423#
OBT120	  7185#	  7429	  7429#
OBT121	  7185#	  7441	  7441#	  7458	  7458#
OBT122	  7185#	  7198	  7198#	  7199	  7199#	  7285	  7285#	  7329	  7329#	  7430	  7430#
OBT123	  7185#	  7405	  7405#	  7432	  7432#
OBT124	  7185#	  7216	  7216#	  7233	  7233#	  7250	  7250#	  7405	  7405#	  7426	  7426#	  7442	  7442#	  7447
	  7447#
OBT125	  7185#	  7199	  7199#	  7413	  7413#	  7427	  7427#	  7442	  7442#	  7450	  7450#
OBT126	  7185#	  7442	  7442#	  7443	  7443#
OBT127	  7185#	  7196	  7196#	  7207	  7207#
OBT13	  7185#	  7200	  7200#	  7204	  7204#	  7211	  7211#	  7384	  7384#	  7411	  7411#
OBT130	  7185#	  7204	  7204#	  7212	  7212#	  7240	  7240#	  7427	  7427#	  7439	  7439#
OBT131	  7185#	  7414	  7414#	  7439	  7439#	  7441	  7441#
OBT132	  7185#	  7196	  7196#	  7197	  7197#	  7279	  7279#	  7280	  7280#	  7329	  7329#	  7444	  7444#	  7447
	  7447#
OBT133	  7185#	  7201	  7201#	  7206	  7206#	  7207	  7207#	  7284	  7284#	  7300	  7300#	  7365	  7365#	  7441
	  7441#
OBT134	  7185#	  7414	  7414#	  7423	  7423#	  7440	  7440#	  7443	  7443#	  7449	  7449#
OBT135	  7185#	  7197	  7197#	  7406	  7406#
OBT136	  7185#	  7292	  7292#	  7422	  7422#	  7440	  7440#
OBT137	  7185#	  7219	  7219#	  7290	  7290#	  7417	  7417#	  7440	  7440#
OBT14	  7185#	  7200	  7200#	  7238	  7238#	  7239	  7239#	  7322	  7322#	  7404	  7404#	  7424	  7424#	  7427
	  7427#	  7431	  7431#
OBT140	  7185#	  7197	  7197#	  7329	  7329#	  7410	  7410#	  7412	  7412#	  7430	  7430#	  7440	  7440#	  7444
	  7444#
OBT141	  7185#	  7201	  7201#	  7202	  7202#	  7441	  7441#
OBT142	  7185#	  7384	  7384#	  7414	  7414#
OBT143	  7185#	  7197	  7197#	  7288	  7288#	  7404	  7404#	  7409	  7409#	  7420	  7420#
OBT144	  7185#	  7219	  7219#	  7259	  7259#	  7405	  7405#	  7409	  7409#	  7412	  7412#	  7443	  7443#
OBT145	  7185#	  7361	  7361#	  7413	  7413#	  7426	  7426#	  7452	  7452#	  7455	  7455#
OBT146	  7185#	  7316	  7316#	  7410	  7410#	  7452	  7452#
OBT147	  7185#	  7406	  7406#	  7407	  7407#	  7423	  7423#	  7425	  7425#	  7451	  7451#
OBT15	  7185#	  7236	  7236#	  7330	  7330#	  7344	  7344#	  7361	  7361#	  7384	  7384#	  7418	  7418#	  7422
	  7422#	  7423	  7423#	  7430	  7430#	  7438	  7438#
OBT150	  7185#	  7201	  7201#	  7203	  7203#	  7205	  7205#	  7271	  7271#	  7418	  7418#	  7421	  7421#	  7428
	  7428#	  7431	  7431#
OBT151	  7185#	  7326	  7326#	  7410	  7410#	  7418	  7418#
OBT152	  7185#	  7202	  7202#	  7203	  7203#	  7205	  7205#	  7286	  7286#	  7414	  7414#	  7423	  7423#	  7444
	  7444#	  7451	  7451#
OBT153	  7185#	  7208	  7208#	  7235	  7235#	  7246	  7246#	  7248	  7248#	  7316	  7316#	  7359	  7359#	  7362
	  7362#	  7405	  7405#	  7414	  7414#	  7428	  7428#	  7434	  7434#
OBT154	  7185#	  7200	  7200#	  7203	  7203#	  7362	  7362#	  7404	  7404#	  7427	  7427#	  7452	  7452#
OBT155	  7185#	  7203	  7203#	  7361	  7361#	  7406	  7406#	  7415	  7415#	  7431	  7431#
OBT156	  7185#	  7347	  7347#	  7415	  7415#	  7418	  7418#	  7421	  7421#	  7424	  7424#	  7432	  7432#	  7439
	  7439#	  7440	  7440#	  7446	  7446#	  7451	  7451#	  7455	  7455#
OBT157	  7185#	  7296	  7296#	  7364	  7364#	  7405	  7405#
OBT16	  7185#	  7206	  7206#	  7405	  7405#	  7423	  7423#	  7424	  7424#	  7427	  7427#	  7453	  7453#
OBT160	  7185#	  7207	  7207#	  7281	  7281#	  7324	  7324#	  7362	  7362#	  7404	  7404#	  7411	  7411#	  7429
	  7429#	  7449	  7449#
OBT161	  7185#	  7436	  7436#	  7451	  7451#
OBT162	  7185#	  7202	  7202#	  7219	  7219#	  7221	  7221#	  7326	  7326#	  7407	  7407#	  7445	  7445#
OBT163	  7185#	  7233	  7233#	  7241	  7241#	  7323	  7323#	  7384	  7384#	  7408	  7408#	  7428	  7428#
OBT164	  7185#	  7196	  7196#	  7321	  7321#	  7384	  7384#	  7404	  7404#	  7416	  7416#	  7428	  7428#	  7437
	  7437#	  7445	  7445#
OBT165	  7185#	  7207	  7207#	  7219	  7219#	  7324	  7324#	  7408	  7408#	  7416	  7416#	  7417	  7417#	  7418
	  7418#	  7419	  7419#	  7420	  7420#	  7451	  7451#
OBT166	  7185#	  7201	  7201#	  7204	  7204#	  7205	  7205#	  7231	  7231#	  7241	  7241#	  7321	  7321#	  7361
	  7361#	  7363	  7363#	  7427	  7427#	  7431	  7431#
OBT167	  7185#	  7208	  7208#	  7214	  7214#	  7232	  7232#	  7291	  7291#	  7417	  7417#	  7422	  7422#
OBT17	  7185#	  7196	  7196#	  7206	  7206#	  7208	  7208#	  7408	  7408#	  7419	  7419#	  7439	  7439#
OBT170	  7185#	  7289	  7289#	  7323	  7323#	  7412	  7412#	  7455	  7455#
OBT171	  7185#	  7201	  7201#	  7361	  7361#	  7417	  7417#	  7421	  7421#	  7425	  7425#	  7435	  7435#	  7451
	  7451#
OBT172	  7185#	  7201	  7201#	  7323	  7323#	  7362	  7362#	  7384	  7384#	  7417	  7417#	  7422	  7422#	  7432
	  7432#	  7445	  7445#
OBT173	  7185#	  7200	  7200#	  7203	  7203#	  7316	  7316#	  7349	  7349#	  7404	  7404#	  7405	  7405#	  7412
	  7412#	  7420	  7420#
OBT174	  7185#	  7203	  7203#	  7205	  7205#	  7207	  7207#	  7237	  7237#	  7316	  7316#	  7324	  7324#	  7360
	  7360#	  7422	  7422#	  7435	  7435#	  7440	  7440#	  7445	  7445#
OBT175	  7185#	  7205	  7205#	  7213	  7213#	  7411	  7411#	  7434	  7434#	  7435	  7435#	  7441	  7441#	  7452
	  7452#
OBT176	  7185#	  7199	  7199#	  7205	  7205#	  7207	  7207#	  7282	  7282#	  7384	  7384#	  7404	  7404#	  7408
	  7408#	  7418	  7418#	  7419	  7419#	  7422	  7422#	  7428	  7428#	  7436	  7436#	  7437	  7437#	  7445
	  7445#	  7450	  7450#	  7454	  7454#	  7455	  7455#
OBT2	  7185#	  7206	  7206#	  7232	  7232#	  7326	  7326#	  7405	  7405#	  7451	  7451#
OBT20	  7185#	  7196	  7196#	  7200	  7200#	  7232	  7232#	  7369	  7369#	  7420	  7420#	  7421	  7421#	  7423
	  7423#	  7429	  7429#	  7430	  7430#
OBT21	  7185#	  7247	  7247#	  7347	  7347#	  7362	  7362#	  7410	  7410#	  7433	  7433#
OBT22	  7185#	  7350	  7350#	  7368	  7368#	  7406	  7406#	  7412	  7412#
OBT23	  7185#	  7200	  7200#	  7202	  7202#	  7228	  7228#	  7347	  7347#	  7440	  7440#
OBT24	  7185#	  7329	  7329#	  7409	  7409#
OBT25	  7185#	  7200	  7200#	  7430	  7430#	  7435	  7435#
OBT26	  7185#	  7424	  7424#
OBT27	  7185#	  7200	  7200#	  7232	  7232#	  7323	  7323#	  7433	  7433#
OBT3	  7185#	  7234	  7234#	  7420	  7420#	  7426	  7426#	  7436	  7436#	  7438	  7438#	  7455	  7455#
OBT30	  7185#	  7409	  7409#	  7421	  7421#
OBT31	  7185#	  7196	  7196#	  7206	  7206#	  7268	  7268#	  7347	  7347#	  7419	  7419#
OBT32	  7185#	  7419	  7419#	  7434	  7434#
OBT33	  7185#	  7228	  7228#	  7428	  7428#
OBT34	  7185#	  7197	  7197#	  7347	  7347#	  7409	  7409#	  7420	  7420#	  7424	  7424#	  7431	  7431#
OBT35	  7185#	  7203	  7203#	  7316	  7316#	  7409	  7409#	  7424	  7424#
OBT36	  7185#	  7205	  7205#	  7244	  7244#	  7409	  7409#	  7418	  7418#	  7434	  7434#	  7449	  7449#
OBT37	  7185#	  7197	  7197#	  7404	  7404#
OBT4	  7185#	  7200	  7200#	  7206	  7206#	  7232	  7232#	  7411	  7411#	  7413	  7413#	  7418	  7418#	  7421
	  7421#	  7422	  7422#	  7424	  7424#	  7426	  7426#	  7428	  7428#	  7433	  7433#
OBT40	  7185#	  7228	  7228#	  7322	  7322#	  7440	  7440#	  7442	  7442#
OBT41	  7185#	  7283	  7283#	  7403	  7403#	  7409	  7409#	  7429	  7429#	  7442	  7442#
OBT42	  7185#	  7202	  7202#	  7232	  7232#	  7432	  7432#
OBT43	  7185#	  7219	  7219#	  7348	  7348#
OBT44	  7185#	  7362	  7362#	  7384	  7384#	  7427	  7427#	  7435	  7435#
OBT45	  7185#	  7372	  7372#	  7374	  7374#
OBT46	  7185#	  7228	  7228#	  7420	  7420#	  7438	  7438#	  7444	  7444#
OBT47	  7185#	  7428	  7428#
OBT5	  7185#	  7201	  7201#	  7233	  7233#	  7384	  7384#	  7428	  7428#	  7429	  7429#	  7435	  7435#	  7438
	  7438#	  7439	  7439#	  7454	  7454#
OBT50	  7185#	  7413	  7413#	  7430	  7430#	  7444	  7444#
OBT51	  7185#	  7442	  7442#	  7444	  7444#
OBT52	  7185#	  7245	  7245#	  7405	  7405#	  7418	  7418#	  7444	  7444#	  7448	  7448#
OBT53	  7185#	  7405	  7405#	  7434	  7434#	  7446	  7446#
OBT54	  7185#	  7419	  7419#
OBT55	  7185#	  7425	  7425#	  7440	  7440#	  7441	  7441#	  7458	  7458#
OBT56	  7185#	  7204	  7204#
OBT57	  7185#	  7422	  7422#	  7445	  7445#	  7455	  7455#
OBT6	  7185#	  7349	  7349#	  7361	  7361#	  7411	  7411#	  7431	  7431#
OBT60	  7185#	  7422	  7422#
OBT61	  7185#	  7203	  7203#	  7366	  7366#	  7432	  7432#
OBT62	  7185#	  7204	  7204#	  7326	  7326#	  7442	  7442#
OBT63	  7185#	  7200	  7200#	  7432	  7432#	  7449	  7449#	  7458	  7458#
OBT64	  7185#	  7411	  7411#	  7439	  7439#
OBT65	  7185#	  7199	  7199#	  7435	  7435#	  7439	  7439#
OBT66	  7185#	  7203	  7203#	  7419	  7419#	  7449	  7449#
OBT67	  7185#
OBT7	  7185#	  7204	  7204#	  7345	  7345#	  7348	  7348#	  7384	  7384#	  7403	  7403#	  7418	  7418#	  7423
	  7423#	  7426	  7426#	  7433	  7433#	  7438	  7438#
OBT70	  7185#	  7437	  7437#
OBT71	  7185#	  7426	  7426#	  7429	  7429#
OBT72	  7185#	  7223	  7223#	  7445	  7445#	  7452	  7452#
OBT73	  7185#	  7373	  7373#	  7411	  7411#	  7420	  7420#	  7429	  7429#
OBT74	  7185#	  7432	  7432#
OBT75	  7185#	  7202	  7202#	  7207	  7207#	  7329	  7329#	  7436	  7436#	  7440	  7440#	  7445	  7445#
OBT76	  7185#	  7226	  7226#	  7233	  7233#	  7384	  7384#	  7439	  7439#	  7444	  7444#
OBT77	  7185#	  7228	  7228#	  7386	  7386#	  7440	  7440#	  7443	  7443#
OPEN	  6168
OUT	  6985
OUTBUF	  7019
OUTCHR	   159#	  1122	  1138	  1225
OUTSTR	   160#	  5532	  6412	  6421	  6435	  6445	  6456	  6477	  6495	  6750
PSTRCT	  7103#	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208
	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234
	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7255	  7263
	  7266	  7267	  7268	  7269	  7270	  7271	  7276	  7279	  7280	  7281	  7282	  7283	  7284	  7285
	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7313	  7316	  7321
	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349
	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373
	  7374	  7384	  7389	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413
	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427
	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441
	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455
	  7458	  7461	  7462
PUTOB	  7098#	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208
	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234
	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7249	  7258
	  7266	  7267	  7268	  7269	  7270	  7271	  7279	  7280	  7281	  7282	  7283	  7284	  7285	  7286
	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7303	  7316	  7321	  7322
	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349	  7350
	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373	  7374
	  7384	  7385	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413	  7414
	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427	  7428
	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441	  7442
	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455	  7458
	  7461	  7462
Q1	  7109#	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208
	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234
	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7255	  7263
	  7266	  7267	  7268	  7269	  7270	  7271	  7276	  7279	  7280	  7281	  7282	  7283	  7284	  7285
	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7313	  7316	  7321
	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349
	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373
	  7374	  7384	  7389	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413
	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427
	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441
	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455
	  7458	  7461	  7462
RAD50	  2603#	  7037
RELEAS	  6201	  7020
REMOTE	   261#	   279	   302#	   512	   513#	   564	   564#	   692	   692#	   744	   744#	  1030	  1030#	  1035
	  1035#	  1049	  1054#	  1085	  1089#	  1115	  1117#	  1176	  1184#	  1220	  1222#	  1228	  1228#	  1240
	  1247#	  1357	  1359#	  1452	  1454#	  1547	  1562#	  1575	  1584#	  1610	  1618#	  1625	  1627#	  1641
	  1643#	  2280	  2290#	  2477	  2479#	  2575	  2582#	  2624	  2696#	  3112	  3115#	  3262	  3264#	  3887
	  3888#	  4558	  4560#	  4934	  4934#	  5284	  5285#	  5336	  5342#	  5363	  5365#	  5380	  5383#	  5396
	  5399#	  5450	  5456#	  5495	  5499#	  6162	  6164#	  6170	  6178#	  6185	  6187#	  6191	  6195#	  6204
	  6206#	  6260	  6260#	  6308	  6308#	  6943
SKPINC	   164#	  1158
SKPINL	   165#	  1236
STATO	  6976
STATZ	  6199	  6974
STRTIP	   154#	   390	   485	   490	   492	   840	  1927	  5040	  5346	  5348	  5464	  5467
SYSDEV	  6960	  7068
SYSNAM	  6961	  7072
TABIN	  2609#	  7037
TALK	   166#	   735	  1073
TTYUUO	   157#	   158	   159	   160	   161	   162	   163	   164	  1095	  1097
VRSN.	    77
..0001	   302#	  6943
..0002	   513#	  6966
..0003	   564#	  6968
..0004	   692#	  6969
..0005	   744#	  6970
..0006	  1030#	  6971
..0007	  1035#	  6972
..0010	  1054#	  6973
..0011	  1089#	  6979
..0012	  1117#	  6980
..0013	  1184#	  6981
..0014	  1222#	  6988
..0015	  1228#	  6990
..0016	  1247#	  6991
..0017	  1359#	  6994
..0020	  1454#	  6994
..0021	  1562#	  6995
..0022	  1584#	  7009
..0023	  1618#	  7011
..0024	  1627#	  7019
..0025	  1643#	  7020
..0026	  2290#	  7021
..0027	  2479#	  7030
..0030	  2582#	  7032
..0031	  2696#	  7037
..0032	  3115#	  7037
..0033	  3264#	  7039
..0034	  3888#	  7040
..0035	  4560#	  7041
..0036	  4934#	  7042
..0037	  5285#	  7043
..0040	  5342#	  7044
..0041	  5365#	  7050
..0042	  5383#	  7051
..0043	  5399#	  7054
..0044	  5456#	  7057
..0045	  5499#	  7063
..0046	  6164#	  7066
..0047	  6178#	  7067
..0050	  6187#	  7070
..0051	  6195#	  7072
..0052	  6206#	  7076
..0053	  6260#	  7078
..0054	  6308#	  7079
ADD	  2198	  2327	  2504	  3879	  4191	  4680	  4681	  4849	  4928	  5053	  5077	  5119	  5140	  5143
	  5169	  5202	  5295	  5389	  5553	  5644	  5727	  6074	  6132	  6182	  6223	  6246	  6268	  6521
	  6525	  6526	  6543	  6544	  6559	  6599	  6617	  6647	  6704	  6706	  6819	  6845	  6880	  6881
	  6898
ADDB	  3725	  5603	  5955	  5961	  6092
ADDI	   718	  1016	  1258	  1571	  1621	  1964	  1978	  2129	  2204	  2261	  2516	  2539	  3102	  3240
	  3751	  4352	  4440	  4799	  4817	  5009	  5046	  5047	  5083	  5120	  5132	  5156	  5159	  5173
	  5177	  5276	  5566	  5669	  5728	  5809	  5838	  5902	  5913	  5915	  5923	  6211	  6221	  6230
	  6426	  6450	  6461	  6491	  6520	  6532	  6582	  6584	  6587	  6589	  6592	  6603	  6606	  6608
	  6622	  6757
ADDM	  1045	  5354	  5481	  5779	  5839	  5856	  6097	  6253	  6428	  6438	  6440	  6451	  6462	  6500
	  6501	  6502	  6503	  6508	  6513	  6515	  6686	  6688	  6690	  6692	  6694	  6696	  6716	  6721
	  6722	  6723	  7492	  7494
ANDCAM	  3138	  6128
ANDI	  1348	  4436	  6577
AOBJN	   587	   595	   763	  1366	  3142	  3162	  5064	  5423	  5434	  5437	  5492	  5578	  6116	  6681
	  7061
AOBJP	  1488	  5577
AOJ	  2329
AOJA	   608	  2087	  2104	  2124	  2126	  2495	  3242	  3444	  4189	  4853	  5027	  5214	  5292	  5392
	  5411	  5517	  6858	  6863
AOJE	  3415	  3426	  3442	  3451	  3762	  4033	  4079	  4604
AOJG	  4861
AOJGE	  5110	  6131
AOJL	  2511	  5241
AOJN	   520	  2520	  3574	  3880	  4094	  4569	  4762	  5205
AOS	  1046	  2196	  2533	  2823	  3392	  3508	  3874	  4424	  4792	  5107	  5196	  5601	  5677	  5780
	  5925	  5941	  5949	  5974	  6057
AOSA	  1993
AOSLE	   733
AOSN	  5471
ASCII	  2459	  7040	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207
	  7208	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233
	  7234	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7249
	  7255	  7258	  7263	  7266	  7267	  7268	  7269	  7270	  7271	  7276	  7279	  7280	  7281	  7282
	  7283	  7284	  7285	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302
	  7303	  7313	  7316	  7321	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345
	  7346	  7347	  7348	  7349	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367
	  7368	  7369	  7372	  7373	  7374	  7384	  7385	  7389	  7403	  7404	  7405	  7406	  7407	  7408
	  7409	  7410	  7411	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422
	  7423	  7424	  7425	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436
	  7437	  7438	  7439	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450
	  7451	  7452	  7453	  7454	  7455	  7458	  7461	  7462
ASCIZ	  5532	  6412	  6421	  6435	  6445	  6456	  6477	  6495	  6750
ASH	  4281	  6507	  6512	  6756
ASHC	  2498
BLOCK	  1849	  1850	  1858	  1859	  1860	  1861	  1862	  1863	  1864	  1865	  1866	  1867	  1868	  1869
	  1870	  1873	  1874	  1876	  1881	  1882	  1884	  1888	  1889	  1890	  1891	  1892	  1893	  1894
	  1897	  1902	  1903	  1904	  1905	  5608	  6994	  7011
BLT	   350	  1401	  2206	  2330	  5446	  5469	  6078	  6117	  6125	  6214	  7045	  7048
BYTE	    77	  7037
CAI	  1501	  1988	  2315
CAIA	  2144
CAIE	   472	   502	   732	   772	   881	  1136	  1632	  1976	  2107	  2127	  2168	  2178	  2223	  2464
	  2767	  2775	  2895	  2899	  3437	  3447	  3464	  3505	  3577	  3589	  3612	  4029	  4075	  4234
	  4257	  4276	  4361	  4371	  4385	  4387	  4397	  4403	  4408	  4471	  4522	  4545	  4611	  4615
	  4704	  4831	  5006	  5218	  5837	  6760	  6862
CAIG	   560	  1171	  3474	  3742	  3876	  4247	  4304	  4345	  4348	  5643	  5694
CAIGE	   517	  1195	  2390	  2391	  3424	  4486	  6415
CAIL	   573	   792	  2896	  3418	  3420	  3438	  3448	  4187	  4354	  4437	  5151	  5172	  5183	  5288
	  5405	  5567	  5591	  6752
CAILE	   522	   572	   793	  2387	  2881	  3412	  3421	  3465	  3571	  4030	  4076	  4091	  4186	  4194
	  4353	  4366	  4380	  4438	  4519	  4577	  4599	  4801	  5019	  5094	  5127	  5638	  5698	  6753
CAIN	   311	   317	   320	   324	   330	   333	   527	   529	   531	   533	   535	   582	   713	   715
	   770	   773	   867	  1199	  1205	  1261	  1263	  1290	  1332	  1349	  2123	  2125	  2147	  2335
	  2397	  2399	  2401	  2423	  2445	  2459	  2765	  2879	  2893	  3048	  3050	  3527	  3549	  3562
	  3578	  3600	  3807	  4054	  4205	  4258	  4308	  4481	  4528	  4532	  4538	  4541	  4543	  4597
	  4612	  4619	  4694	  4696	  4698	  4700	  4702	  4804	  4806	  4808	  4810	  4827	  4829	  4842
	  4910	  4939	  4994	  5117	  5198	  5208	  5683	  5685	  6749	  6761	  6763	  6855
CALLI	   339	   345	   790	  1528	  1604	  2314	  5352	  5480	  5507	  6048	  6135	  6247	  6265	  6273
	  6278	  6950	  6952	  6955	  7021	  7027	  7498	  7500
CAME	  1022	  1126	  1365	  2789	  3040	  3139	  3170	  3259	  3274	  3674	  4145	  4562	  4746	  4909
	  6945
CAMG	  4336	  4969	  5710	  5881	  5906	  6270	  6403	  6840	  6903
CAMGE	  2492	  2557	  3810	  5362	  5366	  5549	  6699	  6700	  6702
CAML	  2494	  3099	  3180	  4218	  5368	  5568	  5592	  6140
CAMLE	   780	   781	  2556	  4143	  5917	  5926	  5942	  5956	  5962	  5975	  5977	  6667
CAMN	  1367	  3267	  3429	  3432	  3634	  3641	  4563	  4634	  4638	  4984	  4989	  5359	  5391	  5575
	  5760	  5904	  5992	  6401
CLEARB	  2487	  6264	  6728	  7043	  7046
CLEARM	   358	  2500	  4683	  7474
COMMEN	   417	  1793	  3678	  6151
DEFINE	   260	   263	   270	   302	   513	   564	   692	   744	  1030	  1035	  1054	  1089	  1117	  1184
	  1222	  1228	  1247	  1359	  1454	  1562	  1584	  1618	  1627	  1643	  2290	  2479	  2582	  2603
	  2609	  2615	  2618	  2621	  2696	  3115	  3264	  3888	  4560	  4934	  5285	  5342	  5365	  5383
	  5399	  5456	  5499	  6164	  6178	  6187	  6195	  6206	  6260	  6308	  6943	  7086	  7091	  7097
	  7102	  7109	  7116	  7128	  7138	  7143	  7151	  7165	  7174	  7185	  7196	  7197	  7198	  7199
	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208	  7211	  7212	  7213	  7214	  7216
	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234	  7235	  7236	  7237	  7238	  7239
	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7250	  7259	  7266	  7267	  7268	  7269	  7270
	  7271	  7279	  7280	  7281	  7282	  7283	  7284	  7285	  7286	  7287	  7288	  7289	  7290	  7291
	  7292	  7296	  7298	  7300	  7302	  7304	  7316	  7321	  7322	  7323	  7324	  7326	  7327	  7329
	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349	  7350	  7359	  7360	  7361	  7362	  7363
	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373	  7374	  7384	  7386	  7403	  7404	  7405
	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419
	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433
	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447
	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455	  7458	  7461	  7462	  7510
DEPHAS	  1900	  1908	  2057	  5442
DIVI	  2429
DPB	   659	   672	  1534	  1535	  1536	  1537	  1538	  1596	  1597	  1598	  1639	  1674	  1675	  1676
	  1725	  2138	  2234	  2523	  3325	  3875	  3878	  3958	  5115	  5121	  5268	  5279	  5390
END	  7559
EXCH	   402	   405	   414	   568	   604	   623	   737	  1010	  1112	  1148	  1155	  1229	  1406	  3202
	  3206	  3391	  3489	  3491	  3492	  3493	  3639	  3804	  3859	  3919	  4128	  4133	  4152	  4177
	  4211	  4316	  4337	  4411	  4413	  4654	  4766	  4894	  4895	  5024	  5126	  5251	  5261	  5305
	  5500	  6853
EXP	  2214	  2242
EXTERN	   221	   222	   223	   224	   225	   226	   227	   228	   229	   230	   231	   232
FADR	  4192	  4271
FADRM	  3211
FDVR	  4209
FMPR	  2519	  3210	  3218	  3226	  4203
FSBR	  4199
HLL	  3467	  4708	  4717	  4729	  5023	  5239	  5357	  6079	  6093	  6842
HLLE	  3414	  3425	  3441	  3450	  3573	  4032	  4078
HLLM	   622	  1324
HLLOS	  4501
HLLZ	  4850	  6096
HLLZM	  1486	  1985	  5242
HLLZS	  1539	  1593
HLR	  1511	  3395	  3989	  4455
HLRE	   519	  2538	  3918	  4093	  5226	  6219	  6825
HLRM	  4647	  5000
HLRO	  4603	  6188
HLRZ	   525	   552	   576	   650	   668	   690	   762	   766	   769	   779	   784	   892	   894	   924
	  1061	  1271	  1274	  1312	  1321	  1325	  1326	  1338	  1343	  1346	  1351	  1502	  1925	  1939
	  2001	  2005	  2106	  2121	  2146	  2222	  2260	  2326	  2336	  2369	  2395	  2437	  3015	  3080
	  3091	  3122	  3130	  3141	  3144	  3145	  3256	  3258	  3265	  3266	  3273	  3310	  3333	  3335
	  3337	  3338	  3342	  3344	  3346	  3351	  3353	  3357	  3359	  3363	  3367	  3371	  3375	  3379
	  3501	  3518	  3529	  3551	  3559	  3564	  3576	  3599	  3615	  3626	  3627	  3628	  3649	  3650
	  3732	  3748	  3779	  3795	  3809	  3847	  3857	  3890	  3895	  3906	  3911	  3928	  4007	  4017
	  4027	  4050	  4052	  4074	  4084	  4104	  4105	  4109	  4112	  4137	  4139	  4172	  4255	  4359
	  4370	  4384	  4485	  4493	  4496	  4521	  4526	  4530	  4533	  4553	  4561	  4588	  4610	  4617
	  4667	  4669	  4692	  4707	  4716	  4723	  4728	  4740	  4756	  4775	  4785	  4803	  4821	  4825
	  4833	  4838	  4841	  4847	  4860	  4883	  4888	  4890	  4973	  5005	  5081	  5086	  5129	  5213
	  5247	  5262	  5378	  5415	  5682	  5689	  5700	  5719	  5722	  5732	  5750	  5753	  5756	  5770
	  5783	  5798	  5801	  5814	  5826	  5834	  5845	  5862	  5872	  5877	  5885	  5888	  5944	  5982
	  6091	  6209	  6660	  6673	  6675	  6859	  6861	  6879	  6897
HLRZM	  2311	  3977
HLRZS	   661
HRL	  2202	  2305	  2328	  3393	  3752	  3961	  4534	  4682	  6121	  6212	  6618	  6882	  6900
HRLI	   554	  1264	  1679	  1731	  1981	  2210	  2441	  2707	  2796	  2897	  2904	  2909	  3103	  3846
	  4584	  4896	  4927	  5025	  5052	  5147	  5151	  5160	  5164	  5177	  5203	  5294	  5436	  5544
	  6076	  6104	  6105	  6639	  7058
HRLM	  1396	  1542	  1601	  2422	  2432	  2534	  3082	  3146	  3147	  3269	  3471	  3619	  3913	  3964
	  3993	  4010	  4457	  4648	  4851	  4948	  5078	  5194	  6208	  6218	  6406	  6569	  6574	  6611
	  6662	  6677	  7497
HRLOM	  3735
HRLZ	   585	   592	   752	  4786	  5468	  6114	  6272
HRLZI	  1966	  2197	  2212	  2271	  4047	  4063	  5174	  5180	  6889
HRLZM	  1485	  1974	  2231	  3967	  6555
HRLZS	  3164
HRR	   710	  3860	  5255	  6635	  6718
HRREI	  4350	  4374	  4406	  4547
HRRI	   313	  1509	  1512	  1968	  2233	  2442	  2797	  2822	  2852	  2931	  2964	  3169	  3183	  4877
	  5061	  5193	  5227	  5545	  6080
HRRM	   314	   686	   758	   760	   761	  1212	  1213	  1388	  1572	  1623	  1681	  1682	  1729	  2365
	  3118	  3119	  3160	  3234	  3277	  3477	  3534	  3608	  3616	  3773	  3783	  3990	  4009	  4034
	  4456	  4467	  4484	  4919	  4950	  4965	  5195	  5207	  5254	  6095	  6213	  6224	  6551	  6554
	  6557	  6566	  6567	  6570	  6571	  6575	  6578	  6580	  6583	  6585	  6588	  6591	  6602	  6604
	  6605	  6607	  6609	  6665	  6680	  6719	  6720	  6958	  7502
HRROI	   371	   749	  1253	  3730
HRRZ	   524	   526	   537	   541	   544	   548	   559	   571	   759	   767	   775	   778	   785	   826
	   830	   891	   934	  1060	  1214	  1270	  1322	  1339	  1352	  1389	  1395	  1517	  1541	  1599
	  1647	  1677	  1697	  1727	  1963	  1996	  2002	  2164	  2226	  2303	  2371	  2393	  2396	  2410
	  2416	  2872	  2902	  3093	  3117	  3128	  3261	  3268	  3272	  3276	  3279	  3347	  3443	  3446
	  3452	  3507	  3519	  3525	  3530	  3547	  3552	  3558	  3566	  3567	  3575	  3597	  3602	  3604
	  3606	  3614	  3624	  3625	  3655	  3656	  3744	  3771	  3785	  3799	  3849	  3907	  3920	  3929
	  3939	  3969	  3999	  4008	  4020	  4025	  4028	  4053	  4101	  4110	  4113	  4147	  4148	  4166
	  4171	  4254	  4256	  4358	  4360	  4368	  4369	  4382	  4383	  4470	  4479	  4483	  4506	  4509
	  4511	  4524	  4527	  4557	  4565	  4608	  4614	  4618	  4666	  4668	  4690	  4693	  4710	  4719
	  4724	  4727	  4758	  4783	  4784	  4800	  4823	  4826	  4837	  4840	  4852	  4887	  4889	  4903
	  4907	  4908	  4924	  4931	  4961	  5041	  5080	  5082	  5097	  5105	  5130	  5145	  5361	  5404
	  5408	  5413	  5418	  5424	  5432	  5491	  5516	  5679	  5704	  5706	  5724	  5735	  5737	  5740
	  5744	  5758	  5765	  5772	  5775	  5785	  5793	  5805	  5811	  5816	  5818	  5830	  5840	  5851
	  5857	  5867	  5869	  5946	  5985	  5990	  6242	  6269	  6293	  6400	  6614	  6646	  6652	  6663
	  6669	  6671	  6678	  6682	  6818	  6833	  6838	  6864	  6871	  6895	  6896	  6920
HRRZI	   347	  1503	  1505	  2007	  2199	  2203	  2205	  2209	  2230	  2268	  2298	  2312	  2356	  4419
	  4429	  4583	  5206	  5225	  6596	  6637	  6828	  6874	  7475	  7477	  7479	  7482	  7484	  7487
HRRZM	  1390	  1391	  1673	  1726	  2257	  3016	  3978	  4576	  4935	  4942	  5431	  5490	  6070	  6126
	  6235	  6623	  6725	  6727	  7476	  7478	  7480	  7481	  7483	  7485	  7488
HRRZS	  1644	  3098	  3179	  5394
IDIV	  3111	  4208	  4313	  4339	  5103	  5154	  5637	  5642
IDIVI	  2431	  2532	  4267	  5160	  5386	  6490	  6519	  6530
IDPB	  1265	  2838	  2846	  2853	  2864	  2965	  2984	  3025	  3046	  3057	  3066	  3173	  3177	  3178
	  6983
IF1	   100	  7185	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207
	  7208	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233
	  7234	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7250
	  7259	  7266	  7267	  7268	  7269	  7270	  7271	  7279	  7280	  7281	  7282	  7283	  7284	  7285
	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7304	  7316	  7321
	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349
	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373
	  7374	  7384	  7386	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413
	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427
	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441
	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455
	  7458	  7461	  7462
IFB	  7037
IFE	   105	   194	   349	   372	   750	  1621	  1663	  1689	  1781	  3417	  3542	  3545	  3557	  3595
	  3802	  3821	  5235	  5327	  6717	  7037	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203
	  7204	  7205	  7206	  7207	  7208	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226
	  7228	  7230	  7231	  7232	  7233	  7234	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244
	  7245	  7246	  7247	  7248	  7255	  7263	  7266	  7267	  7268	  7269	  7270	  7271	  7276	  7279
	  7280	  7281	  7282	  7283	  7284	  7285	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296
	  7298	  7300	  7302	  7313	  7316	  7321	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331
	  7344	  7345	  7346	  7347	  7348	  7349	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365
	  7366	  7367	  7368	  7369	  7372	  7373	  7374	  7384	  7389	  7403	  7404	  7405	  7406	  7407
	  7408	  7409	  7410	  7411	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421
	  7422	  7423	  7424	  7425	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435
	  7436	  7437	  7438	  7439	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449
	  7450	  7451	  7452	  7453	  7454	  7455	  7458	  7461	  7462
IFGE	  7037
IFIDN	  7037
IFLE	  7037
IFN	    70	    85	   108	   187	   348	   371	   377	   749	   844	   945	  1038	  1077	  1128	  1566
	  1622	  1658	  1684	  1779	  1782	  2026	  2061	  2075	  2090	  2981	  2999	  3416	  3594	  3789
	  3828	  3864	  5229	  5519	  6015	  6043	  6314	  6407	  6464	  6776	  6980	  6992	  7037	  7185
	  7189	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208
	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234
	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7255	  7263
	  7266	  7267	  7268	  7269	  7270	  7271	  7276	  7279	  7280	  7281	  7282	  7283	  7284	  7285
	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7313	  7316	  7321
	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7332	  7334	  7344	  7345	  7346	  7347
	  7348	  7349	  7350	  7351	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368
	  7369	  7372	  7373	  7374	  7384	  7389	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410
	  7411	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424
	  7425	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438
	  7439	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452
	  7453	  7454	  7455	  7458	  7461	  7462	  7514	  7530	  7534	  7538
IFNDEF	    64	    66	    84	    86	    87	    91	    93	    95	    97	    99	   102	   104	   106	   111
	   203	  1780	  1783	  1784
ILDB	   712	  1033	  2443	  2454	  2463	  2920	  3237	  5488	  5547
IMUL	  3239	  4202	  5137
IMULB	  5138
IMULI	  3749	  5114	  5164	  5552
INPUT	  6184	  6198	  6973
INTERN	  7514	  7516	  7518	  7519	  7521	  7522	  7523	  7524	  7525	  7526	  7527	  7528	  7529	  7530
	  7534	  7536	  7538	  7544	  7547	  7548	  7549	  7550	  7551	  7554	  7557
IORI	  1201	  2528
IORM	   698
IOWD	  6181	  7070
IRP	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208	  7211
	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234	  7235
	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7271	  7279	  7280
	  7281	  7282	  7283	  7284	  7285	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7293	  7296
	  7298	  7300	  7302	  7316	  7321	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344
	  7345	  7346	  7347	  7348	  7349	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366
	  7367	  7368	  7369	  7372	  7373	  7374	  7384	  7403	  7404	  7405	  7406	  7407	  7408	  7409
	  7410	  7411	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423
	  7424	  7425	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437
	  7438	  7439	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451
	  7452	  7453	  7454	  7455	  7458	  7461	  7462
IRPC	  7037	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206	  7207	  7208
	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232	  7233	  7234
	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248	  7255	  7263
	  7266	  7267	  7268	  7269	  7270	  7271	  7276	  7279	  7280	  7281	  7282	  7283	  7284	  7285
	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7313	  7316	  7321
	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349
	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373
	  7374	  7384	  7389	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413
	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427
	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441
	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455
	  7458	  7461	  7462
JFCL	  1237	  2734	  2736	  2737	  3221	  3235	  3241	  4246	  4280	  4282	  4293	  4375	  4377	  4391
	  4393
JRA	  2484	  3528
JRST	   306	   313	   315	   318	   319	   321	   323	   325	   329	   331	   332	   334	   335	   336
	   384	   393	   400	   412	   451	   473	   475	   486	   505	   518	   528	   530	   532	   534
	   536	   547	   561	   563	   569	   574	   575	   588	   596	   600	   610	   617	   653	   662
	   666	   674	   683	   691	   700	   704	   716	   717	   720	   736	   757	   765	   771	   774
	   776	   782	   786	   794	   795	   806	   810	   815	   820	   824	   828	   833	   851	   853
	   855	   857	   863	   868	   870	   877	   883	   898	   903	  1025	  1028	  1032	  1047	  1070
	  1075	  1099	  1100	  1107	  1113	  1120	  1122	  1124	  1133	  1137	  1140	  1159	  1160	  1169
	  1172	  1174	  1175	  1193	  1200	  1204	  1207	  1215	  1218	  1234	  1275	  1280	  1299	  1315
	  1330	  1335	  1340	  1350	  1369	  1402	  1412	  1417	  1421	  1442	  1448	  1450	  1460	  1466
	  1470	  1475	  1499	  1506	  1530	  1532	  1573	  1606	  1608	  1609	  1628	  1667	  1702	  1704
	  1718	  1737	  1740	  1742	  1759	  1934	  1945	  1960	  1977	  2011	  2101	  2108	  2109	  2113
	  2128	  2131	  2139	  2148	  2149	  2160	  2166	  2189	  2224	  2240	  2247	  2276	  2308	  2321
	  2337	  2347	  2359	  2381	  2384	  2388	  2392	  2398	  2400	  2403	  2404	  2407	  2412	  2425
	  2430	  2435	  2446	  2449	  2460	  2474	  2493	  2540	  2701	  2707	  2715	  2731	  2733	  2735
	  2738	  2741	  2747	  2750	  2752	  2753	  2759	  2764	  2766	  2768	  2770	  2780	  2784	  2790
	  2794	  2802	  2805	  2806	  2807	  2809	  2810	  2811	  2812	  2813	  2814	  2815	  2816	  2830
	  2833	  2834	  2835	  2836	  2840	  2844	  2845	  2849	  2856	  2861	  2862	  2867	  2874	  2880
	  2882	  2885	  2886	  2887	  2888	  2892	  2894	  2897	  2898	  2901	  2903	  2908	  2910	  2918
	  2919	  2935	  2942	  2954	  2969	  2976	  3004	  3013	  3021	  3022	  3023	  3024	  3028	  3031
	  3033	  3037	  3041	  3043	  3051	  3052	  3055	  3056	  3060	  3068	  3074	  3083	  3100	  3125
	  3140	  3165	  3171	  3175	  3181	  3185	  3193	  3198	  3200	  3222	  3251	  3260	  3268	  3270
	  3275	  3280	  3303	  3313	  3326	  3354	  3360	  3364	  3368	  3372	  3376	  3395	  3397	  3413
	  3419	  3422	  3427	  3430	  3431	  3433	  3434	  3440	  3453	  3461	  3466	  3470	  3476	  3506
	  3532	  3535	  3550	  3572	  3579	  3580	  3590	  3591	  3601	  3609	  3613	  3617	  3631	  3635
	  3642	  3644	  3657	  3675	  3676	  3733	  3743	  3747	  3756	  3766	  3787	  3800	  3855	  3861
	  3877	  3885	  3898	  3904	  3923	  3933	  3943	  3946	  3950	  3984	  3994	  4015	  4031	  4040
	  4043	  4055	  4056	  4059	  4066	  4077	  4081	  4092	  4118	  4144	  4146	  4149	  4155	  4160
	  4168	  4182	  4206	  4215	  4216	  4219	  4220	  4235	  4239	  4244	  4248	  4263	  4265	  4277
	  4285	  4289	  4294	  4298	  4305	  4309	  4312	  4319	  4323	  4332	  4341	  4346	  4349	  4355
	  4362	  4367	  4372	  4378	  4381	  4386	  4388	  4394	  4398	  4400	  4404	  4409	  4414	  4423
	  4432	  4439	  4441	  4459	  4487	  4491	  4498	  4502	  4507	  4513	  4520	  4523	  4529	  4531
	  4533	  4537	  4539	  4540	  4542	  4544	  4546	  4550	  4564	  4567	  4578	  4592	  4598	  4600
	  4605	  4616	  4620	  4635	  4639	  4642	  4644	  4649	  4655	  4659	  4685	  4695	  4697	  4699
	  4701	  4703	  4705	  4714	  4721	  4725	  4732	  4742	  4747	  4778	  4802	  4805	  4807	  4809
	  4811	  4819	  4822	  4828	  4830	  4832	  4835	  4863	  4865	  4870	  4875	  4880	  4884	  4899
	  4901	  4911	  4912	  4929	  4936	  4940	  4967	  4975	  4977	  4980	  4996	  5002	  5007	  5013
	  5020	  5029	  5037	  5043	  5095	  5118	  5128	  5133	  5153	  5182	  5184	  5243	  5256	  5286
	  5289	  5297	  5301	  5308	  5313	  5321	  5335	  5344	  5367	  5369	  5375	  5379	  5395	  5406
	  5425	  5440	  5449	  5461	  5472	  5504	  5508	  5511	  5536	  5554	  5569	  5576	  5581	  5582
	  5585	  5593	  5606	  5633	  5647	  5666	  5684	  5686	  5695	  5696	  5711	  5713	  5718	  5730
	  5761	  5764	  5774	  5797	  5823	  5828	  5849	  5879	  5887	  5893	  5905	  5907	  5918	  5924
	  5927	  5930	  5943	  5950	  5957	  5963	  5976	  5993	  6001	  6008	  6049	  6051	  6083	  6123
	  6136	  6137	  6141	  6142	  6145	  6169	  6180	  6271	  6275	  6279	  6280	  6295	  6306	  6402
	  6404	  6504	  6697	  6701	  6703	  6705	  6707	  6730	  6747	  6750	  6751	  6754	  6758	  6762
	  6764	  6765	  6767	  6768	  6841	  6856	  6883	  6890	  6909	  6921	  6925	  6933	  6946	  6949
	  6959	  6967	  6971	  6977	  6978	  6981	  6982	  6986	  6998	  6999	  7003	  7007	  7008	  7010
	  7014	  7017	  7018	  7022	  7029	  7031	  7049	  7062	  7507
JRSTF	  2402
JSA	  2476
JSP	   652	   656	   657	   670	   679	   680	   695	   696	  1943	  2010	  2086	  2098	  2102	  2111
	  2119	  3669	  4190	  4197	  4201	  4207	  4214	  4310	  4330	  4720	  4731	  4751	  4782	  4788
	  5106	  6050	  6107	  6423	  6437	  6447	  6458	  6661	  6664	  6670	  6676	  6679	  6729
JSR	   340
JUMPA	  4331
JUMPE	   456	   459	   581	   593	   603	   763	   768	   818	  1021	  1062	  1065	  1210	  1269	  1273
	  1304	  1305	  1318	  1320	  1337	  1345	  1379	  1416	  1423	  1445	  1462	  1467	  1497	  1637
	  1638	  1669	  1672	  1695	  1720	  1724	  1936	  1937	  1997	  2174	  2201	  2372	  2376	  2389
	  2394	  2444	  2489	  2531	  2535	  2883	  2961	  2990	  3089	  3129	  3133	  3135	  3204	  3227
	  3238	  3253	  3295	  3323	  3411	  3423	  3458	  3502	  3517	  3556	  3583	  3652	  3662	  3665
	  3719	  3741	  3745	  3754	  3760	  3768	  3776	  3792	  3805	  3850	  3894	  3909	  3927	  3937
	  3973	  3988	  4026	  4051	  4102	  4108	  4111	  4114	  4135	  4136	  4153	  4173	  4212	  4213
	  4338	  4466	  4480	  4508	  4525	  4556	  4609	  4691	  4755	  4824	  4845	  4846	  4858	  4906
	  4938	  4946	  4974	  5092	  5249	  5414	  5476	  5477	  5515	  5663	  5688	  5702	  5734	  5739
	  5776	  5786	  5874	  5890	  5953	  5995	  6060	  6210	  6220	  6261	  6867	  6870	  6888	  6917
	  6932
JUMPG	  2488	  3722
JUMPGE	  2418	  2974	  4288	  4637	  4761	  4988	  6494
JUMPL	  2427	  2448	  2928	  2933	  3670	  3671	  4678	  5149	  5430	  6231	  6245	  6826
JUMPLE	  5657	  5934	  6263
JUMPN	   455	   484	   538	   544	  1196	  1309	  1311	  1317	  1375	  1381	  1434	  1655	  1711	  1999
	  2000	  2004	  2158	  2367	  2455	  2465	  2466	  2890	  2891	  2970	  3009	  3094	  3143	  3475
	  3482	  3488	  3521	  3531	  3553	  3565	  3568	  3586	  3603	  3646	  3728	  3772	  3786	  3797
	  3813	  3922	  4021	  4125	  4129	  4311	  4472	  4629	  4671	  4843	  4857	  5489	  5674	  5681
	  5708	  5721	  5741	  5752	  5755	  5767	  5800	  5813	  5820	  5842	  5859	  5871	  5940	  5948
	  5973	  5989	  6424	  6448	  6459	  6683
LDB	   501	   516	   521	   577	   590	   791	  1289	  1631	  2447	  2481	  2801	  2821	  2829	  2848
	  2866	  2878	  2884	  2962	  3027	  3059	  3322	  3753	  3873	  3982	  4497	  5018	  5179	  5548
LIST	  5403	  7037	  7185	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205	  7206
	  7207	  7208	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223	  7226	  7228	  7231	  7232
	  7233	  7234	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244	  7245	  7246	  7247	  7248
	  7266	  7267	  7268	  7269	  7270	  7271	  7279	  7280	  7281	  7282	  7283	  7284	  7285	  7286
	  7287	  7288	  7289	  7290	  7291	  7292	  7296	  7298	  7300	  7302	  7316	  7321	  7322	  7323
	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346	  7347	  7348	  7349	  7350	  7359
	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368	  7369	  7372	  7373	  7374	  7384
	  7403	  7404	  7405	  7406	  7407	  7408	  7409	  7410	  7411	  7412	  7413	  7414	  7415	  7416
	  7417	  7418	  7419	  7420	  7421	  7422	  7423	  7424	  7425	  7426	  7427	  7428	  7429	  7430
	  7431	  7432	  7433	  7434	  7435	  7436	  7437	  7438	  7439	  7440	  7441	  7442	  7443	  7444
	  7445	  7446	  7447	  7448	  7449	  7450	  7451	  7452	  7453	  7454	  7455	  7458	  7461	  7462
	  7466
LIT	  7466
LOC	    76
LSH	  1278	  2963	  3110	  3228	  3312	  3383	  3750	  4141	  4142	  4446	  5163	  5168	  5170	  5312
	  5388	  5912	  5914	  6564
LSHC	  5371
MLON	   101
MOVE	   318	   321	   325	   331	   334	   340	   351	   360	   361	   364	   369	   394	   410	   470
	   481	   553	   567	   651	   665	   669	   673	   687	   703	   731	   736	   783	   800	   802
	   871	   880	   910	  1059	  1198	  1217	  1252	  1255	  1342	  1363	  1364	  1373	  1377	  1386
	  1400	  1440	  1484	  1516	  1520	  1522	  1526	  1533	  1595	  1602	  1636	  1664	  1670	  1690
	  1696	  1702	  1714	  1716	  1722	  1732	  1734	  1740	  1758	  1938	  1942	  1969	  1973	  2009
	  2103	  2112	  2130	  2143	  2145	  2171	  2181	  2183	  2185	  2214	  2221	  2225	  2242	  2244
	  2267	  2293	  2296	  2297	  2386	  2486	  2499	  2505	  2507	  2527	  2774	  2820	  2945	  2958
	  3007	  3009	  3014	  3079	  3090	  3109	  3124	  3127	  3134	  3137	  3152	  3154	  3155	  3156
	  3161	  3163	  3172	  3186	  3199	  3213	  3220	  3250	  3271	  3294	  3302	  3311	  3319	  3398
	  3456	  3459	  3515	  3560	  3581	  3584	  3587	  3594	  3620	  3633	  3636	  3637	  3643	  3660
	  3663	  3666	  3668	  3717	  3726	  3737	  3765	  3769	  3770	  3778	  3784	  3794	  3798	  3825
	  3869	  3882	  3896	  3938	  3959	  3960	  3972	  3975	  3997	  4012	  4044	  4045	  4060	  4061
	  4088	  4095	  4098	  4123	  4126	  4130	  4138	  4140	  4150	  4158	  4165	  4170	  4175	  4181
	  4225	  4226	  4229	  4230	  4284	  4340	  4389	  4390	  4410	  4422	  4447	  4512	  4529	  4536
	  4630	  4633	  4662	  4665	  4676	  4750	  4764	  4767	  4772	  4798	  4813	  4816	  4844	  4868
	  4874	  4915	  4922	  4958	  4966	  4983	  5008	  5017	  5022	  5034	  5036	  5062	  5065	  5072
	  5075	  5098	  5150	  5157	  5182	  5184	  5192	  5200	  5210	  5275	  5277	  5281	  5290	  5300
	  5303	  5355	  5356	  5370	  5373	  5416	  5435	  5448	  5457	  5458	  5462	  5465	  5478	  5482
	  5503	  5510	  5560	  5574	  5584	  5598	  5634	  5641	  5655	  5658	  5661	  5664	  5667	  5672
	  5691	  5697	  5709	  5714	  5726	  5731	  5742	  5762	  5769	  5781	  5782	  5807	  5821	  5824
	  5832	  5844	  5847	  5853	  5861	  5864	  5875	  5880	  5884	  5891	  5900	  5921	  5951	  5958
	  5966	  5979	  5983	  5987	  6000	  6046	  6061	  6077	  6100	  6101	  6102	  6109	  6110	  6112
	  6118	  6119	  6120	  6124	  6133	  6161	  6181	  6217	  6226	  6227	  6252	  6254	  6267	  6285
	  6298	  6302	  6304	  6417	  6430	  6479	  6489	  6497	  6506	  6518	  6529	  6541	  6545	  6546
	  6562	  6576	  6594	  6636	  6640	  6645	  6674	  6713	  6715	  6724	  6726	  6851	  6901	  6918
	  6921	  6947	  7023	  7024	  7047	  7059	  7496
MOVEI	   322	   342	   344	   354	   374	   452	   460	   463	   466	   523	   542	   583	   599	   602
	   658	   685	   748	   756	   789	   827	   831	   860	   861	  1019	  1074	  1111	  1132	  1141
	  1147	  1149	  1162	  1187	  1262	  1383	  1405	  1425	  1481	  1543	  1600	  1650	  1651	  1657
	  1678	  1680	  1703	  1706	  1707	  1713	  1728	  1730	  1741	  1940	  1959	  1972	  1991	  2133
	  2243	  2272	  2319	  2349	  2362	  2364	  2406	  2411	  2421	  2427	  2428	  2438	  2470	  2472
	  2515	  2525	  2717	  2719	  2799	  2837	  2851	  2943	  2949	  2988	  3012	  3032	  3045	  3087
	  3131	  3176	  3190	  3208	  3214	  3216	  3219	  3233	  3247	  3254	  3298	  3308	  3321	  3324
	  3387	  3436	  3484	  3487	  3512	  3516	  3724	  3739	  3759	  3777	  3871	  3892	  3900	  3908
	  3957	  3970	  4018	  4131	  4159	  4196	  4222	  4224	  4237	  4242	  4250	  4301	  4365	  4407
	  4449	  4468	  4494	  4500	  4554	  4653	  4745	  4754	  4777	  4848	  4866	  4873	  4881	  4893
	  4904	  4921	  4944	  4956	  4963	  5067	  5084	  5091	  5093	  5096	  5102	  5108	  5109	  5111
	  5135	  5166	  5176	  5221	  5310	  5350	  5351	  5358	  5385	  5447	  5479	  5487	  5506	  5513
	  5514	  5546	  5630	  5639	  5646	  5675	  5699	  5768	  5787	  5789	  5791	  5795	  5803	  5836
	  5843	  5855	  5860	  5883	  5894	  5909	  5919	  5928	  5954	  5967	  6127	  6139	  6166	  6276
	  6286	  6294	  6542	  6868	  6878	  6954	  6957	  7026	  7044	  7057	  7491	  7499	  7501
MOVEM	   341	   343	   355	   373	   375	   514	   515	   566	   711	   738	   890	   893	  1163	  1206
	  1297	  1302	  1307	  1314	  1397	  1398	  1409	  1438	  1468	  1483	  1489	  1492	  1519	  1521
	  1523	  1525	  1527	  1544	  1545	  1592	  1603	  1645	  1665	  1691	  1693	  1715	  1717	  1733
	  1735	  1736	  1971	  1979	  1980	  1982	  1989	  1992	  2100	  2172	  2173	  2182	  2184	  2186
	  2213	  2215	  2232	  2241	  2256	  2262	  2266	  2269	  2270	  2275	  2299	  2306	  2373	  2708
	  2723	  2769	  2779	  2798	  2819	  2827	  2877	  2987	  3003	  3011	  3036	  3042	  3071	  3123
	  3168	  3196	  3244	  3301	  3399	  3667	  3721	  3791	  3793	  3856	  3897	  3974	  4014	  4023
	  4253	  4463	  4505	  4510	  4621	  4628	  4631	  4684	  4748	  4781	  4818	  4834	  4839	  4882
	  4886	  4891	  5066	  5068	  5074	  5090	  5100	  5101	  5104	  5146	  5212	  5307	  5324	  5376
	  5604	  5629	  5640	  5645	  5659	  5670	  5693	  5703	  5705	  5717	  5725	  5729	  5736	  5759
	  5773	  5806	  5810	  5817	  5831	  5833	  5848	  5852	  5854	  5866	  5868	  5892	  5910	  5916
	  5922	  5936	  5937	  5947	  5978	  5986	  5991	  6058	  6059	  6063	  6072	  6075	  6108	  6111
	  6113	  6143	  6149	  6165	  6167	  6183	  6197	  6228	  6277	  6290	  6301	  6303	  6305	  6405
	  6418	  6431	  6439	  6493	  6498	  6522	  6533	  6536	  6601	  6620	  6641	  6672	  6714
MOVMS	  4297	  4333	  4334
MOVN	  5045	  5162	  5602	  5748	  6073	  6452	  6463	  6499	  6552	  6616	  6621
MOVNI	  1044	  2503	  2514	  2522	  3870	  3903	  4462	  4713	  4768	  4914	  5076	  5191	  5201	  6222
	  6573	  6610
MOVNS	   584	   591	   671	   753	  2420	  2490	  3101	  3192	  4292	  5187	  5353	  5387	  6069	  6087
	  6556
MOVS	  1508	  2310	  2458	  3136	  3503	  3504	  3526	  3548	  3561	  3598	  3806	  4679	  5186
MOVSI	   619	   621	   697	   709	  1301	  1961	  1984	  2167	  2699	  3182	  3224	  3851	  3853	  4430
	  5119	  5445	  6064	  6085	  6634	  6951
MOVSM	  1986	  3104
MOVSS	  1510	  4645	  4998	  5420
MULI	  2497	  2508	  4278
OPDEF	   145	   146	   147	   148	   151	   152	   153	   154	   157	   158	   159	   160	   161	   162
	   163	   164	   165	   166
ORCMI	  6130
PAGE	    60	   275	   476	   506	   589	   625	   667	   706	   745	   787	   825	   904	   944	  1012
	  1108	  1165	  1227	  1248	  1282	  1361	  1403	  1585	  1635	  1649	  1705	  1743	  1760	  2340
	  2385	  2560	  2600	  2623	  2697	  2785	  2841	  2868	  2912	  2977	  3018	  3061	  3107	  3150
	  3166	  3243	  3281	  3329	  3377	  3428	  3462	  3496	  3536	  3592	  3632	  3677	  3757	  3788
	  3899	  3947	  4161	  4184	  4232	  4266	  4307	  4342	  4415	  4460	  4516	  4552	  4568	  4623
	  4656	  4688	  4726	  4743	  4779	  4795	  4836	  4854	  4937	  5055	  5190	  5272	  5315	  5538
	  5610	  6010	  6053	  6147	  6207	  6257	  6310	  6771	  6814	  6940	  7082	  7187	  7277	  7399
	  7469	  7558
PHASE	  1847	  1879	  1886	  1901	  2017	  5428
POINT	   501	   516	   521	   577	   590	   659	   672	   709	   791	  1252	  1264	  1289	  1534	  1535
	  1536	  1537	  1538	  1596	  1597	  1598	  1631	  1639	  1674	  1675	  1676	  1725	  2112	  2130
	  2150	  2152	  2234	  2441	  2447	  2481	  2523	  2584	  2585	  2586	  2587	  2796	  2945	  2958
	  3182	  3322	  3325	  3869	  3958	  3982	  4497	  5018	  5115	  5121	  5279	  7034	  7035	  7036
POP	   545	   546	   606	   611	   612	   613	   614	   615	   616	   660	   681	   682	   699	   727
	   764	   839	   841	   872	   874	   875	  1066	  1067	  1068	  1069	  1190	  1192	  1380	  1387
	  1427	  1433	  1435	  1694	  1975	  2188	  2294	  2295	  2483	  2530	  2710	  2711	  2746	  2907
	  2934	  2972	  2975	  2994	  3120	  3278	  3293	  3300	  3653	  3654	  3673	  3729	  3738	  3761
	  3763	  3782	  3863	  3916	  3917	  3932	  3942	  3996	  3998	  4038	  4070	  4071	  4089	  4107
	  4117	  4179	  4283	  4318	  4451	  4452	  4453	  4458	  4473	  4489	  4490	  4570	  4573	  4587
	  4636	  4640	  4652	  4733	  4734	  4735	  4736	  4737	  4774	  4791	  4815	  4859	  4872	  4925
	  4952	  4991	  5010	  5011	  5012	  5050	  5079	  5089	  5125	  5223	  5253	  5264	  5269	  5296
	  5393	  5473	  5535	  5605	  6232	  6251	  6255	  6288	  6906	  6907	  6924
POPJ	   403	   406	   415	   624	   714	   725	   728	   734	   739	  1011	  1017	  1023	  1036	  1127
	  1142	  1150	  1156	  1164	  1226	  1230	  1238	  1256	  1260	  1266	  1281	  1293	  1333	  1353
	  1368	  1392	  1436	  1513	  1546	  1648	  1699	  2136	  2208	  2216	  2300	  2316	  2331	  2344
	  2353	  2456	  2467	  2512	  2712	  2726	  2729	  2757	  2777	  2791	  2824	  2921	  2953	  2957
	  2995	  3017	  3069	  3077	  3095	  3105	  3148	  3249	  3339	  3348	  3380	  3400	  3417	  3449
	  3472	  3478	  3485	  3494	  3499	  3509	  3513	  3522	  3554	  3563	  3569	  3621	  3736	  3774
	  3808	  3814	  3826	  3868	  4000	  4047	  4063	  4072	  4099	  4231	  4251	  4261	  4272	  4302
	  4306	  4356	  4425	  4474	  4574	  4613	  4622	  4673	  4738	  4932	  4953	  4970	  4985	  4990
	  5054	  5069	  5141	  5180	  5188	  5209	  5270	  5360	  5485	  5493	  5501	  5551	  5570	  5896
	  5932	  5965	  5968	  5998	  6189	  6202	  6215	  6233	  6236	  6256	  6291	  6820	  6829	  6834
	  6846	  6865	  6872	  6875	  6889	  6938	  6984
PUSH	   469	   539	   540	   557	   579	   580	   586	   594	   655	   664	   676	   677	   678	   689
	   694	   702	   726	   755	   834	   835	   885	   886	   887	   888	   889	  1055	  1056	  1057
	  1058	  1186	  1197	  1328	  1376	  1382	  1407	  1424	  1429	  1431	  1472	  1480	  1564	  1587
	  1619	  1620	  1653	  1709	  1965	  2099	  2159	  2177	  2254	  2258	  2357	  2361	  2426	  2440
	  2469	  2480	  2521	  2704	  2705	  2744	  2762	  2905	  2929	  2968	  2992	  3092	  3116	  3255
	  3291	  3296	  3629	  3647	  3648	  3659	  3720	  3780	  3848	  3891	  3901	  3902	  3910	  3912
	  3914	  3926	  3930	  3936	  3940	  3963	  3965	  3966	  4005	  4006	  4022	  4036	  4085	  4103
	  4115	  4174	  4274	  4314	  4434	  4435	  4443	  4444	  4445	  4448	  4464	  4476	  4477	  4478
	  4535	  4548	  4549	  4571	  4582	  4585	  4586	  4646	  4672	  4709	  4712	  4718	  4730	  4752
	  4753	  4757	  4763	  4771	  4787	  4789	  4812	  4867	  4879	  4897	  4898	  4900	  4917	  4920
	  4941	  4947	  5026	  5028	  5033	  5048	  5063	  5071	  5087	  5116	  5122	  5143	  5148	  5149
	  5152	  5153	  5161	  5165	  5175	  5178	  5179	  5185	  5204	  5217	  5224	  5240	  5246	  5258
	  5265	  5325	  5326	  5328	  5329	  5330	  5331	  5332	  5333	  5334	  5377	  5407	  5417	  5419
	  5474	  5543	  5596	  5625	  5626	  5649	  5650	  5651	  5652	  5653	  5654	  5898	  5899	  5903
	  5938	  5970	  5971	  5980	  5981	  6068	  6225	  6241	  6249	  6284	  6922	  7004	  7005	  7015
PUSHJ	   166	   309	   327	   328	   366	   370	   382	   387	   388	   396	   397	   398	   399	   409
	   411	   453	   454	   457	   458	   462	   464	   465	   467	   468	   471	   474	   504	   543
	   549	   554	   598	   605	   607	   716	   719	   807	   808	   809	   812	   813	   814	   821
	   822	   823	   836	   837	   838	   842	   848	   858	   862	   873	   895	   896	   911	   913
	   916	   919	   925	   927	   935	   937	   939	   941	  1015	  1020	  1024	  1063	  1064	  1072
	  1168	  1188	  1189	  1233	  1254	  1272	  1288	  1303	  1308	  1310	  1313	  1319	  1323	  1327
	  1329	  1344	  1347	  1374	  1378	  1385	  1404	  1408	  1414	  1415	  1419	  1420	  1426	  1428
	  1430	  1432	  1439	  1441	  1444	  1446	  1449	  1455	  1456	  1459	  1461	  1469	  1474	  1482
	  1491	  1493	  1495	  1496	  1498	  1504	  1524	  1586	  1589	  1591	  1630	  1654	  1671	  1710
	  1723	  1744	  1747	  1750	  1752	  1926	  1928	  1935	  1967	  1970	  1998	  2003	  2120	  2134
	  2137	  2175	  2176	  2180	  2200	  2211	  2229	  2245	  2246	  2313	  2320	  2345	  2346	  2350
	  2351	  2358	  2366	  2370	  2375	  2379	  2383	  2434	  2439	  2453	  2462	  2471	  2473	  2482
	  2501	  2509	  2524	  2526	  2529	  2536	  2698	  2700	  2709	  2718	  2720	  2724	  2728	  2740
	  2745	  2749	  2751	  2754	  2756	  2761	  2763	  2773	  2783	  2788	  2800	  2804	  2808	  2828
	  2832	  2843	  2847	  2854	  2855	  2860	  2863	  2865	  2871	  2876	  2906	  2924	  2926	  2927
	  2930	  2932	  2947	  2948	  2950	  2951	  2967	  2973	  2985	  2986	  2989	  2991	  2993	  3002
	  3008	  3010	  3020	  3026	  3047	  3054	  3058	  3072	  3075	  3076	  3078	  3081	  3088	  3132
	  3153	  3158	  3159	  3174	  3188	  3195	  3198	  3201	  3205	  3207	  3209	  3212	  3217	  3245
	  3246	  3248	  3257	  3292	  3299	  3309	  3320	  3382	  3384	  3385	  3386	  3388	  3396	  3457
	  3460	  3480	  3490	  3497	  3511	  3520	  3582	  3585	  3588	  3605	  3607	  3630	  3638	  3640
	  3651	  3661	  3664	  3723	  3727	  3731	  3740	  3755	  3764	  3781	  3796	  3823	  3858	  3883
	  3884	  3893	  3915	  3987	  3992	  4019	  4037	  4046	  4049	  4062	  4065	  4069	  4080	  4086
	  4087	  4096	  4106	  4116	  4124	  4127	  4132	  4134	  4151	  4154	  4167	  4176	  4178	  4180
	  4227	  4238	  4243	  4262	  4275	  4287	  4291	  4296	  4300	  4315	  4317	  4322	  4399	  4412
	  4421	  4431	  4450	  4454	  4469	  4495	  4539	  4555	  4566	  4572	  4594	  4627	  4651	  4663
	  4670	  4677	  4749	  4765	  4773	  4776	  4790	  4814	  4862	  4869	  4892	  4905	  4916	  4923
	  4945	  4960	  4962	  4964	  4979	  5035	  5039	  5042	  5049	  5060	  5085	  5088	  5099	  5113
	  5144	  5211	  5220	  5222	  5248	  5250	  5252	  5259	  5260	  5263	  5267	  5280	  5282	  5291
	  5299	  5304	  5306	  5311	  5320	  5409	  5421	  5459	  5463	  5466	  5542	  5561	  5564	  5565
	  5572	  5597	  5631	  5660	  5662	  5665	  5673	  5676	  5680	  5687	  5690	  5701	  5707	  5720
	  5723	  5733	  5738	  5745	  5751	  5754	  5757	  5763	  5766	  5771	  5777	  5784	  5788	  5790
	  5792	  5794	  5796	  5799	  5802	  5804	  5812	  5815	  5819	  5822	  5825	  5827	  5829	  5835
	  5841	  5846	  5850	  5858	  5863	  5870	  5873	  5876	  5878	  5882	  5886	  5889	  5908	  5920
	  5929	  5939	  5945	  5952	  5959	  5972	  5984	  5994	  6006	  6007	  6066	  6071	  6081	  6086
	  6088	  6094	  6134	  6250	  6262	  6283	  6287	  6300	  6852	  6869	  6887	  6916	  6923	  6931
	  6944	  6948	  7025
RELOC	    80	  1844	  1909	  6942	  7464	  7468
RENAME	  6994
REPEAT	  5403	  7185
ROT	  5372	  5433	  7060
SALL	   274
SEARCH	    71	    72
SETCA	  3956
SETCAM	  1203
SETCMB	  5988
SETO	  1094	  1473	  2956
SETOM	   305	   326	   357	   359	   449	   756	   803	   882	  2714	  4632	  5323	  5999	  6084	  6141
	  6416	  6755	  6764	  7504
SETZ	   349	   461	   849	  1292	  1384	  1487	  1494	  1990	  2122	  2165	  2307	  2918	  2959	  2960
	  4068	  5232	  6065	  6511
SETZB	   754	  2273	  2274	  2795	  3236	  6106	  6745
SETZM	   346	   352	   353	   356	   368	   391	   488	   498	   852	   866	   879	   897	   900	   901
	   902	   922	  1105	  1106	  1251	  1300	  1306	  1334	  1399	  1410	  1463	  1464	  1540	  1590
	  1594	  1646	  1668	  1701	  1719	  1739	  2207	  2325	  2703	  2706	  2722	  2725	  2776	  2925
	  4420	  4465	  4593	  5475	  5627	  5628	  5935	  6047	  6299	  6410	  6411	  6624	  6684	  7505
SIXBIT	   390	   485	   490	   492	   494	   499	   550	   827	   831	   912	   914	   917	   920	   923
	   926	   928	   929	   930	   931	   932	   933	   936	   938	   940	   942	   943	  1379	  1457
	  1633	  1634	  1672	  1724	  1745	  1748	  1751	  1753	  1755	  1927	  1929	  4325	  4326	  4327
	  4328	  4472	  4482	  4595	  5040	  5346	  5348	  5464	  5467	  5476	  5477	  5562	  6064	  6085
	  6248	  6266	  6274	  6960	  6961	  6987	  7068	  7072
SKIPA	   551	   684	  1146	  1154	  2169	  2170	  2355	  2414	  2721	  3332	  3334	  3336	  3341	  3343
	  3345	  3350	  3352	  3356	  3358	  3362	  3366	  3370	  3374	  4188	  4223	  4259	  4260	  4363
	  4373	  4405	  4418	  4428	  4664	  5219	  5231	  6098
SKIPE	   308	   385	   389	   392	   493	   496	   562	   620	  1027	  1119	  1139	  1298	  2179	  2239
	  2424	  2433	  2510	  2793	  2873	  2952	  3073	  3824	  3851	  3991	  4090	  4268	  4626	  4864
	  5021	  5155	  5171	  5712	  6082	  6122	  6282	  6289	  6425	  6449	  6460	  6510	  6685	  6687
	  6689	  6691	  6693	  6695	  6746	  6766	  6860	  6902	  6943
SKIPGE	  2363	  3976	  4657	  6089	  6857
SKIPL	   489	   491	   723	  2451	  2461	  5600
SKIPN	   381	   383	   450	   801	   805	   819	   832	   850	   854	   856	   869	   876	  1145	  1153
	  1490	  1656	  1712	  1933	  2343	  2875	  2941	  3394	  3853	  3986	  4042	  4058	  4228	  4591
	  4658	  5181	  5343	  5345	  5347	  5460	  5550	  5632	  6420	  6434	  6444	  6455
SOJA	  3229	  4195	  4759	  4769	  5123	  5743	  6668	  6844
SOJE	  5158
SOJG	  2227	  2966	  3980
SOJGE	  6642
SOJL	  1941	  2008
SOS	   558	  3921	  4780	  5678	  6090	  6099	  6115	  6144	  7493
SOSA	  1191
SOSG	  1679	  1731
SOSGE	  1173
SOSL	   724
SOSN	  3734
SUB	  1200	  1202	  3945	  3962	  4013	  4097	  4198	  4643	  4976	  4987	  5112	  5136	  5147	  5167
	  5410	  5422	  5470	  5635	  5636	  5656	  5668	  5671	  5692	  5715	  5747	  5749	  5808	  5895
	  5901	  5931	  5964	  5996	  5997	  6103	  6129	  6243	  6482	  6483	  6484	  6485	  6486	  6487
	  6492	  6509	  6514	  6516	  6523	  6535	  6653	  6824	  6832	  6837	  6854	  6899	  6905	  6908
	  6919	  6937
SUBI	  1167	  1211	  2006	  2135	  2415	  2417	  2889	  3187	  3718	  3746	  3979	  4241	  4249	  4347
	  4488	  4918	  4926	  5051	  5073	  5131	  5197	  5199	  5278	  5594	  5624	  5716	  5746	  5778
	  5865	  5911	  5960	  6062	  6067	  6229	  6480	  6579	  6666
SUBM	  6244	  6565
SUBTTL	     2	    61	   277	   477	   507	   707	  1013	  1249	  1761	  2341	  2561	  3330	  4162	  4416
	  4517	  5056	  5273	  5316	  5539	  5611	  6011	  6258	  6311	  6815	  6941	  7083	  7471
TDNN	  6972
TDOE	  5374
TDZA	  1958	  1962	  3065	  3758	  4461
TITLE	     1
TLC	  1096	  3468	  4269	  4270	  5114	  5174	  5579
TLCA	   556
TLNA	   621
TLNE	   555	  1098	  3067	  3184	  3191	  3215	  3852	  4641	  4878	  5266	  5580
TLNN	   619	   688	  1259	  1529	  1531	  1605	  1607	  3197	  3203	  6968
TLO	  2839	  3035	  3044	  4711	  5573	  5599
TLOA	  3049
TLOE	  3030
TLZ	  3949	  3954
TLZA	  3951	  3952	  3953
TLZE	  2900	  6843
TLZN	  3469
TRNE	   482	   495	  3983	  5230
TRNN	  1279
TRO	  1588	  1721
TROA	  3389
TRZ	  1698	  3157
TRZA	  1291	  2518	  3390
TRZE	  3225
TRZN	   578
TSC	  4279
TTCALL	   165
TWOSEG	    68
VAR	  7080
XALL	  7081
XCT	   565	  1029	  1034	  1447	  1465	  1624	  1640	  2352	  2368	  2374	  2377	  2378	  2380	  2409
	  2419	  2452	  2491	  2502	  2517	  2730	  2742	  2758	  2917	  3854	  3981	  4351	  4376	  4392
	  5283	  6904
XLIST	  5402	  7037	  7184	  7195	  7196	  7197	  7198	  7199	  7200	  7201	  7202	  7203	  7204	  7205
	  7206	  7207	  7210	  7211	  7212	  7213	  7215	  7218	  7220	  7222	  7225	  7227	  7231	  7232
	  7233	  7234	  7235	  7236	  7237	  7238	  7239	  7240	  7243	  7244	  7245	  7246	  7247	  7266
	  7267	  7268	  7269	  7270	  7278	  7279	  7280	  7281	  7282	  7283	  7284	  7285	  7286	  7287
	  7288	  7289	  7290	  7291	  7296	  7298	  7300	  7302	  7315	  7320	  7321	  7322	  7323	  7326
	  7329	  7331	  7344	  7345	  7346	  7347	  7348	  7349	  7359	  7360	  7361	  7362	  7363	  7364
	  7365	  7366	  7367	  7368	  7371	  7372	  7373	  7384	  7403	  7404	  7405	  7406	  7407	  7408
	  7409	  7410	  7411	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421	  7422
	  7423	  7424	  7425	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435	  7436
	  7437	  7438	  7439	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449	  7450
	  7451	  7452	  7453	  7454	  7455	  7458	  7461	  7462	  7465
XWD	  1363	  1400	  1484	  1951	  1952	  1953	  1954	  1955	  1956	  1973	  2018	  2019	  2020	  2021
	  2022	  2402	  2558	  3879	  3945	  4013	  4097	  4643	  4976	  4987	  5334	  5400	  5410	  5422
	  5470	  5602	  5895	  5931	  5964	  5996	  5997	  6905	  6908	  6964	  7038	  7039	  7042	  7051
	  7052	  7053	  7054	  7055	  7064	  7066	  7185	  7196	  7197	  7198	  7199	  7200	  7201	  7202
	  7203	  7204	  7205	  7206	  7207	  7208	  7211	  7212	  7213	  7214	  7216	  7219	  7221	  7223
	  7226	  7228	  7231	  7232	  7233	  7234	  7235	  7236	  7237	  7238	  7239	  7240	  7241	  7244
	  7245	  7246	  7247	  7248	  7250	  7251	  7252	  7253	  7254	  7255	  7259	  7260	  7261	  7262
	  7263	  7266	  7267	  7268	  7269	  7270	  7271	  7274	  7275	  7276	  7279	  7280	  7281	  7282
	  7283	  7284	  7285	  7286	  7287	  7288	  7289	  7290	  7291	  7292	  7294	  7295	  7296	  7297
	  7298	  7299	  7300	  7301	  7302	  7304	  7305	  7306	  7307	  7308	  7309	  7310	  7311	  7312
	  7313	  7316	  7321	  7322	  7323	  7324	  7326	  7327	  7329	  7330	  7331	  7344	  7345	  7346
	  7347	  7348	  7349	  7350	  7359	  7360	  7361	  7362	  7363	  7364	  7365	  7366	  7367	  7368
	  7369	  7372	  7373	  7374	  7384	  7386	  7387	  7388	  7389	  7403	  7404	  7405	  7406	  7407
	  7408	  7409	  7410	  7411	  7412	  7413	  7414	  7415	  7416	  7417	  7418	  7419	  7420	  7421
	  7422	  7423	  7424	  7425	  7426	  7427	  7428	  7429	  7430	  7431	  7432	  7433	  7434	  7435
	  7436	  7437	  7438	  7439	  7440	  7441	  7442	  7443	  7444	  7445	  7446	  7447	  7448	  7449
	  7450	  7451	  7452	  7453	  7454	  7455	  7458	  7461	  7462