perm filename LEPRUN.DIF[UOR,AIL] blob sn#252304 filedate 1976-12-08 generic text, type T, neo UTF8
  1) LEPRUN[S,AIL] and 2) LEPRUN.GLB[UOR,AIL]	12-08-76 22:42	pages 1,1

**** File 1) LEPRUN[S,AIL], Page 1 line 1
1)	COMMENT ⊗   VALID 00065 PAGES
1)	C REC  PAGE   DESCRIPTION
1)	C00001 00001
1)	C00006 00002	
1)	C00007 00003	   VALID 00054 PAGES VERSION 17-1(27)
1)	C00011 00004	HISTORY
1)	C00020 00005	Leaping runtime routines.  Sept. 1972.
1)	C00028 00006	DSCR FOREACH INTERPRETATION EXAMPLE
1)	C00030 00007	VARIOUS DEFINITIONS OF BITS IN THE CONTROL WORD:
1)	C00032 00008	DSCR USEFUL MACROS
1)	C00035 00009	DSCR INTERLOCKS FOR LEAP GLOBAL MODEL
1)	C00041 00010	DSCR LEAP ALLOCATION -- START OF PROGRAM.
1)	C00045 00011		INTERNAL LPINI
1)	C00052 00012
1)	C00057 00013	NOLOCL:
1)	C00061 00014	ALLOCATE INITIAL ITEM TYPES AND PNAMES
1)	C00062 00015	DSCR MAIN DISPATCHER FOR LEAP
1)	C00065 00016	DISPATCH TABLE FOR THE LEAP INTERPRETER.
1)	C00071 00017	DSCR  ASSOCIATIVE SEARCH ROUTINES
1)	C00073 00018	THE SEARCH ROUTINES.....
1)	C00076 00019	 A XOR O EQV X
1)	C00081 00020	 A XOR X EQV V
1)	C00085 00021	 X XOR O EQV V
1)	C00089 00022	 X XOR Y EQV V
1)	C00093 00023	 A XOR X EQV Y
1)	C00099 00024	URHASH <
1)	C00106 00025
1)	C00112 00026	 X  IN  S
1)	C00114 00027	DSCR FORSET AND NOFOR -- MAKE A SEARCH CONTROL BLOCK
1)	C00121 00028	DSCR  FOREACH STATEMENT INTERPRETER
1)	C00128 00029	JRST TO DOAG, FRFAL
1)	C00137 00030	DSCR FRPOP, CORPOP
1)	C00139 00031	DSCR ? LOCAL STACK ROUTINES,STK4LC,STK4VL
1)	C00142 00032	DSCR BNDTRP- BINDING FORM OF BOOLEAN A XOR O EQV V
1)	C00146 00033	DSCR ISIT,BRITM
1)	C00148 00034	DSCR DERIVED SETS -- NOT IN FOREACH SPECIFICATIONS.
1)	C00150 00035	DSCR MAKE AND ERASE
1)	C00161 00036	URLEAP	<
1)	C00166 00037	URLEAP	<
1)	C00172 00038	NOURLEAP	<
1)	C00175 00039		SKIPA
1)	C00178 00040	 LEAP BREAKPOINTS EXIST.  
1)	C00182 00041	DSCR ISTRIPLE, SELECTOR
1)	C00184 00042		JRST	ERR1		NO, ERROR	
1)	C00185 00043	DSCR DELETE
1)	C00196 00044	DSCR ARRRCL			RECLAIM ARRAY OF SETS,LISTS
1)	C00198 00045	DSCR NEW (VARIOUS KINDS), AND ARRAY ITEM CODE.
  1) LEPRUN[S,AIL] and 2) LEPRUN.GLB[UOR,AIL]	12-08-76 22:42	pages 1,1

