perm filename ARRAY.MS[MEW,AIL] blob sn#091959 filedate 1974-03-19 generic text, type T, neo UTF8

	1) ARRAY vs. 2) ARRAY[S,AIL]	SRCCOM	03-19-74	03:35	PAGES 1,1

******** ARRAY **** PAGE 1
1)	COMMENT ⊗   VALID 00016 PAGES VERSION 17-1(11)
1)	RECORD PAGE   DESCRIPTION
*** ARRAY[S,AIL] *** PAGE 1
2)	COMMENT ⊗   VALID 00016 PAGES VERSION 17-1(10)
2)	RECORD PAGE   DESCRIPTION


******** ARRAY **** PAGE 1
1)	 00038 00009	
1)	 00043 00010	ADCND:
1)	 00047 00011	DSCR LDYBEG, LDYREP, LDYNO
1)	 00052 00012	DSCR ARYIDX, ARRSBY, ARRSB1
1)	 00054 00013	 FIRST PART SETS UP ARRBIT TO INDICATE EXACT CONDITIONS
1)	 00060 00014	 CHECK UPPER BOUNDS
1)	 00065 00015	DSCR SUBSCR
1)	 00071 00016	DSCR DOSFTY
1)	 00072 ENDMK
1)	⊗;
*** ARRAY[S,AIL] *** PAGE 1
2)	 00037 00009	
2)	 00042 00010	ADCND:
2)	 00046 00011	DSCR LDYBEG, LDYREP, LDYNO
2)	 00051 00012	DSCR ARYIDX, ARRSBY, ARRSB1
2)	 00053 00013	 FIRST PART SETS UP ARRBIT TO INDICATE EXACT CONDITIONS
2)	 00059 00014	 CHECK UPPER BOUNDS
2)	 00064 00015	DSCR SUBSCR
2)	 00070 00016	DSCR DOSFTY
2)	 00071 ENDMK
2)	⊗;


******** ARRAY **** PAGE 2
1)	021  102100000013  ⊗;
1)	COMMENT ⊗
1)	VERSION 17-1(11) 3-17-74 BY RLS INSTALL TENEX
1)	VERSION 17-0(10) 2-24-74 BY JRL BUG #RK#
1)	VERSION 17-1(9) 2-13-74 BY JRL BUG #RE# STRING ITEMVAR ARRAY NOT A STRING
*** ARRAY[S,AIL] *** PAGE 2
2)	021  102100000012  ⊗;
2)	COMMENT ⊗
2)	VERSION 17-1(10) 2-24-74 BY JRL BUG #RK#
2)	VERSION 17-1(9) 2-13-74 BY JRL BUG #RE# STRING ITEMVAR ARRAY NOT A STRING


******** ARRAY **** PAGE 4
1)	?LDYFLG: 0		;ON DURING ARRAY ALLOC IF PRELOADED OR PRESET
1)	;;#MG# RHT 1 OF 3 	

	1) ARRAY vs. 2) ARRAY[S,AIL]	SRCCOM	03-19-74	03:35	PAGES 4,4

*** ARRAY[S,AIL] *** PAGE 4
2)	?LDYFLG: 0		;ON DURING ARRAY ALLOC IF PRELOADED ARRAY
2)	;;#MG# RHT 1 OF 3 	


******** ARRAY **** PAGE 4
1)	?LDCNST: 0		;ON DURING ARRAY ALLOC IF PRESET
1)	;LDYSTK -- QSTACK dscrptr. -- each word is [XWD rept,Semantics of const]
*** ARRAY[S,AIL] *** PAGE 4
2)	;LDYSTK -- QSTACK dscrptr. -- each word is [XWD rept,Semantics of const]


******** ARRAY **** PAGE 8
1)		SKIPN	HISW			;REENTRANT COMPILATION AND
1)		  JRST	DLOSET
1)		SKIPGE	LDYFLG			;PRELOADED AND
1)		SKIPN	LDCNST			;PRESET ARRAY?
1)		  JRST	DLOSET			;NO
1)		PUSHJ	P,HISET
1)		SKIPA				;OVER NEXT INST
1)	DLOSET:	PUSHJ	P,LOSET			;SWITCH TO DATA PC
1)	>;REN
*** ARRAY[S,AIL] *** PAGE 8
2)		PUSHJ	P,LOSET			;SWITCH TO DATA PC
2)	>;REN


******** ARRAY **** PAGE 8
1)		SKIPN	HISW			;JUMPING AROUND ARRAYS NOT
1)		 JRST	 NEDJMP			; NECESSARY IN RE-ENTRANT PROGRAM
1)		SKIPGE	LDYFLG			;UNLESS PRELOADING AND
1)		SKIPN	LDCNST			; PRESETTING
1)		 JRST	NOJ			; 
1)	NEDJMP:
1)	>;REN
*** ARRAY[S,AIL] *** PAGE 8
2)		SKIPE	HISW			;JUMPING AROUND ARRAYS NOT
2)		 JRST	 NOJ			; NECESSARY IN RE-ENTRANT PROGRAM
2)	>;REN


