mirror of
https://github.com/PDP-10/its.git
synced 2026-04-27 12:39:26 +00:00
142 lines
1.7 KiB
Plaintext
142 lines
1.7 KiB
Plaintext
TITLE MINSKYTRON
|
|
|
|
;Set switches to e.g. 677721.
|
|
|
|
A=1
|
|
B=2
|
|
XY=3
|
|
P=17
|
|
|
|
APR==0
|
|
DIS=130
|
|
|
|
LOC 41
|
|
JRST NTS
|
|
|
|
LOC 100
|
|
GO: SETO A,
|
|
.IOTLSR A, ;If NTS, go to UUO hander at 41.
|
|
|
|
NTS: CONO DIS,100 ;Reset display.
|
|
DATAO DIS,[020016] ;Parameter mode, go to point mode.
|
|
MOVE XY,[220000,,022000];Two point mode words.
|
|
|
|
DATAI APR,A ;Get switches.
|
|
HRLZ B,A
|
|
M1: JSP P,GSH ;Make six shift instructions.
|
|
MOVEM A,SH0
|
|
JSP P,GSH
|
|
MOVEM A,SH1
|
|
JSP P,GSH
|
|
MOVEM A,SH2
|
|
JSP P,GSH
|
|
MOVEM A,SH3
|
|
JSP P,GSH
|
|
MOVEM A,SH4
|
|
JSP P,GSH
|
|
MOVEM A,SH5
|
|
M2: MOVE A,XA0 ;Copy the initial state.
|
|
MOVEM A,XA
|
|
MOVE A,XB0
|
|
MOVEM A,XB
|
|
MOVE A,XC0
|
|
MOVEM A,XC
|
|
MOVE A,YA0
|
|
MOVEM A,YA
|
|
MOVE A,YB0
|
|
MOVEM A,YB
|
|
MOVE A,YC0
|
|
MOVEM A,YC
|
|
|
|
M3A: MOVE A,XA ;Update XA and YA.
|
|
ADD A,XB
|
|
HRRES A
|
|
XCT SH0
|
|
ADD A,YA
|
|
MOVEM A,YA
|
|
SUB A,YB
|
|
HRRES A
|
|
XCT SH1
|
|
MOVNS A
|
|
ADD A,XA
|
|
MOVEM A,XA
|
|
MOVE B,YA
|
|
JSP P,DPY
|
|
M3B: MOVE A,XB ;Update XB and YB.
|
|
SUB A,XC
|
|
HRRES A
|
|
XCT SH2
|
|
ADD A,YB
|
|
MOVEM A,YB
|
|
SUB A,YC
|
|
HRRES A
|
|
XCT SH3
|
|
MOVNS A
|
|
ADD A,XB
|
|
MOVEM A,XB
|
|
MOVE B,YB
|
|
JSP P,DPY
|
|
M3C: MOVE A,XC ;Update XC and YC.
|
|
SUB A,XA
|
|
HRRES A
|
|
XCT SH4
|
|
ADD A,YC
|
|
MOVEM A,YC
|
|
SUB A,YA
|
|
HRRES A
|
|
XCT SH5
|
|
MOVNS A
|
|
ADD A,XC
|
|
MOVEM A,XC
|
|
MOVE B,YC
|
|
JSP P,DPY
|
|
|
|
JSP P,DELAY
|
|
JRST M3A
|
|
|
|
GSH: SETZ A, ;Get a shift instruction.
|
|
ROTC A,3
|
|
MOVE A,GST(A)
|
|
JRST (P)
|
|
|
|
GST: REPEAT 9.,[ASH A,-1-.RPCNT
|
|
]
|
|
|
|
DPY: LSH A,-8 ;Display a point at A,B.
|
|
LSH B,-8
|
|
ADDI A,512.
|
|
ADDI B,512.
|
|
DPB A,[001200,,XY]
|
|
DPB B,[221200,,XY]
|
|
CONSO DIS,200 ;Wait for display.
|
|
JRST .-1
|
|
DATAO DIS,XY ;Send display instruction.
|
|
JRST (P)
|
|
|
|
DELAY: MOVE A,[10000.]
|
|
SOJGE A,.
|
|
JRST (P)
|
|
|
|
XA0: -137016/3
|
|
XB0: 0
|
|
XC0: 020000/3
|
|
YA0: 0
|
|
YB0: 060000/3
|
|
YC0: 0
|
|
|
|
XA: 0
|
|
XB: 0
|
|
XC: 0
|
|
YA: 0
|
|
YB: 0
|
|
YC: 0
|
|
|
|
SH0: 0
|
|
SH1: 0
|
|
SH2: 0
|
|
SH3: 0
|
|
SH4: 0
|
|
SH5: 0
|
|
|
|
END GO
|