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

******** SAIL **** PAGE 1
1)	COMMENT ⊗   VALID 00046 PAGES VERSION 17-1(39)
1)	RECORD PAGE   DESCRIPTION
1)	 00001 00001
1)	 00011 00002	HISTORY
1)	 00019 00003	COMMENT 
1)	 00020 00004	COMMENT Command File Descriptions
1)	 00022 00005	COMMENT Titles, Switch Settings
1)	 00024 00006	COMMENT HISTORY OF STUFF THAT USED TO BE IN HEAD
1)	 00028 00007	DSCR EXCHOP
1)	 00029 00008	DSCR LODBLK (TYPE,TYP1,NAME,NAME1,COUNT,COUNT1,RELOC)
1)	 00032 00009	  MACROS FOR MANIPULATING SEMBLKS (SEE SAIL DATA DESCRIPTIONS)
1)	 00034 00010	  MACROS FOR MANIPULATING SEMANTICS, CALLING GENERATOR ROUTINES,
1)	 00038 00011	 Q-STACK HANDLERS
1)	 00042 00012	SUBTTL	Sail ACs, File Indices
1)	 00044 00013	SUBTTL Sail Bits
1)	 00052 00014	SUBTTL	Externals, Data Allocation
1)	 00054 00015	ZERODATA (MAIN-SEMANTICS POINTERS)
1)	 00063 00016	II.  SEMANTICS VARIABLES
1)	 00074 00017	ZERODATA(DISPLAY REGISTER HANDLING VARIABLES)
1)	 00076 00018	ZERODATA (MAIN-SCANNER VARIABLES)
1)	 00080 00019	ZERODATA (MAIN-PARSER VARIABLES)
1)	 00090 00020	ZERODATA (MAIN-SOURCE AND LISTING FILE VARIABLES)
1)	 00094 00021	DATA (SWITCHED VARIABLES)
1)	 00103 00022	ZERODATA (GLOBAL STATE VARIABLES)
1)	 00106 00023	ZERODATA (COUNTER SYSTEM VARIABLES)
1)	 00108 00024	DATA (RANDOM GLOBAL THINGS)
1)	 00110 00025	 SLS VARIABLES
1)	 00111 00026	DATA (INITIAL PROC DESC SEMBLKS)
1)	 00112 00027	SUBTTL	Executive and Initialization
1)	 00114 00028	COMMENT Start, Ddtkil -- Once-only code to zap RAID, symbols
1)	 00118 00029	 Larger, Sail --  Execution Starts Here
1)	 00122 00030
1)	 00125 00031	COMMENT  Morfiles -- Execution Returns Here Each New Command Line
1)	 00132 00032
1)	 00136 00033	COMMENT  Salnit -- Storage Initialization, Etc.
1)	 00145 00034
1)	 00146 00035	SUBTTL	Comnd, aux. routs -- Command Scanner
1)	 00151 00036	COMMENT  Opnup -- Open Files
1)	 00153 00037	COMMENT  Comnd Itself
1)	 00162 00038	COMMENT  Unswt -- End of Switched-to-File
1)	 00164 00039	COMMENT  Filnam
1)	 00171 00040	COMMENT  Delim -- Handle Switches
1)	 00174 00041
1)	 00177 00042
1)	 00180 00043
1)	 00182 00044	COMMENT  Word
1)	 00185 00045	 Tyi

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 1,1

