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