mirror of
https://github.com/PDP-10/its.git
synced 2026-05-22 13:30:12 +00:00
2789 lines
37 KiB
Plaintext
2789 lines
37 KiB
Plaintext
|
||
RELOCA
|
||
|
||
TITLE TECO6
|
||
|
||
FF=0
|
||
P"=1
|
||
A"=2
|
||
AA=3
|
||
B=4
|
||
E=5
|
||
C=6
|
||
D=7
|
||
F=10
|
||
T=11
|
||
TT=12
|
||
TT1=13
|
||
IN=14
|
||
OUT=15
|
||
CH=16
|
||
PF=17
|
||
SYM=T
|
||
|
||
;RIGHT HALF FLAGS
|
||
|
||
ALTF==1
|
||
ARG2==2
|
||
ARG==4
|
||
ITERF==10
|
||
SLSL==20
|
||
PCHFLG==40
|
||
COLONF==100
|
||
SYLF==200
|
||
VIEWF==400
|
||
FINF==1000
|
||
FINDR==2000
|
||
QMFLG==4000
|
||
NOTF==10000
|
||
TRACEF==20000
|
||
LET=40000
|
||
|
||
;LEFT HALF FLAGS
|
||
|
||
LPTF==20
|
||
UREAD==200 ;READING FROM UTAPE
|
||
UWRITE==400 ;WRITING ON UTAPE
|
||
PNSTOP==1000 ;STOP PUNCH
|
||
|
||
TYPR1==(30000)
|
||
MACDMP==37400
|
||
MACCR==37777
|
||
LPDL==75
|
||
|
||
GCTBL==100
|
||
LPF==40
|
||
|
||
|
||
INIT":
|
||
LOC 41
|
||
JSR ETYPER
|
||
|
||
LOC INIT
|
||
|
||
|
||
CONO 633550+APRCHN
|
||
MOVE P,[(,-LPDL)PDL-1]
|
||
CONO PTR,20
|
||
CONO PTR,0
|
||
CONO PI,12237
|
||
SETOM CTLBF'
|
||
CLEARM SFINDF
|
||
MOVEI A,<CBUF+200>*5
|
||
MOVEM A,BEG
|
||
MOVEM A,PT
|
||
MOVEM A,Z
|
||
MOVEM A,QRBUF
|
||
MOVEI A,CBUF"+77
|
||
MOVEM A,CBUFH
|
||
MOVEI FF,0
|
||
GOZ": SETOM .COAST"
|
||
MOVE P,[(,-LPDL)PDL-1]
|
||
CONO PI,2237
|
||
SETOM .LSTP"
|
||
MOVE PF,[(,-LPF)PFL-1]
|
||
|
||
GOX: SETOM FSHFLG
|
||
CLEARM STOPF
|
||
CONO TTY,10+TTYCHN
|
||
SKIPG TICC
|
||
JRST .+3
|
||
PUSHJ P,TYI
|
||
JRST .-3
|
||
CLEARM FSHFLG
|
||
PUSHJ P,CRR
|
||
|
||
GO: MOVE P,[-LPDL,,PDL-1]
|
||
SKIPL FSHFLG
|
||
SKIPGE STOPF
|
||
JRST GOX
|
||
TRZN FF,VIEWF
|
||
JRST VIEW2
|
||
CONO PI,4002
|
||
CONO 433550+APRCHN
|
||
GO1: CLEARM,LEV
|
||
TRZ FF,777777#QMFLG
|
||
JRST LIS
|
||
|
||
TYI: ILDB CH,MACCR
|
||
JUMPN CH,CPOPJ
|
||
SETZM MACCR
|
||
SKIPGE STOPF
|
||
JRST GOX
|
||
SKIPG TICC
|
||
JRST .-3
|
||
MOVE A,TIOP
|
||
CAMN A,[(10700)TIBE-1]
|
||
MOVEI A,TIBO-1
|
||
HRRM A,TIOP
|
||
ILDB A,TIOP
|
||
SOS TICC
|
||
MOVE CH,A
|
||
POPJ P,
|
||
|
||
TYO: CAIN CH,11
|
||
JRST TYO2
|
||
CAIN CH,15
|
||
SETOM TABCNR
|
||
CAIE CH,12
|
||
AOS TABCNR
|
||
SKIPG TORM
|
||
JRST .-1
|
||
IDPB CH,TOIP
|
||
SOS TORM
|
||
EXCH CH,TOIP
|
||
CAMN CH,[(10700)TOBE-1]
|
||
HRRI CH,TOBO-1
|
||
EXCH CH,TOIP
|
||
STYO: CONSO TTY,30
|
||
CONO TTY,10+TTYCHN
|
||
POPJ P,
|
||
|
||
TYO2: MOVEI CH,40
|
||
PUSHJ P,TYO
|
||
MOVE CH,TABCNR
|
||
TRNE CH,7
|
||
JRST TYO2
|
||
MOVEI CH,11
|
||
POPJ P,
|
||
PITELE: CONSZ TTY,10
|
||
JRST TYP1
|
||
CONSO TTY,40
|
||
JRST TTYRET
|
||
DATAI TTY,A
|
||
TRZ A,200
|
||
FSC A,@ECHOCC
|
||
FSC A,@TICC
|
||
TLNE A,200000
|
||
JRST DING
|
||
IDPB A,TIIP
|
||
ORCMI A,177
|
||
AOJE A,PITEL1
|
||
CLEARM STOPF
|
||
PITEL2: MOVE A,TIIP
|
||
CAMN A,[(10700)TIBE-1]
|
||
MOVEI A,TIBO-1
|
||
HRRM A,TIIP
|
||
AOSA ECHOCC
|
||
DING: SETOM DINGF
|
||
PUSHJ P,STYO
|
||
JRST TTYRET
|
||
|
||
PITEL1: MOVE A,TIME
|
||
SKIPN STOPF
|
||
MOVEM A,TSTPTM
|
||
AOS A,STOPF
|
||
CAIE A,3
|
||
JRST PITEL2
|
||
MOVE A,TIME
|
||
SUB A,TSTPTM
|
||
CAIL A,20.
|
||
JRST PITEL2-1
|
||
HRROS STOPF
|
||
SETOM FSHFLG
|
||
JRST PITEL2
|
||
TYP1: MOVEI A,12
|
||
AOSN LIF
|
||
JRST TYP3
|
||
MOVEI A,7
|
||
AOSN DINGF
|
||
JRST TYP3
|
||
MOVEI A,40
|
||
AOSG SPCCC
|
||
JRST TYP3
|
||
MOVE A,TORM
|
||
CAIL A,TOBS
|
||
JRST TYP4
|
||
MOVE A,TOOP
|
||
CAMN A,[(10700)TOBE-1]
|
||
MOVEI A,TOBO-1
|
||
HRRM A,TOOP
|
||
ILDB A,TOOP
|
||
AOS TORM
|
||
|
||
TYP3: CAIN A,10
|
||
JRST TYO1
|
||
CAILE A,6
|
||
CAIL A,16
|
||
JRST TYO1
|
||
TYP31A: CAIE A,11
|
||
JRST TYP31
|
||
MOVNI A,3
|
||
MOVEM A,SPCCC
|
||
JRST TTYRET
|
||
TYP31: CAIN A,175
|
||
MOVEI A,"$
|
||
CAIN A,177
|
||
JRST TTYRET
|
||
SKIPL FSHFLG
|
||
DATAO TTY,A
|
||
JRST TTYRET
|
||
TYP4: SKIPG ECHOCC
|
||
JRST TYP5
|
||
MOVE A,ECHOP
|
||
CAMN A,[(10700)TIBE-1]
|
||
MOVEI A,TIBO-1
|
||
HRRM A,ECHOP
|
||
MOVEI A,12
|
||
HRRM A,TYP1
|
||
ILDB A,ECHOP
|
||
SOS ECHOCC
|
||
AOS TICC
|
||
CAIN A,15
|
||
SETOM LIF
|
||
JRST TYP3
|
||
TYP5: CONO TTY,200+TTYCHN
|
||
JRST POPRET
|
||
|
||
TYO1: CAIL A,40
|
||
JRST TYP31A
|
||
ADDI A,100
|
||
HRRM A,TYP1
|
||
SETOM LIF
|
||
MOVEI A,"^
|
||
JRST TYP31
|
||
STOPF: 0
|
||
FSHFLG: 0
|
||
TOIP: (10700)TOBO-1
|
||
TOOP: (10700)TOBO-1
|
||
TORM: TOBS
|
||
TIIP: (10700)TIBO-1
|
||
TIOP: (10700)TIBO-1
|
||
TICC: 0
|
||
ECHOP: (10700)TIBO-1
|
||
ECHOCC: 0
|
||
TIBO: BLOCK 26.
|
||
TIBE:
|
||
TOBO: BLOCK 40
|
||
TOBE:
|
||
TOBS=<TOBE-TOBO>*5
|
||
LIF: 0
|
||
DINGF: 0
|
||
SPCCC: 0
|
||
TSTPTM: 0
|
||
|
||
PPA: TLNE FF,LPTF
|
||
PUSHJ P,APILPT
|
||
PPA2: TLNE FF,UWRITE
|
||
PUSHJ P,UTYO
|
||
TLNE FF,PNSTOP
|
||
POPJ P,
|
||
IORI CH,200
|
||
CAIN CH,214
|
||
JRST PPA1
|
||
PPA3: PUSH P,CH
|
||
PUSHJ P,PIPUN
|
||
POP P,CH
|
||
CAIE CH,211
|
||
POPJ P,
|
||
MOVEI CH,377
|
||
PUSHJ P,PPA2+2
|
||
JRST PPA2+2
|
||
|
||
UTYO: EXCH A,CH
|
||
PUSHJ P,UWR"
|
||
TYPR1 [ASCII ?TAPE FULL!?]
|
||
EXCH A,CH
|
||
POPJ P,
|
||
|
||
PPA1: PUSH P,B
|
||
MOVEI B,12
|
||
PUSHJ P,FEED1
|
||
MOVEI CH,214
|
||
PUSHJ P,PIPUN
|
||
MOVEI CH,377
|
||
MOVEI B,4
|
||
PUSHJ P,FEED1+1
|
||
MOVEI B,30
|
||
PUSHJ P,FEED1
|
||
POP P,B
|
||
POPJ P,
|
||
|
||
CRR: MOVEI CH,TYO
|
||
HRRM CH,LISTF5
|
||
|
||
CRR1: MOVEI CH,15
|
||
PUSHJ P,@LISTF5
|
||
MOVEI CH,12
|
||
JRST @LISTF5
|
||
|
||
SKRCH: SKIPN COMCNT
|
||
JSR ERR
|
||
RCH: SOSGE COMCNT
|
||
JRST RCH2
|
||
ILDB CH,CPTR
|
||
TRACS: POPJ P, ;OR JRST TYO IN TRACE MODE
|
||
|
||
RCH2: POP P,CH
|
||
POP P,COMCNT
|
||
POP P,CPTR
|
||
POP P,COMAX
|
||
PUSH P,CH
|
||
JRST RCH
|
||
|
||
SKRCH1: SOSGE COMCNT
|
||
JSR ERR
|
||
ILDB CH,CPTR
|
||
POPJ P,
|
||
|
||
CLIS: PUSHJ P,CRR
|
||
LIS: CLEARM COMCNT
|
||
CLEARM INTDPH
|
||
CLEARM SYMS
|
||
MOVE T,[SYMS,,SYMS+1]
|
||
BLT T,SYMEND-1
|
||
MOVE AA,[(700)CBUF-1]
|
||
MOVE B,CBUFH
|
||
LI1: TRZ FF,ALTF
|
||
LI2: CAILE B,(AA)
|
||
JRST LI3
|
||
CLEARM BARPNT
|
||
ADDI B,100
|
||
MOVE C,Z
|
||
IDIVI C,5
|
||
MOVE D,QRBUF
|
||
IDIVI D,5
|
||
SUBM C,D
|
||
MOVE CH,(C)
|
||
MOVEM CH,100(C)
|
||
SOS C
|
||
SOJGE D,.-3
|
||
MOVEI C,500
|
||
ADDM C,BEG
|
||
ADDM C,PT
|
||
ADDM C,Z
|
||
ADDM C,QRBUF
|
||
|
||
LI3: MOVEM B,CBUFH
|
||
MOVEI CH,TT
|
||
AOSE LIFF
|
||
PUSHJ P,TYI
|
||
CAIN CH,^M
|
||
SETOM LIFF
|
||
TRZE FF,QMFLG
|
||
CAIE CH,77
|
||
AOSA COMCNT
|
||
JRST ERRTYP
|
||
IDPB CH,AA
|
||
CAIE CH,177
|
||
JRST LI4
|
||
IBP AA
|
||
IBP AA
|
||
IBP AA
|
||
SOS D,AA
|
||
CAMN AA,[100700,,CBUF-1]
|
||
JRST CLIS
|
||
ILDB CH,D
|
||
PUSHJ P,TYO
|
||
SOS COMCNT
|
||
SOS COMCNT
|
||
JRST LI1
|
||
LI4: CAIE CH,175
|
||
JRST LI1
|
||
TRON FF,ALTF
|
||
JRST LI2
|
||
MOVEI CH,141
|
||
AOS A,COMCNT
|
||
IDPB CH,AA
|
||
MOVE AA,[(700)CBUF-1]
|
||
MOVEM AA,CPTR
|
||
PUSHJ P,CRR
|
||
MOVEM A,COMAX
|
||
CONO DIS,0
|
||
JRST CD
|
||
|
||
ERRTYP: MOVE AA,ERR2
|
||
MOVEI B,12
|
||
SUBI AA,2
|
||
ILDB CH,AA
|
||
CAMG B,ERR1
|
||
PUSHJ P,TYO
|
||
CAME AA,ERR2
|
||
SOJA B,.-4
|
||
|
||
|
||
INI: JSR ERR
|
||
CD:
|
||
RET: SKIPGE STOPF
|
||
JRST GOX
|
||
TRZ FF,ARG2+ARG+FINDR
|
||
CD1: CLEARM NUM
|
||
CD2: MOVSI A,(ADD B,)
|
||
CD3: HLLM A,DLIM
|
||
CD4: CLEARM SYL
|
||
CD5: PUSHJ P,RCH
|
||
TRZ FF,FINF
|
||
XCT DTB(CH)
|
||
CD6: MOVE B,NUM
|
||
TRZE FF,SYLF
|
||
DLIM: ADD B,SYL
|
||
MOVEM B,NUM
|
||
MOVE C,SARG
|
||
TRZ FF,VIEWF+NOTF+PCHFLG+FINDR
|
||
JUMPGE A,(A)
|
||
PUSHJ P,(A)
|
||
JRST RET
|
||
|
||
CDNUM: MOVE A,SYL
|
||
IMULI A,12
|
||
ADDI A,-60(CH)
|
||
VALRET: MOVEM A,SYL
|
||
CD7: TRO FF,ARG+SYLF
|
||
JRST CD5
|
||
|
||
COMMA: MOVEM B,SARG
|
||
TRZE FF,ARG
|
||
TROE FF,ARG2
|
||
JSR ERR
|
||
JRST CD1
|
||
|
||
CAND: MOVSI A,(AND B,)
|
||
JRST CD3
|
||
COR: MOVSI A,(IOR B,)
|
||
JRST CD3
|
||
MINUS: MOVSI A,(SUB B,)
|
||
JRST CD3
|
||
TIMES: MOVSI A,(IMUL B,)
|
||
JRST CD3
|
||
SLASH: MOVSI A,(IDIV B,)
|
||
JRST CD3
|
||
|
||
HOLE: CLEARM SARG
|
||
TROA FF,ARG2
|
||
PNT: SKIPA A,PT
|
||
END1: MOVE A,Z
|
||
SUB A,BEG
|
||
JRST VALRET
|
||
|
||
OPEN: PUSH P,NUM
|
||
HLLZ A,DLIM
|
||
TRZE FF,ITERF
|
||
IORI A,1
|
||
PUSH P,A
|
||
AOS LEV
|
||
JRST RET
|
||
|
||
CLOSE: SOSGE LEV
|
||
JSR ERR
|
||
MOVEM B,SYL
|
||
POP P,CH
|
||
HLLM CH,DLIM
|
||
TRZ FF,ITERF
|
||
TRNE CH,1
|
||
TRO FF,ITERF
|
||
POP P,NUM
|
||
JRST CD7
|
||
|
||
CHK: CAMG B,Z
|
||
CAMGE B,BEG
|
||
JSR ERR
|
||
POPJ P,
|
||
|
||
CHK1: CAMG C,BEG
|
||
MOVE C,BEG
|
||
CAML B,Z
|
||
MOVE B,Z
|
||
CAMLE C,B
|
||
JSR ERR
|
||
POPJ P,
|
||
APPEND: TRNE FF,ARG
|
||
JRST APPND1
|
||
MOVE OUT,Z
|
||
PUSHJ P,YANK2
|
||
JRST RET
|
||
APPND1: MOVE IN,PT
|
||
PUSHJ P,GET
|
||
MOVE A,CH
|
||
APPND2: CLEARM NUM
|
||
JRST VALRET
|
||
|
||
YANK:YANK1: MOVE OUT,BEG
|
||
MOVEM OUT,PT
|
||
YANK2:
|
||
YANK3: TLNN FF,UREAD
|
||
PUSHJ P,PIRPA
|
||
TLNE FF,UREAD
|
||
YANK4: PUSHJ P,UTYI
|
||
PUSHJ P,PUT
|
||
CAIE CH,14
|
||
AOJA OUT,YANK3
|
||
MOVEM OUT,Z
|
||
TLNN FF,UREAD
|
||
CAME OUT,BEG
|
||
POPJ P,
|
||
MOVN OUT,RCC
|
||
CAIN OUT,10
|
||
TRO FF,FINF
|
||
POPJ P,
|
||
|
||
UTYI: PUSHJ P,URED"
|
||
TRO FF,FINF
|
||
MOVE CH,A
|
||
POPJ P,
|
||
|
||
DEFINE DBP7 A
|
||
ADD A,[70000,,]
|
||
SKIPGE A
|
||
SUB A,[430000,,1]
|
||
TERMIN
|
||
|
||
REVERS: PUSHJ P,CHK2
|
||
MOVNS B
|
||
CHARAC: PUSHJ P,CHK2
|
||
ADD B,PT
|
||
JMP1: PUSHJ P,CHK
|
||
MOVEM B,PT
|
||
JRST RET
|
||
JMP: ADD B,BEG
|
||
JRST JMP1
|
||
CHK2: TROE FF,ARG
|
||
POPJ P,
|
||
LDB B,[(340200)DLIM]
|
||
MOVNS B
|
||
AOJA B,CPOPJ
|
||
|
||
KILL: PUSHJ P,GETARG
|
||
PUSHJ P,CHK1
|
||
MOVEM C,PT
|
||
SUB B,C
|
||
JUMPE B,RET
|
||
DELETE: PUSHJ P,CHK2
|
||
MOVM C,B
|
||
MOVNS C
|
||
ADD B,PT
|
||
PUSHJ P,CHK
|
||
CAMGE B,PT
|
||
MOVEM B,PT
|
||
PUSHJ P,NROOM
|
||
DEL2:
|
||
JRET: JRST RET
|
||
|
||
|
||
FEED:
|
||
FEED1: MOVEI CH,0
|
||
PUSHJ P,PPA3
|
||
SOJG B,.-1
|
||
POPJ P,
|
||
|
||
|
||
TAB: PUSHJ P,TAB2
|
||
INSERT: TRNE FF,ARG
|
||
JRST INS1A
|
||
MOVEI CH,175
|
||
TRZE FF,SLSL
|
||
PUSHJ P,RCH
|
||
MOVEM CH,A
|
||
MOVE B,CPTR
|
||
MOVEI C,0
|
||
PUSHJ P,SKRCH
|
||
CAME CH,A
|
||
AOJA C,.-2
|
||
PUSHJ P,NROOM
|
||
ADD B,CRREL
|
||
INS1B: MOVE OUT,PT
|
||
ILDB CH,B
|
||
CAMN CH,A
|
||
POPJ P,
|
||
PUSHJ P,PUT
|
||
AOS CH,PT
|
||
JRST INS1B
|
||
|
||
|
||
INS1A:
|
||
TAB1: MOVE CH,NUM
|
||
TAB2: MOVEI C,1
|
||
PUSHJ P,NROOM
|
||
AOS OUT,PT
|
||
SOJA OUT,PUT
|
||
|
||
UAR: TROA FF,SLSL
|
||
COLON: TRO FF,COLONF
|
||
JRST RET
|
||
|
||
TYOM: PUSH P,C
|
||
PUSH P,OUT
|
||
PUSH P,TT
|
||
PUSH P,TT1
|
||
PUSHJ P,TAB2
|
||
POP P,TT1
|
||
POP P,TT
|
||
POP P,OUT
|
||
POP P,C
|
||
POPJ P,
|
||
|
||
LARR: TROA FF,FINDR
|
||
SERCHP: TRO FF,PCHFLG
|
||
SERCH: MOVE E,B
|
||
CLEARM NUM
|
||
MOVEI CH,175
|
||
TRZE FF,SLSL
|
||
PUSHJ P,RCH
|
||
MOVEM CH,B
|
||
; MOVEI F,GCTAB ;SEARCH TABLE FORMAT
|
||
;SRCH1: HRRZS TT,F ;.+4,,.
|
||
HRLZI F,-40
|
||
SERCH2: PUSHJ P,RCH ;CAIN CH,"F
|
||
; CAMN CH,SBRK ;CAIE CH,"O
|
||
; JRST SRLP1 ;CAIN CH,"O
|
||
; CAIN CH,^O ;.+6,,.
|
||
; JRST SRLP2 ;CAIN CH," ;SPACE
|
||
cain ch,(b)
|
||
JRST SERCH1
|
||
CAIN CH,^X ;CAIE CH,"S
|
||
JRST CNTRX ;CAIN CH,"P
|
||
CAIN CH,^N ;PUSHJ P,CNTRB1
|
||
JRST CNTRN ;CAIA CH,^X
|
||
CAIN CH,^B ;CAIN CH,")
|
||
JRST CNTRB ;MEANS SF^NOO^O ^NSP^N^B^X)$$
|
||
CAIN CH,^Q
|
||
PUSHJ P,RCH
|
||
HRLI CH,(CAIN CH,)
|
||
SERCH4: TRZE FF,NOTF
|
||
TLC CH,(CAIE#CAIN)
|
||
MOVEM CH,STAB(F)
|
||
AOBJN F,SERCH2
|
||
JSR ERR
|
||
|
||
SERCH1: MOVE IN,PT
|
||
TRNE FF,ARG
|
||
JUMPLE E,FND
|
||
CAML IN,Z
|
||
JRST NOFND
|
||
MOVEI D,STAB
|
||
SERCH3: CAIN D,STAB(F)
|
||
JRST FND
|
||
PUSHJ P,GETINC
|
||
XCT (D)
|
||
SERCH5: AOJA D,SERCH3
|
||
SRCH5A: AOS PT
|
||
JRST SERCH1
|
||
|
||
FND: CAMLE IN,Z
|
||
JRST NOFND
|
||
SETOM SFINDF
|
||
MOVEM IN,PT
|
||
SOJG E,SERCH1
|
||
TRZN FF,COLONF
|
||
JRST RET
|
||
MOVNI A,1
|
||
JRST VALRET
|
||
|
||
NOFND: MOVE IN,BEG
|
||
MOVEM IN,PT
|
||
|
||
CLEARM SFINDF
|
||
TRNE FF,PCHFLG+FINDR
|
||
JRST NOFND1
|
||
BEGIN1: TRZN FF,COLONF
|
||
JRST NOFND2
|
||
BEGIN2: TRZ FF,PCHFLG+FINDR
|
||
BEGIN: MOVEI A,0
|
||
JRST VALRET
|
||
|
||
NOFND1: TRNE FF,FINF
|
||
JRST BEGIN1
|
||
PUSH P,E
|
||
MOVEI B,1
|
||
TRNE FF,PCHFLG
|
||
PUSHJ P,PUNCHA
|
||
TRNE FF,FINDR
|
||
PUSHJ P,YANK1
|
||
POP P,E
|
||
JRST SERCH1
|
||
|
||
FND1: SOJG E,SERCH1
|
||
JRST RET
|
||
|
||
NOFND2: TRNE FF,ITERF
|
||
JRST BEGIN2
|
||
JSR ERR
|
||
|
||
CNTRB: SKIPA CH,[JSR P,CNTRB1]
|
||
CNTRX: MOVSI CH,(CAI)
|
||
JRST serch4
|
||
|
||
CNTRB1: JRST DQT2
|
||
MOVE A,[JRST DQT2]
|
||
MOVEM A,CNTRB1
|
||
PUSHJ P,DQT2
|
||
JRST SRCH5A
|
||
JRST SERCH5
|
||
|
||
CNTRN: TRO FF,NOTF
|
||
JRST SERCH2
|
||
TYPE:
|
||
TYPE4: MOVEI D,TYO
|
||
PUSHJ P,GETARG
|
||
TYPE1: PUSHJ P,CHK1
|
||
MOVE IN,C
|
||
TYPE3: CAML IN,B
|
||
JRST TYPE5
|
||
PUSHJ P,GETINC
|
||
PUSHJ P,(D)
|
||
JRST TYPE3
|
||
TYPE5: MOVEI A,PPA
|
||
MOVEI CH,14
|
||
CAIE A,(D)
|
||
POPJ P,
|
||
CPPA: JRST PPA
|
||
USE: TRNN FF,ARG
|
||
JSR ERR
|
||
USEA: PUSHJ P,QREGA
|
||
MOVEM B,QTAB-60(CH)
|
||
JRST RET
|
||
QREG: PUSH P,USE1
|
||
QREGA: PUSHJ P,RCH
|
||
CAIL CH,"0
|
||
CAILE CH,"Z
|
||
JSR ERR
|
||
CAIL CH,"9+1
|
||
SUBI CH,"A-"9-1
|
||
MOVE A,QTAB-"0(CH)
|
||
USE1: POPJ P,VALRET
|
||
|
||
|
||
|
||
PUNCH:
|
||
PUNCHA: MOVEI D,CPPA
|
||
TRNE FF,ARG2
|
||
JRST TYPE1-1
|
||
MOVE E,B
|
||
MOVE B,CPTR
|
||
ILDB T,B
|
||
JUMPL E,CPOPJ
|
||
PUN1: PUSHJ P,PUNCHR
|
||
SKIPE COMCNT
|
||
CAIE T,"W
|
||
PUSHJ P,YANK1
|
||
MOVE C,Z
|
||
CAMN C,BEG
|
||
TRNN FF,FINF
|
||
SOJG E,PUN1
|
||
CPOPJ: POPJ P,VIEW1
|
||
PUNCHR: SKIPGE STOPF
|
||
JRST GOX
|
||
MOVE C,BEG
|
||
MOVE B,Z
|
||
MOVEI D,PPA
|
||
JRST TYPE1
|
||
|
||
DPT: JUMPGE B,.+3
|
||
MOVEI CH,"-+200
|
||
PUSHJ P,@LISTF5
|
||
IDIVI B,10.
|
||
MOVMS E
|
||
HRLM E,(P)
|
||
JUMPE B,SLDP1
|
||
PUSHJ P,.-4
|
||
SLDP1: HLRZ CH,(P)
|
||
ADDI CH,"0
|
||
JRST @LISTF5
|
||
|
||
PRNT: TRNN FF,ARG
|
||
JSR ERR
|
||
MOVEI A,TYO
|
||
HRRM A,LISTF5
|
||
PUSHJ P,DPT
|
||
JRST CRR
|
||
|
||
DD: ANDI B,3
|
||
ROT B,4
|
||
MOVEM B,CHSIZ
|
||
JRST RET
|
||
|
||
DQUOTE: TRNN FF,ARG
|
||
JSR ERR
|
||
PUSHJ P,RCH
|
||
MOVSI A,0
|
||
IRPC Z,,[GLNE]
|
||
CAIN CH,"Z
|
||
MOVSI A,(JUMP!Z B,)
|
||
TERMIN
|
||
CAIN CH,"C
|
||
JRST DQT1
|
||
JUMPE A,ERR+1
|
||
HRRI A,RET
|
||
XCT A
|
||
NOGO: MOVEI A,0
|
||
PUSHJ P,SKRCH1
|
||
CAIN CH,42
|
||
AOJA A,.-2
|
||
CAIN CH,47
|
||
SOJL A,RET
|
||
JRST .-5
|
||
EXCLAM: PUSHJ P,SKRCH
|
||
CAIE CH,"!
|
||
JRST .-2
|
||
JRST RET
|
||
DQT1: PUSHJ P,DQT3
|
||
JRST RET
|
||
JRST NOGO
|
||
|
||
DQT2: MOVE B,CH
|
||
|
||
;SKIP IF CH HAS A BREAK CHARACTER
|
||
DQT3: CAIE B,"$
|
||
CAIN B,"%
|
||
POPJ P,
|
||
CAIN B,".
|
||
POPJ P,
|
||
CAIGE B,"0
|
||
JRST POPJ1
|
||
CAIG B,"9
|
||
POPJ P,
|
||
CAIGE B,"A
|
||
JRST POPJ1
|
||
CAIG B,"Z
|
||
POPJ P,
|
||
JRST POPJ1
|
||
|
||
OG: MOVE A,CPTR
|
||
MOVE AA,A
|
||
IDIVI AA,17
|
||
CAMN A,SYMS(B)
|
||
JRST OGFND
|
||
SKIPN SYMS(B)
|
||
JRST OGNF
|
||
CAMN A,SYMS+1(B)
|
||
ES1: AOJA B,OGFND
|
||
SKIPN SYMS+1(B)
|
||
ES2: AOJA B,OGNF
|
||
CAMN A,SYMS+2(B)
|
||
AOJA B,ES1
|
||
SKIPN SYMS+2(B)
|
||
ADDI B,2
|
||
|
||
OGNF: PUSH P,CPTR
|
||
PUSH P,B
|
||
MOVEI D,STAB+1
|
||
MOVEI A,41
|
||
MOVEM A,-1(D)
|
||
PUSHJ P,SKRCH
|
||
MOVEM CH,(D)
|
||
CAIE CH,175
|
||
AOJA D,.-3
|
||
MOVEM A,(D)
|
||
MOVE B,COMCNT
|
||
SUB B,COMAX
|
||
IDIVI B,5
|
||
ADD B,CPTR
|
||
JUMPE E,OG2
|
||
SOS B
|
||
MOVMS E
|
||
JRST .(E)
|
||
IBP B
|
||
IBP B
|
||
IBP B
|
||
IBP B
|
||
OG2: MOVE AA,COMAX
|
||
OG4: MOVEM B,CPTR
|
||
MOVEM AA,COMCNT
|
||
MOVEI E,STAB
|
||
OG5: CAIN E,1(D)
|
||
JRST OG3
|
||
PUSHJ P,SKRCH1
|
||
CAMN CH,(E)
|
||
AOJA E,OG5
|
||
IBP B
|
||
SOJA AA,OG4
|
||
|
||
OG3: POP P,A
|
||
POP P,SYMS(A)
|
||
MOVEM AA,CNTS(A)
|
||
MOVEM B,VALS(A)
|
||
JRST RET
|
||
|
||
PCNT: PUSHJ P,QREGA
|
||
AOS A,QTAB-60(CH)
|
||
JRST VALRET
|
||
|
||
OGFND: MOVE A,VALS(B)
|
||
MOVEM A,CPTR
|
||
MOVE A,CNTS(B)
|
||
MOVEM A,COMCNT
|
||
JRST RET
|
||
CHSIZ: 20
|
||
|
||
VIEW: TRO FF,VIEWF
|
||
PUSHJ P,DISINI
|
||
PUSH P,CPOPJ ;POPJ P,VIEW1
|
||
MOVEI D,DISAD
|
||
TRNE FF,VIEWF
|
||
JRST TYPE4+1
|
||
JRST TYPE1
|
||
|
||
VIEW1: PUSHJ P,DISCLG
|
||
MOVE T,CPTR
|
||
ILDB B,T
|
||
TRNN FF,VIEWF
|
||
JRST GO1
|
||
SKIPE COMCNT
|
||
CAIE B,"W
|
||
JRST RET
|
||
PUSHJ P,TYI
|
||
CONO DIS,0
|
||
PUSHJ P,RCH
|
||
JRST APPND2
|
||
|
||
VIEW2: CONO DIS,0
|
||
MOVE B,NLINES
|
||
PUSHJ P,GETAG7
|
||
PUSH P,B
|
||
MOVN B,NLINES
|
||
PUSHJ P,GETAG7
|
||
POP P,B
|
||
JRST VIEW+1
|
||
|
||
NLINES: 20.
|
||
|
||
|
||
ERR: 0
|
||
PUSHJ P,UWAIT"
|
||
MOVEI CH,277
|
||
PUSHJ P,TYO
|
||
PUSHJ P,CRR
|
||
TRO FF,QMFLG
|
||
MOVE A,COMAX
|
||
SUB A,COMCNT
|
||
MOVEM A,ERR1
|
||
MOVE A,CPTR
|
||
MOVEM A,ERR2
|
||
JRST GO
|
||
|
||
CNTRUP: PUSHJ P,RCH
|
||
MOVE A,CH
|
||
JRST VALRET
|
||
QUESTN: MOVE A,[JRST TYO]
|
||
TRCE FF,TRACEF
|
||
MOVSI A,(POPJ P,)
|
||
MOVEM A,TRACS
|
||
JRST RET
|
||
|
||
BAKSL: TRZE FF,ARG
|
||
JRST BAKSL1
|
||
SKIPA IN,PT
|
||
BAKSLM: TRO FF,ARG
|
||
BAKSLA: CAML IN,Z
|
||
JRST BAKSL3
|
||
PUSHJ P,GETINC
|
||
CAIN CH,"-
|
||
JRST BAKSLM
|
||
CAIG CH,"9
|
||
CAIGE CH,"0
|
||
SOJA IN,BAKSL2
|
||
SUBI CH,"0
|
||
EXCH CH,SYL
|
||
IMULI CH,10.
|
||
ADDM CH,SYL
|
||
JRST BAKSLA
|
||
BAKSL3: MOVE IN,Z
|
||
BAKSL2: TRZE FF,ARG
|
||
MOVNS SYL
|
||
MOVEM IN,PT
|
||
JRST CD7
|
||
|
||
BAKSL1: MOVE T,[(700)BAKTAB]
|
||
MOVEI C,0
|
||
MOVEI CH,BAKSL4
|
||
HRRM CH,LISTF5
|
||
PUSHJ P,dpt
|
||
MOVEI A,141
|
||
IDPB A,T
|
||
MOVE B,[(700)BAKTAB]
|
||
PUSHJ P,NROOM
|
||
PUSHJ P,INS1B
|
||
JRST RET
|
||
|
||
BAKSL4: IDPB CH,T
|
||
AOJA C,CPOPJ
|
||
|
||
CLOSEB: SKIPA C,[POP PF,]
|
||
OPENB: MOVSI C,(PUSH PF,)
|
||
PUSHJ P,QREGA
|
||
HRRI C,QTAB-"0(CH)
|
||
XCT C
|
||
JRST CD5
|
||
|
||
SEMICL: TRNN FF,ITERF
|
||
JSR ERR
|
||
TRNN FF,ARG
|
||
MOVE B,SFINDF
|
||
|
||
INCMA: JUMPL B,CD
|
||
MOVEI A,0
|
||
INCMA1: PUSHJ P,SKRCH1
|
||
CAIN CH,74
|
||
AOJA A,INCMA1
|
||
CAIE CH,76
|
||
JRST INCMA1
|
||
SOJGE A,INCMA1
|
||
INCMA2: SOS INTDPH
|
||
SUB P,[3,,3]
|
||
POP P,ITERCT
|
||
JRST RET
|
||
|
||
GRTH: SKIPG INTDPH
|
||
JSR ERR
|
||
TRZ FF,ITERF
|
||
SOSN ITERCT
|
||
JRST INCMA2
|
||
MOVE A,-1(P)
|
||
MOVEM A,CPTR
|
||
MOVE A,(P)
|
||
MOVEM A,COMCNT
|
||
TRNE FF,TRACEF
|
||
PUSHJ P,CRR
|
||
|
||
|
||
LSSTH1: TROA FF,ITERF
|
||
FLDSZ: MOVEM B,NLINES
|
||
JRST RET
|
||
|
||
LSSTH: AOS INTDPH
|
||
PUSH P,ITERCT
|
||
PUSH P,COMAX
|
||
PUSH P,CPTR
|
||
PUSH P,COMCNT
|
||
SETOM ITERCT
|
||
TRZE FF,ARG
|
||
MOVEM B,ITERCT
|
||
JRST LSSTH1
|
||
|
||
LINE: TRNE FF,ARG2
|
||
JSR ERR
|
||
PUSHJ P,GETARG
|
||
XOR B,C
|
||
XORM B,PT
|
||
JRST RET
|
||
|
||
GTIME: SKIPA A,TIME
|
||
LAT: DATAI A
|
||
JRST VALRET
|
||
|
||
DECDMP:
|
||
PUSHJ P,LPTWAT"
|
||
PUSHJ P,UWAIT"
|
||
CONSZ PTP,7
|
||
JRST .-2
|
||
CONSO TTY,30
|
||
CONSZ TTY,30
|
||
JRST DECDMP
|
||
CONO 435550
|
||
MOVE A,CPTR
|
||
ILDB CH,A
|
||
CAIN CH,175
|
||
JRST MACDMP
|
||
MOVE T,[(700)37760-1
|
||
MOVEM T,MACCR
|
||
DCDMP2: PUSHJ P,RCH
|
||
CAIN CH,"$
|
||
MOVEI CH,375
|
||
IDPB CH,T
|
||
CAIE CH,175
|
||
JRST DCDMP2
|
||
MOVEI CH,15
|
||
DPB CH,T
|
||
MOVEI CH,0
|
||
IDPB CH,T
|
||
JRST MACDMP+1
|
||
|
||
MAC: PUSHJ P,QREGA
|
||
PUSH P,COMAX
|
||
PUSH P,CPTR
|
||
PUSH P,COMCNT
|
||
TLZE A,400000
|
||
TLZE A,377777
|
||
JSR ERR
|
||
ADD A,QRBUF
|
||
MOVE IN,A
|
||
PUSHJ P,GETINC
|
||
CAIE CH,141
|
||
JSR ERR
|
||
PUSHJ P,GETINC
|
||
MOVE A,CH
|
||
PUSHJ P,GET
|
||
ROT CH,7
|
||
IOR A,CH
|
||
SUBI A,3
|
||
MOVEM A,COMCNT
|
||
MOVEM A,COMAX
|
||
IDIVI IN,5
|
||
MOVE OUT,BTAB(OUT)
|
||
HRR OUT,IN
|
||
TLZ OUT,17
|
||
MOVEM OUT,CPTR
|
||
JRST CD5
|
||
|
||
X: PUSHJ P,GETARG
|
||
CAMLE C,B
|
||
JSR ERR
|
||
EXCH B,C
|
||
SUBI C,-3(B) ;C HAS NO. CHARS TO X AWAY + 3
|
||
ADD B,C ;1ST THREE CHARS ARE GLITCH, REMAINDER, LENGTH STRING/7
|
||
PUSH P,PT
|
||
ADDM C,(P)
|
||
MOVE D,BEG
|
||
MOVEM D,PT
|
||
PUSHJ P,NROOM
|
||
MOVE OUT,RREL
|
||
ADDM OUT,(P)
|
||
ADD B,OUT
|
||
MOVE OUT,BEG
|
||
ADDM C,BEG
|
||
MOVEI CH,141
|
||
PUSHJ P,PUT
|
||
AOS OUT
|
||
MOVE CH,C
|
||
PUSHJ P,PUT
|
||
ROT CH,-7
|
||
MOVE IN,B
|
||
AOS OUT
|
||
X1: PUSHJ P,PUT
|
||
AOS OUT
|
||
CAIN C,3
|
||
JRST X2
|
||
PUSHJ P,GETINC
|
||
SOJA C,X1
|
||
X2: MOVE B,PT
|
||
SUB B,QRBUF
|
||
TLO B,400000
|
||
POP P,PT
|
||
JRST USEA
|
||
|
||
QGET: PUSHJ P,QREG+1
|
||
MOVE B,A
|
||
TLZN B,377777
|
||
TLZN B,400000
|
||
JSR ERR
|
||
ADD B,QRBUF
|
||
MOVE IN,B
|
||
MOVE B,CH
|
||
PUSHJ P,GETINC
|
||
CAIE CH,141
|
||
JSR ERR
|
||
PUSHJ P,GETINC
|
||
MOVEM CH,C
|
||
PUSHJ P,GETINC
|
||
ROT CH,7
|
||
IORM CH,C
|
||
SUBI C,3
|
||
PUSHJ P,NROOM
|
||
MOVE OUT,PT
|
||
HRRZ IN,QTAB-"0(B)
|
||
ADD IN,QRBUF
|
||
ADDI IN,3
|
||
QGET1: JUMPE C,RET
|
||
PUSHJ P,GETINC
|
||
PUSHJ P,PUT
|
||
AOS OUT,PT
|
||
SOJA C,QGET1
|
||
|
||
CLRBF: PUSHJ P,PIBUFC
|
||
CONO PTR,0
|
||
JRST RET
|
||
|
||
GETARG: TRNE FF,ARG2
|
||
JRST GETAG6
|
||
TRON FF,ARG
|
||
PUSHJ P,CHK2+2
|
||
GETAG7: MOVE IN,PT
|
||
GETAG4: JUMPLE B,GETAG2
|
||
CAMN IN,Z
|
||
JRST GETAG5
|
||
PUSHJ P,GETINC
|
||
CAIE CH,12
|
||
JRST GETAG4
|
||
SOJG B,GETAG4
|
||
|
||
|
||
GETAG1: MOVE B,IN
|
||
MOVE C,PT
|
||
POPJ P,
|
||
|
||
GETAG5: MOVE B,IN
|
||
JRST GETAG1+1
|
||
GETAG6: ADD B,BEG
|
||
ADD C,BEG
|
||
POPJ P,
|
||
|
||
|
||
GETAG2: SOS IN
|
||
CAMG IN,BEG
|
||
JRST GETAG3
|
||
PUSHJ P,GETINC
|
||
CAIE CH,12
|
||
SOJA IN,GETAG2
|
||
AOJLE B,.-1
|
||
GETAG3: CAMGE IN,BEG
|
||
MOVE IN,BEG
|
||
MOVE C,IN
|
||
MOVE B,PT
|
||
POPJ P,
|
||
|
||
|
||
ECMD: PUSHJ P,.OPNTP
|
||
ECMD1: PUSHJ P,RCH
|
||
CAIN CH,"L
|
||
JRST LISTF
|
||
CAIN CH,"R
|
||
JRST .OPNRD
|
||
CAIN CH,"C
|
||
JRST CLSTP
|
||
CAIN CH,"F
|
||
JRST .FILE
|
||
CAIN CH,"D
|
||
JRST DELE
|
||
CAIN CH,"N
|
||
JRST RENAM
|
||
CAIN CH,"I
|
||
JRST WINIT
|
||
CAIN CH,"K
|
||
JRST TAPKIL"
|
||
CAIN CH,"S
|
||
JRST MTNAM
|
||
CAIN CH,"T
|
||
POPJ P,
|
||
CAIN CH,"M
|
||
JRST LISTFM
|
||
JSR ERR
|
||
|
||
.OPNTP: MOVE A,B
|
||
TRNN FF,ARG
|
||
MOVE A,UFPNTR+2
|
||
.OPN1: PUSHJ P,FILEST"
|
||
JRST UTERR
|
||
POPJ P,
|
||
|
||
UTERR: JRST .+3(A)
|
||
TYPR1 [ASCII /UNIT UNABLE
|
||
!/]
|
||
TYPR1 [ASCII /BAD DIRECTORY
|
||
!/]
|
||
TYPR1 [ASCII /TOO MANY DIRECTORIES
|
||
!/]
|
||
|
||
XON: TLOA FF,UREAD
|
||
XOFF: TLZ FF,UREAD
|
||
JRST RET
|
||
|
||
TAPE: TLZA FF,PNSTOP
|
||
NTAPE: TLO FF,PNSTOP
|
||
JRST RET
|
||
CNTRLB:
|
||
MOVEI CH,14
|
||
AOSN CTLBF'
|
||
PUSHJ P,APILPT
|
||
TLO FF,PNSTOP
|
||
TLOA FF,LPTF
|
||
CNTRLE: TLZ FF,LPTF
|
||
JRST RET
|
||
|
||
CNTRLW: TLOA FF,UWRITE
|
||
CNTRLV: TLZ FF,UWRITE
|
||
JRST RET
|
||
|
||
PATCH: BLOCK 100
|
||
|
||
ZZ==.
|
||
RDCHN==3<>
|
||
PCHCHN==UTCCHN"
|
||
FLGCHN==6
|
||
DATCHN==7
|
||
APRCHN==5
|
||
TPCHN==2
|
||
TPCHNA==40
|
||
LPTCHN==PCHCHN
|
||
TTYCHN==PCHCHN
|
||
|
||
|
||
LOC 40+APRCHN+APRCHN
|
||
JSR IAPRBRK
|
||
|
||
LOC 40+RDCHN+RDCHN
|
||
JSR RBRK
|
||
|
||
LOC 40+FLGCHN+FLGCHN
|
||
JSR RECYC
|
||
|
||
LOC 40+DATCHN+DATCHN
|
||
BLKO DIS,BLKOP
|
||
JRST 4,.
|
||
|
||
LOC 40+PCHCHN+PCHCHN
|
||
JSR PBRK
|
||
|
||
LOC ZZ
|
||
|
||
RECYC: 0
|
||
EXCH A,BLKOPR
|
||
MOVEM A,BLKOP
|
||
EXCH A,BLKOPR
|
||
CONO DIS,100+FLGCHN*10+DATCHN
|
||
JRST 12,@RECYC
|
||
DISINI: MOVE T,Z
|
||
IDIVI T,5
|
||
ADDI T,A
|
||
MOVEM T,DISBUF
|
||
MOVEI TT,20115
|
||
IOR TT,CHSIZ
|
||
PUSH T,TT
|
||
PUSH T,[221700060000
|
||
HRLI T,600
|
||
MOVEM T,DISPNR
|
||
LDB TT,[(40200)CHSIZ
|
||
MOVNS TT
|
||
MOVEI T,170.
|
||
LSH T,(TT)
|
||
TRZ T,7
|
||
MOVEM T,CHCNTS
|
||
MOVNM T,CHCNT
|
||
MOVEI T,100.
|
||
MOVEM T,LINES
|
||
CLEARM BARPNT
|
||
POPJ P,
|
||
|
||
DEFINE LC A
|
||
A,,DISLC
|
||
TERMIN
|
||
|
||
DEFINE UC A
|
||
DISUC,,A
|
||
TERMIN
|
||
|
||
DEFINE AC A
|
||
A,,A
|
||
TERMIN
|
||
|
||
|
||
DISAD: SKIPN LINES
|
||
POPJ P,
|
||
MOVE A,PT
|
||
CAIN IN,1(A)
|
||
JRST DISBAR
|
||
DISAD7: CAIL CH,"
|
||
CAILE CH,"Z
|
||
JRST DISAD1
|
||
DISAD5: AOSG CHCNT
|
||
DISAD6: IDPB CH,DISPNR
|
||
POPJ P,
|
||
|
||
DISAD1: CAIN CH,^M
|
||
JRST DISAD2
|
||
CAIN CH,^J
|
||
JRST DISAD3
|
||
CAIN CH,^G
|
||
JRST DISAD8
|
||
CAIE CH,^I
|
||
JRST DISAD4
|
||
MOVEI CH,40
|
||
PUSHJ P,DISAD5
|
||
LDB CH,[300,,CHCNT]
|
||
JUMPN CH,.-3
|
||
POPJ P,
|
||
|
||
DISAD2: MOVE CH,CHCNTS
|
||
MOVNM CH,CHCNT
|
||
MOVEI CH,34
|
||
JRST DISAD6
|
||
|
||
DISAD4: CAIL CH,40
|
||
CAIL CH,140
|
||
JRST DISBLB
|
||
MOVS CH,BLOBS-"[(CH)
|
||
DISAD9: HRRI CH,36
|
||
IDPB CH,DISPNR
|
||
MOVSS CH
|
||
IDPB CH,DISPNR
|
||
MOVEI CH,35
|
||
JRST DISAD5
|
||
|
||
DISAD3: SOS LINES
|
||
MOVEI CH,33
|
||
JRST DISAD6
|
||
|
||
DISAD8: MOVSI CH,63
|
||
JRST DISAD9
|
||
|
||
DISBAR: MOVEI A,36
|
||
IDPB A,DISPNR
|
||
MOVEI A,62
|
||
IDPB A,DISPNR
|
||
MOVE A,DISPNR
|
||
MOVEM A,BARPNT
|
||
MOVEI A,35
|
||
IDPB A,DISPNR
|
||
JRST DISAD7
|
||
|
||
BLOBS: 53 ? 52 ? 54 ? 46 ? 51 ? 50
|
||
LINES: 0
|
||
|
||
DISBLB: PUSH P,CH
|
||
MOVEI CH,36
|
||
IDPB CH,DISPNR
|
||
MOVEI CH,50
|
||
IDPB CH,DISPNR
|
||
MOVEI CH,73
|
||
IDPB 16,DISPNR
|
||
MOVEI CH,35
|
||
IDPB 16,DISPNR
|
||
MOVE CH,(P)
|
||
CAIGE CH,100
|
||
JRST DISBB1
|
||
MOVEI 16,61
|
||
PUSHJ P,DISAD5
|
||
DISBB1: MOVE CH,(P)
|
||
ANDI CH,70
|
||
JUMPE CH,DISBB2
|
||
LSH CH,-3
|
||
ADDI CH,"0
|
||
PUSHJ P,DISAD5
|
||
DISBB2: POP P,CH
|
||
ANDI CH,7
|
||
ADDI CH,"0
|
||
PUSHJ P,DISAD5
|
||
MOVSI CH,77
|
||
JRST DISAD9
|
||
|
||
DISCLG: MOVE A,DISPNR
|
||
MOVEI CH,37
|
||
IDPB CH,A
|
||
TLNE A,550000
|
||
JRST .-2
|
||
TLC A,2400
|
||
MOVEI CH,3000
|
||
IDPB CH,A
|
||
HRRZ B,DISBUF
|
||
MOVEM B,BLKOPR
|
||
MOVEI CH,6
|
||
CAIL B,-20.(A)
|
||
XORM CH,1(B)
|
||
CONO PI,2237
|
||
CONO PI,4002
|
||
CONO APR,2000+APRCHN
|
||
POPJ P,
|
||
|
||
GET: MOVE TT,IN
|
||
IDIVI TT,5
|
||
LDB CH,BTAB(TT1)
|
||
POPJ P,
|
||
|
||
PUT: MOVE TT,OUT
|
||
IDIVI TT,5
|
||
DPB CH,BTAB(TT1)
|
||
POPJ P,
|
||
|
||
GETINC: PUSHJ P,GET
|
||
AOJA IN,GETINC-1
|
||
|
||
BTAB: 350700+TT,,
|
||
260700+TT,,
|
||
170700+TT,,
|
||
100700+TT,,
|
||
10700+TT,,
|
||
|
||
|
||
NROOM: MOVEM 17,AC2+15
|
||
MOVE 17,PT
|
||
CAMN 17,Z
|
||
JRST NROOM1
|
||
MOVE 17,[(2)AC2]
|
||
BLT 17,AC2+14
|
||
JUMPL C,NROOM6
|
||
SETOM GCFLG
|
||
CLEARM CRREL
|
||
CLEARM RREL
|
||
NROOM9: MOVE 17,Z
|
||
ADD 17,C
|
||
CAML 17,MEMSIZ
|
||
JRST GC
|
||
MOVE 14,C
|
||
IDIVI 14,5
|
||
IMULI 15,7
|
||
MOVN 13,15
|
||
MOVEI 15,-43(15)
|
||
MOVE 11,PT
|
||
IDIVI 11,5
|
||
MOVNI 16,-5(12)
|
||
IMULI 16,7
|
||
DPB 16,[(300600)NROOM2]
|
||
ADDI 14,1(11)
|
||
MOVE 16,Z
|
||
IDIVI 16,5
|
||
MOVEI B,1(16)
|
||
SUB B,11
|
||
HRLI 11,(MOVE A,(B))
|
||
HRLOI 12,(ROT A,)
|
||
HRLI 13,(ROTC A,)
|
||
HRLI 14,(MOVEM AA,(B))
|
||
HRLI 15,(ROTC A,)
|
||
MOVE 17,[JRST,.+3]
|
||
MOVE 16,.+1
|
||
SOJGE B,11
|
||
ROTC A,43(13)
|
||
DPB A,NROOM2
|
||
ADDM C,Z
|
||
NROOM5: MOVS 17,[(2)AC2]
|
||
BLT 17,17
|
||
POPJ P,
|
||
|
||
NROOM2: (10000),-1(14)
|
||
|
||
NROOM1: ADDM C,Z
|
||
MOVE 17,AC2+15
|
||
POPJ P,
|
||
|
||
NROOM6: MOVE 14,PT
|
||
IDIVI 14,5
|
||
MOVEM 14,B
|
||
HRRM 14,NROOM4
|
||
IMULI 15,7
|
||
DPB 15,[(300600)NROOM4
|
||
MOVNI 15,-44(15)
|
||
DPB 15,[(360600)NROOM4
|
||
MOVE 11,Z
|
||
IDIVI 11,5
|
||
ADDI 11,1
|
||
MOVE 13,C
|
||
IDIVI 13,5
|
||
ADDI 13,-1(11)
|
||
MOVNM 14,12
|
||
IMULI 12,7
|
||
MOVNI 15,-43(12)
|
||
SUBI B,1(13)
|
||
|
||
NROOM8: HRLI 11,(MOVE AA,(B))
|
||
HRLI 12,(ROTC A,)
|
||
HRLI 13,(MOVEM A,(B))
|
||
MOVE 14,[ADDM A,@13
|
||
HRLI 15,(ROTC A,)
|
||
MOVE 17,[JRST NROOM3
|
||
ADDM C,Z
|
||
LDB C,NROOM4
|
||
MOVE A,@11
|
||
ROT A,-1
|
||
MOVE 16,.+1
|
||
AOJLE B,11
|
||
|
||
NROOM3: DPB C,NROOM4
|
||
JRST NROOM5
|
||
|
||
NROOM4: 0
|
||
|
||
GC: AOSE GCFLG
|
||
TYPR1 [ASCII /STORAGE CAPACITY EXCEEDED
|
||
!/]
|
||
SETOM GCPTR
|
||
CLEARM SYMS
|
||
MOVE T,[SYMS,,SYMS+1
|
||
BLT T,SYMEND-1 ;CLEAR O SYM TAB
|
||
MOVEI T,CPTR ;MARK CPTR
|
||
PUSHJ P,GCMA
|
||
HRRZ T,P
|
||
CAIL T,PDL
|
||
PUSHJ P,GCMA
|
||
CAILE T,PDL
|
||
SOJA T,.-2 ;MARK PDL
|
||
HRRZ T,AC2+PF-2 ;SAVED PF
|
||
CAIL T,PFL
|
||
PUSHJ P,GCM
|
||
CAILE T,PFL
|
||
SOJA T,.-2
|
||
MOVE T,[(,-36.)QTAB]
|
||
PUSHJ P,GCM
|
||
AOBJN T,.-1
|
||
SKIPGE GCPTR
|
||
JRST NROOM9
|
||
|
||
GCS: MOVE IN,QRBUF
|
||
GCS1A: MOVSI TT,1*5
|
||
MOVE OUT,GCPTR
|
||
GCS1: HRRZ A,GCTAB(OUT)
|
||
ADD A,QRBUF
|
||
CAMGE A,IN
|
||
JRST GCS2
|
||
CAMGE A,TT
|
||
MOVE TT,A
|
||
GCS2: SOJGE OUT,GCS1
|
||
TRNN TT,-1
|
||
JRST NROOM9
|
||
MOVE F,TT
|
||
IDIVI IN,5
|
||
IDIVI F,5
|
||
AOS IN
|
||
MOVS OUT,F
|
||
MOVE T,F
|
||
SUB T,IN
|
||
JUMPLE T,GCS4A
|
||
HRR OUT,IN
|
||
MOVE B,Z
|
||
IDIVI B,5
|
||
SUB B,T
|
||
BLT OUT,(B)
|
||
MOVNS OUT,T
|
||
IMULI OUT,5
|
||
ADDM OUT,BEG
|
||
ADDM OUT,PT
|
||
ADDM OUT,Z
|
||
ADDM OUT,RREL
|
||
MOVE CH,GCPTR
|
||
GCS3: HRRZ A,GCTAB(CH)
|
||
ADD A,QRBUF
|
||
CAMGE A,TT
|
||
JRST GCS4
|
||
ADDM OUT,GCTAB(CH)
|
||
HLRZ A,GCTAB(CH)
|
||
CAIN A,CPTR
|
||
ADDM OUT,CRREL
|
||
SKIPL (A)
|
||
ADDM T,(A)
|
||
SKIPGE (A)
|
||
ADDM OUT,(A)
|
||
GCS4: SOJGE CH,GCS3
|
||
ADD TT,OUT
|
||
GCS4A: MOVE IN,TT
|
||
PUSHJ P,GETINC
|
||
CAIE CH,141
|
||
GCERR: TYPR1 [ASCII /GC ERROR
|
||
!/]
|
||
PUSHJ P,GETINC
|
||
MOVE A,CH
|
||
PUSHJ P,GETINC
|
||
ROT CH,7
|
||
IOR A,CH
|
||
ADDI IN,-3(A)
|
||
JRST GCS1A
|
||
|
||
GCM: MOVE IN,(T)
|
||
TLZE IN,400000
|
||
TLZE IN,377777
|
||
POPJ P,
|
||
ADD IN,QRBUF
|
||
GCM2: CAML IN,BEG
|
||
POPJ P,
|
||
PUSHJ P,GET
|
||
CAIE CH,141
|
||
POPJ P,
|
||
SUB IN,QRBUF
|
||
JUMPL IN,CPOPJ
|
||
AOS TT,GCPTR
|
||
CAIL TT,GCTBL
|
||
JRST GCERR
|
||
HRL IN,T
|
||
MOVEM IN,GCTAB(TT)
|
||
POPJ P,
|
||
|
||
GCMA: LDB TT,[(221400+T)] ;PTR IN T
|
||
CAIE TT,700
|
||
POPJ P,
|
||
MOVE IN,-1(T) ;GET COMAX
|
||
SUB IN,1(T) ;SUB COMCNT
|
||
LDB TT,[(360600+T)]
|
||
IDIVI TT,7
|
||
MOVEI TT1,2
|
||
SUB TT1,TT
|
||
HRRZ TT,(T)
|
||
IMULI TT,5
|
||
ADD TT,TT1
|
||
SUBM TT,IN
|
||
JRST GCM2
|
||
|
||
IAPRBRK: 0
|
||
PUSH P,A
|
||
CONSO 1200
|
||
JRST ILMEM
|
||
CONO 1440+APRCHN
|
||
JSR APRBRK"
|
||
SOSG BARFL1
|
||
JRST BARFL2
|
||
APRBK7: SKIPGE OFTAPE
|
||
CONSZ PTR,400
|
||
JRST APRB69
|
||
SETOM PWOWOT
|
||
APRB69: SKIPGE RBRK+1
|
||
AOSG RDRUN
|
||
JRST APRBK3
|
||
MOVEI A,(JSR)
|
||
HRLM A,RBRK+1
|
||
SETOM OFTAPE
|
||
CONO PTR,400
|
||
APRBK3: CONSO DIS,77
|
||
JRST APRBA
|
||
MOVE A,BLKOP
|
||
HRRZS BLKOP
|
||
CAMN A,BLKOP
|
||
CONO PI,4002
|
||
APRBA: AOS TIME
|
||
POP P,A
|
||
JRST 12,@IAPRBRK
|
||
|
||
BARFL2: CONSO DIS,77
|
||
JRST APRBK7
|
||
MOVEI A,30.
|
||
MOVEM A,BARFL1
|
||
LDB A,BARPNT
|
||
TRC A,22
|
||
DPB A,BARPNT
|
||
JRST APRBK7
|
||
|
||
|
||
ILMEM: MOVEI B,0
|
||
CONSO 200000
|
||
MOVEI B,10
|
||
CONO 433550+APRCHN
|
||
MOVE P,[(,-LPDL)PDL]
|
||
MOVEI CH,7
|
||
PUSHJ P,TYO
|
||
SOJG B,.-1
|
||
JRST 10,ERR+1
|
||
|
||
APILPT: EXCH A,CH
|
||
PUSHJ P,PILPT"
|
||
EXCH A,CH
|
||
POPJ P,
|
||
|
||
PIPUN: SKIPG PUNCC
|
||
JRST .-1
|
||
IDPB CH,PUNIP
|
||
HRRZ CH,PUNIP
|
||
CAIN CH,PUNBE-1
|
||
MOVEI CH,PUNBO
|
||
HRRM CH,PUNIP
|
||
SOS CH,PUNCC
|
||
CONSO PTP,7
|
||
CONO PTP,10+PCHCHN
|
||
POPJ P,
|
||
|
||
PBRK: 0
|
||
JSR UTCBRK"
|
||
PUSH P,A
|
||
PBRK1:
|
||
JRST LPTBRK"
|
||
LPTRTN":
|
||
CONSO PTP,10
|
||
JRST PITELE
|
||
MOVEI A,+<PUNBE-PUNBO>*4-4
|
||
CAMG A,PUNCC
|
||
JRST PUNSTP
|
||
ILDB A,PUNOP
|
||
DATAO PTP,A
|
||
HRRZ A,PUNOP
|
||
CAIN A,PUNBE-1
|
||
MOVEI A,PUNBO
|
||
HRRM A,PUNOP
|
||
AOSA PUNCC
|
||
PUNSTP: CONO PTP,0
|
||
POPRET": POP P,A
|
||
JRST 12,@PBRK
|
||
|
||
PUNCC: +<PUNBE-PUNBO>*4-4
|
||
PUNIP: (1000)PUNBO-1
|
||
PUNOP: (1000)PUNBO-1
|
||
TTYRET=POPRET
|
||
RBRK: 0
|
||
JSR RDTEM
|
||
EXCH B,RDTEM
|
||
PUSH P,A
|
||
MOVNI A,10
|
||
MOVEM A,RDRUN
|
||
IDPB B,RDIP
|
||
HRRZ A,RDIP
|
||
CAIN A,RBEND-1
|
||
MOVEI A,RBUF
|
||
HRRM A,RDIP
|
||
AOS A,RCC
|
||
CAILE A,RDCHAR/4
|
||
CAIE B,214
|
||
CAIL A,RBEND*5-RBUF*5-30
|
||
JRST RBRK2
|
||
RBRK3: POP P,A
|
||
MOVE B,RDTEM
|
||
JRST 12,@RBRK
|
||
|
||
RBRK2: MOVEI A,(JSR)
|
||
HRLM A,RBRK+1
|
||
JRST RBRK3
|
||
|
||
RDTEM: 0
|
||
CONO PTR,RDCHN
|
||
JRST 12,@RBRK
|
||
PIRPA3: AOSN PWOWOT
|
||
PUSHJ P,PIBUF1
|
||
AOSG OFTAPE
|
||
JRST PIBUFX
|
||
MOVEI CH,20
|
||
SKIPL RBRK+1
|
||
PUSHJ P,RDST+1
|
||
PIRPA: SKIPG RCC
|
||
JRST PIRPA3
|
||
HRRZ CH,RDOP
|
||
CAIN CH,RBEND-1
|
||
MOVEI CH,RBUF
|
||
HRRM CH,RDOP
|
||
SOS CH,RCC
|
||
SKIPL OFTAPE
|
||
CAIL CH,RDCHAR*3/4
|
||
JRST PIRPA4
|
||
SKIPL RBRK+1
|
||
PUSHJ P,RDST
|
||
PIRPA4: ILDB CH,RDOP
|
||
CAIN CH,177
|
||
JRST PIRPA
|
||
JUMPE CH,PIRPA
|
||
POPJ P,
|
||
|
||
PIBUFX: CONO PTR,400
|
||
JRST PIBUFD
|
||
|
||
PIBUF1: CLEARM OFTAPE
|
||
PIBUFC: CONO PTR,0
|
||
PIBUFD: MOVNI CH,10
|
||
MOVEM CH,RCC
|
||
MOVE CH,RDIP
|
||
MOVEM CH,RDOP
|
||
MOVEI CH,(JSR)
|
||
HRLM CH,RBRK+1
|
||
MOVEI CH,14
|
||
POPJ P,
|
||
|
||
RDST: MOVEI CH,10
|
||
MOVNM CH,RDRUN
|
||
CONSZ PTR,20
|
||
JRST .-1
|
||
HRLI CH,(DATAI PTR,)
|
||
HLLM CH,RBRK+1
|
||
CONO PTR,RDCHN(CH)
|
||
POPJ P,
|
||
|
||
RDOP: (700)RBUF
|
||
RDIP: (700)RBUF
|
||
RCC: 0
|
||
OFTAPE: 0
|
||
RDRUN: 0
|
||
|
||
LOOK: HRLZI A,-27
|
||
SKIPA TT,UFPNTR"
|
||
ADDI TT,2
|
||
CAMN B,(TT)
|
||
CAME C,1(TT)
|
||
AOBJN A,LOOK+2
|
||
TLZN A,-1
|
||
POPJ P, ;NOT FOUND
|
||
AOJA A,WR2
|
||
POPJ1:
|
||
WR2: AOS (P)
|
||
POPJ P,
|
||
|
||
|
||
FRD2: SKIPA A,AA
|
||
FRD: MOVSI A,(SIXBIT /@/)
|
||
MOVSI AA,(SIXBIT /@/)
|
||
MOVE T,[(600)A
|
||
FRD1: PUSHJ P,RCH
|
||
CAIN CH,175
|
||
POPJ P,
|
||
TRC CH,40
|
||
JUMPE CH,FRD-1
|
||
CAIN CH,77
|
||
MOVEI CH,0
|
||
CAME T,[(600)AA
|
||
IDPB CH,T
|
||
JRST FRD1
|
||
|
||
RRED: MOVE A,LFRED1
|
||
MOVE AA,LFRED2
|
||
JRST .OPNR1
|
||
|
||
|
||
.OPNRD: PUSHJ P,FRD
|
||
MOVEM A,LFRED1
|
||
MOVEM AA,LFRED2
|
||
.OPNR1: PUSHJ P,OPNRD"
|
||
TYPR1 [ASCII /FILE NOT FOUND
|
||
!/]
|
||
TLO FF,UREAD
|
||
POPJ 1,
|
||
|
||
LFRED1: 0
|
||
LFRED2: 0
|
||
|
||
DELE: PUSHJ P,FRD
|
||
JRST UDELE"
|
||
|
||
.FILE: PUSHJ P,FRD
|
||
MOVEM A,LFRED1
|
||
MOVEM AA,LFRED2
|
||
PUSHJ P,FILE"
|
||
TPFUL: TYPR1 [ASCII /TAPE FULL!/]
|
||
POPJ P,
|
||
|
||
CLSTP: TRNN FF,ARG2
|
||
JRST UCLSTP"
|
||
PUSH P,UFPNTR+2
|
||
PUSH P,UFPNTR
|
||
MOVE A,C
|
||
PUSHJ P,.OPN1
|
||
POP P,UFPNTR
|
||
PUSHJ P,UCLSTP
|
||
POP P,A
|
||
JRST .OPN1
|
||
|
||
MTNAM: MOVE OUT,[220600+IN,,177]
|
||
MOVE IN,UFPNTR
|
||
HLLZS 177(IN)
|
||
|
||
MTN1: PUSHJ P,RCH
|
||
SUBI CH,40
|
||
JUMPE CH,MTN1
|
||
CAIE CH,175-40
|
||
TLNN OUT,770000
|
||
POPJ P,
|
||
IDPB CH,OUT
|
||
JRST MTN1
|
||
|
||
LISTFM: SKIPA OUT,[TYOM]
|
||
LISTF: MOVEI OUT,TYO
|
||
CLEARM LISFLG
|
||
HRRM OUT,LISTF5
|
||
CNTRU5: PUSHJ P,CRR1
|
||
MOVE C,UFPNTR
|
||
MOVE C,177(C)
|
||
CAMN C,[-1]
|
||
JRST LSTF1A
|
||
LSH C,18.
|
||
PUSHJ P,TYPR
|
||
PUSHJ P,CRR1
|
||
LSTF1A: SKIPN LISFLG
|
||
JRST LISTF9
|
||
MOVE OUT,[(600)[SIXBIT /TAPE/]-1]
|
||
PUSHJ P,TYPR+1
|
||
MOVE B,UFPNTR+2
|
||
PUSHJ P,DPT
|
||
PUSHJ P,LISTF4
|
||
LISTF9: MOVEI B,0
|
||
MOVE A,UFPNTR
|
||
HRLI A,-23.
|
||
SKIPN (A)
|
||
SKIPE 1(A)
|
||
AOJA A,.+2
|
||
AOJA B,.-1
|
||
AOBJN A,.-4
|
||
JUMPN B,.+4
|
||
MOVE OUT,[(600)[SIXBIT /NO/]-1]
|
||
MOVEI IN,3
|
||
PUSHJ P,TYPR+2
|
||
MOVE OUT,[(600)[SIXBIT /FREE FILES/]-1]
|
||
PUSHJ P,LISTFA
|
||
JUMPE B,.+3
|
||
PUSHJ P,DPT
|
||
PUSHJ P,LISTF4
|
||
MOVE OUT,[(600) [SIXBIT /FREE BLOCKS/]-1]
|
||
PUSHJ P,LISTFA
|
||
HRLZI TT1,-30
|
||
MOVEI A,0
|
||
MOVE D,UFPNTR
|
||
SUBI D,2
|
||
JRST LISTF1
|
||
|
||
|
||
|
||
ADDI D,2
|
||
SKIPN C,(D)
|
||
LISTF3: AOBJN TT1,.-2
|
||
TLNN TT1,-1
|
||
POPJ P,
|
||
HRRZ B,TT1
|
||
SKIPN LISFLG
|
||
JRST .+4
|
||
PUSHJ P,DPT
|
||
MOVEI CH,40
|
||
PUSHJ P,@LISTF5
|
||
ADD TT1,UFPNTR
|
||
MOVE B,55(TT1)
|
||
LDB CH,[(100)104(TT1)]
|
||
DPB B,[(10100)CH]
|
||
SUB TT1,UFPNTR
|
||
ADDI CH,40
|
||
PUSHJ P,@LISTF5
|
||
PUSHJ P,LISTF4
|
||
TLNN C,770000
|
||
PUSHJ P,LISTF4
|
||
TLNE C,770000
|
||
PUSHJ P,TYPR-1
|
||
MOVE C,1(D)
|
||
PUSHJ P,TYPR-1
|
||
HRRZ A,TT1
|
||
LISTF1: SETZB B,E
|
||
MOVE OUT,UFPNTR+1
|
||
ILDB CH,OUT
|
||
CAIN CH,(A)
|
||
AOS E
|
||
CAIE CH,37
|
||
JRST .-4
|
||
SKIPE C,A
|
||
PUSHJ P,LOOK
|
||
SKIPA B,E
|
||
JRST LISTF1+1
|
||
PUSHJ P,DPT
|
||
MOVNS LISFLG
|
||
SKIPGE LISFLG
|
||
PUSHJ P,LISTF4
|
||
SKIPGE LISFLG
|
||
PUSHJ P,LISTF4
|
||
SKIPL LISFLG
|
||
PUSHJ P,CRR1
|
||
JRST LISTF3
|
||
PUSH P,TYPR2
|
||
TYPR: MOVE OUT,[(600)C-1]
|
||
MOVEI IN,6
|
||
ILDB CH,OUT
|
||
ADDI CH,40
|
||
LISTF5: PUSHJ P,.
|
||
SOJG IN,.-3
|
||
TYPR2: POPJ P,LISTF4
|
||
LISTFA: PUSHJ P,TYPR+1
|
||
PUSHJ P,TYPR+1
|
||
SLTAB:
|
||
LISTF4: MOVEI CH,11
|
||
JRST @LISTF5
|
||
|
||
LISFLG: 0
|
||
|
||
RENAM: PUSH P,C
|
||
PUSHJ P,FRD
|
||
PUSHJ P,.LOOK"
|
||
TYPR1 [ASCII /NOT FOUND
|
||
!/]
|
||
PUSH P,A+2 ;FILE NO
|
||
PUSH P,A+3 ;PNTR TO FIRST WD OF NAME
|
||
PUSHJ P,FRD
|
||
PUSHJ P,.LOOK
|
||
JRST RNAM1
|
||
CAME A+3,(P)
|
||
TYPR1 [ASCII /ALREADY EXISTS
|
||
!/]
|
||
RNAM1: POP P,TT
|
||
MOVEM A,(TT)
|
||
MOVEM A+1,1(TT)
|
||
POP P,A
|
||
POP P,C
|
||
TRNN FF,ARG2
|
||
POPJ P,
|
||
ADD A,UFPNTR"
|
||
DPB C,[(100)104(A)]
|
||
LSH C,-1
|
||
DPB C,[(100)55(A)]
|
||
POPJ P,
|
||
|
||
WINIT: TLO FF,PNSTOP+UWRITE
|
||
PUSHJ P,OPNWR"
|
||
JSR ERR
|
||
POPJ P,
|
||
|
||
ETYPER: 0
|
||
HRLZI B,440700
|
||
HRR 4,40
|
||
ILDB CH,B
|
||
CAIN CH,"!
|
||
JRST ETYP1
|
||
PUSHJ P,TYO
|
||
JRST .-4
|
||
|
||
ETYP1: MOVEI A,TOBS
|
||
CAME A,TORM
|
||
JRST ETYP1
|
||
JRST GOZ
|
||
|
||
CNTRLU: PUSHJ P,.OPNTP
|
||
SETOM LISFLG ;MAKE SURE DISAD TEST FOR DISBAR FAILS
|
||
|
||
PUSH P,CHSIZ
|
||
MOVEI A,20
|
||
MOVEM A,CHSIZ
|
||
MOVEI A,DISAD
|
||
HRRM A,LISTF5
|
||
PUSHJ P,DISINI
|
||
MOVE OUT,UFPNTR"+1
|
||
CNTRU4: MOVEI C,25.
|
||
MOVEI T,0
|
||
CNTRU2: ILDB B,OUT
|
||
CAIN B,37
|
||
JRST CNTRU3
|
||
SKIPN B
|
||
AOJA T,.+2
|
||
PUSHJ P,CNTRUA
|
||
SOJG C,CNTRU2
|
||
PUSHJ P,CRR1
|
||
JRST CNTRU4
|
||
|
||
CNTRU3: PUSHJ P,CNTRU5
|
||
PUSHJ P,DISCLG
|
||
TRO FF,VIEWF
|
||
POP P,CHSIZ
|
||
JRST RET
|
||
|
||
CNTRU6: MOVEI IN,3
|
||
MOVEI CH,40
|
||
PUSHJ P,DISAD
|
||
SOJG IN,.-2
|
||
SOS T
|
||
CNTRUA: JUMPG T,CNTRU6
|
||
MOVEI IN,3
|
||
TRO FF,VIEWF
|
||
IDIVI B,10.
|
||
HRLM E,(P)
|
||
SOSLE IN
|
||
PUSHJ P,CNTRUA+2
|
||
HLRZ CH,(P)
|
||
ADDI CH,40
|
||
CAIG CH,40
|
||
TRNN FF,VIEWF
|
||
ADDI CH,20
|
||
CAIL CH,60
|
||
TRZ FF,VIEWF
|
||
JRST DISAD
|
||
|
||
|
||
LIGHTS: TRNE FF,ARG
|
||
JRST LIGT1
|
||
CONI 760,A
|
||
LSH A,-9.
|
||
JRST VALRET
|
||
|
||
LIGT1: LSH B,9
|
||
CONO 760,(B)
|
||
JRST RET
|
||
|
||
SFINDF: 0
|
||
TABCNT: 0
|
||
BEG: 0
|
||
PT: 0
|
||
Z: 0
|
||
QRBUF: 0
|
||
LEV: 0
|
||
COMAX: 0
|
||
CPTR: 0
|
||
COMCNT: 0
|
||
NUM: 0
|
||
SYL: 0
|
||
SARG: 0
|
||
LIFF: 0
|
||
ERR1: 0
|
||
ERR2: 0
|
||
BLKOP: 0
|
||
BLKOPR: 0
|
||
DISPNR: 0
|
||
CBUFH: 0
|
||
BARFL1: 0
|
||
TIME: 0
|
||
TABCNR: 0
|
||
BARPNT: 0
|
||
PWOWOT: 0
|
||
CHCNT: 0
|
||
DISBUF: 0
|
||
CHCNTS: 0
|
||
ITERCT: 0
|
||
MEMSIZ: 37000*5
|
||
GCPTR: 0
|
||
CRREL: 0
|
||
GCFLG: 0
|
||
RREL: 0
|
||
INTDPH: 0
|
||
|
||
GETSYL: TRZ FF,LET
|
||
MOVE B,[440600,,T]
|
||
MOVEI T,0
|
||
GETS1: PUSHJ P,PRCH1
|
||
CAIE CH,""
|
||
CAIN CH,"!
|
||
JRST GETS1
|
||
CAIG CH,"Z
|
||
CAIGE CH,"A
|
||
JRST GETS3
|
||
GETS4: TRO FF,LET
|
||
GETS2: TRC CH,40
|
||
TLNE B,770000
|
||
IDPB CH,B
|
||
JRST GETS1
|
||
GETS3: CAIG CH,"9
|
||
CAIGE CH,"0
|
||
CAIN CH,".
|
||
JRST GETS2
|
||
CAIE CH,"%
|
||
CAIN CH,"$
|
||
JRST GETS4
|
||
POPJ P,
|
||
|
||
P1FF: MOVEI CH,1
|
||
MOVEM CH,LNCNT
|
||
AOS PGCNT
|
||
JRST MNLP
|
||
|
||
SYMLST: PUSHJ P,RRED
|
||
MOVE CH,Z
|
||
IDIVI CH,5
|
||
ADDI CH,10
|
||
MOVEM CH,STPNR
|
||
MOVEM CH,STB
|
||
MOVEI CH,1
|
||
MOVEM CH,LNCNT
|
||
MOVEM CH,PGCNT
|
||
CLEARM PASS
|
||
CLEARM LBFCC
|
||
MOVEI CH,PPA
|
||
HRRM CH,LISTF5
|
||
MNLP: PUSHJ P,GETSYL
|
||
CAIN CH,";
|
||
JRST P1SC
|
||
TRNN FF,LET
|
||
JRST MNLP1
|
||
CAIE CH,"=
|
||
CAIN CH,":
|
||
JRST DEFSM
|
||
|
||
MNLP1: CAIN CH,14
|
||
JRST P1FF
|
||
CAIN CH,12
|
||
AOS LNCNT
|
||
JRST MNLP
|
||
|
||
DEFSM: PUSHJ P,ES
|
||
JUMPN D,MNLP
|
||
MOVEM T,@STPNR
|
||
AOS STPNR
|
||
HRR CH,LNCNT
|
||
HRL CH,PGCNT
|
||
MOVNM CH,@STPNR
|
||
AOS STPNR
|
||
JRST MNLP
|
||
|
||
P1SC: PUSHJ P,GETSYL
|
||
CAIE CH,^M
|
||
JRST P1SC
|
||
JRST MNLP
|
||
|
||
PRCH1: SKIPE PASS
|
||
JRST P2RCH
|
||
PUSHJ P,UTYI
|
||
TRZN FF,FINF
|
||
POPJ P,
|
||
MOVEI CH,1
|
||
MOVEM CH,LNCNT
|
||
MOVEM CH,PGCNT
|
||
MOVE CH,[440700,,LBF]
|
||
MOVEM CH,LBFIP
|
||
SETOM PASS
|
||
SETOM TPGF
|
||
PUSHJ P,RRED
|
||
PUSHJ P,.FNPNT
|
||
CLEARM LSYL
|
||
P2MLP: PUSHJ P,GETSYL
|
||
TRNN FF,LET
|
||
JRST P2A
|
||
CAIE CH,"=
|
||
CAIN CH,":
|
||
JRST P2A
|
||
CAIE CH,")
|
||
MOVEM T,LSYL
|
||
P2A: CAIN CH,";
|
||
JRST P2SC
|
||
CAIN CH,^L
|
||
JRST P2FF
|
||
CAIE CH,^J
|
||
JRST P2MLP
|
||
PUSHJ P,P2LFA
|
||
JRST P2MLP
|
||
P2LFA: MOVE B,LNCNT
|
||
PUSHJ P,SLDPT
|
||
P2FFA: PUSHJ P,SLTAB
|
||
SKIPN T,LSYL
|
||
JRST P2LF1
|
||
PUSHJ P,ES
|
||
JUMPE D,P2LF1
|
||
MOVMS FF,1(D)
|
||
HLRZ B,1(D)
|
||
PUSHJ P,SLDPT
|
||
PUSHJ P,SPSP
|
||
HRRZ B,1(D)
|
||
PUSHJ P,SLDPT
|
||
P2LF1: PUSHJ P,SLTAB
|
||
CLEARM SYLCPS
|
||
MOVE B,[440700,,STAB]
|
||
MOVEM B,LBFIP
|
||
P2LF2: SOSGE LBFCC
|
||
JRST P2LF3
|
||
ILDB CH,B
|
||
CAIN CH,SYM
|
||
JRST P2LFT
|
||
AOS SYLCPS
|
||
P2LFT1: PUSHJ P,PPA
|
||
JRST P2LF2
|
||
P2LF3: CLEARM LSYL
|
||
SKIPL TPGF
|
||
JRST P2LF5
|
||
P2LF6: MOVEI A,105
|
||
SUB A,SYLCPS
|
||
PUSHJ P,SPSP
|
||
SOJG A,.-1
|
||
MOVEI CH,"P
|
||
PUSHJ P,PPA
|
||
MOVEI CH,"A
|
||
PUSHJ P,PPA
|
||
MOVEI CH,"G
|
||
PUSHJ P,PPA
|
||
MOVEI CH,"E
|
||
PUSHJ P,PPA
|
||
MOVEI CH,"
|
||
PUSHJ P,PPA
|
||
MOVE B,PGCNT
|
||
PUSHJ P,SLDPT
|
||
AOSN TPGF
|
||
JRST P2LF4
|
||
MOVEI CH,".
|
||
PUSHJ P,PPA
|
||
MOVEI CH,"0(T)
|
||
PUSHJ P,PPA
|
||
JRST P2LF4
|
||
|
||
P2LF5A: IDIVI T,60.
|
||
JUMPN TT,P2LF4
|
||
JRST P2LF6
|
||
P2LF5: SKIPE T,LNCNT
|
||
SOJA T,P2LF5A
|
||
P2LF4: PUSHJ P,CRR1
|
||
CLEARM LBFCC
|
||
AOS LNCNT
|
||
POPJ P,
|
||
|
||
P2LFT: AOS A,SYLCPS
|
||
ANDI A,777770
|
||
ADDI A,8.
|
||
MOVEM A,SYLCPS
|
||
JRST P2LFT1
|
||
|
||
P2SC: PUSHJ P,GETSYL
|
||
CAIN CH,^M
|
||
JRST P2MLP
|
||
JRST P2SC
|
||
|
||
P2RCH: PUSHJ P,UTYI
|
||
TRZE FF,FINF
|
||
JRST SYME
|
||
CAIE A,^M
|
||
CAIN A,^J
|
||
POPJ P,
|
||
IDPB CH,LBFIP
|
||
AOS LBFCC
|
||
POPJ P,
|
||
|
||
P2FF: CLEARM LNCNT
|
||
PUSHJ P,P2FFA
|
||
AOS PGCNT
|
||
SETOM TPGF
|
||
JRST P2MLP
|
||
|
||
SPSP: MOVEI CH,40
|
||
JRST PPA
|
||
|
||
ES: MOVE D,STB
|
||
AES2: CAML D,STPNR
|
||
JRST AES1
|
||
CAMN SYM,(D)
|
||
POPJ P,
|
||
AOS D
|
||
AOJA D,AES2
|
||
AES1: MOVEI D,0
|
||
POPJ P,
|
||
|
||
SLDPT: IDIVI B,10.
|
||
HRLM E,(P)
|
||
PUSH P,[SLDP1]
|
||
IDIVI B,10.
|
||
HRLM E,(P)
|
||
PUSH P,[SLDP1]
|
||
IDIVI B,10.
|
||
HRLM E,(P)
|
||
JRST SLDP1
|
||
|
||
LBFCC: 0
|
||
LBFIP: 0
|
||
LNCNT: 0
|
||
PGCNT: 0
|
||
STB: 0
|
||
STPNR: 0
|
||
PASS: 0
|
||
LSYL: 0
|
||
TPGF: 0
|
||
SYLCPS: 0
|
||
|
||
.FNPNT: MOVEI A,PPA
|
||
HRRM A,LISTF5
|
||
PUSHJ P,.+1
|
||
MOVE A,LFRED1
|
||
PUSHJ P,.FNPT2
|
||
MOVE A,LFRED2
|
||
PUSHJ P,.FNPT2
|
||
MOVEI CH,14
|
||
JRST PPA
|
||
|
||
.FNPT2: PUSH P,A
|
||
PUSHJ P,CRR1
|
||
MOVE A,UFPNTR
|
||
MOVE A,177(A)
|
||
CAMN A,[-1]
|
||
JRST .FN69
|
||
MOVEI IN,AA
|
||
MOVE OUT,[220600,,A]
|
||
PUSHJ P,TYPR+2
|
||
|
||
.FN69: PUSHJ P,CRR1
|
||
MOVE A,(P)
|
||
MOVEI B,4
|
||
PUSHJ P,CRR1
|
||
SOJN B,.-1
|
||
MOVEI TT1,7
|
||
.FN239: MOVEI D,3
|
||
.FN249: SETZM AA
|
||
ROTC A,6
|
||
MOVEI T,3
|
||
.FN259: XCT LDBT1-1(T)
|
||
IMULI AA,10101
|
||
SETZM C
|
||
TRNE TT,2
|
||
HRLM AA,C
|
||
CAIG T,1
|
||
JRST .FN269
|
||
TRNE TT,1
|
||
HRRM AA,C
|
||
.FN269: PUSHJ P,TYPR
|
||
IDIVI AA,10101
|
||
SOJN T,.FN259
|
||
JUMPE A,.FN279
|
||
MOVEI CH,40
|
||
REPEAT 3,PUSHJ P,PPA
|
||
JRST .FN249
|
||
.FN279: MOVE A,(P)
|
||
PUSHJ P,CRR1
|
||
SOJN D,.FN249
|
||
SOJN TT1,.FN239
|
||
POP P,A
|
||
POPJ P,
|
||
|
||
LDBT1: REPEAT 3,LDB TT,LDBT2-1+.RPCNT*7(TT1)
|
||
|
||
LDBT2: REPEAT 21.,[%T1==.RPCNT/7
|
||
%T2==.RPCNT-%T1*7
|
||
CH5.7T(AA+200+<2*%T1+5*%T2>_12.)
|
||
]
|
||
|
||
CH5.7T: 0 ;SP
|
||
DEFINE .. A,B,C,D,E,F,G,H
|
||
IFSN H,,[PRINTX /CH5.7T LOSE!
|
||
/]
|
||
A_31.+B_26.+C_21.+D_16.+E_11.+F_6+G_1
|
||
TERMIN
|
||
|
||
.. 4,4,4,4,4,0,4,, ;!
|
||
.. 12,12,12,0,0,0,0,, ;"
|
||
.. 12,12,37,12,37,12,12,, ;#
|
||
.. 4,37,24,37,5,37,4,, ;$
|
||
.. 36,31,2,4,10,23,3,, ;%
|
||
.. 4,12,4,10,25,22,15,, ;&
|
||
.. 4,4,4,0,0,0,0,, ;'
|
||
.. 2,4,10,10,10,4,2,, ;(
|
||
.. 10,4,2,2,2,4,10,, ;)
|
||
.. 0,25,16,37,16,25,0,, ;*
|
||
.. 0,4,4,37,4,4,0,, ;+
|
||
.. 0,0,0,0,14,4,10,, ;,
|
||
.. 0,0,0,37,0,0,0,, ;-
|
||
.. 0,0,0,0,0,14,14,, ;.
|
||
.. 0,1,2,4,10,20,0,, ;/
|
||
|
||
.. 16,21,23,25,31,21,16,, ;0
|
||
.. 4,14,4,4,4,4,16,, ;1
|
||
.. 16,21,1,2,4,10,37,, ;2
|
||
.. 6,11,1,6,1,11,6,, ;3
|
||
.. 24,24,24,37,4,4,4,, ;4
|
||
.. 37,20,36,1,1,21,16,, ;5
|
||
.. 16,20,20,36,21,21,16,, ;6
|
||
.. 37,1,2,4,10,20,20,, ;7
|
||
.. 16,21,16,21,21,21,16,, ;8
|
||
.. 16,21,21,17,1,1,16,, ;9
|
||
.. 0,14,14,0,14,14,0,, ;:
|
||
.. 0,14,14,0,14,4,10,, ;;
|
||
.. 2,4,10,20,10,4,2,, ;<
|
||
.. 0,0,37,0,37,0,0,, ;=
|
||
.. 10,4,2,1,2,4,10,, ;>
|
||
.. 16,21,2,4,4,0,4,, ;?
|
||
.. 16,21,26,26,20,21,16,, ;@
|
||
.. 16,21,21,37,21,21,21,, ;A
|
||
.. 36,21,21,36,21,21,36,, ;B
|
||
.. 16,21,20,20,20,21,16,, ;C
|
||
.. 36,21,21,21,21,21,36,, ;D
|
||
.. 37,20,20,36,20,20,37,, ;E
|
||
.. 37,20,20,36,20,20,20,, ;F
|
||
.. 16,21,20,27,25,21,16,, ;G
|
||
.. 21,21,21,37,21,21,21,, ;H
|
||
.. 16,4,4,4,4,4,16,, ;I
|
||
.. 17,2,2,2,2,22,14,, ;J
|
||
.. 21,22,24,30,24,22,21,, ;K
|
||
.. 20,20,20,20,20,20,37,, ;L
|
||
.. 21,33,25,21,21,21,21,, ;M
|
||
.. 21,21,31,25,23,21,21,, ;N
|
||
.. 16,21,21,21,21,21,16,, ;O
|
||
.. 36,21,21,36,20,20,20,, ;P
|
||
.. 16,21,21,21,25,23,17,, ;Q
|
||
.. 34,22,22,34,24,22,21,, ;R
|
||
.. 16,21,20,16,1,21,16,, ;S
|
||
.. 37,4,4,4,4,4,4,, ;T
|
||
.. 21,21,21,21,21,21,16,, ;U
|
||
.. 21,21,21,12,12,4,4,, ;V
|
||
.. 21,21,21,25,25,33,21,, ;W
|
||
.. 21,12,4,4,4,12,21,, ;X
|
||
.. 21,21,12,4,4,4,4,, ;Y
|
||
.. 37,2,4,16,4,10,37,, ;Z
|
||
.. 16,10,10,10,10,10,16,, ;[
|
||
.. 0,20,10,4,2,1,0,, ;\
|
||
.. 16,2,2,2,2,2,16,, ;]
|
||
.. 4,16,25,4,4,4,4,, ;^
|
||
.. 0,4,10,37,10,4,0,, ;_
|
||
|
||
IFN .-CH5.7T-64.,.. ,,,,,,,69
|
||
|
||
SYME: MOVE A,STB
|
||
MOVE B,STPNR
|
||
CAMN A,B
|
||
JRST CSLR1
|
||
PUSHJ P,SORT
|
||
MOVE A,STPNR
|
||
SUB A,STB
|
||
IDIVI A,1304
|
||
MOVEM A,PGCNT
|
||
ASH AA,-2
|
||
IDIVI AA,3
|
||
MOVEM AA,LNCNT
|
||
JUMPE A,CSLSD
|
||
MOVE A,STB
|
||
CSPP: MOVEI B,73
|
||
MOVEM B,LBFCC
|
||
CSPLN: MOVEI B,6
|
||
MOVEM B,PASS
|
||
CSPLN1: PUSHJ P,CSPNE
|
||
SOSN PASS
|
||
JRST CSNLN
|
||
MOVEI C,0
|
||
PUSHJ P,TYPR
|
||
ADDI A,166
|
||
JRST CSPLN1
|
||
CSNLN: SUBI A,1114
|
||
PUSHJ P,CRR1
|
||
SOSE LBFCC
|
||
JRST CSPLN
|
||
ADDI A,1116
|
||
SOSE PGCNT
|
||
JRST CSPP
|
||
CSLSP: AOS B,LNCNT
|
||
IMULI B,2
|
||
MOVEM B,LBFCC
|
||
MOVEM A,LSYL
|
||
CSLSN: PUSHJ P,CSPNE
|
||
ADD A,LBFCC
|
||
CAML A,STPNR
|
||
JRST CSLNN
|
||
MOVEI C,0
|
||
PUSHJ P,TYPR
|
||
JRST CSLSN
|
||
CSLNN: PUSHJ P,CRR1
|
||
MOVE A,LSYL
|
||
ADDI A,2
|
||
MOVEM A,LSYL
|
||
SOSE LNCNT
|
||
JRST CSLSN
|
||
MOVEI CH,^L
|
||
PUSHJ P,PPA
|
||
CSLR1: SUB P,[2,,2]
|
||
JRST RET
|
||
|
||
CSLSD: MOVE A,STB
|
||
JRST CSLSP
|
||
|
||
CSPNE: CLEARM TPGF
|
||
MOVE C,(A)
|
||
PUSHJ P,TYPR
|
||
PUSHJ P,SPSP
|
||
SKIPG 1(A)
|
||
SETOM TPGF
|
||
MOVMS 1(A)
|
||
HLRZ B,1(A)
|
||
PUSHJ P,SLDPT
|
||
MOVEI CH,"
|
||
SKIPE TPGF
|
||
MOVEI CH,"*
|
||
PUSHJ P,PPA
|
||
HRRZ B,1(A)
|
||
JRST SLDPT
|
||
|
||
SORT: MOVSI C,400000
|
||
SORT1: HRLM B,(P)
|
||
CAIL A,-2(B)
|
||
JRST SORT7
|
||
PUSH P,A
|
||
SORT3: TDNN C,(A)
|
||
JRST SORT4
|
||
SUBI B,2
|
||
TDNE C,(B)
|
||
JRST SORT2
|
||
EXCH C,(A)
|
||
EXCH C,(B)
|
||
EXCH C,(A)
|
||
EXCH C,1(A)
|
||
EXCH C,1(B)
|
||
EXCH C,1(A)
|
||
SORT4: ADDI A,2
|
||
SORT2: CAME A,B
|
||
JRST SORT3
|
||
ROT C,-1
|
||
POP P,A
|
||
JUMPL C,SORT6
|
||
PUSHJ P,SORT1
|
||
HLRZ B,(P)
|
||
PUSHJ P,SORT1
|
||
SORT6: ROT C,1
|
||
SORT7: HLRZ A,(P)
|
||
POPJ P,
|
||
|
||
DTB:
|
||
MOVEI A,GTIME ;^@
|
||
HRROI A,TAB ;^A
|
||
MOVEI A,CNTRLB ;^B
|
||
MOVEI A,CLRBF ;^C
|
||
MOVEI A,DD ;^D
|
||
MOVEI A,CNTRLE ;^E
|
||
MOVEI A,LAT ;^F
|
||
MOVEI A,DECDMP ;^G
|
||
HRROI A,TAB ;^H
|
||
HRROI A,TAB ;^I - TAB
|
||
MOVEI A,RET ;^J - LINE FEED
|
||
HRROI A,TAB ;^K - VERT TAB
|
||
HRROI A,TAB ;^L - FORM FEED
|
||
MOVEI A,RET ;^M - CARR RET
|
||
MOVEI A,FLDSZ ;^N
|
||
MOVEI A,SYMLST ;^O
|
||
HRROI A,TAB ;^P
|
||
MOVEI A,XON ;^Q
|
||
MOVEI A,TAPE ;^R
|
||
MOVEI A,XOFF ;^S
|
||
MOVEI A,NTAPE ;^T
|
||
MOVEI A,CNTRLU ;^U
|
||
MOVEI A,CNTRLV ;^V
|
||
MOVEI A,CNTRLW ;^W
|
||
HRROI A,TAB ;^X
|
||
HRROI A,TAB ;^Y
|
||
HRROI A,TAB ;^Z
|
||
HRROI A,TAB ;^[
|
||
MOVEI A,LIGHTS ;^\
|
||
HRROI A,TAB ;^]
|
||
MOVEI A,CNTRUP ;^^
|
||
HRROI A,TAB ;^_
|
||
MOVEI A,CD2 ;
|
||
MOVEI A,EXCLAM ;!
|
||
MOVEI A,DQUOTE ;"
|
||
MOVEI A,COR ;#
|
||
HRROI A,TAB ;$
|
||
MOVEI A,PCNT ;%
|
||
MOVEI A,CAND ;&
|
||
MOVEI A,RET ;'
|
||
MOVEI A,OPEN ;(
|
||
MOVEI A,CLOSE ;)
|
||
MOVEI A,TIMES ;*
|
||
MOVEI A,CD2 ;+
|
||
MOVEI A,COMMA ;,
|
||
MOVEI A,MINUS ;-
|
||
MOVEI A,PNT ;.
|
||
MOVEI A,SLASH ;/
|
||
|
||
JRST CDNUM ;0
|
||
JRST CDNUM ;1
|
||
JRST CDNUM ;2
|
||
JRST CDNUM ;3
|
||
JRST CDNUM ;4
|
||
JRST CDNUM ;5
|
||
JRST CDNUM ;6
|
||
JRST CDNUM ;7
|
||
JRST CDNUM ;8
|
||
JRST CDNUM ;9
|
||
MOVEI A,COLON ;:
|
||
MOVEI A,SEMICL ;;
|
||
MOVEI A,LSSTH ;<
|
||
HRROI A,PRNT ;=
|
||
MOVEI A,GRTH ;>
|
||
MOVEI A,QUESTN ;?
|
||
HRROI A,TAB ;@
|
||
MOVEI A,APPEND ;A
|
||
MOVEI A,BEGIN ;B
|
||
MOVEI A,CHARAC ;C
|
||
MOVEI A,DELETE ;D
|
||
HRROI A,ECMD ;E
|
||
HRROI A,FEED ;F
|
||
MOVEI A,QGET ;G
|
||
MOVEI A,HOLE ;H
|
||
HRROI A,INSERT ;I
|
||
MOVEI A,JMP ;J
|
||
MOVEI A,KILL ;K
|
||
MOVEI A,LINE ;L
|
||
JRST MAC ;M
|
||
MOVEI A,SERCHP ;N
|
||
MOVEI A,OG ;O
|
||
HRROI A,PUNCH ;P
|
||
MOVEI A,QREG ;Q
|
||
MOVEI A,REVERS ;R
|
||
MOVEI A,SERCH ;S
|
||
HRROI A,TYPE4 ;T
|
||
MOVEI A,USE ;U
|
||
MOVEI A,VIEW ;V
|
||
MOVEI A,RET ;W
|
||
MOVEI A,X ;X
|
||
HRROI A,YANK ;Y
|
||
MOVEI A,END1 ;Z
|
||
MOVEI A,OPENB ;[
|
||
MOVEI A,BAKSL ;\
|
||
MOVEI A,CLOSEB ;]
|
||
MOVEI A,UAR ;^
|
||
MOVEI A,LARR ;_
|
||
REPEAT 29.,[HRROI A,TAB
|
||
]
|
||
JRST GO ;ALTMODE
|
||
JRST GO ;ALTMODE
|
||
HRROI A,TAB ;^?
|
||
IFN .-DTB-200,[PRINTX \DTB LOSS
|
||
\]
|
||
|
||
STAB:
|
||
LBF:
|
||
AC2:
|
||
CFIL1: 0
|
||
CFIL2: BLOCK 14
|
||
BAKTAB: BLOCK 3
|
||
LOC STAB+40
|
||
STABP:
|
||
SYMS: BLOCK 22
|
||
VALS: BLOCK 22
|
||
CNTS: BLOCK 22
|
||
SYMEND:
|
||
PFL: BLOCK LPF
|
||
GCTAB: BLOCK GCTBL
|
||
QTAB: BLOCK 37.
|
||
PDL: BLOCK LPDL
|
||
PUNBO: BLOCK 500
|
||
PUNBE: 0
|
||
RBUF: BLOCK 250
|
||
RBEND: 0
|
||
RDCHAR=<RBEND-RBUF>*5
|
||
CONSTANTS
|
||
printx /=========================== TEMPORARY LOC
|
||
/
|
||
loc 6677
|
||
VARIABLES
|
||
CBUF:
|
||
END INIT
|
||
|
||
|
||
|