1)	C00203 00046	NEWART:		PUSHJ HERE FOR NEW WITH ARITHMETIC TYPE
1)	C00207 00047	NEWARY:				JRST HERE
1)	C00214 00048	DSCR SET AND ITEM STORING OPERATIONS.
1)	C00221 00049	DSCR PUTIN REMOV
1)	C00227 00050	DSCR  SIP ,LSTMAK
1)	C00231 00051	DSCR STIN, LSTIN
1)	C00234 00052	DSCR COUNT,UNIT,STLOP
1)	C00236 00053	DSCR SETEST
1)	C00239 00054	DSCR UNION, INTERSECTION, SUBTRACTION
1)	C00246 00055	DSCR PUTAFTER,PUTBEFORE
1)	C00252 00056	DSCR SET RECLAMATION ROUTINES.
1)	C00254 00057	 TRANSFER FUNCTION SET← LIST
1)	C00257 00058	DSCR RPLAC
1)	C00259 00059	DSCR	TYPEX-to determine the type of an item
1)	C00262 00060	DSCR TYPEIT -same as TYPEX except does not return datum address in left
1)	C00266 00061	DSCR PUTXA,PUTXB
1)	C00268 00062	DSCR INTNAM,CVSI,CVIS,DEL.PNAME,NEW.PNAME 
1)	C00275 00063
1)	C00281 00064	DSCR MATCHING PROCEDURE ROUTINES, CALMP,RESMP,SUCFA1
1)	C00286 00065	NOGLOB <
1)	C00287 ENDMK
1)	C⊗;
1)	COMMENT ⊗   VALID 00054 PAGES VERSION 17-1(27)
1)	RECORD PAGE   DESCRIPTION
1)	 00001 00001
1)	 00011 00002	HISTORY
1)	 00020 00003	Leaping runtime routines.  Sept. 1972.
1)	 00027 00004	DSCR FOREACH INTERPRETATION EXAMPLE
1)	 00029 00005	VARIOUS DEFINITIONS OF BITS IN THE CONTROL WORD:
1)	 00031 00006	DSCR USEFUL MACROS
1)	 00033 00007	DSCR INTERLOCKS FOR LEAP GLOBAL MODEL
1)	 00039 00008	DSCR LEAP ALLOCATION -- START OF PROGRAM.
1)	 00043 00009		INTERNAL LPINI
1)	 00048 00010	
1)	 00052 00011	NOLOCL:
1)	 00056 00012	ALLOCATE INITIAL ITEM TYPES AND PNAMES
1)	 00057 00013	DSCR MAIN DISPATCHER FOR LEAP
1)	 00060 00014	DISPATCH TABLE FOR THE LEAP INTERPRETER.
1)	 00066 00015	DSCR  ASSOCIATIVE SEARCH ROUTINES
1)	 00068 00016	THE SEARCH ROUTINES.....
1)	 00073 00017	 X XOR O EQV V
1)	 00081 00018	 X  IN  S
1)	 00083 00019	DSCR FORSET AND NOFOR -- MAKE A SEARCH CONTROL BLOCK
1)	 00089 00020	DSCR  FOREACH STATEMENT INTERPRETER
1)	 00103 00021	DSCR FRPOP, CORPOP
1)	 00105 00022	DSCR ? LOCAL STACK ROUTINES,STK4LC,STK4VL
1)	 00107 00023	DSCR BNDTRP- BINDING FORM OF BOOLEAN A XOR O EQV V
1)	 00111 00024	DSCR ISIT,BRITM
  1) LEPRUN[S,AIL] and 2) LEPRUN.GLB[UOR,AIL]	12-08-76 22:42	pages 1,1

1)	 00113 00025	DSCR DERIVED SETS -- NOT IN FOREACH SPECIFICATIONS.
1)	 00115 00026	DSCR MAKE AND ERASE
1)	 00122 00027	JRST TO BMAKE
1)	 00124 00028	PUSHJ, TO ERASE
1)	 00126 00029		SKIPA
1)	 00129 00030	 LEAP BREAKPOINTS EXIST.  
1)	 00132 00031	DSCR ISTRIPLE, SELECTOR
1)	 00134 00032	DSCR DELETE
1)	 00144 00033	DSCR ARRRCL			RECLAIM ARRAY OF SETS,LISTS
1)	 00146 00034	DSCR NEW (VARIOUS KINDS), AND ARRAY ITEM CODE.
1)	 00150 00035	NEWART:		PUSHJ HERE FOR NEW WITH ARITHMETIC TYPE
1)	 00155 00036	NEWARY:				JRST HERE
1)	 00163 00037	DSCR SET AND ITEM STORING OPERATIONS.
1)	 00170 00038	DSCR PUTIN REMOV
1)	 00176 00039	DSCR  SIP ,LSTMAK
1)	 00180 00040	DSCR STIN, LSTIN
1)	 00183 00041	DSCR COUNT,UNIT,STLOP
1)	 00185 00042	DSCR SETEST
1)	 00188 00043	DSCR UNION, INTERSECTION, SUBTRACTION
1)	 00195 00044	DSCR PUTAFTER,PUTBEFORE
1)	 00201 00045	DSCR SET RECLAMATION ROUTINES.
1)	 00203 00046	 TRANSFER FUNCTION SET← LIST
1)	 00206 00047	DSCR RPLAC
1)	 00208 00048	DSCR	TYPEX-to determine the type of an item
1)	 00211 00049	DSCR TYPEIT -same as TYPEX except does not return datum address in left
1)	 00215 00050	DSCR PUTXA,PUTXB
1)	 00217 00051	DSCR INTNAM,CVSI,CVIS,DEL.PNAME,NEW.PNAME 
1)	 00224 00052	
1)	 00230 00053	DSCR MATCHING PROCEDURE ROUTINES, CALMP,RESMP,SUCFA1
1)	 00235 00054	NOGLOB <
1)	 00236 ENDMK
1)	⊗;
1)	COMMENT ⊗HISTORY
**** File 2) LEPRUN.GLB[UOR,AIL], Page 1 line 1
2)	COMMENT ⊗   VALID 00063 PAGES
2)	C REC  PAGE   DESCRIPTION
2)	C00001 00001
2)	C00006 00002	HISTORY
2)	C00015 00003	Leaping runtime routines.  Sept. 1972.
2)	C00023 00004	DSCR FOREACH INTERPRETATION EXAMPLE
2)	C00025 00005	VARIOUS DEFINITIONS OF BITS IN THE CONTROL WORD:
2)	C00027 00006	DSCR USEFUL MACROS
2)	C00030 00007	DSCR INTERLOCKS FOR LEAP GLOBAL MODEL
2)	C00036 00008	DSCR LEAP ALLOCATION -- START OF PROGRAM.
2)	C00040 00009		INTERNAL LPINI
2)	C00047 00010
2)	C00052 00011	NOLOCL:
2)	C00057 00012	ALLOCATE INITIAL ITEM TYPES AND PNAMES
  1) LEPRUN[S,AIL] and 2) LEPRUN.GLB[UOR,AIL]	12-08-76 22:42	pages 1,1