1)	 00189 00046
1)	 00190 ENDMK
1)	⊗;
*** SAIL[S,AIL] *** PAGE 1
2)	COMMENT ⊗   VALID 00045 PAGES VERSION 17-1(37)
2)	RECORD PAGE   DESCRIPTION
2)	 00001 00001
2)	 00009 00002	HISTORY
2)	 00016 00003	
2)	 00017 00004	Command File Descriptions
2)	 00019 00005	Titles, Switch Settings
2)	 00022 00006	HISTORY OF STUFF THAT USED TO BE IN HEAD
2)	 00026 00007	DSCR EXCHOP
2)	 00027 00008	DSCR LODBLK (TYPE,TYP1,NAME,NAME1,COUNT,COUNT1,RELOC)
2)	 00030 00009	  MACROS FOR MANIPULATING SEMBLKS (SEE SAIL DATA DESCRIPTIONS)
2)	 00032 00010	  MACROS FOR MANIPULATING SEMANTICS, CALLING GENERATOR ROUTINES,
2)	 00036 00011	 Q-STACK HANDLERS
2)	 00040 00012	Sail ACs, File Indices
2)	 00042 00013	Sail Bits
2)	 00049 00014	Externals, Data Allocation
2)	 00051 00015	ZERODATA (MAIN-SEMANTICS POINTERS)
2)	 00060 00016	II.  SEMANTICS VARIABLES
2)	 00071 00017	ZERODATA(DISPLAY REGISTER HANDLING VARIABLES)
2)	 00073 00018	ZERODATA (MAIN-SCANNER VARIABLES)
2)	 00077 00019	ZERODATA (MAIN-PARSER VARIABLES)
2)	 00087 00020	ZERODATA (MAIN-SOURCE AND LISTING FILE VARIABLES)
2)	 00091 00021	DATA (SWITCHED VARIABLES)
2)	 00099 00022	ZERODATA (GLOBAL STATE VARIABLES)
2)	 00102 00023	ZERODATA (COUNTER SYSTEM VARIABLES)
2)	 00104 00024	DATA (RANDOM GLOBAL THINGS)
2)	 00106 00025	 SLS VARIABLES
2)	 00107 00026	DATA (INITIAL PROC DESC SEMBLKS)
2)	 00108 00027	Executive and Initialization
2)	 00110 00028	Start, Ddtkil -- Once-only code to zap RAID, symbols
2)	 00113 00029	 Larger, Sail --  Execution Starts Here
2)	 00115 00030	
2)	 00118 00031	 Morfiles -- Execution Returns Here Each New Command Line
2)	 00126 00032	
2)	 00127 00033	 Salnit -- Storage Initialization, Etc.
2)	 00135 00034	
2)	 00136 00035	Comnd, aux. routs -- Command Scanner
2)	 00140 00036	 Opnup -- Open Files
2)	 00142 00037	 Comnd Itself
2)	 00151 00038	 Unswt -- End of Switched-to-File
2)	 00153 00039	 Filnam
2)	 00160 00040	 Delim -- Handle Switches
2)	 00163 00041	
2)	 00166 00042	

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 1,1

2)	 00169 00043	
2)	 00170 00044	 Word
2)	 00173 00045	 Tyi
2)	 00177 ENDMK
2)	⊗;


******** SAIL **** PAGE 2
1)	031  102100000047  ⊗;
1)	DEFINE .VERSION <102100000047>
1)	COMMENT ⊗
1)	VERSION 17-1(39) 3-17-74 BY RLS EDIT
1)	VERSION 17-1(38) 3-17-74 BY RLS TENEX FEATURES
1)	VERSION 17-1(37) 1-11-74 BY RHT TURN OFF BAISW (DAMMIT!!!)
*** SAIL[S,AIL] *** PAGE 2
2)	031  102100000045  ⊗;
2)	DEFINE .VERSION <102100000045>
2)	COMMENT ⊗
2)	VERSION 17-1(37) 1-11-74 BY RHT TURN OFF BAISW (DAMMIT!!!)


******** SAIL **** PAGE 13
1)	NOTENX <
1)	;INTERRUPT BITS
1)	?INTPOV←←200000	;RH BIT -- PDL OV -  OBSOLETE BIT NOW
1)	?IPOVIX←←=19	;POV INDEX
1)	NOEXPO <
1)	?INTTTI←←4	;LH BIT -- USER TYPED <ESC> I -- OBSOLETE BIT NOW
1)	?ITTYIX←←=15	;INDEX OF <ESC>I INTERRUPT
1)	>;NOEXPO
1)	>;NOTENX
1)	TENX <
1)	;INTERRUPT BITS
1)	?IPOVIX←←=9	;CHANNEL FOR PDL OV INTERRUPT
1)	?ITTYIX←←5	;CHANNEL FOR TENEX CONTROL-H INTERRUPT
1)	>;TENX
1)	;VARIOUS RUN-TIME DECLARATIONS.  THESE PERTAIN TO THE
*** SAIL[S,AIL] *** PAGE 13
2)	;INTERRUPT BITS
2)	?INTPOV←←200000	;RH BIT -- PDL OV
2)	?IPOVIX←←=19	;POV INDEX
2)	NOEXPO <
2)	?INTTTI←←4	;LH BIT -- USER TYPED <ESC> I
2)	?ITTYIX←←=15	;INDEX OF <ESC>I INTERRUPT
2)	>;NOEXPO
2)	;VARIOUS RUN-TIME DECLARATIONS.  THESE PERTAIN TO THE



	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 13,13

