1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-08 01:11:18 +00:00

Recreate TTYSWP source from disassembly.

This commit is contained in:
Lars Brinkhoff
2017-02-19 19:30:30 +01:00
committed by Eric Swenson
parent 8fa4704164
commit 988f9ede34
5 changed files with 135 additions and 189 deletions

View File

@@ -1,188 +0,0 @@
; Disassembly of SYS; TS TTYSWP
; Symbol table:
;
; a = 1
; usri == 1
; b = 2
; c = 3
; d = 4
; e = 5
; f = 6
; jcl = 100
; tty1 = 116
; tty2 = 117
; jobnum = 120
; start = 121
; numget = 123
; nextch = 131
; doit = 147
; nmytty = 166
; detme = 223
; getnam = 230
; won = 243
; detach = 246
; attach = 252
; usropn = 257
; styget = 266
; Start instruction:
;
; jrst 121
; Program:
;
; 000116: 777777777777
; 000117: 777777777777
; 000120: 000000000000
; 000121: 045500000274 .break 12, 274 ;"$M "\"
; 000122: 200040000275 move 1, 275 ;"0 @ "]"
; 000123: 400100000000 setz 2, ;"@! "
; 000124: 134140000001 ildb 3, 1 ;"+A@ !"
; 000125: 322140000147 jumpe 3, 147 ;":1@ !G"
; 000126: 301140000060 cail 3, 60 ;"8)@ P"
; 000127: 303140000071 caile 3, 71 ;"89@ Y"
; 000130: 254000000124 jrst 124 ;"5@ !4"
; 000131: 242100000003 lsh 2, 3 ;"41 #"
; 000132: 275140000060 subi 3, 60 ;"7I@ P"
; 000133: 434100000003 or 2, 3 ;"CA #"
; 000134: 134140000001 ildb 3, 1 ;"+A@ !"
; 000135: 322140000147 jumpe 3, 147 ;":1@ !G"
; 000136: 301140000060 cail 3, 60 ;"8)@ P"
; 000137: 303140000071 caile 3, 71 ;"89@ Y"
; 000140: 334000000000 skipa 0, 0
; 000141: 254000000131 jrst 131 ;"5@ !9"
; 000142: 331000000116 skipl 0, 116 ;";( !."
; 000143: 254000000146 jrst 146 ;"5@ !F"
; 000144: 202100000116 movem 2, 116 ;"01 !."
; 000145: 254000000123 jrst 123 ;"5@ !3"
; 000146: 202100000117 movem 2, 117 ;"01 !/"
; 000147: 200040000116 move 1, 116 ;"0 @ !."
; 000150: 321040000223 jumpl 1, 223 ;":(@ "3"
; 000151: 660040400000 tro 1, 400000 ;"V @@ "
; 000152: 202040000116 movem 1, 116 ;"00@ !."
; 000153: 043000000266 .call [setz
; SIXBIT/STYGET/
; 000000000001
; 002000000120
; 002000000120
; 402000000120]
; 000154: 043100001000 .lose 1000 ;"$9 ( "
; 000155: 550040000120 hrrz 1, 120 ;"M @ !0"
; 000156: 660040400000 tro 1, 400000 ;"V @@ "
; 000157: 264000000230 jsr 230 ;"6@ "8"
; 000160: 200140000001 move 3, 1 ;"0!@ !"
; 000161: 200300000005 move 6, 5 ;"0# %"
; 000162: 200040000117 move 1, 117 ;"0 @ !/"
; 000163: 325040000166 jumpge 1, 166 ;":H@ !V"
; 000164: 043540000276 .suset 276 ;"$=@ "^"
; 000165: 505040000000 hrli 1, 0 ;"HH@ " "Q\"\0\0\0"
; 000166: 660040400000 tro 1, 400000 ;"V @@ "
; 000167: 202040000117 movem 1, 117 ;"00@ !/"
; 000170: 043000000266 .call [setz
; SIXBIT/STYGET/
; 000000000001
; 002000000120
; 002000000120
; 402000000120]
; 000171: 043100001000 .lose 1000 ;"$9 ( "
; 000172: 550040000120 hrrz 1, 120 ;"M @ !0"
; 000173: 660040400000 tro 1, 400000 ;"V @@ "
; 000174: 264000000230 jsr 230 ;"6@ "8"
; 000175: 200200000001 move 4, 1 ;"0" !"
; 000176: 200100000003 move 2, 3 ;"0! #"
; 000177: 306100777777 cain 2, 777777 ;"8Q ___"
; 000200: 254000000203 jrst 203 ;"5@ "#"
; 000201: 043000000246 .call [setz
; SIXBIT/DETACH/
; 005000000020
; 400000000002]
; 000202: 043100001000 .lose 1000 ;"$9 ( "
; 000203: 200100000004 move 2, 4 ;"0! $"
; 000204: 306100777777 cain 2, 777777 ;"8Q ___"
; 000205: 254000000213 jrst 213 ;"5@ "+"
; 000206: 043000000246 .call [setz
; SIXBIT/DETACH/
; 005000000020
; 400000000002]
; 000207: 043100001000 .lose 1000 ;"$9 ( "
; 000210: 200040000116 move 1, 116 ;"0 @ !."
; 000211: 043000000252 .call [setz
; SIXBIT/ATTACH/
; 004000000005
; 000000000002
; 400000000001]
; 000212: 043100001000 .lose 1000 ;"$9 ( "
; 000213: 200040000117 move 1, 117 ;"0 @ !/"
; 000214: 200100000003 move 2, 3 ;"0! #"
; 000215: 200240000006 move 5, 6 ;"0"@ &"
; 000216: 306100777777 cain 2, 777777 ;"8Q ___"
; 000217: 254000000222 jrst 222 ;"5@ "2"
; 000220: 043000000252 .call [setz
; SIXBIT/ATTACH/
; 004000000005
; 000000000002
; 400000000001]
; 000221: 043100001000 .lose 1000 ;"$9 ( "
; 000222: 043200000243 .value 243 ;"$: "C"
; 000223: 043540000277 .suset 277 ;"$=@ "_"
; 000224: 660100400000 tro 2, 400000 ;"V! @ "
; 000225: 043000000246 .call [setz
; SIXBIT/DETACH/
; 005000000020
; 400000000002]
; 000226: 043100001000 .lose 1000 ;"$9 ( "
; 000227: 043200000243 .value 243 ;"$: "C"
; 000230: 000000000000
; 000231: 306040777777 cain 1, 777777 ;"8P@___"
; 000232: 254020000230 jrst @230 ;"5@0 "8"
; 000233: 043000000257 .call [setz
; SIXBIT/OPEN /
; 005000000010
; 001000000001
; 000000000302
; 000000000001
; 401000000000]
; 000234: 043100001000 .lose 1000 ;"$9 ( "
; 000235: 400240000000 setz 5, ;"@"@ " "@\n\0\0\0"
; 000236: 044040000300 .uset 1, 300 ;"$@@ # "
; 000237: 316100000301 camn 2, 301 ;"9Q #!"
; 000240: 660240400000 tro 5, 400000 ;"V"@@ "
; 000241: 042040000007 .close 1, ;"$0@ '"
; 000242: 254020000230 jrst @230 ;"5@0 "8"
; Data:
;
; 000243: 135651344630 ldb 15, 344630(11) ;"+NI<F8" ":KILL"
; 000244: 460327253226 setcm 6, @253226(7) ;"F#75:6" "L\r:VK"
; 000245: 064000000000 ;"&@ " "\r\0\0\0\0"
; 000246: 400000000000 setz 0, ;"@ " "@\0\0\0\0"
; 000247: 444564414350 eqv 13, @414350(4) ;"DETACH"
; 000250: 005000000020 ;" H 0"
; 000251: 400000000002 setz 0, 2 ;"@ ""
; 000252: 400000000000 setz 0, ;"@ " "@\0\0\0\0"
; 000253: 416464414350 setmm 11, @414350(4) ;"ATTACH"
; 000254: 004000000005 ;" @ %"
; 000255: 000000000002 ;" ""
; 000256: 400000000001 setz 0, 1 ;"@ !"
; 000257: 400000000000 setz 0, ;"@ " "@\0\0\0\0"
; 000260: 576045560000 hlrem 1, 560000(5) ;"OPEN " "_B-`\0"
; 000261: 005000000010 ;" H ("
; 000262: 001000000001 ;" ( !"
; 000263: 000000000302 ;" #""
; 000264: 000000000001 ;" !"
; 000265: 401000000000 setzi 0, ;"@( " "@ \0\0\0"
; 000266: 400000000000 setz 0, ;"@ " "@\0\0\0\0"
; 000267: 636471474564 tdzn 11, @474564(11) ;"STYGET" "gSLy:"
; 000270: 000000000001 ;" !"
; 000271: 002000000120 ;" 0 !0"
; 000272: 002000000120 ;" 0 !0"
; 000273: 402000000120 setzm 120 ;"@0 !0"
; 000274: 000005000100 ;" % ! "
; 000275: 440700000100 andcb 16, 100 ;"D' ! "
; 000276: 000002000001 ;" " !"
; 000277: 000023000002 ;" 3 ""
; 000300: 000005000002 ;" % ""
; 000301: 504143646256 hrl 3, 646256(3) ;"HACTRN"
; 000302: 656362000000 tdcn 7, @(2) ;"USR "

