mirror of
https://github.com/PDP-10/its.git
synced 2026-01-29 13:21:11 +00:00
Reconstruct SAIL; STKTRN 39 from disassembly of SAIL; FAIL BIN.
This commit is contained in:
289
src/sail/stktrn.39
Normal file
289
src/sail/stktrn.39
Normal file
@@ -0,0 +1,289 @@
|
||||
;Reconstructed from SAIL;FAIL BIN disassembly.
|
||||
|
||||
TITLE STINK Translator
|
||||
|
||||
T_1
|
||||
STOBLK_2
|
||||
STNWD_4
|
||||
STOWD_5
|
||||
STBTYP_6
|
||||
STOSBC_7
|
||||
STNSBC_10
|
||||
STNBLK_11
|
||||
STCKS_12
|
||||
STCODE_13
|
||||
STNSBL__14
|
||||
BC_14
|
||||
STP_15
|
||||
P_17
|
||||
|
||||
INTGLB__20
|
||||
STNBT__21
|
||||
STOSBL__22
|
||||
STNBL__40
|
||||
STGSTL__41
|
||||
|
||||
INTERNAL STKTRN
|
||||
EXTERNAL GBOUT1
|
||||
|
||||
STKTRN: MOVEM P,STACS+17 ;141
|
||||
MOVEI P,STACS
|
||||
BLT P,STACS+16
|
||||
MOVE P,STACS+17
|
||||
HRRZ STNBLK,(BC)
|
||||
JUMPE STNBLK,STSKRT
|
||||
CAILE STNBLK,35
|
||||
HALT .
|
||||
MOVNS STNBLK
|
||||
MOVSM STNBLK,STOBLK
|
||||
HRRI STOBLK,1(BC)
|
||||
MOVEI STOSBC,0
|
||||
HLRZ STBTYP,(BC)
|
||||
STBINT: HRRZI STNBLK,STNBUF ;156
|
||||
MOVE STP,[-41,,STGSTU]
|
||||
SETZB STCKS,STNBUF
|
||||
MOVE T,[STNBUF,,STNBUF+1]
|
||||
BLT T,STGPTR-1
|
||||
HRROI STNSBC,777777
|
||||
SETZB STNWD,STGSTU
|
||||
CAILE STBTYP,STNBT
|
||||
HALT .
|
||||
PUSHJ P,STBMPR
|
||||
MOVE T,STBDSP(STBTYP)
|
||||
PUSHJ P,(T)
|
||||
HLR BC,STNBLK
|
||||
MOVNS BC
|
||||
HRLS BC
|
||||
HRRI BC,STNBUF
|
||||
MOVEM BC,STACS+14
|
||||
SKIPGE STBDSP(6)
|
||||
STSKRT: AOS (P) ;200
|
||||
MOVSI P,STACS
|
||||
BLT P,P
|
||||
POPJ P,
|
||||
STBDSP: 0,,STKBLK ;204
|
||||
3,,STREL
|
||||
10,,STSYM
|
||||
30,,STHIGH
|
||||
15,,STENT
|
||||
4,,STEND
|
||||
-1,,STNAME
|
||||
1001,,STCOP
|
||||
21,,STCOP
|
||||
22,,STCOP
|
||||
23,,STCOP
|
||||
26,,STLVAR
|
||||
27,,STLVAR
|
||||
24,,STLVAR
|
||||
25,,STLVAR
|
||||
25,,STLVAR
|
||||
20,,STGLBS
|
||||
16,,STENT
|
||||
STBMPR: LDB T,[221106,,STBDSP] ;226
|
||||
DPB T,[310700,,STNWD]
|
||||
CAIE T,1
|
||||
JRST STPUT
|
||||
LDB T,[331006,,STBDSP]
|
||||
DPB T,[001000,,STNWD]
|
||||
STPUT: MOVEM STNWD,(STNBLK) ;234
|
||||
ADD STNBLK,[1,,1]
|
||||
JUMPL STNSBC,STPUT0
|
||||
IDPB STCODE,STPPTR
|
||||
SOJLE STNSBC,STPUT0
|
||||
CPOPJ: POPJ P,
|
||||
STPUTF: HLRZ T,STNBLK ;242
|
||||
SUBI T,1
|
||||
DPB T,[220700,,STNBUF]
|
||||
ADDI T,1
|
||||
MOVNS T
|
||||
HRLI T,STNBUF
|
||||
MOVSS T
|
||||
PUSHJ P,STCKIT
|
||||
AOBJN T,.-1
|
||||
SETCAB STCKS,(STNBLK)
|
||||
ADD STNBLK,[1,,1]
|
||||
POPJ P,
|
||||
STPUT0: MOVEI STNSBC,BC ;256
|
||||
HRLI T,440300
|
||||
HRRI T,(STNBLK)
|
||||
MOVEM T,STPPTR
|
||||
ADD STNBLK,[1,,1]
|
||||
POPJ P,
|
||||
STCKIT: JCRY0 .+1 ;264
|
||||
ADD STCKS,(1)
|
||||
JCRY0 [AOJA STCKS,.+1
|
||||
IMULI STNWD,50
|
||||
JRST STSQUZ+3]
|
||||
POPJ P,
|
||||
STOUT: PUSH P,STCODE ;270
|
||||
MOVE STCODE,STBTYP
|
||||
HLRZ BC,STNBLK
|
||||
MOVNS BC
|
||||
HRLI BC,STNBUF
|
||||
MOVSS BC
|
||||
PUSHJ P,GBOUT1
|
||||
POP P,STCODE
|
||||
POPJ P,
|
||||
STGET: MOVE 5,(STOBLK) ;301
|
||||
SOJL 7,STGET0
|
||||
ILDB STCODE,STGPTR
|
||||
AOBJN STOBLK,CPOPJ
|
||||
POPJ P,
|
||||
STGET0: HRLI T,440200 ;306
|
||||
HRRI T,(STOBLK)
|
||||
MOVEM T,STGPTR
|
||||
MOVEI 7,STOSBL
|
||||
AOJA STOBLK,STGET
|
||||
STREL: PUSHJ P,STGET ;313
|
||||
HRRM STOWD,STNBUF
|
||||
MOVEI T,2
|
||||
CAIN STCODE,0
|
||||
DPB T,[310700,,STNBUF]
|
||||
STCOP: PUSHJ P,STGET ;320
|
||||
MOVE STNWD,STOWD
|
||||
PUSHJ P,STPUT
|
||||
JUMPL 2,STCOP
|
||||
PUSHJ P,STPUTF
|
||||
POPJ P,
|
||||
STSYM: MOVE STNBLK,[000001,,STNBUF+1]
|
||||
STSYM1: PUSHJ P,STGET ;327
|
||||
MOVE STNWD,STOWD
|
||||
PUSHJ P,STGET
|
||||
MOVEM STOWD,STSVAL
|
||||
PUSHJ P,STSQUZ
|
||||
PUSHJ P,@STSDSP(1)
|
||||
JUMPL STOBLK,STSYM1
|
||||
PUSHJ P,stputf
|
||||
SKIPN STOWD,STGSTU
|
||||
POPJ P,
|
||||
CAME STNBLK,[000002,,STNBUF+2]
|
||||
PUSHJ P,STOUT
|
||||
MOVEI STBTYP,20
|
||||
PUSHJ P,STBINT
|
||||
POPJ P,
|
||||
STSQUZ: LDB T,[400400,,STNWD] ;346
|
||||
TLZ STNWD,740000
|
||||
JUMPE STNWD,STSYM2
|
||||
CAMGE STNWD,[000606,,500000]
|
||||
JRST [IMULI STNWD,50
|
||||
JRST STSQUZ+3]
|
||||
STSYM2: DPB T,[400400,STNWD]
|
||||
POPJ P,
|
||||
STSDSP: STOP ;355
|
||||
STIGS
|
||||
STLCL
|
||||
STBN
|
||||
STOP
|
||||
STIGS-1
|
||||
STOP
|
||||
STOP
|
||||
STOP
|
||||
STIGS-1
|
||||
STLCL
|
||||
STOP
|
||||
STGRQ
|
||||
STIGS-1
|
||||
STOP
|
||||
STOP
|
||||
STOP: HALT . ;375
|
||||
STBN: TLZ STNWD,100000
|
||||
STLCL: DPB STCODE,[410200,,STNWD] ;377
|
||||
MOVEM STNWD,(STNBLK)
|
||||
MOVE STNWD,STSVAL
|
||||
MOVEM STNWD,1(STNBLK)
|
||||
ADD STNBLK,[2,,2]
|
||||
POPJ P,
|
||||
JFCL
|
||||
STIGS: AOS STGSTU ;406
|
||||
PUSH STP,STNWD
|
||||
PUSH STP,STSVAL
|
||||
PUSH STP,STCODE
|
||||
HRLM T,(15)
|
||||
POPJ P,
|
||||
STGLBS: MOVEI STCODE,0 ;414
|
||||
MOVE STNWD,1(15)
|
||||
PUSHJ P,stput
|
||||
HRR STCODE,3(15)
|
||||
MOVE STNWD,2(15)
|
||||
PUSHJ P,STPUT
|
||||
ADD STP,[3,,3]
|
||||
JUMPGE STP,[HALT .]
|
||||
SOJG STOWD,STGLBS
|
||||
PUSHJ P,stputf
|
||||
POPJ P,
|
||||
STGRQ: JUMPGE STOWD,STIGS ;427
|
||||
TLNN STOWD,100000
|
||||
JRST STIGS
|
||||
PUSH P,T
|
||||
EXCH STOWD,STNWD
|
||||
PUSHJ P,STSQUZ
|
||||
MOVEM STNWD,STSVAL
|
||||
MOVE STNWD,STOWD
|
||||
POP P,T
|
||||
JRST STIGS
|
||||
STNAME: PUSHJ P,STGET ;441
|
||||
MOVE STNWD,STOWD
|
||||
PUSHJ P,STSQUZ
|
||||
MOVEM STNWD,STPRGN
|
||||
JUMPGE STOBLK,CPOPJ
|
||||
PUSHJ P,STGET
|
||||
TRNE STOWD,777777
|
||||
HALT .
|
||||
POPJ P,
|
||||
STEND: PUSHJ P,STGET ;452
|
||||
HRLI STOWD,STGPTR-1
|
||||
MOVEM STOWD,STNBUF
|
||||
SETZM STNBUF+1
|
||||
SETZM STNBUF+2
|
||||
MOVE T,[-3,,STNBUF]
|
||||
PUSHJ P,STCKIT
|
||||
AOBJN T,.-1
|
||||
SETCAM STCKS,STNBUF+3
|
||||
SETZB STNWD,STCKS
|
||||
EXCH STNWD,STPRGN
|
||||
TLO STNWD,40000
|
||||
MOVSI T,1001
|
||||
MOVEM T,STNBUF+4
|
||||
MOVEM STNWD,STNBUF+5
|
||||
MOVE T,[-2,,STNBUF+4]
|
||||
PUSHJ P,STCKIT
|
||||
AOBJN T,.-1
|
||||
SETCAB STCKS,STNBUF+6
|
||||
SETOM STNBUF+7
|
||||
MOVE STNBLK,[10,,STNBUF+10]
|
||||
POPJ P,
|
||||
STENT: MOVE STNBLK,[1,,STNBUF+1] ;500
|
||||
STENT1: PUSHJ P,STGET
|
||||
MOVE STNWD,STOWD
|
||||
PUSHJ P,STSQUZ
|
||||
TLZ STNWD,740000
|
||||
MOVEM STNWD,(STNBLK)
|
||||
ADD STNBLK,[1,,1]
|
||||
JUMPL STOBLK,STENT1
|
||||
JRST stputf
|
||||
STKBLK: MOVEI STNBLK,STNBUF ;511
|
||||
ADD BC,[1,,1]
|
||||
MOVE STOWD,(BC)
|
||||
MOVEM STOWD,(STNBLK)
|
||||
ADD STNBLK,[1,,1]
|
||||
AOBJN BC,.-3
|
||||
JRST STPUTF
|
||||
STLVAR: ;520
|
||||
STLDLB: ;520
|
||||
STLDRL: ;520
|
||||
STINDR: ;520
|
||||
STHIGH: ;520
|
||||
JRST STCOP ;520
|
||||
STVERS: SIXBIT /STKTRN/
|
||||
.FNAM2
|
||||
STACS: BLOCK 20 ;523
|
||||
STNBUF: BLOCK 40 ;543
|
||||
STGPTR: 0 ;603
|
||||
STPPTR: 0
|
||||
STSVAL: 0
|
||||
STGSTU: 0
|
||||
STGSTK: BLOCK 42 ;607
|
||||
STPRGN: 0 ;651
|
||||
PATCH: BLOCK 10 ;652
|
||||
|
||||
END STKTRN
|
||||
Reference in New Issue
Block a user