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:
committed by
Eric Swenson
parent
8fa4704164
commit
988f9ede34
@@ -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
130
src/sysen3/ttyswp.2
Normal 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
|
||||
Reference in New Issue
Block a user