******** SAIL **** PAGE 14
1)	TENX <
1)		?ZSIZE←←ZSIZE+=1000	;MOSTLY FOR NAMES, A BLOCK OF 1000
1)				;IN THE FILE CC FOR FILENAME-BUFFERING
1)	>;TENX
1)	RENC <
1)	;EXTRA SPACE IN IMPURE CODE, MOSTLY FOR RESERVED WORD TABLE
1)		?ZSIZE←←ZSIZE+=100
1)		?DSIZE←←DSIZE+=6100
1)		TWOSEG 400000
1)	>;RENC
1)	?ZBASE:	BLOCK	ZSIZE		;ZEROED DATA (AT BEGINNING OF RUN)
*** SAIL[S,AIL] *** PAGE 14
2)	?ZBASE:	BLOCK	ZSIZE		;ZEROED DATA (AT BEGINNING OF RUN)


******** SAIL **** PAGE 14
1)	RENC <
1)		SET LSEG,DBASE+DSIZE
1)		RELOC 400000		;UP TO PROGRAM SEGMENT
1)	>;RENC
1)	ZERODATA (MAIN-SEMANTICS POINTERS)
*** SAIL[S,AIL] *** PAGE 15
2)	ZERODATA (MAIN-SEMANTICS POINTERS)


******** SAIL **** PAGE 19
1)	IMSSS<PSSKSZ←←=128>
1)	NOIMSSS<PSSKSZ←←=64>
1)	DEFSIZ:	XWD	STDSPC!SYSPD,=64	;P-STACK
*** SAIL[S,AIL] *** PAGE 19
2)	DEFSIZ:	XWD	STDSPC!SYSPD,=64	;P-STACK


******** SAIL **** PAGE 19
1)		XWD	WNTPDL,PSSKSZ		;PARSE STACK
1)		XWD	[ASCIZ/SYNTAX STACK/],PPSAV 
1)		XWD	WNTPDL,PSSKSZ		;SEMANTICS STACK
1)		XWD	[ASCIZ/SEMANTICS STACK/],GPSAV
1)		XWD	WNTPDL,PSSKSZ		;PRODUCTION CONTROL STACK
1)		XWD	0,PCSAV
*** SAIL[S,AIL] *** PAGE 19
2)		XWD	WNTPDL,=64		;PARSE STACK
2)		XWD	[ASCIZ/SYNTAX STACK/],PPSAV 
2)		XWD	WNTPDL,=64		;SEMANTICS STACK
2)		XWD	[ASCIZ/SEMANTICS STACK/],GPSAV
2)		XWD	WNTPDL,=64		;PRODUCTION CONTROL STACK
2)		XWD	0,PCSAV

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 19,19



******** SAIL **** PAGE 20
1)	NOTENX <
1)	COMMENT ⊗ The address of the Stanford UINBF UUO points to a two-word block--
*** SAIL[S,AIL] *** PAGE 20
2)	COMMENT ⊗ The address of the Stanford UINBF UUO points to a two-word block--


******** SAIL **** PAGE 20
1)	>;NOTENX
1)	DATA (SWITCHED VARIABLES)
*** SAIL[S,AIL] *** PAGE 20
2)	DATA (SWITCHED VARIABLES)


******** SAIL **** PAGE 21
1)	TENX<
1)	?BGNSWA:
1)	>;TENX
1)	NOTENX <
1)	MAKCDB (SRC,SRC,0,=8,0)	
*** SAIL[S,AIL] *** PAGE 21
2)	MAKCDB (SRC,SRC,0,=8,0)	


******** SAIL **** PAGE 21
1)	>;NOTENX
1)	TENX <
1)	?SRCFLN:	BLOCK 11	;USED FOR THE FILE NAME, SET UP IN CC, USED IN CC, COMSER
1)	?SRCJFN:	0
1)	?SRCPNT:	0
1)	>;TENX
1)	;BUFADR -- CORGET pointer to IO buffers for this source file
*** SAIL[S,AIL] *** PAGE 21
2)	;BUFADR -- CORGET pointer to IO buffers for this source file