130
src/sysen3/ttyswp.2 Normal file
View File

@@ -0,0 +1,130 @@
TITLE TTYSWP
a=1
b=2
c=3
d=4
e=5
f=6
usri==1
jcl: block 16
tty1: -1
tty2: -1
jobnum: 0
start: .break 12,[..rjcl,,jcl]
move a,[440700,,jcl]
numget: setz b,
ildb c,a
jumpe c,doit
cail 3,"0
caile 3,"9
jrst numget+1
nextch: lsh b,3
subi c,"0
ior b,c
ildb c,a
jumpe c,doit
cail c,"0
caile c,"9
skipa
jrst nextch
skipl tty1
jrst .+3
movem b,tty1
jrst numget
movem b,tty2
doit: move a,tty1
jumpl a,detme
tro a,400000
movem a,tty1
.call styget
.lose %lssys
hrrz a,jobnum
tro a,400000
jsr getnam
move c,a
move f,e
move a,tty2
jumpge a,nmytty
.suset [.rtty,,a]
hrli a,0
nmytty: tro a,400000
movem a,tty2
.call styget
.lose %lssys
hrrz a,jobnum
tro a,400000
jsr getnam
move d,a
move b,c
cain b,-1
jrst .+3
.call detach
.lose %lssys
move b,d
cain b,-1
jrst .+6
.call detach
.lose %lssys
move a,tty1
.call attach
.lose %lssys
move 1,tty2
move b,c
move e,f
cain b,-1
jrst .+3
.call attach
.lose %lssys
.value won
detme: .suset [.ruind,,b]
tro 2,400000
.call detach
.lose %lssys
.value won
getnam: 0
cain a,-1
jrst @getnam
.call usropn
.lose %lssys
setz e,
.uset usri,[.rjname,,b]
camn b,[sixbit /hactrn/]
tro e,400000
.close usri,
jrst @getnam
won: asciz /:KILL
:VK
/
detach: setz
sixbit /detach/
%clbit,,20
setz b
attach: setz
sixbit /attach/
%clbtw,,5
b
setz a
usropn: setz
sixbit /open/
%clbit,,10
%climm,,usri
[sixbit /usr/]
a
setzi 0
styget: setz
sixbit /styget/
a
%clout,,jobnum
%clout,,jobnum
setzm jobnum