perm filename PARSE.MS[MEW,AIL] blob
sn#091957 filedate 1974-03-19 generic text, type T, neo UTF8
1) PARSE vs. 2) PARSE[S,AIL] SRCCOM 03-19-74 02:12 PAGES 1,1
******** PARSE **** PAGE 1
1) COMMENT ⊗ VALID 00022 PAGES VERSION 17-1(14)
1) RECORD PAGE DESCRIPTION
*** PARSE[S,AIL] *** PAGE 1
2) COMMENT ⊗ VALID 00022 PAGES VERSION 17-1(13)
2) RECORD PAGE DESCRIPTION
******** PARSE **** PAGE 2
1) 021 102100000016 ⊗;
1) COMMENT ⊗
1) VERSION 17-1(14) 3-17-74 BY RLS INSTALL TENEX
1) VERSION 17-1(13) 1-11-74 BY JRL CMU CHANGE
*** PARSE[S,AIL] *** PAGE 2
2) 021 102100000015 ⊗;
2) COMMENT ⊗
2) VERSION 17-1(13) 1-11-74 BY JRL CMU CHANGE
******** PARSE **** PAGE 15
1) TENX <
1) TRNE PTR,400000 ;FOR TENEX, A CONTROL-H INTERRUPT
1) JRST NOINTR
1) SETZM .DBG.
1) SETZM MULTP
1) JRST INTR
1) >;TENX
1) NOINTR: TLNN PTR,200000
1) SOSLE SCBCNT ;AND HAVE WE DONE ENOUGH OF THEM?
*** PARSE[S,AIL] *** PAGE 15
2) NOINTR: TLNN PTR,200000 ;IS IT A SCAN BREAK?
2) SOSLE SCBCNT ;AND HAVE WE DONE ENOUGH OF THEM?
******** PARSE **** PAGE 16
1) NOTENX <
1) CALL6 (A,DDTOUT) ;USED TO BE A CALL
1) >;NOTENX
1) TENX <
1) HRROI A,(A)
1) JSYS PSOUT
1) >;TENX
1) SKIPE SCNBRK ;DON'T VOLUNTEER STACK ON SCANNER
*** PARSE[S,AIL] *** PAGE 16
2) CALL6 (A,DDTOUT) ;USED TO BE A CALL
2) SKIPE SCNBRK ;DON'T VOLUNTEER STACK ON SCANNER
1) PARSE vs. 2) PARSE[S,AIL] SRCCOM 03-19-74 02:12 PAGES 16,16
******** PARSE **** PAGE 16
1) PUUO 13, ;Any chars waiting?
1) PUUO 1,["#"] ;Prompt.
1) INN: PUUO A ;Get a char from user
1) ;Let debugger know about lowercase.
1) CAIE A,"p"
*** PARSE[S,AIL] *** PAGE 16
2) INSKIP A ;ANY CHARS WAITING?
2) OUTCHR ["#"] ;NO, TYPE WAITING MESSAGE
2) INN: TTCALL A ;GET A CHAR FROM USER
2) ; let debugger know about lower case
2) CAIE A,"p"
******** PARSE **** PAGE 22
1) NOTENX <
1) JUMPGE D,POSFIL ;MIGHT BE NEGATIVE
*** PARSE[S,AIL] *** PAGE 22
2) JUMPGE D,POSFIL ;MIGHT BE NEGATIVE
******** PARSE **** PAGE 22
1) >;NOTENX
1) TENX <
1) EXCH 1,TEMP
1) EXCH 2,D
1) MOVE D+1,C
1) HRRZI C,=10
1) JSYS NOUT
1) JFCL
1) EXCH 1,TEMP
1) EXCH 2,D
1) MOVE C,D+1
1) POPJ P,
1) >;TENX
1) DSCR ASCFIL
1) CAL PUSHJ from routines which create text lines
1) PAR A is input BP (JFN also legal on TENEX)
1) BKR is break char
*** PARSE[S,AIL] *** PAGE 22
2) DSCR ASCFIL
2) CAL PUSHJ from routines which create text lines
2) PAR A is input BP
2) BKR is break char
******** PARSE **** PAGE 22
1) ↑ASCFIL:
1) PARSE vs. 2) PARSE[S,AIL] SRCCOM 03-19-74 02:12 PAGES 22,22
1) TENX <
1) CAMN TEMP,[-1] ;NOT DOING OUTPUT IF JFN=-1
1) POPJ P,
1) >;TENX
1) CAME A,FILBP
1) JRST NOARROW ;NOT YET (OR NOT AGAIN)
1) MOVEI B,12
1) PUSHJ P,ASCDPB ;NO, USE LINEFEED TO
1) NOARROW:
*** PARSE[S,AIL] *** PAGE 22
2) ↑ASCFIL:CAME A,FILBP
2) JRST NOARROW ;NOT YET (OR NOT AGAIN)
2) MOVEI B,12
2) IDPB B,TEMP ;NO, USE LINE FEED TO
2) NOARROW:
******** PARSE **** PAGE 22
1) FDIPB: PUSHJ P,ASCDPB ;NO -- STORE THIS ONE
1) JRST ASCFIL
1) NOTENX<
1) ASCDPB: IDPB B,TEMP
1) POPJ P,
1) >;NOTENX
1) TENX <
1) ASCDPB: EXCH A,TEMP
1) JSYS BOUT ;WORKS FOR BYTE PTRS AS WELL AS JFNS
1) EXCH A,TEMP
1) POPJ P,
1) >;TENX
1) ; SIXBIT INPUT IN A
*** PARSE[S,AIL] *** PAGE 22
2) FDIPB: IDPB B,TEMP ;NO -- STORE THIS ONE
2) JRST ASCFIL
2) ; SIXBIT INPUT IN A