******** SAIL **** PAGE 21
1)	TENX<;BUFFER FOR LOADER-EDITOR COMMUNICATION
1)	ZERODATA (TMPCOR BUFFER)
1)	?TMPCBF:  BLOCK 40
1)	>;TENX
1)	ZERODATA (GLOBAL STATE VARIABLES)
*** SAIL[S,AIL] *** PAGE 21
2)	ZERODATA (GLOBAL STATE VARIABLES)



	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 21,21

******** SAIL **** PAGE 28
1)	NOTENX<
1)	;%##% MAKE THIS KLUGE STANDARD FOR DEC OR STANFORD
1)	IFE FTDEBUG,<
*** SAIL[S,AIL] *** PAGE 28
2)	;%##% MAKE THIS KLUGE STANDARD
2)	IFE FTDEBUG,<


******** SAIL **** PAGE 28
1)	>;NOTENX
1)	TENX<
1)	III←1
1)	↑↑START:
1)		JSYS	RESET
1)		HRROI	B,HERALD
1)		HRROI	A,[ASCIZ/ Tenex SAIL 7.1 /]
1)		SETZ	C,
1)		JSYS	SIN		;COPY STRING
1)		MOVE	A,B
1)		SETO	B,
1)		MOVSI	C,044441	;"3-2-45" FOR EXAMPLE
1)		JSYS	ODTIM		;COPY TIME
1)		MOVE	B,A		;UPDATED BP
1)		HRROI	A,[ASCIZ/  (? for help)/]
1)		SETZ	C,
1)		JSYS	SIN
1)		MOVEI	A,SAIL
1)		HRRM	A,JOBSA		;FIX UP STARTING ADDRESS
1)		HRROI	A,[ASCIZ/
1)	SSAVE pages 0 thru 577 as <SUBSYS>SAIL.SAV
1)	/]
1)		JSYS	PSOUT
1)		JSYS 	HALTF		;IF CONTINUES, THEN FALLS THROUGH
1)	>;TENX	
1)	COMMENT ⊗ Larger, Sail --  Execution Starts Here⊗
*** SAIL[S,AIL] *** PAGE 28
2)	COMMENT ⊗ Larger, Sail --  Execution Starts Here⊗


******** SAIL **** PAGE 29
1)	↑SAIL:
1)	NOTENX <
1)		SKIPA
1)		JRST	[SETOM DSKSW
*** SAIL[S,AIL] *** PAGE 29
2)	↑SAIL:	SKIPA
2)		JRST	[SETOM DSKSW

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 29,29



******** SAIL **** PAGE 29
1)		MOVE6	(CMDDEV,<TTY>)
1)		SETZM	DSKSW		;INPUT FROM TTY -- CLEAR FLAGS
1)		SETZM	RPGSW		;AND INDICATE SOURCE OF INPUT
1)	BEG1:	SETOM	CONFIG		;CONFIGURATION FOR COMPILER IS -1
*** SAIL[S,AIL] *** PAGE 29
2)		SETZM	DSKSW		;INPUT FROM TTY -- CLEAR FLAGS
2)		SETZM	RPGSW		;AND INDICATE SOURCE OF INPUT
2)		MOVE6	(CMDDEV,<TTY>)
2)	BEG1:	SETOM	CONFIG		;CONFIGURATION FOR COMPILER IS -1


******** SAIL **** PAGE 29
1)	>;NOTENX
1)	TENX <;START FOR TENEX -- THIS IS SAIL
1)		SKIPA			;STANDARD STARTING ADDRESS
1)		  JRST [SETOM	DSKSW	;CCL START
1)			SETOM RPGSW
1)			JRST BEG1]
1)		SETZM	DSKSW
1)		SETZM	RPGSW
1)	BEG1:	SETOM	CONFIG
1)		SETZM	A,.ERRP.	
1)		JSP	P,.SEG2.	;GET A SECOND SEGMENT
1)		SETNIT			;GET A UUO ADDR AND A TEMP PDL
1)		JSYS	RESET	
1)		SETOM	HISW		;DEFAULT /H COMPILATION FOR TENEX	
1)		SETZM	LSTSTRT		;ZERO LSTSTRT ON FIRST TIME AND NON-RPG RESTARTS	
1)	>;TENX
1)	NOTENX <
1)	;THIS IS DONE IN TENEX COMMAND SCANNER LATER
1)	; PRINT CRLF *  
*** SAIL[S,AIL] *** PAGE 30
2)	; PRINT CRLF *  


