1
0
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:
Lars Brinkhoff
2017-01-09 09:36:36 +01:00
parent f6d6465d53
commit 185147cd35
3 changed files with 294 additions and 1 deletions

289
src/sail/stktrn.39 Normal file
View 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