File: binput.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/binput.t2
2 0  ;------------------
3 0  ;
4 0  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 0  ;;section: binary file input/output
6 0  ;
7 0  =8024 
8 8024  DumpSys::; 
9 8024  ;
10 8024  ; routine called from Update to punch binary systems tape
11 8024  ;
12 8024  DumpSys:; 
13 8024  DumpSys.ent:; 
14 8024 0617547 lod .tape1   ;area covered by tape1 @8024
15 8024+0117552 add .flg   ;
16 8025   call     ;
16+18025 7377571017700 lnk BinPut.lnk:jmp BinPut.ent 
17 8026 0617550 lod .updt   ; @8026
18 8026+0117546 add .K140   ;
19 8027   call     ;
19+18027 7377571017700 lnk BinPut.lnk:jmp BinPut.ent 
20 8028 0617551 lod .mainTrig   ; @8028
21 8028+0417562 sto .trigger   ;
22 8029 0617554 lod .binput   ;
23 8029+  pad     ;
23+18029+0000000 00 0    
24 8030   call     ; @8030
24+18030 7377571017700 lnk BinPut.lnk:jmp BinPut.ent 
25 8031 0617555 lod W8045   ;
26 8031+  pad     ;
26+18031+0000000 00 0    
27 8032   call     ; @8032
27+18032 7377571017700 lnk BinPut.lnk:jmp BinPut.ent 
28 8033 0617556 lod W8046   ;
29 8033+  pad     ;
29+18033+0000000 00 0    
30 8034   call     ; @8034
30+18034 7377571017700 lnk BinPut.lnk:jmp BinPut.ent 
31 8035 0617562 lod .trigger   ;
32 8035+  pad     ;
32+18035+0000000 00 0    
33 8036   call     ; @8036
33+18036 7377571017700 lnk BinPut.lnk:jmp BinPut.ent 
34 8037 1017545.halt:jmp .halt   ;dynamic halt
35 8037+  pad     ;
35+18037+0000000 00 0    
36 8038  ;
37 8038 0000000000214.K140:+140; @8038
38 8039 0000024010765.tape1:00 EP5:00 +4597; @8039
39 8040 2071400017253.updt:20 +7360:00 +7851; @8040
40 8041  .mainTrig:; 
41 8041 0400001007676 04 0:40 main.Entry; @8041
42 8042 4000000000000.flg:40 0:00 0; @8042
43 8043 0000000017000W8043:+7680; @8043
44 8044  .binput:; 
45 8044 2076540017573 20 DumpSys:00 DumpSys.end-1; @8044
46 8045 2076774017651W8045:20 L8063.ent:00 W8106-1; @8045
47 8046 2077300017735W8046:20 L8112.ent:00 W8158-1; @8046
48 8047  ;
49 8047  L8047:call     ;
49+18047 7377571017577 lnk L8063.lnk:jmp L8063.ent 
50 8048 1017560.halt2:jmp .halt2   ;dynamic halt @8048
51 8048+ ;
52 8048+  pad     ;
52+18048+0000000 00 0    
53 8049  ;
54 8049 0000000000000 +0; @8049
55 8050  ;--------------------------------------------------------------------
56 8050  .trigger:; 
57 8050 0400001007676 04 0:40 main.Entry; @8050
58 8051  ;
59 8051  L8051.ent:; 
60 8051 0617574 lod W8060   ;
61 8051+0417656 sto W8110   ;
62 8052 0077575 and W8061   ; @8052
63 8052+0137574 sub W8060   ;
64 8053 1057566 jz .1   ;
65 8053+1017766 jmp L8182   ;
66 8054  ;
67 8054  .1:; 
68 8054   call     ; @8054
68+18054 7377275017660 lnk L8112.lnk:jmp L8112.ent 
69 8055 0617575 lod W8061   ;
70 8055+0417656 sto W8110   ;
71 8056   call     ; @8056
71+18056 7377275017660 lnk L8112.lnk:jmp L8112.ent 
72 8057  .2:; 
73 8057 1600000 kbd 0   ;
74 8057+1037571 jn .2   ;
75 8058  .3:; 
76 8058 0076773020001 o00 Link34/jn 1;return +1 if < @8058
77 8059 1600000 kbd 0   ; @8059
78 8059+1017572 jmp .3   ;
79 8060  DumpSys.end:; 
80 8060  ;
81 8060 0000000000000W8060:+0; @8060
82 8061 0000000000000W8061:+0; @8061
83 8062  ;
84 8062  =8063 
85 8063  ;
86 8063  L8063.ent:; 
87 8063 0617644 lod W8100   ; @8063
88 8063+0400004 sto 4   ;
89 8064 0077723 and W8147   ; @8064
90 8064+0357737 stc W8159   ;
91 8065 0557776 cls W8190   ;
92 8065+0557760 cls W8176   ;
93 8066 0557777 cls W8191   ; @8066
94 8066+0617645 lod W8101   ;
95 8067 1017605 jmp .5   ;
96 8067+ ;
97 8067+ .4:; 
98 8067+1677777 lnk W8191   ;
99 8068   call     ; @8068
99+18068 7377275017640 lnk L8096.lnk:jmp L8096.ent 
100 8069  .5:; 
101 8069 0417653 sto W8107   ;
102 8069+0417655 sto W8109   ;
103 8070 0617774 lod W8188   ; @8070
104 8070+0677655 lns W8109   ;
105 8071 1220024 srl 20   ;
106 8071+0337655 o15 W8109   ;
107 8072 0357654 stc W8108   ; @8072
108 8072+0000000 o00 0   ;
109 8073  .6:; 
110 8073 2277266577777 inc W8109/lod -1;
111 8074 0517653 ads W8107   ; @8074
112 8074+0357575 stc W8061   ;
113 8075 1077614 jo .8   ;
114 8075+ .7:; 
115 8075+1320005 sll 5   ;
116 8076  .8:; 
117 8076 1620000 inp 0   ; @8076
118 8076+1177615 jo .9   ;
119 8077 1117613 jmp .7   ;
120 8077+ ;
121 8077+ .9:; 
122 8077+0417574 sto W8060   ;
123 8078 0137575 sub W8061   ; @8078
124 8078+1057620 jz .10   ;
125 8079   call     ;
125+18079 7376771017563 lnk L8051.lnk:jmp L8051.ent 
126 8080  .10:; 
127 8080 0657654 lis W8108   ; @8080
128 8080+1037611 jn .6   ;
129 8081 0757777 lzs W8191   ;
130 8081+1157603 jz .4   ;
131 8082 0617653 lod W8107   ; @8082
132 8082+0417575 sto W8061   ;
133 8083   call     ;
133+18083 7377275017640 lnk L8096.lnk:jmp L8096.ent 
134 8084 0417574 sto W8060   ; @8084
135 8084+0137575 sub W8061   ;
136 8085 1057627 jz L8087.ent   ;
137 8085+  pad     ;
137+18085+0000000 00 0    
138 8086   call     ; @8086
138+18086 7376771017563 lnk L8051.lnk:jmp L8051.ent 
139 8087  ;
140 8087  L8087.ent:; 
141 8087   call     ; @8087
141+18087 7377275017640 lnk L8096.lnk:jmp L8096.ent 
142 8088 0417574 sto W8060   ; @8088
143 8088+0137650 sub W8104   ;
144 8089 1157603 jz .4   ;
145 8089+0617574 lod W8060   ;
146 8090 0137651 sub W8105   ; @8090
147 8090+ .hlt3:; 
148 8090+1157632 jz .hlt3   ;dynamic halt
149 8091 0617562 lod .trigger   ;
150 8091+0077774 and W8188   ;
151 8092 0417575 sto W8061   ; @8092
152 8092+0137574 sub W8060   ;
153 8093 0077573040001 o00 Link35/jz 1;return +1
154 8094   call     ; @8094
154+18094 7376771017563 lnk L8051.lnk:jmp L8051.ent 
155 8095  .hlt4:; 
156 8095 1017637 jmp .hlt4   ; dynamic halt
157 8095+  pad      
157+18095+0000000 00 0    
158 8096  ;--------------------------------------------------------------------
159 8096  ;
160 8096  L8096::; 
161 8096  ;
162 8096  .ent:; 
163 8096 0140000 cla 0   ; @8096
164 8096+1177641 jo .2   ;
165 8097  .1:; 
166 8097 1320005 sll 5   ;
167 8097+ .2:; 
168 8097+1620000 inp 0   ;
169 8098 1077676 jo L8112.ret   ; @8098
170 8098+1017641 jmp .1   ;
171 8099  ;
172 8099 0000000000143W8099:+99; @8099
173 8100 0000000457734W8100:00 0:22 +8156; @8100
174 8101 0077574020004W8101:00 +8159:01 4; @8101
175 8102 7700000000000W8102:77 0:00 0; @8102
176 8103 0000000000020W8103:+16; @8103
177 8104 0000001017740W8104:o00 0:jmp L8160; @8104
178 8105 0000000000022W8105:+18; @8105
179 8106  ; following all zero, omitted from binary
180 8106 0000000000000W8106:+0 
181 8107 0000000000000W8107:+0 
182 8108 0000000000000W8108:+0 
183 8109 0000000000000W8109:+0 
184 8110 0000000000000W8110:+0 
185 8111  ;;;
186 8111  =8112 
187 8112  L8112::; 
188 8112  ;
189 8112  .ent:; 
190 8112 0617651 lod W8105   ; @8112
191 8112+0437652 stn W8106   ;
192 8113  .1:; 
193 8113 1700000 otp 0   ;
194 8113+0657652 lis W8106   ;
195 8114 1037661 jn .1   ; @8114
196 8114+0617656 lod W8110   ;
197 8115 1117667 jmp .2a   ;
198 8115+ ;
199 8115+ L8115P.ent:; 
200 8115+0617774 lod W8188   ;
201 8116 0677655 lns W8109   ; @8116
202 8116+1220024 srl 20   ;
203 8117 0337655 o15 W8109   ;
204 8117+0417652 sto W8106   ;
205 8118  .2:; 
206 8118 2277266577777 inc W8109/lod -1; @8118
207 8119 0517653 ads W8107   ;
208 8119+ L8119.ent:; 
209 8119+ .2a:; 
210 8119+1200043 sra 35   ;
211 8120 0117647 add W8103   ; @8120
212 8120+  clo     ;
212+18120+1077671 jo .1    
212+28121  .1:; 
213 8121  .3:; 
214 8121 0417656 sto W8110   ;
215 8121+0077675 and Mask31   ; =31
216 8122 1077273700000 exa W8110/otp 0;punch character @8122
217 8123 1177674 jo .4   ;
218 8123+1300005 sla 5   ;
219 8124 1017671 jmp .3   ; @8124
220 8124+ ;
221 8124+ .4:; 
222 8124+0657652 lis W8106   ;
223 8125 1037666Mask31:jn .2   ;
224 8125+0000037 o00 +31   ; in-line constant
225 8126  .ret:; 
226 8126   ret     ;return +1 @8126
226+18126 0077277000001 o00 L8112.lnk/jmp 1 
227 8127  ;
228 8127  ;--------------------------------------------------------------------
229 8127  ;
230 8127  BinPut::; 
231 8127  ;
232 8127  .ret:; 
233 8127   ret     ;
233+18127 0077573000001 o00 BinPut.lnk/jmp 1 
234 8128  ;
235 8128  .ent:; 
236 8128   pad     ; @8128
236+18128 0000000 00 0    
237 8128+0557652 cls W8106   ;
238 8129  .1:; 
239 8129   pad     ;
239+18129 0000000 00 0    
240 8129+0417654 sto W8108   ;
241 8130 0077646 and W8102   ; @8130
242 8130+1057701 jz .1   ;
243 8131 0557653 cls W8107   ;
244 8131+0577654 o27 W8108   ;
245 8132  .2:; 
246 8132 1037706 jn .3   ; @8132
247 8132+1320001 sll 1   ;
248 8133 0457653 inc W8107   ;
249 8133+1017704 jmp .2   ;
250 8134  ;
251 8134  .3:; 
252 8134 0140000 cla 0   ; @8134
253 8134+  pad     ;
253+18134+0000000 00 0    
254 8135 0077257157710 o00 W8107/jz .SW;
255 8136 1017706 jmp .3   ; @8136
256 8136+ ;
257 8136+ .SW:; 
258 8136+0617643 lod W8099   ;+0
259 8137 1117717 jmp .6   ;
260 8137+0617650 lod W8104   ;+1
261 8138 1117714 jmp .5   ; @8138
262 8138+0617651 lod W8105   ;+2
263 8139 1017714 jmp .4   ;
264 8139+0617654 lod W8108   ;+3
265 8140  .4:; 
266 8140 0557653 cls W8107   ; @8140
267 8140+ .5:; 
268 8140+0417656 sto W8110   ;
269 8141   call     ;
269+18141 7377275017660 lnk L8112.lnk:jmp L8112.ent 
270 8142 0617653 lod W8107   ; @8142
271 8142+1057677 jz .ret   ;
272 8143 1017727 jmp .9   ;
273 8143+ ;
274 8143+ .6:; 
275 8143+0437652 stn W8106   ;
276 8144  .7:; 
277 8144 1700000 otp 0   ; @8144
278 8144+0657652 lis W8106   ;
279 8145 1037720 jn .7   ;
280 8145+0617644 lod W8100   ;
281 8146 0400004 sto 4   ; @8146
282 8146+0077723 and W8147   ;
283 8147  W8147:; 
284 8147  .8:; 
285 8147 0357737 stc W8159   ;
286 8147+0217777 exa W8191   ;
287 8148 0557776 cls W8190   ; @8148
288 8148+0557760 cls W8176   ;
289 8149 0617645 lod W8101   ;
290 8149+0417655 sto W8109   ;
291 8150   call     ; @8150
291+18150 7377275117663 lnk L8115P.lnk:jmp L8115P.ent 
292 8151  .9:; 
293 8151 0617654 lod W8108   ;
294 8151+0417656 sto W8110   ;
295 8152 0417653 sto W8107   ; @8152
296 8152+0417655 sto W8109   ;
297 8153   call     ;
297+18153 7377275017660 lnk L8112.lnk:jmp L8112.ent 
298 8154   call     ; @8154
298+18154 7377275117663 lnk L8115P.lnk:jmp L8115P.ent 
299 8155 0617653 lod W8107   ;
300 8155+0000000 o00 0   ;
301 8156   call     ; @8156
301+18156 7377275117667 lnk L8119.lnk:jmp L8119.ent 
302 8157 1017677 jmp .ret   ;
303 8157+  pad     ;
303+18157+0000000 00 0    
304 8158   ; 
305 8158 0000000000000W8158:+0;
306 8159 0000000000000W8159:+0;
307 8160 0000000000000L8160:+0;