******** SAIL **** PAGE 30
1)	REN<
1)		SETZM	HISW		;ASSUME NO TWO-SEGMENT COMPILATION
1)	>;REN
1)		SETZM	WORD3		;WORDS 3 AND 4 OF ENTER TABLE
*** SAIL[S,AIL] *** PAGE 30
2)		SETZM	HISW		;ASSUME NO TWO-SEGMENT COMPILATION
2)		SETZM	WORD3		;WORDS 3 AND 4 OF ENTER TABLE



	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 30,30

******** SAIL **** PAGE 30
1)	>;NOTENX
1)	COMMENT ⊗ Morfiles -- Execution Returns Here Each New Command Line⊗
*** SAIL[S,AIL] *** PAGE 30
2)	COMMENT ⊗ Morfiles -- Execution Returns Here Each New Command Line⊗


******** SAIL **** PAGE 31
1)	TENX<	SETOM	HISW			;DEFAULT /H FOR TENEX
1)	>;TENX
1)		MOVEI	TEMP,MACLST+PCOUT+LINESO ;ASSUME THIS ABOUT LISTING
1)		MOVSM	TEMP,SCNWRD
1)	;RESET SRCCDB, AVLSRC IN CASE RESTART CLOBBERED IT IN SWITCH MODE
1)		SETZM	SWTLNK			;NO LINKS BACK
*** SAIL[S,AIL] *** PAGE 31
2)		MOVEI	TEMP,MACLST+PCOUT+LINESO ;ASSUME THIS ABOUT LISTING
2)		MOVSM	TEMP,SCNWRD
2)	;RESET SRCCDB IN CASE RESTART CLOBBERED IT IN SWITCH MODE
2)		MOVE	TEMP,[XWD 17774,0]	;CH5 AND ABOVE AVAILABLE
2)		MOVEM	TEMP,AVLSRC
2)		SETZM	SWTLNK			;NO LINKS BACK


******** SAIL **** PAGE 31
1)	NOTENX <
1)		MOVE	TEMP,[XWD 17774,0]	;CH5 AND ABOVE AVAILABLE
1)		MOVEM	TEMP,AVLSRC
1)		MOVEI	TEMP,SRC
*** SAIL[S,AIL] *** PAGE 31
2)		MOVEI	TEMP,SRC


******** SAIL **** PAGE 31
1)	>;NOTENX
1)		PUSHJ	P,COMND		;CALL COMMAND SCANNER
*** SAIL[S,AIL] *** PAGE 31
2)		PUSHJ	P,COMND		;CALL COMMAND SCANNER


******** SAIL **** PAGE 32
1)	NOTENX <
1)	RELAL:	RELEASE	LST,0
*** SAIL[S,AIL] *** PAGE 32
2)	RELAL:	RELEASE	LST,0


******** SAIL **** PAGE 32
1)	>;NOTENX

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 32,32

1)	TENX <
1)	EXTERNAL RUNPRG
1)		HRROI	A,[ASCIZ/
1)	End of compilation.
1)	/]
1)		JSYS	PSOUT
1)		TLNE	FF,BINARY	;DONT LOAD IF NO BINARY
1)		SKIPN	LODMOD		;LOAD IMMEDIATELY?
1)		  JRST	CLOZZZ		;NO
1)		MOVEI	A,400000	;THIS FORK
1)		SETO	B,
1)		JSYS	DIC
1)		JSYS	CIS
1)		MOVEI	A,10		;CONTROL-H INTERRUPT
1)		JSYS	DTI		;DEASSIGN TERMINAL CODE
1)		SETZM	TMPCBF
1)		MOVE	A,[XWD TMPCBF,TMPCBF+1]
1)		BLT	A,TMPCBF+37
1)		HRROI	B,TMPCBF
1)		SETZ	C,
1)		HRROI	A,[SLOLOD]
1)		JSYS	SIN		;COPY OVER THE SAILOW NAME
1)		HRROI	A,[ASCIZ/DSK:/]	;ASSUME NO DDT
1)		SKIPE	LODDDT		;WANT A DDT?	
1)		  HRROI	A,[ASCIZ@/TDSK:@]
1)		JSYS	SIN		;COPY OVER	
1)		MOVE	A,B		;DESTINATION DESIGNATOR
1)		HRRZ	B,BINJFN
1)		HRLZI	C,1000		;FILE NAME ONLY
1)		JSYS	JFNS		;COPY RELFILE NAME
1)		MOVEI	C,"."	
1)		IDPB	C,A		;MAKE "FILE.EXT"
1)		HRLZI	C,000100	;EXTENSION ONLY
1)		JSYS	JFNS
1)		MOVE	B,A		;DESTINATION DESIGNATOR
1)	IMSSS<
1)		SKIPN	LODSDT		;WANT SDDT?
1)		  JRST	NOSDT		;NOPE
1)		HRROI	A,[SDTLOD]
1)		SETZ	C,
1)		JSYS	SIN
1)	NOSDT:
1)	>;IMSSS
1)		MOVEI	C,175
1)		IDPB	C,B		;FINISH COMMAND
1)	IMSSS<
1)		SETO	A,
1)		MOVEI	B,TMPCBF

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 32,32