2)	C00058 00013	DSCR MAIN DISPATCHER FOR LEAP
2)	C00061 00014	DISPATCH TABLE FOR THE LEAP INTERPRETER.
2)	C00067 00015	DSCR  ASSOCIATIVE SEARCH ROUTINES
2)	C00069 00016	THE SEARCH ROUTINES.....
2)	C00072 00017	 A XOR O EQV X
2)	C00077 00018	 A XOR X EQV V
2)	C00081 00019	 X XOR O EQV V
2)	C00085 00020	 X XOR Y EQV V
2)	C00089 00021	 A XOR X EQV Y
2)	C00095 00022	URHASH <
2)	C00102 00023
2)	C00108 00024	 X  IN  S
2)	C00110 00025	DSCR FORSET AND NOFOR -- MAKE A SEARCH CONTROL BLOCK
2)	C00117 00026	DSCR  FOREACH STATEMENT INTERPRETER
2)	C00124 00027	JRST TO DOAG, FRFAL
2)	C00133 00028	DSCR FRPOP, CORPOP
2)	C00135 00029	DSCR ? LOCAL STACK ROUTINES,STK4LC,STK4VL
2)	C00138 00030	DSCR BNDTRP- BINDING FORM OF BOOLEAN A XOR O EQV V
2)	C00142 00031	DSCR ISIT,BRITM
2)	C00144 00032	DSCR DERIVED SETS -- NOT IN FOREACH SPECIFICATIONS.
2)	C00146 00033	DSCR MAKE AND ERASE
2)	C00157 00034	URLEAP	<
2)	C00162 00035	URLEAP	<
2)	C00168 00036	NOURLEAP	<
2)	C00171 00037		SKIPA
2)	C00174 00038	 LEAP BREAKPOINTS EXIST.  
2)	C00178 00039	DSCR ISTRIPLE, SELECTOR
2)	C00180 00040		JRST	ERR1		NO, ERROR	
2)	C00181 00041	DSCR DELETE
2)	C00192 00042	DSCR ARRRCL			RECLAIM ARRAY OF SETS,LISTS
2)	C00194 00043	DSCR NEW (VARIOUS KINDS), AND ARRAY ITEM CODE.
2)	C00199 00044	NEWART:		PUSHJ HERE FOR NEW WITH ARITHMETIC TYPE
2)	C00203 00045	NEWARY:				JRST HERE
2)	C00210 00046	DSCR SET AND ITEM STORING OPERATIONS.
2)	C00217 00047	DSCR PUTIN REMOV
2)	C00223 00048	DSCR  SIP ,LSTMAK
2)	C00227 00049	DSCR STIN, LSTIN
2)	C00230 00050	DSCR COUNT,UNIT,STLOP
2)	C00232 00051	DSCR SETEST
2)	C00235 00052	DSCR UNION, INTERSECTION, SUBTRACTION
2)	C00242 00053	DSCR PUTAFTER,PUTBEFORE
2)	C00248 00054	DSCR SET RECLAMATION ROUTINES.
2)	C00250 00055	 TRANSFER FUNCTION SET← LIST
2)	C00253 00056	DSCR RPLAC
2)	C00255 00057	DSCR	TYPEX-to determine the type of an item
2)	C00258 00058	DSCR TYPEIT -same as TYPEX except does not return datum address in left
2)	C00262 00059	DSCR PUTXA,PUTXB
2)	C00264 00060	DSCR INTNAM,CVSI,CVIS,DEL.PNAME,NEW.PNAME 
  1) LEPRUN[S,AIL] and 2) LEPRUN.GLB[UOR,AIL]	12-08-76 22:42	pages 1,1

