mirror of
https://github.com/PDP-10/its.git
synced 2026-01-31 14:02:09 +00:00
Port TENTH to KA10 and PDP-6.
This commit is contained in:
@@ -3,16 +3,23 @@ TITLE TENTH
|
||||
EXPUNGE .SWAP,.BEGIN,.END,.ELSE,.I
|
||||
|
||||
IFNDEF TS,TS==0
|
||||
IFNDEF KA,KA==0
|
||||
IFNDEF KS,KS==1
|
||||
|
||||
IFN TS+KA+KS-1,.ERR Must assemble for one of TS, KA, or KS.
|
||||
|
||||
X=14 ; pointer into code/parameter field
|
||||
PC=15 ; the interpreter's program counter
|
||||
PP=16 ; parameter stack pointer
|
||||
P=17 ; return stack pointer
|
||||
IFE TS,[
|
||||
IFN KS,[
|
||||
APR=0
|
||||
CTYIN=32
|
||||
CTYOUT=33
|
||||
]
|
||||
IFN KA,[
|
||||
TTY=120
|
||||
]
|
||||
IFN TS,[
|
||||
TYIC==1
|
||||
TYOC==2
|
||||
@@ -30,7 +37,7 @@ WORDBUF: 0 ? .=.+10
|
||||
WORDBP: 440700,,WORDBUF+1
|
||||
|
||||
START:
|
||||
IFE TS, SETZM CTYIN
|
||||
IFN KS, SETZM CTYIN
|
||||
IFN TS,[
|
||||
.OPEN TYIC,[.UAI,,'TTY]
|
||||
.LOSE
|
||||
@@ -53,15 +60,20 @@ IFN TS,[
|
||||
|
||||
; print ASCII character in AC 0 - changes AC 0
|
||||
PUTCHAR:
|
||||
IFE TS,[
|
||||
IFN KS,[
|
||||
IORI 0,400 ; valid bit
|
||||
MOVEM 0,CTYOUT
|
||||
CONO APR,12000 ; 10000 = set flags, 2000 = interrupt flag
|
||||
SKIPE CTYOUT ; wait for transmission to complete
|
||||
JRST .-1
|
||||
]
|
||||
IFN KA,[
|
||||
CONSZ TTY,20
|
||||
JRST .-1
|
||||
DATAO TTY,0
|
||||
]
|
||||
IFN TS, .IOT TYOC,0
|
||||
CAIE 0,IFE TS,[400\]^J
|
||||
CAIE 0,IFN KS,[400\]^J
|
||||
POPJ P,
|
||||
MOVEI 0,^M
|
||||
JRST PUTCHAR
|
||||
@@ -121,7 +133,7 @@ PRNTNSP:
|
||||
|
||||
; reads one character into AC 0
|
||||
GETCH:
|
||||
IFE TS,[
|
||||
IFN KS,[
|
||||
CONO APR,12000 ; 10000 = set flags, 2000 = interrupt flag
|
||||
MOVE 0,CTYIN
|
||||
CAIN 0,0
|
||||
@@ -129,6 +141,11 @@ IFE TS,[
|
||||
SETZM CTYIN
|
||||
TRZ 0,400
|
||||
]
|
||||
IFN KA,[
|
||||
CONSO TTY,40
|
||||
JRST .-1
|
||||
DATAI TTY,0
|
||||
]
|
||||
IFN TS, .IOT TYIC,0
|
||||
CAIN 0,^M
|
||||
MOVEI 0,^J
|
||||
Reference in New Issue
Block a user