1)		JSYS	PTINF		;PASS INFO TO THE LOADER
1)		  JFCL			;ERROR RETURN
1)	>;IMSSS
1)	NOIMSSS<
1)		MOVE	A,[XWD 3,[XWD 'LOA',0
1)				  IOWD 40,TMPCBF]]
1)		CALLI	A,44		;TMPCOR
1)		  ERR <Cannot do TMPCOR uuo for chain to loader.>,1
1)	>;NOIMSSS
1)		SETO	A,
1)		JSYS	CLOSF		;CLOSE AND RELEASE ALL JFNS
1)		  JFCL
1)		PUSH	P,[1]		;CCL MODE
1)		PUSH	P,[0]		;THIS FORK
1)		EXCH	SP,STPSAV
1)		PUSH	SP,LODDER
1)		PUSH	SP,LODDER+1
1)		PUSHJ	P,RUNPRG
1)		EXCH	SP,STPSAV	;CANNOT GET HERE AT ALL
1)		 JRST	SAIL		;ERROR RETURN
1)	CLOZZZ:	SETO	A,
1)		JSYS	CLOSF
1)		  JFCL
1)		JRST	SAIL
1)	LODDER:	RUNLOD
1)		
1)	>;TENX
1)	COMMENT ⊗ Salnit -- Storage Initialization, Etc.
*** SAIL[S,AIL] *** PAGE 32
2)	COMMENT ⊗ Salnit -- Storage Initialization, Etc.


******** SAIL **** PAGE 33
1)	NOTENX <
1)	;;%AY% RHT 2-12-73 USE THE INTMAP RUNTIME ROUTINE FOR THIS
*** SAIL[S,AIL] *** PAGE 33
2)	;;%AY% RHT 2-12-73 USE THE INTMAP RUNTIME ROUTINE FOR THIS


******** SAIL **** PAGE 33
1)	>;NOTENX
1)	TENX <
1)	;Don't use Tenex INTMAP because it saves ac's, unneeded for <ESC I>
1)	;which saves TEMP itself, and plain wrong for POVDO which must set
1)	;up TEMP for forced Debrk to itself.
1)	;First make sure we got an interrupt system.
1)		HRRZI	A,400000	;THIS FORK
1)		JSYS	RIR		;READ INTERRUPT SYS. TABLE ADDR.

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 33,33

1)		EXTERN	LEVTAB,CHNTAB,ATI,ENABLE
1)		JUMPE	2,[MOVE 2,[XWD LEVTAB,CHNTAB]	;XX'D IN GOGOL
1)			   JSYS	SIR		;SET INT. SYS. TABLES
1)			   JRST .+1]
1)		JSYS	EIR		;ENABLE INT. SYS - GENERAL TURN-ON
1)		MOVE	A,[XWD 3,POVDO] ;DISPATCH VECTOR FOR PDLOV
1)		MOVEM	A,IPOVIX(2)	;IPOVIX MUST BE =9
1)		MOVE	A,[XWD 3,ITTYDO]	;FOR <ESC I> (I.E. CTRL H)
1)		MOVEM	A,ITTYIX(2)	;INTMAPS DONE. ENABLES:
1)		PUSH	P,[IPOVIX]
1)		PUSHJ	P,ENABLE
1)		PUSH	P,[ITTYIX]
1)		PUSHJ	P,ENABLE	;AND THEN ACTIVATE TERMINAL INTERRUPT
1)		PUSH	P,[10]		;TERM. INT. CODE FOR CTRL H
1)		PUSH	P,[ITTYIX]
1)		PUSHJ	P,ATI
1)	>;TENX
1)		SETPOV	(P,SYSTEM!PDL -- USE /P TO INCREASE)
*** SAIL[S,AIL] *** PAGE 33
2)		SETPOV	(P,SYSTEM!PDL -- USE /P TO INCREASE)