2)	C00271 00061
2)	C00277 00062	DSCR MATCHING PROCEDURE ROUTINES, CALMP,RESMP,SUCFA1
2)	C00282 00063	NOGLOB <
2)	C00283 ENDMK
2)	C⊗;
2)	COMMENT ⊗HISTORY
***************


**** File 1) LEPRUN[S,AIL], Page 13 line 42
1)		MOVEI	C,TOPITM
1)		MOVEI	D,0
1)		PUSH	P,SPDON		;DUMMY RETURN ADDRESS.
1)	>;GLOB
**** File 2) LEPRUN.GLB[UOR,AIL], Page 11 line 42
2)	URLEAP	<
2)	;SINCE THE TOP GLOBAL ITEM IS 777777 (HALFWORD -1), WE WILL ALLOCATE
2)	; THE DATUM TABLE AND THE INFOTAB IN THE FOLLOWING WAY:
2)	;
2)	;			MAXIMUM LOCAL ITEM
2)	;			.
2)	;			.		(LOCAL ITEMS)
2)	;			.
2)	;	TABLE POINTER:	ITEM 0		(I.E. ANY)
2)	;			ITEM 777777	(I.E. TOPITM)
2)	;			.
2)	;			.		(GLOBAL ITEMS)
2)	;			.
2)	;			ITEM GBRK	(600000 FOR NOW)
2)	;
2)		MOVE	C,ITMTOP(USER)	;HOW MANY LOCAL ITEMS WE'RE GOING TO HAVE
2)		MOVEI	C,-GBRK(C)	;ADD THE NUMBER OF GLOBAL ITEMS
2)		MOVEI	D,GBRK		;OFFSET FROM BOTTOM OF TABLES TO ITEM 0
2)		PUSH	P,[SPDON]	;DUMMY RETURN ADDRESS
2)	>;URLEAP
2)	NOURLEAP	<
2)		MOVEI	C,TOPITM
2)		MOVEI	D,0
2)		PUSH	P,[SPDON]		;DUMMY RETURN ADDRESS.
2)	>;NOURLEAP
2)	>;GLOB
***************


**** File 1) LEPRUN[S,AIL], Page 13 line 71
1)	SPDON:	POPJ	P,.+1
1)	;GET ONE AND TWO WORD FREES
**** File 2) LEPRUN.GLB[UOR,AIL], Page 11 line 93
  1) LEPRUN[S,AIL] and 2) LEPRUN.GLB[UOR,AIL]	12-08-76 22:42	pages 13,11

2)		POPJ	P,
2)	SPDON:				;USUALLY POPJ ABOVE CONTINUES HERE
2)	;GET ONE AND TWO WORD FREES
***************


**** File 1) LEPRUN[S,AIL], Page 36 line 32
1)		MOVE	PNT,(P)		;PNT GETS NEW ITEM NUMBER
1)		EXCH	PNT,-1(P)	;PNT GETS ASSOCIATION ADDRESS
1)					;-1(P) GETS ITEM NUMBER
1)		POP	P,B 		;B GETS ITEM NUMBER, ITEM NUMBER AT TOP OF STACK
1)		MOVE	FP,FP2(TABL)	;GET A TWO-WORD FREE FOR A NEW B.T. BLOCK
**** File 2) LEPRUN.GLB[UOR,AIL], Page 34 line 32
2)		MOVE	PNT,(P)		;PNT <- NEW ITEM NUMBER
2)		EXCH	PNT,-1(P)	;PNT <- ASSOCIATION ADDRESS
2)					;-1(P) <- ITEM NUMBER
2)		POP	P,B 		;B <- ITEM NUMBER, ITEM NUMBER AT TOP OF STACK
2)		MOVE	FP,FP2(TABL)	;GET A TWO-WORD FREE FOR A NEW B.T. BLOCK
***************