mirror of
https://github.com/PDP-10/its.git
synced 2026-02-08 09:21:17 +00:00
Reconstructed TAA; INP.
Reconstructed 2018 from SYS2; TS MSEND dated 1984-01-14, which is a PDUMP binary assembled from DM: SYSENG; MSEND 140 on 1980-07-28.
This commit is contained in:
735
src/taa/inp.100
Normal file
735
src/taa/inp.100
Normal file
@@ -0,0 +1,735 @@
|
||||
; Reconstructed 2018 from SYS2; TS MSEND dated 1984-01-14, which is
|
||||
; a PDUMP binary assembled from DM: SYSENG; MSEND 140 on 1980-07-28.
|
||||
|
||||
SUBTTL READER
|
||||
|
||||
DEFINE BUFMAKE NAME,LEN,HLP,TXT
|
||||
ZZ==LEN/5
|
||||
ZZZ==.
|
||||
BLOCK ZZ
|
||||
NAME: [ASCIZ /TXT/]
|
||||
440700,,ZZZ
|
||||
440700,,ZZZ
|
||||
440700,,ZZZ
|
||||
5*ZZ
|
||||
5*ZZ
|
||||
0
|
||||
0
|
||||
HLP
|
||||
TERMIN
|
||||
|
||||
.BEGIN READER
|
||||
|
||||
CBUF=16
|
||||
FINBLN==240
|
||||
|
||||
BUFMAKE FILBUF,175,HLPFIL,[File: ]
|
||||
|
||||
FINBUF: BLOCK 40
|
||||
|
||||
FILBLK:
|
||||
FILDEV: SIXBIT /DSK/
|
||||
FILSNM: 0
|
||||
FILFN1: 0
|
||||
FILFN2: SIXBIT />/
|
||||
|
||||
DSKI: 0
|
||||
ENDFIL: 0
|
||||
PRMPT2: 0
|
||||
.U"INREAD: 0
|
||||
.U"RQUOTE: 0
|
||||
.U"XCTRUB: 0
|
||||
.U"TOFCI: 0
|
||||
.U"TOERS: 0
|
||||
CHPOS: 0
|
||||
CVPOS: 0
|
||||
.U"KEEPQT: 0
|
||||
.U"CRBRK: 0
|
||||
CTRLYQ: -1
|
||||
.U"LSTBRK: 0
|
||||
|
||||
.U"BUFPRM==0
|
||||
.U"BUFBEG==1
|
||||
.U"BUFFCH==2
|
||||
.U"BUFNCH==3
|
||||
.U"BUFLEN==4
|
||||
.U"BUFVLN==5
|
||||
.U"BUFCCT==6
|
||||
.U"BUFVCT==7
|
||||
.U"BUFHLP==10
|
||||
|
||||
RCMDNX: MOVEM B,BUFNCH(CBUF)
|
||||
SKIPGE C
|
||||
MOVEI C,0
|
||||
MOVEM C,BUFVCT(CBUF)
|
||||
JRST RCMD
|
||||
|
||||
.U"GETBUF:
|
||||
PUSH P,CBUF
|
||||
MOVE CBUF,B
|
||||
PUSH P,C
|
||||
PUSH P,D
|
||||
RCMDXX:
|
||||
RCMD: MOVE B,BUFNCH(CBUF)
|
||||
MOVE C,BUFVCT(CBUF)
|
||||
SKIPE TOERS
|
||||
JUMPN C,[PUSHJ P,REPPER ? JRST RCMD0]
|
||||
PUSHJ P,PPRMPT
|
||||
RCMD0: SETOM INREAD
|
||||
RCMD1: .IOT TTYI,A
|
||||
SKIPE RQUOTE
|
||||
JRST [SETZM RQUOTE
|
||||
SKIPE KEEPQT
|
||||
JRST RCMDL
|
||||
SKIPN TOERS
|
||||
JRST RCMDL
|
||||
PUSH P,A
|
||||
MOVEI A,^Q
|
||||
PUSHJ P,RUBFLS
|
||||
POP P,A
|
||||
JRST RCMDL]
|
||||
CAIG A,^[
|
||||
JRST @CHRTAB(A)
|
||||
CAIN A,177
|
||||
JRST RUB
|
||||
CAIN A,"?
|
||||
JRST [JUMPN C,RCMDL
|
||||
SKIPN BUFHLP(CBUF)
|
||||
JRST RCMDL
|
||||
.IOT TTYO,A
|
||||
PUSHJ P,@BUFHLP(CBUF)
|
||||
JRST RCMDNX]
|
||||
RCMDL: .IOT TTYO,A
|
||||
RCMDLN: PUSHJ P,ADDCHR
|
||||
CAIE A,^M
|
||||
JRST RCMD1
|
||||
MOVEI A,^J
|
||||
JRST RCMDL
|
||||
|
||||
RADDCH: .IOT TTYO,A
|
||||
PUSHJ P,ADDCHR
|
||||
CAIE A,^M
|
||||
JRST CPOPJ
|
||||
MOVEI A,^J
|
||||
.IOT TTYO,A
|
||||
PUSHJ P,ADDCHR
|
||||
POPJ P,
|
||||
|
||||
ADDCHR: ADDI C,1
|
||||
CAML C,BUFVLN(CBUF)
|
||||
JRST [MOVEM C,BUFVCT(CBUF)
|
||||
MOVEM B,BUFNCH(CBUF)
|
||||
PUSHJ P,BUFGRO
|
||||
MOVE B,BUFNCH(CBUF)
|
||||
JRST .+1]
|
||||
IDPB A,B
|
||||
POPJ P,
|
||||
|
||||
CHRTAB: RSTBUF
|
||||
RCMDL
|
||||
RCMDL
|
||||
RCMDXE
|
||||
[PUSHJ P,RREPEA ? JRST RCMD1]
|
||||
RCMDL
|
||||
RCMDL
|
||||
QUIT
|
||||
RCMDL
|
||||
RCMDL
|
||||
RCMDL
|
||||
RCMDL
|
||||
[PUSHJ P,RCLEAR ? JRST RCMD1]
|
||||
[SKIPN CRBRK ? JRST RCMDL ? JRST RCMDXE]
|
||||
RCMDL
|
||||
RCMDL
|
||||
RCMDL
|
||||
[SETOM RQUOTE
|
||||
.IOT TTYO,A
|
||||
SKIPN KEEPQT
|
||||
JRST RCMD1
|
||||
JRST RCMDLN]
|
||||
RCMDL
|
||||
RCMDL
|
||||
CHRSWP
|
||||
LNFLUS
|
||||
RCMDL
|
||||
WDFLUS
|
||||
LNFLUS
|
||||
[SKIPN CTRLYQ
|
||||
JRST RCMDL
|
||||
PUSHJ P,RDFILE
|
||||
JRST RCMD1]
|
||||
RCMDL
|
||||
RCMDXE
|
||||
|
||||
RCMDXE: .IOT TTYO,A
|
||||
RCMDX1: MOVEM A,LSTBRK
|
||||
MOVEI A,0
|
||||
IDPB A,B
|
||||
DBP B
|
||||
MOVEM C,BUFVCT(CBUF)
|
||||
MOVEM B,BUFNCH(CBUF)
|
||||
MOVE B,BUFLEN(CBUF)
|
||||
SUB B,BUFVLN(CBUF)
|
||||
ADDI B,(C)
|
||||
MOVEM B,BUFCCT(CBUF)
|
||||
SETZM INREAD
|
||||
SKIPE C
|
||||
AOS -3(P)
|
||||
POP P,D
|
||||
POP P,C
|
||||
POP P,CBUF
|
||||
POPJ P,
|
||||
|
||||
RSTBUF: .IOT TTYO,A
|
||||
RSTBF1: OASCR TTYO,[0]
|
||||
SETZ C,
|
||||
PUSHJ P,CLINBI
|
||||
MOVE B,BUFFCH(CBUF)
|
||||
PUSHJ P,REPPER
|
||||
JRST RCMD1
|
||||
|
||||
PPRMPT: OCTLP TTYO,"A
|
||||
OASC TTYO,@BUFPRM(CBUF)
|
||||
SKIPE PRMPT2
|
||||
OASC TTYO,@PRMPT2
|
||||
POPJ P,
|
||||
|
||||
RREPEA: .IOT TTYO,A
|
||||
OASCR TTYO,[0]
|
||||
JRST REPPER
|
||||
|
||||
.U"RCLEAR:
|
||||
OCTLP TTYO,"C
|
||||
.U"REPPER:
|
||||
PUSHJ P,PPRMPT
|
||||
OBPTR TTYO,BUFFCH(CBUF)
|
||||
POPJ P,
|
||||
|
||||
.U"CLINBF:
|
||||
PUSH P,CBUF
|
||||
MOVE CBUF,B
|
||||
PUSHJ P,CLINBI
|
||||
POP P,CBUF
|
||||
POPJ P,
|
||||
|
||||
CLINBI: PUSH P,A
|
||||
PUSH P,B
|
||||
PUSH P,C
|
||||
MOVE A,BUFFCH(CBUF)
|
||||
MOVE B,BUFVLN(CBUF)
|
||||
JUMPL A,CLINB1
|
||||
MOVEI C,0
|
||||
CLINBL: TLNE A,760000
|
||||
CAIA
|
||||
AOJA A,CLINB1
|
||||
IDPB C,A
|
||||
SOJA B,CLINBL
|
||||
CLINB1: SETZM (A)
|
||||
IDIVI B,5
|
||||
ADDI B,-1(A)
|
||||
HRLS A
|
||||
ADDI A,1
|
||||
BLT A,(B)
|
||||
MOVE A,BUFFCH(CBUF)
|
||||
MOVEM A,BUFNCH(CBUF)
|
||||
SETZM BUFVCT(CBUF)
|
||||
MOVE A,BUFLEN(CBUF)
|
||||
SUB A,BUFVLN(CBUF)
|
||||
MOVEM A,BUFCCT(CBUF)
|
||||
POP P,C
|
||||
POP P,B
|
||||
POP P,A
|
||||
POPJ P,
|
||||
|
||||
BUFGRO: PUSH P,A
|
||||
PUSH P,B
|
||||
PUSH P,C
|
||||
MOVE A,BUFLEN(CBUF)
|
||||
IDIVI A,5
|
||||
LSH A,1
|
||||
IBLOCK CLIO,(A)
|
||||
PUSH P,C
|
||||
MOVE A,BUFLEN(CBUF)
|
||||
ADDM A,BUFLEN(CBUF)
|
||||
ADDM A,BUFVLN(CBUF)
|
||||
HRL C,BUFBEG(CBUF)
|
||||
IDIVI A,5
|
||||
ADDI A,-1(C)
|
||||
BLT C,(A)
|
||||
POP P,C
|
||||
HRRZ B,BUFBEG(CBUF)
|
||||
SUB C,B
|
||||
ADDM C,BUFBEG(CBUF)
|
||||
ADDM C,BUFFCH(CBUF)
|
||||
ADDM C,BUFNCH(CBUF)
|
||||
POP P,C
|
||||
POP P,B
|
||||
POP P,A
|
||||
POPJ P,
|
||||
|
||||
RDFILE: PUSH P,KEEPQT
|
||||
PUSH P,CRBRK
|
||||
PUSH P,CTRLYQ
|
||||
PUSH P,INREAD
|
||||
PUSH P,D
|
||||
PUSH P,E
|
||||
PUSH P,F
|
||||
PUSH P,A
|
||||
PUSH P,B
|
||||
PUSH P,C
|
||||
SKIPE FILSNM
|
||||
JRST NODEF
|
||||
.SUSET [.RXUNAME,,A]
|
||||
MOVEM A,FILSNM
|
||||
MOVEM A,FILFN1
|
||||
NODEF: SETOM KEEPQT
|
||||
SETOM CRBRK
|
||||
SETZM CTRLYQ
|
||||
MOVEI B,FILBUF
|
||||
PUSHJ P,CLINBF
|
||||
PUSHJ P,GETBUF
|
||||
JRST [MOVE B,LSTBRK
|
||||
CAIE B,^M
|
||||
OASCR TTYO,[0]
|
||||
OASCR TTYO,[ASCIZ /Aborted./]
|
||||
POP P,C
|
||||
POP P,B
|
||||
POP P,A
|
||||
JRST RDFILX]
|
||||
MOVE B,LSTBRK
|
||||
CAIE B,^M
|
||||
OASCR TTYO,[0]
|
||||
MOVEI B,FILBUF
|
||||
MOVE A,BUFFCH(B)
|
||||
MOVE B,BUFVCT(B)
|
||||
PUSHJ P,FILPRS
|
||||
PUSHJ P,CHNFND
|
||||
.CALL [SETZ
|
||||
SIXBIT /OPEN/
|
||||
MOVSI .UAI
|
||||
DSKI
|
||||
FILDEV
|
||||
FILFN1
|
||||
FILFN2
|
||||
SETZ FILSNM]
|
||||
JRST FILERR
|
||||
POP P,C
|
||||
POP P,B
|
||||
POP P,A
|
||||
SETZM ENDFIL
|
||||
FRDLOP: MOVEI D,FINBLN
|
||||
MOVE E,[440700,,FINBUF]
|
||||
.CALL [SETZ
|
||||
SIXBIT /SIOT/
|
||||
DSKI
|
||||
E
|
||||
SETZ D]
|
||||
.LOSE %LSSYS
|
||||
SUBI D,FINBLN
|
||||
JUMPE D,FILDON
|
||||
MOVNS D
|
||||
CAIL D,FINBLN
|
||||
JRST FINSTR
|
||||
SETOM ENDFIL
|
||||
MOVEI F,D
|
||||
PDLOOP: LDB O,E
|
||||
CAIE O,^C
|
||||
CAIN O,0
|
||||
JRST PDFLS
|
||||
JRST FINSTR
|
||||
PDFLS: MOVEI O,0
|
||||
DPB O,E
|
||||
DBP E
|
||||
SOJLE D,FILDON
|
||||
SOJG F,PDLOOP
|
||||
FINSTR: MOVE E,[440700,,FINBUF]
|
||||
FINLOP: ILDB A,E
|
||||
PUSHJ P,ADDCHR
|
||||
SOJG D,FINLOP
|
||||
SKIPN ENDFIL
|
||||
JRST FRDLOP
|
||||
FILDON: OASCR TTYO,[ASCIZ /"DONE"/]
|
||||
.CALL [SETZ
|
||||
SIXBIT /CLOSE/
|
||||
SETZ DSKI]
|
||||
.LOSE %LSSYS
|
||||
RDFILX: POP P,F
|
||||
POP P,E
|
||||
POP P,D
|
||||
POP P,INREAD
|
||||
POP P,CTRLYQ
|
||||
POP P,CRBRK
|
||||
POP P,KEEPQT
|
||||
POPJ P,
|
||||
|
||||
CHNFND: PUSH P,A
|
||||
PUSH P,B
|
||||
MOVEI A,17
|
||||
CHNFNL: .CALL [SETZ
|
||||
SIXBIT /STATUS/
|
||||
A
|
||||
SETZM B]
|
||||
.LOSE %LSSYS
|
||||
JUMPE B,CHNFNW
|
||||
SOJGE A,CHNFNL
|
||||
.VALUE [ASCIZ /:No channels??
|
||||
/]
|
||||
CHNFNW: MOVEM A,DSKI
|
||||
POP P,B
|
||||
POP P,A
|
||||
POPJ P,
|
||||
|
||||
HLPFIL: OASC TTYO,[ASCIZ /Default is: /]
|
||||
OSIX TTYO,FILDEV
|
||||
OASCI TTYO,":
|
||||
OSIX TTYO,FILSNM
|
||||
OASCI TTYO,";
|
||||
OSIX TTYO,FILFN1
|
||||
OASCI TTYO,"
|
||||
OSIX TTYO,FILFN2
|
||||
OASCR TTYO,[0]
|
||||
POPJ P,
|
||||
|
||||
FILERR: OASC TTYO,[ASCIZ /Open of /]
|
||||
OSIX TTYO,FILDEV
|
||||
OASCI TTYO,":
|
||||
OSIX TTYO,FILSNM
|
||||
OASCI TTYO,";
|
||||
OSIX TTYO,FILFN1
|
||||
OASCI TTYO,"
|
||||
OSIX TTYO,FILFN2
|
||||
OASC TTYO,[ASCIZ / failed: /]
|
||||
.CALL [SETZ
|
||||
SIXBIT /STATUS/
|
||||
DSKI
|
||||
SETZM A]
|
||||
.LOSE %LSSYS
|
||||
.CALL [SETZ
|
||||
SIXBIT /OPEN/
|
||||
MOVSI .UAI
|
||||
DSKI
|
||||
[SIXBIT /ERR/]
|
||||
MOVEI 3
|
||||
SETZ A]
|
||||
.LOSE %LSFIL
|
||||
MOVE A,[440700,,FINBUF]
|
||||
MOVEI B,FINBLN
|
||||
.CALL [SETZ
|
||||
SIXBIT /SIOT/
|
||||
DSKI
|
||||
A
|
||||
SETZ B]
|
||||
.LOSE %LSSYS
|
||||
.CALL [SETZ
|
||||
SIXBIT /CLOSE/
|
||||
SETZ DSKI]
|
||||
.LOSE %LSSYS
|
||||
MOVEI B,0
|
||||
DPB B,A
|
||||
OASCR TTYO,FINBUF
|
||||
POP P,C
|
||||
POP P,B
|
||||
POP P,A
|
||||
JRST RDFILX
|
||||
|
||||
FILPRS: PUSH P,C
|
||||
PUSH P,D
|
||||
PUSH P,E
|
||||
PUSH P,F
|
||||
MOVEI E,0
|
||||
FILPRL: PUSHJ P,GETSYL
|
||||
JUMPE F,FILPRQ
|
||||
JUMPE C,FILPRL
|
||||
CAIN F,":
|
||||
JRST [MOVEM C,FILDEV ? JRST FILPRL]
|
||||
CAIN F,";
|
||||
JRST [MOVEM C,FILSNM ? JRST FILPRL]
|
||||
FILPRQ: JUMPE C,FILPQ1
|
||||
JUMPE E,[MOVNI E,1 ? MOVEM C,FILFN1 ? JRST FILPQ1]
|
||||
MOVEM C,FILFN2
|
||||
FILPQ1: JUMPN F,FILPRL
|
||||
POP P,F
|
||||
POP P,E
|
||||
POP P,D
|
||||
POP P,C
|
||||
POPJ P,
|
||||
|
||||
GETSYL: MOVEI C,0
|
||||
MOVE B,[440600,,C]
|
||||
GETSY1: ILDB F,A
|
||||
JUMPE F,GETSYX
|
||||
CAIE F,":
|
||||
CAIN F,";
|
||||
JRST GETSYX
|
||||
CAIE F,"
|
||||
CAIN F,^I
|
||||
JRST GETSX1
|
||||
CAIN F,^Q
|
||||
ILDB F,A
|
||||
SUBI F,"
|
||||
CAIL F,"@
|
||||
SUBI F,"
|
||||
TLNE B,770000
|
||||
IDPB F,B
|
||||
JRST GETSY1
|
||||
GETSX1: JUMPE C,GETSY1
|
||||
GETSYX: POPJ P,
|
||||
|
||||
RUB: PUSHJ P,RUBBER
|
||||
JRST RCMDNX
|
||||
JRST RCMD1
|
||||
|
||||
RUBBER: SOJL C,CPOPJ
|
||||
LDB A,B
|
||||
MOVEI D,0
|
||||
DPB D,B
|
||||
XCT XCTRUB
|
||||
DBP B
|
||||
CAIE A,^J
|
||||
JRST RUBOUT
|
||||
JUMPLE C,RUBOUT
|
||||
PUSH P,A
|
||||
LDB A,B
|
||||
CAIE A,^M
|
||||
JRST [POP P,A ? JRST RUBOUT]
|
||||
SUB P,[1,,1]
|
||||
MOVEI D,0
|
||||
DPB D,B
|
||||
SUBI C,1
|
||||
XCT XCTRUB
|
||||
DBP B
|
||||
RUBOUT: AOS (P)
|
||||
POPJ P,
|
||||
|
||||
.U"RUBECH:
|
||||
OASCI TTYO,(A)
|
||||
POPJ P,
|
||||
|
||||
.U"RUBFLS:
|
||||
PUSH P,B
|
||||
PUSH P,C
|
||||
PUSHJ P,RCPOS
|
||||
PUSHJ P,CHRTYP
|
||||
SKIPGE C,FIXIM2(C)
|
||||
JRST (C)
|
||||
OCTLP TTYO,"X
|
||||
SOJG C,.-1
|
||||
RUBDON: POP P,C
|
||||
POP P,B
|
||||
POPJ P,
|
||||
|
||||
CHRTYP: MOVEI C,0
|
||||
CAIG A,^_
|
||||
JRST CHRTY1
|
||||
CAIN A,177
|
||||
AOJA C,CPOPJ
|
||||
POPJ P,
|
||||
|
||||
CHRTY1: PUSH P,A
|
||||
IDIVI A,14
|
||||
MOVE A,FIXIML(A)
|
||||
IMULI B,3
|
||||
ROTC A,3(B)
|
||||
ANDI B,7
|
||||
MOVEI C,(B)
|
||||
POP P,A
|
||||
POPJ P,
|
||||
|
||||
FOURQ: OCTLP TTYO,"X
|
||||
OCTLP TTYO,"X
|
||||
SKIPE TOFCI
|
||||
JRST RUBDON
|
||||
OCTLP TTYO,"X
|
||||
OCTLP TTYO,"X
|
||||
JRST RUBDON
|
||||
BSKILL: AOS CHPOS
|
||||
OHPOS TTYO,@CHPOS
|
||||
JRST RUBDON
|
||||
|
||||
CGKILL: JRST RUBDON
|
||||
|
||||
TBKILL: PUSHJ P,GHPOS
|
||||
OHPOS TTYO,@CHPOS
|
||||
OCTLP TTYO,"L
|
||||
JRST RUBDON
|
||||
|
||||
CRKILL: PUSHJ P,GHPOS
|
||||
OHPOS TTYO,@CHPOS
|
||||
JRST RUBDON
|
||||
|
||||
LFKILL: PUSH P,A
|
||||
MOVEI A,1
|
||||
PUSHJ P,LNSTRV
|
||||
POP P,A
|
||||
JRST RUBDON
|
||||
|
||||
LNSTRV: CAMLE A,CVPOS
|
||||
JRST LNREDO
|
||||
SOJE A,LNONE
|
||||
OCTLP TTYO,"H
|
||||
OASCI TTYO,^H
|
||||
LNSLOP: OCTLP TTYO,"L
|
||||
OCTLP TTYO,"U
|
||||
SOS CVPOS
|
||||
SOJGE A,LNSLOP
|
||||
PUSHJ P,GHPOS
|
||||
OHPOS TTYO,@CHPOS
|
||||
OCTLP TTYO,"L
|
||||
POPJ P,
|
||||
|
||||
LNONE: OCTLP TTYO,"U
|
||||
POPJ P,
|
||||
|
||||
LNREDO: OCTLP TTYO,"T
|
||||
OCTLP TTYO,"L
|
||||
PUSHJ P,PPRMPT
|
||||
OBPTR TTYO,BUFFCH(CBUF)
|
||||
PUSHJ P,RCPOS
|
||||
POPJ P,
|
||||
|
||||
FIXIM2: 1
|
||||
2
|
||||
SETZ FOURQ
|
||||
SETZ CRKILL
|
||||
SETZ LFKILL
|
||||
SETZ BSKILL
|
||||
SETZ TBKILL
|
||||
SETZ CGKILL
|
||||
|
||||
FIXIM3: MOVEI C,1
|
||||
MOVEI C,2
|
||||
PUSHJ P,CNTCTZ
|
||||
MOVEI C,0
|
||||
MOVEI C,0
|
||||
MOVNI C,1
|
||||
PUSHJ P,CNTTAB
|
||||
MOVEI C,0
|
||||
|
||||
CNTCTZ: MOVEI C,2
|
||||
SKIPN TOFCI
|
||||
MOVEI C,4
|
||||
POPJ P,
|
||||
|
||||
CNTTAB: ANDCMI O,7
|
||||
ADDI O,10
|
||||
MOVEI C,0
|
||||
POPJ P,
|
||||
|
||||
FIXIML: 111111175641
|
||||
131111111111
|
||||
112011120000
|
||||
|
||||
RCPOS: PUSH P,A
|
||||
.CALL [SETZ
|
||||
SIXBIT /RCPOS/
|
||||
MOVEI TTYI
|
||||
SETZM A]
|
||||
.LOSE %LSSYS
|
||||
HLRM A,CVPOS
|
||||
HRRM A,CHPOS
|
||||
POP P,A
|
||||
POPJ P,
|
||||
|
||||
GHPOS: PUSH P,O
|
||||
PUSH P,A
|
||||
PUSH P,B
|
||||
PUSH P,C
|
||||
PUSH P,D
|
||||
MOVEI O,0
|
||||
MOVE D,BUFPRM(CBUF)
|
||||
PUSHJ P,CNTSTR
|
||||
SKIPE D,PRMPT2
|
||||
PUSHJ P,CNTSTR
|
||||
GHPOS1: MOVE D,BUFFCH(CBUF)
|
||||
PUSHJ P,CNTSTR
|
||||
MOVEM O,CHPOS
|
||||
POP P,D
|
||||
POP P,C
|
||||
POP P,B
|
||||
POP P,A
|
||||
POP P,O
|
||||
POPJ P,
|
||||
|
||||
CNTSTR: TLNN D,777777
|
||||
HRLI D,440700
|
||||
CNTST1: ILDB A,D
|
||||
JUMPE A,CPOPJ
|
||||
CAIN A,^M
|
||||
JRST [MOVEI O,0 ? JRST CNTST1]
|
||||
PUSHJ P,CHRTYP
|
||||
XCT FIXIM3(C)
|
||||
ADD O,C
|
||||
JRST CNTST1
|
||||
|
||||
CHRSWP: CAIG C,1
|
||||
JRST RCMD1
|
||||
PUSHJ P,RUBBER
|
||||
.VALUE
|
||||
CAIGE C,1
|
||||
JRST [PUSHJ P,RADDCH ? JRST RCMD1]
|
||||
PUSH P,A
|
||||
PUSHJ P,RUBBER
|
||||
.VALUE
|
||||
EXCH A,(P)
|
||||
PUSHJ P,RADDCH
|
||||
POP P,A
|
||||
PUSHJ P,RADDCH
|
||||
JRST RCMD1
|
||||
|
||||
WDFLUS: PUSHJ P,RUBBER
|
||||
JRST RCMDNX
|
||||
PUSHJ P,BREAK
|
||||
JRST WDFLU1
|
||||
JRST WDFLUS
|
||||
WDFLU1: JUMPE C,RCMD1
|
||||
LDB A,B
|
||||
PUSHJ P,BREAK
|
||||
JRST WDFLU2
|
||||
JRST RCMD1
|
||||
WDFLU2: PUSHJ P,RUBBER
|
||||
JRST RCMDNX
|
||||
JRST WDFLU1
|
||||
|
||||
BREAK: CAIE A,^I
|
||||
CAIN A,^J
|
||||
JRST POPJ1
|
||||
CAIE A,^M
|
||||
CAIN A,"
|
||||
JRST POPJ1
|
||||
CAIE A,";
|
||||
CAIN A,",
|
||||
JRST POPJ1
|
||||
CAIE A,".
|
||||
CAIN A,":
|
||||
JRST POPJ1
|
||||
POPJ P,
|
||||
|
||||
LNFLUS: PUSHJ P,RUBBER
|
||||
JRST RCMDNX
|
||||
LNFLUL: LDB A,B
|
||||
CAIN A,^J
|
||||
JRST LNFLUD
|
||||
MOVEI O,0
|
||||
DPB O,B
|
||||
DBP B
|
||||
SOJLE C,LNLEAV
|
||||
JRST LNFLUL
|
||||
|
||||
LNFLUD: PUSH P,B
|
||||
DBP B
|
||||
LDB A,B
|
||||
POP P,B
|
||||
CAIN A,^M
|
||||
JRST LNFLKL
|
||||
|
||||
LNLEAV: PUSHJ P,GHPOS
|
||||
LNLEV1: SKIPN TOERS
|
||||
JRST [OASCR TTYO,[ASCIZ / XXX?/] ? JRST RCMD1]
|
||||
OHPOS TTYO,@CHPOS
|
||||
OCTLP TTYO,"L
|
||||
JRST RCMD1
|
||||
|
||||
LNFLKL: SETZM CHPOS
|
||||
JRST LNLEV1
|
||||
|
||||
.END READER
|
||||
Reference in New Issue
Block a user