******** SAIL **** PAGE 35
1)	NOTENX <
1)	;Everything from here to the end of SAIL has been switched out
1)	;for TENEX except for the code at DELIM & UNSWT. A new file, CC, exists
1)	;which should be assembled after SAIL and contains the TENEX code
1)	;(not under a switch tho', Stanford just skips the file).
1)	BITDATA (INDICES INTO CDBS)
*** SAIL[S,AIL] *** PAGE 35
2)	BITDATA (INDICES INTO CDBS)


******** SAIL **** PAGE 37
1)	>;NOTENX
1)	COMMENT ⊗ Unswt -- End of Switched-to-File
*** SAIL[S,AIL] *** PAGE 37
2)	COMMENT ⊗ Unswt -- End of Switched-to-File


******** SAIL **** PAGE 38
1)	NOTENX<
1)		HRRI	TEMP,SRCCDB
1)	>;NOTENX
1)	TENX<
1)		HRRI	TEMP,BGNSWA
1)	>;TENX
1)		BLT	TEMP,ENDSRC

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 38,38

*** SAIL[S,AIL] *** PAGE 38
2)		HRRI	TEMP,SRCCDB
2)		BLT	TEMP,ENDSRC


******** SAIL **** PAGE 39
1)	NOTENX <
1)	?FILNAM:
*** SAIL[S,AIL] *** PAGE 39
2)	?FILNAM:


******** SAIL **** PAGE 40
1)	>;NOTENX
1)	SWTGET:	TLZ	FF,FFTEMP	;KEEP TRACK OF SIGN
*** SAIL[S,AIL] *** PAGE 40
2)	SWTGET:	TLZ	FF,FFTEMP	;KEEP TRACK OF SIGN


******** SAIL **** PAGE 40
1)	NOTENX<
1)	SWTTBL:	BYTE (5)0,0,10,7,0,11,0	;a-b-C-D-e-F-g
*** SAIL[S,AIL] *** PAGE 40
2)	SWTTBL:	BYTE (5)0,0,10,7,0,11,0	;a-b-C-D-e-F-g


******** SAIL **** PAGE 40
1)	>;NOTENX
1)	TENX<
1)	SWTTBL:	BYTE (5)0,0,10,7,0,11,17 ;a-b-C-D-e-F-G
1)		BYTE (5)13,14,0,12,2,1,0 ;H-I-j-K-L-M-n
1)		BYTE (5)0,3,4,5,6,15,16	;o-P-Q-R-S-T-U
1)		BYTE (5)0		;v thru z
1)	>;TENX
1)	DEFINE SWITCH(NUM,DESC) <
*** SAIL[S,AIL] *** PAGE 40
2)	DEFINE SWITCH(NUM,DESC) <


******** SAIL **** PAGE 42
1)	TENX<
1)	SWITCH (14, I -- Do not generate Two-Segment Code)
1)		SETZM	HISW
1)		POPJ	P,
1)	SWITCH (15, T -- Load with DDT)
1)		SETOM	LODMOD
1)		SETOM	LODDDT
1)		POPJ	P,

	1) SAIL vs. 2) SAIL[S,AIL]	SRCCOM	03-19-74	01:46	PAGES 42,42

1)	SWITCH (16, U -- Load with SDDT)
1)		SETOM	LODMOD
1)		SETOM	LODDDT
1)		SETOM	LODSDT
1)		POPJ	P,
1)	SWITCH (17,G -- Load after compilation)
1)		SETOM	LODMOD
1)		POPJ	P,
1)	>;TENX
1)	; END OF SWITCH HANDLERS
1)	NOTENX <
1)	;Above switch goes to end of file.
1)	DELIM2:	CAIE	A,"("
*** SAIL[S,AIL] *** PAGE 42
2)	; END OF SWITCH HANDLERS
2)	DELIM2:	CAIE	A,"("


******** SAIL **** PAGE 45
1)	>;NOTENX
1)	;Closes back to DELIM2.
*** SAIL[S,AIL] *** PAGE 45