mirror of
https://github.com/PDP-10/its.git
synced 2026-02-04 15:53:01 +00:00
Added STY.
This commit is contained in:
committed by
Lars Brinkhoff
parent
c87a135049
commit
dba4fb52c6
92
src/sysen2/sty.25
Normal file
92
src/sysen2/sty.25
Normal file
@@ -0,0 +1,92 @@
|
||||
TITLE PSEUDO-TTY HACK
|
||||
|
||||
A=1
|
||||
B=2
|
||||
C=3
|
||||
D=4
|
||||
P=17
|
||||
|
||||
TYI==1
|
||||
TYO==2
|
||||
PYI==3
|
||||
PYO==4
|
||||
|
||||
GO: MOVEI P,PDL-1
|
||||
.SUSET [.SMSK2,,[1_TYI+1_PYI+1_TYO]]
|
||||
.OPEN TYI,[SIXBIT / $TTY/]
|
||||
.LOSE %LSFIL
|
||||
.OPEN TYO,[SIXBIT / %TTY/]
|
||||
.LOSE %LSFIL
|
||||
.OPEN PYI,[SIXBIT / STY/]
|
||||
.LOSE %LSFIL
|
||||
.OPEN PYO,[SIXBIT / %STY/]
|
||||
.LOSE %LSFIL
|
||||
.IOT PYO,[^Z]
|
||||
JFCL
|
||||
.HANG ;WAIT, AND WAIT, AND WAIT...
|
||||
|
||||
|
||||
ZZ==.
|
||||
LOC 42
|
||||
JSR TSINT
|
||||
LOC ZZ
|
||||
TSINT: 0
|
||||
0
|
||||
MOVE B,TSINT
|
||||
TRNE B,1_TYO
|
||||
PUSHJ P,MORINT
|
||||
TRNE B,1_TYI
|
||||
PUSHJ P,INTYI
|
||||
TRNE B,1_PYI
|
||||
PUSHJ P,INPYI
|
||||
.DISMISS TSINT+1
|
||||
|
||||
INPYI: PUSH P,TSINT+1
|
||||
.SUSET [.SDF2,,[1_PYI]]
|
||||
.SUSET [.SPICLR,,[-1]]
|
||||
LP: .IOT PYI,C
|
||||
JUMPL C,OUT ;THAT WASN'T REALLY A CHARACTER
|
||||
.IOT TYO,C
|
||||
JRST LP
|
||||
|
||||
CPOPJ: POPJ P,
|
||||
|
||||
INTYI: PUSH P,C
|
||||
MOVEI C,TYI
|
||||
.ITYIC C,
|
||||
JRST POPCJ ;NOT REALLY A CHARACTER THERE
|
||||
.IOT TYI,C
|
||||
.IOT PYO,C
|
||||
JRST POPCJ
|
||||
|
||||
OUT: .SUSET [.SPICLR,,[0]]
|
||||
.SUSET [.SDF2,,[0]]
|
||||
POP P,TSINT+1
|
||||
POPJ P,
|
||||
|
||||
MORINT: PUSH P,C
|
||||
MOVEI C,[ASCIZ /--MORE--/]
|
||||
PUSHJ P,TYPSTR
|
||||
.IOT TYI,C
|
||||
PUSH P,C
|
||||
MOVEI C,[ASCIZ /
|
||||
/]
|
||||
PUSHJ P,TYPSTR
|
||||
POP P,C
|
||||
CAIE C,40
|
||||
CAIN C,177
|
||||
CAIA
|
||||
.IOT PYO,C
|
||||
POPCJ: POP P,C
|
||||
POPJ P,
|
||||
|
||||
TYPSTR: HRLI C,440700
|
||||
TYPST1: ILDB D,C
|
||||
JUMPE D,CPOPJ
|
||||
.IOT TYO,D
|
||||
JRST TYPST1
|
||||
|
||||
PDL: BLOCK 50
|
||||
|
||||
END GO
|
||||
|
||||
Reference in New Issue
Block a user