******** ARRAY **** PAGE 9
1)		SKIPN	HISW			;MUST JUMP IF NOT REENTRANT PROGRAM
1)		  JRST ALNDJP
1)		SKIPGE	LDYFLG			;OR IF PRELOADING
1)		SKIPN	LDCNST			;AND PRESETTING
1)		  CAIA
1)	>;REN

	1) ARRAY vs. 2) ARRAY[S,AIL]	SRCCOM	03-19-74	03:35	PAGES 9,9

1)	ALNDJP:
1)		PUSHJ	P,FBOSWP		;JRST FIXUP
*** ARRAY[S,AIL] *** PAGE 9
2)		SKIPN	HISW			;DON'T DO JUMP IF RE-ENTRANT PROG
2)	>;REN
2)		PUSHJ	P,FBOSWP		;JRST FIXUP


******** ARRAY **** PAGE 9
1)	FXBLK:	
1)	;; #RK# (4 OF 5) ITEMVAR NOT A STRING
1)		TRNN	TBITS,ITEM!ITMVAR
1)		TRNN	TBITS,STRING		;NAME LOC IF BILTIN
1)		JRST	.+2
1)	;; #RK#
1)		AOS	 OWNWD			;1 PAST IF STRING
1)		POP	P,B			;HDR ADDR, ONE MORE TIME
*** ARRAY[S,AIL] *** PAGE 9
2)	FXBLK:
2)	;; #RK# (4 OF 5) ITEMVAR NOT A STRING
2)		TRNN	TBITS,ITEM!ITMVAR
2)	 	TRNN	TBITS,STRING		;NAME ARRAY LOC IF BILTIN
2)		JRST	.+2
2)	;; #RK#
2)		 AOS	 OWNWD			;1 PAST IF STRING
2)		POP	P,B			;HDR ADDR, ONE MORE TIME


******** ARRAY **** PAGE 10
1)		SKIPN	HISW			;IF REENTRANT
1)		  JRST	NWORRY
1)		SKIPGE	LDYFLG			;AND PRELOADING AND
1)		SKIPE	LDCNST			;PRESETTING
1)		  JRST	NWORRY			;THEN WORRY
1)		ADDI	B,(D)			;VIRTUAL ORIGIN
1)		TRNN	B,400000		;OR NOT NEGATIVE
1)		  JRST	NWORRY			;WON'T CAUSE FIXUP PROBLEM
1)		SKIPE	OWNWD			;DON'T WORRY IF NOT AN OWN ARRAY
*** ARRAY[S,AIL] *** PAGE 10
2)		ADDI	B,(D)			;VIRTUAL ORIGIN
2)		SKIPE	HISW			;IF NOT REENTRANT
2)		TRNN	B,400000		;OR NOT NEGATIVE
2)		JRST	NWORRY			;WON'T CAUSE FIXUP PROBLEM
2)		SKIPE	OWNWD			;DON'T WORRY IF NOT AN OWN ARRAY


******** ARRAY **** PAGE 10
1)		SETZM	LDCNST			;ALSO ZERO OUT LDCNST FLAG

	1) ARRAY vs. 2) ARRAY[S,AIL]	SRCCOM	03-19-74	03:35	PAGES 10,10

1)	;;#MI#
*** ARRAY[S,AIL] *** PAGE 10
2)	;;#MI#


******** ARRAY **** PAGE 11
1)	↑LDYSET: SETOM	LDCNST			;INDICATE PRESETTING
1)		SKIPA				;OVER NEXT INSTRUCTION
1)	↑LDYBEG:SETZM	LDCNST
1)		MOVEI	A,0
1)		QPUSH	(LDYSTK)		;PUSH IT ON.
*** ARRAY[S,AIL] *** PAGE 11
2)	↑LDYBEG: MOVEI	A,0
2)		QPUSH	(LDYSTK)		;PUSH IT ON.


******** ARRAY **** PAGE 13
1)		TRNN	TBITS,STRING		;IF STRING ARRAY, ADJUST
1)		JRST	.+2
*** ARRAY[S,AIL] *** PAGE 13
2)		TRNN	TBITS,STRING		;IF STRING ARRAY, ADJUST 
2)		JRST	.+2


******** ARRAY **** PAGE 15
1)	;; #RE# (1 OF 2) A STRING ITEMVAR ARRAY OR STRING ARRAY ITEMVAR ARRAY IS NOT A STRING
1)		TRNE	SP,ITMVAR
*** ARRAY[S,AIL] *** PAGE 15
2)	;; #RE# (1 OF 2) A STRING ITEMVAR ARRAY OR STRING ARRAY ITEMVAR ARRAY IS NOT A STRING 
2)		TRNE	SP,ITMVAR