File: update.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/update.t2
2 0  ;------------------
3 0  ;
4 0  Update::; 
5 0  ;
6 0  ; enter here to read, copy and apply update tape
7 0  ;
8 0  =7360 
9 7360   calln ,   ; @7360
9+17360 7375225017060 lnk Update.lnk2:jmp Update.read 
10 7361 0136362 sub .tape   ; @7361
11 7361+1056303 jz .tapeOK   ;
12 7362 0616370 lod .hdr+2   ;'TAPE' @7362
13 7362+1016321 jmp .err   ;
14 7363  ;
15 7363  .tapeOK:; 
16 7363   calln ,   ; @7363
16+17363 7375225017060 lnk Update.lnk2:jmp Update.read 
17 7364 0136363 sub .issue   ; @7364
18 7364+1056306 jz .issOK   ;
19 7365 0616372 lod .hdr+4   ;'ISSUE' @7365
20 7365+1016321 jmp .err   ;
21 7366  ;
22 7366  .issOK:; 
23 7366 0456363 inc .issue   ; @7366
24 7366+1017000 jmp .apply   ;
25 7367  ;
26 7367  ; enter here to punch updated system tape
27 7367  ;
28 7367  =7367 
29 7367 0556373 cls .issleg   ; @7367
30 7367+0616363 lod .issue   ;=3
31 7368  .lp3:; 
32 7368 0136365 sub .K10   ;=10 @7368
33 7368+1036312 jn .ex3   ;
34 7369 0456373 inc .issleg   ; @7369
35 7369+1016310 jmp .lp3   ;
36 7370  ;
37 7370  .ex3:; 
38 7370 0116365 add .K10   ;=10 @7370
39 7370+0216373 exa .issleg   ;
40 7371 1156315 jz .zero   ; @7371
41 7371+0216373 exa .issleg   ;
42 7372 1320006 sll +6   ; @7372
43 7372+0516373 ads .issleg   ;
44 7373   pad     ; @7373
44+17373 0000000 00 0    
45 7373+ .zero:; 
46 7373+0556360 cls .indx1   ;
47 7374  .lp4:; 
48 7374 2271702616365 inc .indx1/lod .hdr-1;get header info @7374
49 7375   calln ,   ;and punch it on tape @7375
49+17375 7371771016377 lnk Update.lnk1:jmp Update.legi 
50 7376 1016316 jmp .lp4   ;repeat, legi will exit @7376
51 7376+  pad     ;when it gets a zero code
51+17376+0000000 00 0    
52 7377  .err:; 
53 7377   calln ,   ;output error type @7377
53+17377 7371771016377 lnk Update.lnk1:jmp Update.legi 
54 7378 0616375 lod .wrong   ;'WRONG' @7378
55 7378+  pad     ;
55+17378+0000000 00 0    
56 7379   calln ,   ;output 'WRONG' @7379
56+17379 7371771016377 lnk Update.lnk1:jmp Update.legi 
57 7380  .hlt1:; 
58 7380 1016324 jmp .hlt1   ;loop stop @7380
59 7380+0000000 00 0   ;
60 7381  ;
61 7381  ; legible heading lookup table
62 7381  ;
63 7381  .LegiTab:; 
64 7381 3506142700007 +03506142700007;+00 = '0' @7381
65 7382 4576000000005 +04576000000005;+01 = '1' @7382
66 7383 4546153100007 +04546153100007;+02 = '2' @7383
67 7384 2306556440007 +02306556440007;+03 = '3' @7384
68 7385 3643420400007 +03643420400007;+04 = '4' @7385
69 7386 5726552440007 +05726552440007;+05 = '5' @7386
70 7387 3526552440007 +03526552440007;+06 = '6' @7387
71 7388 4244112140007 +04244112140007;+07 = '7' @7388
72 7389 2526552500007 +02526552500007;+10 = '8' @7389
73 7390 4526552700007 +04526552700007;+11 = '9' @7390
74 7391 7424513700007 +07424513700007;+12 = 'A' @7391
75 7392 7726543040007 +07726543040007;+13 = 'E' @7392
76 7393 3506123500007 +03506123500007;+14 = 'G' @7393
77 7394 4376100000005 +04376100000005;+15 = 'I' @7394
78 7395 7702041000007 +07702041000007;+16 = 'L' @7395
79 7396 7610421740007 +07610421740007;+17 = 'N' @7396
80 7397 3506142700007 +03506142700007;+20 = 'O' @7397
81 7398 7624512100007 +07624512100007;+21 = 'P' @7398
82 7399 7624533100007 +07624533100007;+22 = 'R' @7399
83 7400 2526552440007 +02526552440007;+23 = 'S' @7400
84 7401 0207702040007 +00207702040007;+24 = 'T' @7401
85 7402 3702040740007 +03702040740007;+25 = 'U' @7402
86 7403 1642031010171 +01642031010171;+26 = 'W' @7403
87 7404 0000000000005 +00000000000005;+27 = 5 blanks (space) @7404
88 7405 0000000000017 +00000000000017;+30 = 15 blanks @7405
89 7406 2306556440007.word:+02306556440007;* @7406
90 7407 0000000000001.count:+00000000000001;00 0 : 00 1 @7407
91 7408 0000000000007.indx1:+00000000000007;00 0 : 00 7 @7408
92 7409 0000000000000.save1:+0; @7409
93 7410 0000000000001.tape:+1; @7410
94 7411 0000000000003.issue:+3; @7411
95 7412 0000000000017.msk15:+15; @7412
96 7413 0000000000012.K10:+10; @7413
97 7414 0000027030010.hdr:+00000027030010;10,00,03,27 '803 ' @7414
98 7415 0270400012712 +00270400012712;12,27,01,00,04,27, 'A 104 ' @7415
99 7416 0002713211224 +00002713211224;24,12,21,13,27 'TAPE ' @7416
100 7417 0000000003001 +00000000003001;01,30 '1 ' @7417
101 7418 0271325232315 +00271325232315;15,23,23,25,13,27 'ISSUE ' @7418
102 7419  .issleg:; 
103 7419 0000000000003 +00000000000003;03 '3' @7419
104 7420 0000000000000 +0;final entry=0 to stop @7420
105 7421  ;
106 7421 0301417202226.wrong:+00301417202226;26,22,20,17,14,30 'WRONG ' @7421
107 7422 1631700016317.lnk1:+01631700016317;* @7422
108 7423  ;
109 7423  .legi:; 
110 7423 1057530 jz DumpSys   ;zero, dump system @7423
111 7423+ .lp1:; 
112 7423+1200006 sra 6   ;shift next character into AR
113 7424 0356361 stc .save1   ;save top setion @7424
114 7424+1300006 sla 6   ;reload character
115 7425 2000022616325 sto 4/lod .LegiTab;get table entry @7425
116 7426 0416356 sto .word   ;and save it @7426
117 7426+0076364 and .msk15   ;=017 mask bottom 4 bits (size)
118 7427 0436357 stn .count   ;save it (negated) @7427
119 7427+0176356 bus .word   ;subtract from original
120 7428 1200047 sra 39   ;shift in to AR @7428
121 7428+ .lp2:; 
122 7428+0656357 lis .count   ;bump counter
123 7429 1156410 jz .ex1   ;finished -> @7429
124 7429+0140000 cla 0   ;clear acc
125 7430 1300005 sla 5   ;get 5 chars from AR @7430
126 7430+  pad     ;
126+17430+0000000 00 0    
127 7431 2000023700000 sto 4/otp 0;store/punch @7431
128 7432 1116404 jmp .lp2   ;back for next @7432
129 7432+ ;
130 7432+ .ex1:; 
131 7432+0616361 lod .save1   ;reload remainder
132 7433 0071773040001 00 .lnk1/jz 1;return if zero @7433
133 7434 1116377 jmp .lp1   ;back to get next char @7434
134 7434+  pad      
134+17434+0000000 00 0    
135 7435  ;
136 7435 0000000000000.7435:+0; @7435
137 7436 0000000000000.7436:+0; @7436
138 7437 0000000000000.7437:+0; @7437
139 7438 0000000000000.7438:+0; @7438
140 7439  ;
141 7439  .7439:; 
142 7439 1700035 otp CR   ; @7439
143 7439+1700036 otp LF   ;
144 7440 1116421 jmp .7441P   ; @7440
145 7440+ .7440P:; 
146 7440+1700034 otp SP   ;
147 7441 1700034 otp SP   ; @7441
148 7441+ .7441P:; 
149 7441+0556450 cls .7464   ;
150 7442 0616445 lod .7461   ; @7442
151 7442+1036424 jn .7444   ;
152 7443 1700034 otp SP   ; @7443
153 7443+1016425 jmp .7445   ;
154 7444  .7444:; 
155 7444 0436445 stn .7461   ; @7444
156 7444+1700015 otp '-'   ;
157 7445  .7445:; 
158 7445 0616446 lod .7462   ; @7445
159 7445+1156432 jz .7450P   ;
160 7446 0072232616464 00 .7462/lod .7476; @7446
161 7447 0376445 17 .7461   ; @7447
162 7447+1136430 jn .7448P   ;
163 7448 1016435 jmp .7453   ; @7448
164 7448+ ;
165 7448+ .7448P:; 
166 7448+0516445 ads .7461   ;
167 7449 0456446 inc .7462   ; @7449
168 7449+1700034 otp SP   ;
169 7450 1016425 jmp .7445   ; @7450
170 7450+ ;
171 7450+ .7450P:; 
172 7450+0556450 cls .7464   ;
173 7451 0072232616464 00 .7462/lod .7476; @7451
174 7452  .7452:; 
175 7452 0376445 17 .7461   ; @7452
176 7452+1136436 jn .7454P   ;
177 7453  .7453:; 
178 7453 0216445 exa .7461   ; @7453
179 7453+0456450 inc .7464   ;
180 7454 1016434 jmp .7452   ; @7454
181 7454+ ;
182 7454+ .7454P:; 
183 7454+0516445 ads .7461    
184 7455 0001151.7455:00 packword.digOK   ; @7455
185 7455+0616437 lod .7455   ;
186 7456 0072243220020 00 .7464/srl 16; @7456
187 7457 0076441.7457:and .7457   ; @7457
188 7457+0000020 00 +16   ;
189 7458 2472243700000 ads .7464/otp 0; @7458
190 7459 0656446 lis .7462   ; @7459
191 7459+1136432 jn .7450P   ;
192 7460 0072237000001 00 .7463/jmp 1; @7460
193 7461  ;
194 7461 0000000000000.7461:+0; @7461
195 7462 0000000000000.7462:+0; @7462
196 7463 0000000000000.7463:+0; @7463
197 7464 0000000000000.7464:+0; @7464
198 7465 1351035564000.7465:+100000000000; @7465
199 7466 0112402762000 +10000000000; @7466
200 7467 0007346545000 +1000000000; @7467
201 7468 0000575360400 +100000000; @7468
202 7469 0000046113200 +10000000; @7469
203 7470 0000003641100 +1000000; @7470
204 7471 0000000303240 +100000; @7471
205 7472 0000000023420 +10000; @7472
206 7473 0000000001750 +1000; @7473
207 7474 0000000000144 +100; @7474
208 7475 0000000000012.7475:+10; @7475
209 7476 0000000000001.7476:+1; @7476
210 7477  ;
211 7477  .7477:; 
212 7477 1700034 otp SP   ; @7477
213 7477+1700034 otp SP   ;
214 7478  .7478:; 
215 7478 1700034 otp SP   ; @7478
216 7478+1700034 otp SP   ;
217 7479 0556512 cls .7498   ; @7479
218 7479+0616513 lod .7499   ;
219 7480 1220024 srl 20   ; @7480
220 7480+ .7480P:; 
221 7480+0416515 sto .7501   ;
222 7481 1220020 srl 16   ; @7481
223 7481+0416450 sto .7464   ;
224 7482   calln ,   ; @7482
224+17482 7372235016437 lnk Update.7463:jmp Update.7455 
225 7483 0616515 lod .7501   ; @7483
226 7483+1220015 srl 13   ;
227 7484 0076500 and .7488   ; @7484
228 7484+0416450 sto .7464   ;
229 7485   calln ,   ; @7485
229+17485 7372235016437 lnk Update.7463:jmp Update.7455 
230 7486 0616515 lod .7501   ; @7486
231 7486+0076511 and .7497   ;
232 7487  .7487:; 
233 7487 0416445 sto .7461   ; @7487
234 7487+0616516 lod .7502   ;
235 7488 0436446.7488:stn .7462   ; @7488
236 7488+0000007 00 +7   ;
237 7489   calln ,   ; @7489
237+17489 7372235116421 lnk Update.7463:jmp Update.7441P 
238 7490 0656512 lis .7498   ; @7490
239 7490+1056504 jz .7492   ;
240 7491 0072463000001 00 .7500/jmp 1; @7491
241 7492  ;
242 7492  .7492:; 
243 7492 1700034 otp SP   ; @7492
244 7492+0616513 lod .7499   ;
245 7493 0076517 and .7503   ; @7493
246 7493+1056507 jz .7495   ;
247 7494 1700027 otp '/'   ; @7494
248 7494+1116507 jmp .7495P   ;
249 7495  .7495:; 
250 7495 1700014 otp ':'   ; @7495
251 7495+ .7495P:; 
252 7495+1700034 otp SP   ;
253 7496 0616513 lod .7499   ; @7496
254 7496+0076520 and .7504   ;
255 7497 1116470.7497:jmp .7480P   ; @7497
256 7497+0017777 00 +8191   ;
257 7498  ;
258 7498 0000000000001.7498:+00000000000001;00 0 : 00 1 @7498
259 7499 0000000000000.7499:+0; @7499
260 7500 0000000000000.7500:+0; @7500
261 7501 0000000000000.7501:+0; @7501
262 7502 0000000000003.7502:+00000000000003;00 0 : 00 3 @7502
263 7503 0000002000000.7503:+00000002000000;00 0 / 00 0 @7503
264 7504 0000001777777.7504:+00000001777777;00 0 : 77 8191 @7504
265 7505  .7505:; 
266 7505 1700034 otp SP   ; @7505
267 7505+1700034 otp SP   ;
268 7506 0616513 lod .7499   ; @7506
269 7506+1036524 jn .7508   ;
270 7507 1700034 otp SP   ; @7507
271 7507+1016525 jmp .7509   ;
272 7508  ;
273 7508  .7508:; 
274 7508 0436513 stn .7499   ; @7508
275 7508+1700015 otp '-'   ;
276 7509  .7509:; 
277 7509 0616513 lod .7499   ; @7509
278 7509+1036527 jn .7511   ;
279 7510 1700020 otp '0'   ; @7510
280 7510+1016530 jmp .7512   ;
281 7511  .7511:; 
282 7511 1700001 otp '1'   ; @7511
283 7511+0556513 cls .7499   ;
284 7512  .7512:; 
285 7512 1700016 otp '.'   ; @7512
286 7512+0616537 lod .7519   ;
287 7513 0436515 stn .7501   ; @7513
288 7513+ .7513P:; 
289 7513+0616513 lod .7499   ;
290 7514 1256463 mul .7475   ; @7514
291 7514+0416450 sto .7464   ;
292 7515 1360000 ara 0   ; @7515
293 7515+0416513 sto .7499   ;
294 7516   calln ,   ; @7516
294+17516 7372235016437 lnk Update.7463:jmp Update.7455 
295 7517 0656515 lis .7501   ; @7517
296 7517+1136531 jn .7513P   ;
297 7518  .7518:; 
298 7518 0072463000001 00 .7500/jmp 1; @7518
299 7519  ;
300 7519 0000000000013.7519:+11; @7519
301 7520  ;
302 7520  .7520:; 
303 7520 1700034 otp SP   ; @7520
304 7520+1700034 otp SP   ;
305 7521 0556446 cls .7462   ; @7521
306 7521+0056537 02 .7519   ;
307 7522 0436515 stn .7501   ; @7522
308 7522+0616513 lod .7499   ;
309 7523  .7523:; 
310 7523 1700034 otp SP   ; @7523
311 7523+0416513 sto .7499   ;
312 7524 1220044 srl 36   ; @7524
313 7524+0416450 sto .7464   ;
314 7525   calln ,   ; @7525
314+17525 7372235016437 lnk Update.7463:jmp Update.7455 
315 7526 0656515 lis .7501   ; @7526
316 7526+1136547 jn .7527P   ;
317 7527 1016536 jmp .7518   ; @7527
318 7527+ ;
319 7527+ .7527P:; 
320 7527+0616513 lod .7499   ;
321 7528 1320003 sll 3   ; @7528
322 7528+1016543 jmp .7523   ;
323 7529  ;
324 7529  .7529:; 
325 7529 0416564 sto .7540   ; @7529
326 7529+1360000 ara 0   ;
327 7530 0416565 sto .7541   ; @7530
328 7530+0556566 cls .7542   ;
329 7531 1076554 jo .7532   ; @7531
330 7531+0456566 inc .7542   ;
331 7532  .7532:; 
332 7532 1600000 kbd 0   ; @7532
333 7532+  jnn     ;
333+17532+1136555 jn .1    
333+27533 1016554 jmp Update.7532    
333+37533+ .1:; 
334 7533+ .7533P:; 
335 7533+0416577 sto .7551   ;
336 7534  .7534:; 
337 7534 1600000 kbd 0   ; @7534
338 7534+1036556 jn .7534   ;
339 7535 0616577 lod .7551   ; @7535
340 7535+0076576 and .7550   ;
341 7536 1320004 sll 4   ; @7536
342 7536+0416563 sto .7539   ;
343 7537 0072713000001 00 .7538/jmp 1; @7537
344 7538  ;
345 7538 0000000000000.7538:+0; @7538
346 7539 0000000000000.7539:+0; @7539
347 7540 0000000000000.7540:+0; @7540
348 7541 0000000000000.7541:+0; @7541
349 7542 0000000000000.7542:+0; @7542
350 7543  ;
351 7543  .7543:; 
352 7543 0616563 lod .7539   ; @7543
353 7543+1136571 jn .7545P   ;
354 7544 1320001 sll 1   ; @7544
355 7544+1036521 jn .7505   ;
356 7545 1016465 jmp .7477   ; @7545
357 7545+ ;
358 7545+ .7545P:; 
359 7545+1320001 sll 1   ;
360 7546 1036540 jn .7520   ; @7546
361 7546+0616513 lod .7499   ;
362 7547 0416445 sto .7461   ; @7547
363 7547+0616514 lod .7500   ;
364 7548 0416447 sto .7463   ; @7548
365 7548+0616537 lod .7519   ;
366 7549 0436446 stn .7462   ; @7549
367 7549+1116420 jmp .7440P   ;
368 7550  ;
369 7550 0300000000000.7550:+00300000000000; @7550
370 7551 0000000000000.7551:+0; @7551
371 7552  ;
372 7552  .7552:; 
373 7552   calln ,   ; @7552
373+17552 7372711016551 lnk Update.7538:jmp Update.7529 
374 7553 0616577 lod .7551   ; @7553
375 7553+1220024 srl 20   ;
376 7554 0076656 and .7598   ; @7554
377 7554+0416657 sto .7599   ;
378 7555 0616577 lod .7551   ; @7555
379 7555+0076656 and .7598   ;
380 7556 0416660 sto .7600   ; @7556
381 7556+1700033 otp FS   ;
382 7557  .7557:; 
383 7557 0616655 lod .7597   ; @7557
384 7557+0436661 stn .7601   ;
385 7558 0616654 lod .7596   ; @7558
386 7558+0136657 sub .7599   ;
387 7559 1036643 jn .7587   ; @7559
388 7559+ .7559P:; 
389 7559+0436662 stn .7602   ;
390 7560 1700035 otp CR   ; @7560
391 7560+1700036 otp LF   ;
392 7561 0073312616665 00 .7602/lod .7605; @7561
393 7562 0416615 sto .7565   ; @7562
394 7562+1700034 otp SP   ;
395 7563 0073312616670 00 .7602/lod .7608; @7563
396 7564 0416616 sto .7566   ; @7564
397 7564+1700037 otp LS   ;
398 7565  ;
399 7565 0000000000000.7565:+0; @7565
400 7566 0000000000000.7566:+0; @7566
401 7567 1700033 otp FS   ; @7567
402 7567+0656662 lis .7602   ;
403 7568 1156623 jz .7571P   ; @7568
404 7568+0656662 lis .7602   ;
405 7569 1156622 jz .7570P   ; @7569
406 7569+0616565 lod .7541   ;
407 7570 1116624 jmp .7572P   ; @7570
408 7570+ ;
409 7570+ .7570P:; 
410 7570+0616564 lod .7540   ;
411 7571 1116624 jmp .7572P   ; @7571
412 7571+ ;
413 7571+ .7571P:; 
414 7571+0600004 lod 4   ;
415 7572 0076656 and .7598   ; @7572
416 7572+ .7572P:; 
417 7572+0416513 sto .7499   ;
418 7573   calln ,   ; @7573
418+17573 7372461016567 lnk Update.7500:jmp Update.7543 
419 7574 1700035 otp CR   ; @7574
420 7574+1700036 otp LF   ;
421 7575 1700034 otp SP   ; @7575
422 7575+1700034 otp SP   ;
423 7576 1700034 otp SP   ; @7576
424 7576+1700034 otp SP   ;
425 7577 0656657 lis .7599   ; @7577
426 7577+0136660 sub .7600   ;
427 7578 1136647 jn .7591P   ; @7578
428 7578+ .7578P:; 
429 7578+1600000 kbd 0   ;
430 7579 1136555 jn .7533P   ; @7579
431 7579+1320001 sll 1   ;
432 7580 1036635 jn .7581   ; @7580
433 7580+1116632 jmp .7578P   ;
434 7581  ;
435 7581  .7581:; 
436 7581 1600000 kbd 0   ; @7581
437 7581+1320001 sll 1   ;
438 7582 1036635 jn .7581   ; @7582
439 7582+1076637 jo .7583   ;
440 7583  .7583:; 
441 7583 0616565 lod .7541   ; @7583
442 7583+1200046 sra 38   ;
443 7584 0236566 11 .7542   ; @7584
444 7584+1036642 jn .7586   ;
445 7585 0616653 lod .7595   ; @7585
446 7585+0020000 neg 0   ;
447 7586  .7586:; 
448 7586 0616564 lod .7540   ; @7586
449 7586+ .7586P:; 
450 7586+1116642 jmp .7586P   ;
451 7587  ;
452 7587  .7587:; 
453 7587 0616657 lod .7599   ; @7587
454 7587+0416445 sto .7461   ;
455 7588 0616516 lod .7502   ; @7588
456 7588+0436446 stn .7462   ;
457 7589   calln ,   ; @7589
457+17589 7372235016417 lnk Update.7463:jmp Update.7439 
458 7590  .7590:; 
459 7590 0073276600000 00 .7599/lod 0; @7590
460 7591 1116624 jmp .7572P   ; @7591
461 7591+ ;
462 7591+ .7591P:; 
463 7591+0656661 lis .7601   ;
464 7592 1056605 jz .7557   ; @7592
465 7592+1700034 otp SP   ;
466 7593 0616654 lod .7596   ; @7593
467 7593+0136657 sub .7599   ;
468 7594 1036646 jn .7590   ; @7594
469 7594+1116607 jmp .7559P   ;
470 7595  ;
471 7595 4000000000000.7595:+04000000000000; @7595
472 7596 0000000000004.7596:+4; @7596
473 7597 0000000000011.7597:+9; @7597
474 7598 0000000017777.7598:+8191; @7598
475 7599 0000000000000.7599:+0; @7599
476 7600 0000000000000.7600:+0; @7600
477 7601 0000000000000.7601:+0; @7601
478 7602 0000000000000.7602:+0; @7602
479 7603  ;
480 7603  .7603:; 
481 7603 1700034 otp SP   ; @7603
482 7603+1700034 otp SP   ;
483 7604 1700034 otp SP   ; @7604
484 7604+1700001 otp '1'   ;
485 7605  .7605:; 
486 7605 1700034 otp SP   ; @7605
487 7605+1700023 otp '3'   ;
488 7606 1700001 otp '1'   ; @7606
489 7606+1700022 otp ')'   ;
490 7607 1700003 otp '*'   ; @7607
491 7607+1700003 otp '*'   ;
492 7608  .7608:; 
493 7608 1700003 otp '*'   ; @7608
494 7608+1700022 otp ')'   ;
495 7609  .7609:; 
496 7609   calln ,   ; @7609
496+17609 7375225017060 lnk Update.lnk2:jmp Update.read 
497 7610  .7609P= ëÿ¿P/@hëÿ¿hX@Ø ôÿ¿ÿ.7609#; 
498 7610 2275246117777 inc .7849/sub -1; @7610
499 7611 1057060 jz .read   ; @7611
500 7611+0777244 37 .7844   ;
501 7612 0416513 sto .7499   ; @7612
502 7612+0617250 lod .7848   ;
503 7613 1156677 jz .7615P   ; @7613
504 7613+1700033 otp FS   ;
505 7614 1600000 kbd 0   ; @7614
506 7614+1056701 jz .7617   ;
507 7615 0000000 00 0   ; @7615
508 7615+ .7615P:; 
509 7615+0616513 lod .7499   ;
510 7616 0075246377777 00 .7849/sto -1; @7616
511 7617  .7617:; 
512 7617 0617250 lod .7848   ; @7617
513 7617+1156671 jz .7609P   ;
514 7618 0617244 lod .7844   ; @7618
515 7618+0416735 sto .7645   ;
516 7619 0040000 02 0   ; @7619
517 7619+0137251 sub .7849   ;
518 7620 0020000 neg 0   ; @7620
519 7620+  callo ,   ;
519+17620+1676736 lnk Update.7646    
519+27621 1016706 jmp Update.7622    
520 7621+1016671 jmp .7609   ;
521 7622  .7622:; 
522 7622 0416512 sto .7498   ; @7622
523 7622+1700035 otp CR   ;
524 7623 1700036 otp LF   ; @7623
525 7623+1700035 otp CR   ;
526 7624   calln ,   ; @7624
526+17624 7372461016477 lnk Update.7500:jmp Update.7487 
527 7625   calln ,   ; @7625
527+17625 7372461016466 lnk Update.7500:jmp Update.7478 
528 7626 1700034 otp SP   ; @7626
529 7626+1700034 otp SP   ;
530 7627 1700003 otp '*'   ; @7627
531 7627+0000000 00 0   ;
532 7628 0616735 lod .7645   ; @7628
533 7628+0416513 sto .7499   ;
534 7629   calln ,   ; @7629
534+17629 7372461016466 lnk Update.7500:jmp Update.7478 
535 7630 0673573100001 cla .7646/jmp 1#; @7630
536 7631 1176717 jo .7631P   ; @7631
537 7631+ .7631P:; 
538 7631+0140000 06 0   ;
539 7632  .7632:; 
540 7632 1320005 sll 5   ; @7632
541 7632+1620000 inp 0   ;
542 7633 1076722 jo .7634   ; @7633
543 7633+1016720 jmp .7632   ;
544 7634  ;
545 7634  .7634:; 
546 7634 0340004 stc 4   ; @7634
547 7634+ .7634P:; 
548 7634+1320005 sll 5   ;
549 7635  .7635:; 
550 7635 1620000 inp 0   ; @7635
551 7635+  jno     ;
551+17635+1176724 jo .1    
551+27636 1116722 jmp Update.7634P    
551+37636+ .1:; 
552 7636+0416513 sto .7499   ;
553 7637 2200022120003 inc 4/sub 3; @7637
554 7638 1156722 jz .7634P   ; @7638
555 7638+0176513 bus .7499   ;
556 7639 0416735 sto .7645   ; @7639
557 7639+1600000 kbd 0   ;
558 7640 1056732 jz .7642   ; @7640
559 7640+0616513 lod .7499   ;
560 7641 0000022400003 00 4/sto 3; @7641
561 7642  .7642:; 
562 7642 0640004 lis 4   ; @7642
563 7642+0440004 inc 4   ;
564 7643 0240004 exc 4   ; @7643
565 7643+  callo ,   ;
565+17643+1676736 lnk Update.7646    
565+27644 1016706 jmp Update.7622    
566 7644+1016723 jmp .7635   ;
567 7645  ;
568 7645 0000000000000.7645:+0 
569 7646 0000000000000.7646:+0 
570 7647 0000000000000.7647:+0 
571 7648 0000000000000.7648:+0 
572 7649 0000000000000.7649:+0 
573 7650 0000000000000.7650:+0 
574 7651 0000000000000.7651:+0 
575 7652 0000000000000.7652:+0 
576 7653 0000000000000.7653:+0 
577 7654 0000000000000.7654:+0 
578 7655 0000000000000.7655:+0 
579 7656  ;
580 7656  .7656:; 
581 7656   calln ,   ; @7656
581+17656 7375225017060 lnk Update.lnk2:jmp Update.read 
582 7657 1256757 mul .7663   ; @7657
583 7657+1360000 ara 0   ;
584 7658 0416760 sto .7664   ; @7658
585 7658+0556761 cls .7665   ;
586 7659  .7659:; 
587 7659 2273702617252 inc .7664/lod .7850; @7659
588 7660 2273706417252 inc .7665/sto .7850; @7660
589 7661 0616761 lod .7665   ; @7661
590 7661+0136757 sub .7663   ;
591 7662 1036753 jn .7659   ; @7662
592 7662+1017000 jmp .apply   ;
593 7663  ;
594 7663 0000000000012.7663:+10; @7663
595 7664 0000000000156.7664:+110; @7664
596 7665 0000000000012.7665:+10; @7665
597 7666  ;
598 7666  .7666:; 
599 7666   calln ,   ; @7666
599+17666 7375225017060 lnk Update.lnk2:jmp Update.read 
600 7667 1256757 mul .7663   ; @7667
601 7667+1360000 ara 0   ;
602 7668 0417245 sto .lnk2   ; @7668
603 7668+0116757 add .7663   ;
604 7669 0137546 sub DumpSys.K140   ;=140 @7669
605 7669+1136766 jn .7670P   ;
606 7670 0517546 ads DumpSys.K140   ; @7670
607 7670+ .7670P:; 
608 7670+0617553 lod W8043   ;
609 7671 0217245 exa .lnk2   ; @7671
610 7671+0117227 add .7831   ;
611 7672 0417252 sto .7850   ; @7672
612 7672+1117055 jmp .7725P   ;
613 7673  ;
614 7673 0000000000000.7673:+0 
615 7674 0000000000000.7674:+0 
616 7675 0000000000000.7675:+0 
617 7676 0000000000000.7676:+0 
618 7677 0000000000000.7677:+0 
619 7678 0000000000000.7678:+0 
620 7679 0000000000000.7679:+0 
621 7680  ;
622 7680  .apply:; 
623 7680   calln ,   ; @7680
623+17680 7375225017060 lnk Update.lnk2:jmp Update.read 
624 7681 2275246337777 inc .7849/stc -1; @7681
625 7682  .7682:; 
626 7682 1017000 jmp .apply   ; @7682
627 7682+ .7682P:; 
628 7682+0060000 and 0   ;
629 7683 0000000000000.7683:+0; @7683
630 7684  .7684:; 
631 7684 0617245 lod .lnk2   ; @7684
632 7684+0137246 sub .7846   ;
633 7685 1057074 jz .7740   ; @7685
634 7685+1017073 jmp .7739   ;
635 7686  ;
636 7686 0000000000037.7686:+31; @7686
637 7687 0000000000034.7687:+28; @7687
638 7688  ;
639 7688  .7688:; 
640 7688 0075202617252 00 .7840/lod .7850; @7688
641 7689 1017031 jmp .7705   ; @7689
642 7689+0000000 00 0   ;
643 7690  ;
644 7690 0000001077065.7690:+00000001077065;<00 0 : jo 7733> @7690
645 7691  ;------------------------------------------------------------
646 7691  ; subroutine to input and punch the next char from the update
647 7691  ; tape. Copying is controlled by the B-digit on keyboard
648 7691  ;
649 7691  .inchr:; 
650 7691 0140000 cla 0   ; @7691
651 7691+ .inchrz:; 
652 7691+1620000 inp 0   ;
653 7692  .inchrc:; 
654 7692 2075177700000 sto .tpch/otp 0; @7692
655 7693 0075237000001 00 .lnk3/jmp 1; @7693
656 7694  ;------------------------------------------------------------
657 7694  .7694:; 
658 7694 0140000 cla 0   ; @7694
659 7694+1620000 inp 0   ;
660 7695 2075177700000.7695:sto .tpch/otp 0; @7695
661 7696 1057106 jz .7750   ; @7696
662 7696+1017016 jmp .7694   ;
663 7697  ;
664 7697  .7697:; 
665 7697 0617245 lod .lnk2   ; @7697
666 7697+0417246 sto .7846   ;
667 7698 0617231 lod .7833   ; @7698
668 7698+1057060 jz .read   ;
669 7699 1037043 jn .7715   ; @7699
670 7699+0617236 lod .7838   ;
671 7700  .7700:; 
672 7700 1057074 jz .7740   ; @7700
673 7700+ .7700P:; 
674 7700+0617107 lod .7751   ;
675 7701  .7701:; 
676 7701 0417237 sto .tpch   ; @7701
677 7701+0617234 lod .7836   ;
678 7702 1037004 jn .7684   ; @7702
679 7702+ .7702P:; 
680 7702+0617232 lod .state   ;
681 7703 1057004 jz .7684   ; @7703
682 7703+0617235 lod .7837   ;
683 7704 1037010 jn .7688   ; @7704
684 7704+0617240 lod .7840   ;
685 7705  .7705:; 
686 7705 0117242 add .7842   ; @7705
687 7705+0000017 00 +15   ;
688 7706 0075162400001 00 .7836/sto 1; @7706
689 7707 0075156117243 00 .7835/add .7843; @7707
690 7708 0075176000007 00 .tpch/00 +7; @7708
691 7709 0517244 ads .7844   ; @7709
692 7709+ .7709P:; 
693 7709+0617244 lod .7844   ;
694 7710 0075233000001.7710:00 .7846/jmp 1; @7710
695 7711  ;
696 7711 0000000000007.7711:+7; @7711
697 7712 0000001777777.7712:+0000001777777;<00 0 : 77 8191> @7712
698 7713 0000000000004.7713:+4; @7713
699 7714 0000002000000.7714:+0000002000000;<00 0 / 00 0> @7714
700 7715  ;
701 7715  .7715:; 
702 7715 0617012 lod .7690   ; @7715
703 7715+0417237 sto .tpch   ;
704 7716 1117026 jmp .7702P   ; @7716
705 7716+ ;
706 7716+ .7716P:; 
707 7716+0557237 cls .tpch   ;
708 7717  .7717:; 
709 7717 2275242617252 inc .7848/lod .7850; @7717
710 7718 1117050 jmp .7720P   ; @7718
711 7718+ ;
712 7718+ .7718P:; 
713 7718+0040000 02 0   ;
714 7719 0417230 sto .7832   ; @7719
715 7719+0557250 cls .7848   ;
716 7720 0617227 lod .7831   ; @7720
717 7720+ .7720P:; 
718 7720+0417252 sto .7850   ;
719 7721 0617231 lod .7833   ; @7721
720 7721+1157055 jz .7725P   ;
721 7722 1017073 jmp .7739   ; @7722
722 7722+ ;
723 7722+ .7722P:; 
724 7722+0617235 lod .7837   ;
725 7723 3475202000000 las .7840/00 0; @7723
726 7724 0357252 stc .7850   ; @7724
727 7724+0137231 sub .7833   ;
728 7725  .7725:; 
729 7725 1037073 jn .7739   ; @7725
730 7725+ .7725P:; 
731 7725+0617252 lod .7850   ;
732 7726 0117242 add .7842   ; @7726
733 7726+0417251 sto .7849   ;
734 7727 0617237 lod .tpch   ; @7727
735 7727+ .7727P:; 
736 7727+1157057 jz .7727P   ;
737 7728  .read:; 
738 7728 1600000 kbd 0   ;read keyboard @7728
739 7728+0077042 and .7714   ;=<00 0 / 00 0>
740 7729 0177040 bus .7712   ;=<00 0 : 77 8191> @7729
741 7729+1137062 jn .7730P   ;
742 7730 0020000 neg 0   ; @7730
743 7730+ .7730P:; 
744 7730+0077017 and .7695   ;=<20 .tpch / otp 0>
745 7731 0417014 sto .inchrc   ;store modified word @7731
746 7731+  clo     ;
746+17731+1077064 jo .1    
746+27732  .1:; 
747 7732 0557231 cls .7833   ;clear work vars @7732
748 7732+0557236 cls .7838   ; ..
749 7733 0557244 cls .7844   ; .. @7733
750 7733+1017102 jmp .7746   ;->
751 7734  ;
752 7734  .7734:; 
753 7734 0617217 lod .7823   ; @7734
754 7734+0217234 exa .7836   ;
755 7735 1037073 jn .7739   ; @7735
756 7735+0617230 lod .7832   ;
757 7736 0417241 sto .7841   ; @7736
758 7736+0617231 lod .7833   ;
759 7737 1137224 jn .7828P   ; @7737
760 7737+1117072 jmp .7738P   ;
761 7738  ;
762 7738  .7738:; 
763 7738 0617231 lod .7833   ; @7738
764 7738+ .7738P:; 
765 7738+1057152 jz .7786   ;
766 7739  .7739:; 
767 7739   calln ,   ; @7739
767+17739 7375231017205 lnk Update.7846:jmp Update.7813 
768 7740  .7740:; 
769 7740 1700034 otp SP   ; @7740
770 7740+1017074 jmp .7740   ;
771 7741  .7741:; 
772 7741 0617042 lod .7714   ; @7741
773 7741+0417244 sto .7844   ;
774 7742  .7742:; 
775 7742 0657236 lis .7838   ; @7742
776 7742+1157077 jz .7743P   ;
777 7743 1017073 jmp .7739   ; @7743
778 7743+ ;
779 7743+ .7743P:; 
780 7743+0657231 lis .7833   ;
781 7744 1037073 jn .7739   ; @7744
782 7744+0617145 lod .7781   ;
783 7745   calln ,   ; @7745
783+17745 7375231017025 lnk Update.7846:jmp Update.7701 
784 7746  ;
785 7746  .7746:; 
786 7746 0040000 02 0   ;=1 @7746
787 7746+0437232 stn .state   ;set state = -1
788 7747 0557233 cls .7835   ; @7747
789 7747+0557234 cls .7836   ;
790 7748 0557235 cls .7837   ; @7748
791 7748+0557240 cls .7840   ;
792 7749 0557242 cls .7842   ; @7749
793 7749+0557243 cls .7843   ;
794 7750  .7750:; 
795 7750   calln ,   ;get next character @7750
795+17750 7375235017013 lnk Update.lnk3:jmp Update.inchr 
796 7751  .7751:; 
797 7751 1157013 jz .inchrz   ;ignore blanks @7751
798 7751+0077031 and .7705   ;=+15
799 7752 0377237 17 .tpch   ; @7752
800 7752+1057112 jz .7754   ;0-15->
801 7753 3075177017113 lod .tpch/jmp .7755;switch to 1st half @7753
802 7754  ;
803 7754  .7754:; 
804 7754 3075177117113 lod .tpch/jmp .7755#;switch to 2nd half @7754
805 7755  .7755:; 
806 7755 0075153017137 00 .state/jmp .7775;0 @7755
807 7756 1017226 jmp .7830   ;( @7756
808 7756+1017113 jmp .7755   ;1
809 7757 1117044 jmp .7716P   ;) @7757
810 7757+1017113 jmp .7755   ;2
811 7758 1017113 jmp .7755   ;3 @7758
812 7758+1017045 jmp .7717   ;*
813 7759 1017060 jmp .read   ;? @7759
814 7759+1017113 jmp .7755   ;4
815 7760 1017113 jmp .7755   ;5 @7760
816 7760+1117052 jmp .7722P   ;$
817 7761 1017113 jmp .7755   ;6 @7761
818 7761+1017016 jmp .7694   ;=
819 7762 1017075 jmp .7741   ;/ @7762
820 7762+1017113 jmp .7755   ;7
821 7763 1117046 jmp .7718P   ;@ @7763
822 7763+1017113 jmp .7755   ;8
823 7764 1017113 jmp .7755   ;9 @7764
824 7764+1117164 jmp .7796P   ;'
825 7765 1117171 jmp .7801P   ;# @7765
826 7765+1017216 jmp .7822   ;,
827 7766 1017013 jmp .inchr   ;FS @7766
828 7766+1017072 jmp .7738   ;+
829 7767 1017013 jmp .inchr   ;SP @7767
830 7767+1017076 jmp .7742   ;:
831 7768 1017013 jmp .inchr   ;CR @7768
832 7768+1017213 jmp .7819   ;-
833 7769 1017021 jmp .7697   ;LF @7769
834 7769+1017066 jmp .7734   ;.
835 7770 1017013 jmp .inchr   ;LS @7770
836 7770+0617231 lod .7833   ;%
837 7771   jnz     ; @7771
837+17771 1057134 jz .1    
837+27771+1017073 jmp Update.7739    
837+37772  .1:; 
838 7772   calln ,   ; @7772
838+17772 7375231017205 lnk Update.7846:jmp Update.7813 
839 7773 0457251 inc .7849   ; @7773
840 7773+1017060 jmp .read   ;
841 7774  ;.7775-1:
842 7774 1320003 sll 3   ;-1 @7774
843 7774+1017146 jmp .7782   ;
844 7775  ;
845 7775  .7775:; 
846 7775 0117243 add .7843   ;+0 @7775
847 7775+1117145 jmp .7781P   ;
848 7776  ;.7775+1:
849 7776 0717240 las .7840   ;+1 @7776
850 7776+0517240 ads .7840   ;
851 7777 1320003 sll 3   ; @7777
852 7777+0517240 ads .7840   ;
853 7778 0617234 lod .7836   ; @7778
854 7778+1157013 jz .inchrz   ;
855 7779 0617241 lod .7841   ; @7779
856 7779+0517241 ads .7841   ;
857 7780 1320003 sll 3   ; @7780
858 7780+0517241 ads .7841   ;
859 7781  .7781:; 
860 7781 1017013 jmp .inchr   ; @7781
861 7781+ ;
862 7781+ .7781P:; 
863 7781+1320015 sll 13   ;
864 7782  .7782:; 
865 7782 0417243 sto .7843   ; @7782
866 7782+0457231 inc .7833   ;
867 7783 0457232 inc .state   ; @7783
868 7783+0057037 02 .7711   ;
869 7784 0177237 bus .tpch   ; @7784
870 7784+1037013 jn .inchr   ;
871 7785 1157153 jz .7787P   ; @7785
872 7785+1017073 jmp .7739   ;
873 7786  ;
874 7786  .7786:; 
875 7786 0040000 02 0   ; @7786
876 7786+0437231 stn .7833   ;
877 7787 1117224 jmp .7828P   ; @7787
878 7787+ ;
879 7787+ .7787P:; 
880 7787+0137232 sub .state   ;
881 7788 1037073 jn .7739   ; @7788
882 7788+0137236 sub .7838   ;
883 7789 1037073 jn .7739   ; @7789
884 7789+0040000 02 0   ;
885 7790  .7790:; 
886 7790 1320003 sll 3   ; @7790
887 7790+0417244 sto .7844   ;
888 7791   calln ,   ; @7791
888+17791 7375235017013 lnk Update.lnk3:jmp Update.inchr 
889 7792 0177007 bus .7687   ; @7792
890 7792+1037074 jn .7740   ;
891 7793 1157013 jz .inchrz   ; @7793
892 7793+0617237 lod .tpch   ;
893 7794 0077037 and .7711   ; @7794
894 7794+0517244 ads .7844   ;
895 7795 1077204 jo .7812   ; @7795
896 7795+0617244 lod .7844   ;
897 7796 1017156 jmp .7790   ; @7796
898 7796+ .7796P:; 
899 7796+0757235 lzs .7837   ;
900 7797 3475202000000 las .7840/00 0; @7797
901 7798 2475212600000 ads .7842/lod 0; @7798
902 7799 0075156517243 00 .7835/ads .7843; @7799
903 7800 0557240 cls .7840   ; @7800
904 7800+0557242 cls .7842   ;
905 7801 1017221 jmp .7825   ; @7801
906 7801+ ;
907 7801+ .7801P:; 
908 7801+0617231 lod .7833   ;
909 7802   jnz     ; @7802
909+17802 1057173 jz .1    
909+27802+1017073 jmp Update.7739    
909+37803  .1:; 
910 7803 0057041 02 .7713   ; @7803
911 7803+0020000 neg 0   ;
912 7804 0357241 stc .7841   ; @7804
913 7804+ .7804P:; 
914 7804+0417240 sto .7840   ;
915 7805   calln ,   ; @7805
915+17805 7375235017013 lnk Update.lnk3:jmp Update.inchr 
916 7806 0137006 sub .7686   ; @7806
917 7806+1057212 jz .7818   ;
918 7807 0117041 add .7713   ; @7807
919 7807+1157174 jz .7804P   ;
920 7808 0617237 lod .tpch   ; @7808
921 7808+0117240 add .7840   ;
922 7809 1200006 sra 6   ; @7809
923 7809+0657241 lis .7841   ;
924 7810 1037013 jn .inchr   ; @7810
925 7810+1360000 ara 0   ;
926 7811 1220002 srl 2   ; @7811
927 7811+0417244 sto .7844   ;
928 7812  .7812:; 
929 7812 0617245 lod .lnk2   ; @7812
930 7812+0417246 sto .7846   ;
931 7813  .7813:; 
932 7813   calln ,   ; @7813
932+17813 7375235017013 lnk Update.lnk3:jmp Update.inchr 
933 7814 0075176617000 00 .tpch/lod .apply; @7814
934 7815 0137024 sub .7700   ; @7815
935 7815+1057060 jz .read   ;
936 7816 0117024 add .7700   ; @7816
937 7816+0137036 sub .7710   ;
938 7817 1157035 jz .7709P   ; @7817
939 7817+1017013 jmp .inchr   ;
940 7818  ;
941 7818  .7818:; 
942 7818 0057006 02 .7686   ; @7818
943 7818+1117174 jmp .7804P   ;
944 7819  ;
945 7819  .7819:; 
946 7819 0617002 lod .7682   ; @7819
947 7819+0217233 exa .7835   ;
948 7820 1037214.7820:jn .7820   ; @7820
949 7820+0617231 lod .7833   ;
950 7821 1057152 jz .7786   ; @7821
951 7821+1117222 jmp .7826P   ;
952 7822  ;
953 7822  .7822:; 
954 7822 0617055 lod .7725   ; @7822
955 7822+0217235 exa .7837   ;
956 7823  .7823:; 
957 7823 1037073 jn .7739   ; @7823
958 7823+0757240 lzs .7840   ;
959 7824 0075156517242 00 .7835/ads .7842; @7824
960 7825  .7825:; 
961 7825 0557233 cls .7835   ; @7825
962 7825+0617231 lod .7833   ;
963 7826 1057073 jz .7739   ; @7826
964 7826+ .7826P:; 
965 7826+0617232 lod .state   ;
966 7827 1057073 jz .7739   ; @7827
967 7827+0617234 lod .7836   ;
968 7828 1037073 jn .7739   ; @7828
969 7828+ .7828P:; 
970 7828+0040000 02 0   ;
971 7829 0357232 stc .state   ; @7829
972 7829+1117013 jmp .inchrz   ;
973 7830  .7830:; 
974 7830   calln ,   ; @7830
974+17830 7375231117024 lnk Update.7846:jmp Update.7700P 
975 7831 1017244.7831:jmp .7844   ; @7831
976 7831+0017253 00 .7851   ;
977 7832  ;
978 7832 0000000000001.7832:+1; @7832
979 7833 0000000000000.7833:+0; @7833
980 7834 7777777777777.state:-1; @7834
981 7835 0000000000000.7835:+0; @7835
982 7836 0000000000000.7836:+0; @7836
983 7837 0000000000000.7837:+0; @7837
984 7838 0000000000000.7838:+0; @7838
985 7839 0000000000000.tpch:+0; @7839
986 7840 0000000000000.7840:+0; @7840
987 7841 0000000000001.7841:+1; @7841
988 7842 0000000000000.7842:+0; @7842
989 7843 0000000000000.7843:+0; @7843
990 7844 0000000000000.7844:+0; @7844
991 7845 1700000017000.lnk2:+01700000017000;17 0 : 00 7680 @7845
992 7846 1700000017000.7846:+01700000017000;17 0 : 00 7680 @7846
993 7847 1710600017106.lnk3:+01710600017106;17 1120 : 00 7750 @7847
994 7848 0000000000011.7848:+9; @7848
995 7849 0000000000516.7849:+334; @7849
996 7850 0000000000516.7850:+334; @7850
997 7851 0000000000025.7851:+21; @7851
998 7852 0000000000056 +46; @7852
999 7853 0000000000160 +112; @7853
1000 7854 0000000000224 +148; @7854
1001 7855 0000000000253 +171; @7855
1002 7856 0000000000277 +191; @7856
1003 7857 0000000000376 +254; @7857
1004 7858 0000000000513 +331; @7858
1005 7859 0000000000516 +334; @7859
1006 7860 0000000000542 +354; @7860
1007 7861 0000000002142 +1122; @7861
1008 7862 0000000002154 +1132; @7862
1009 7863 0000000002175 +1149; @7863
1010 7864 0000000002254 +1196; @7864
1011 7865 0000000002361 +1265; @7865
1012 7866 0000000002440 +1312; @7866
1013 7867 0000000002465 +1333; @7867
1014 7868 0000000003026 +1558; @7868
1015 7869 0000000003254 +1708; @7869
1016 7870 0000000003422 +1810; @7870
1017 7871 0000000000574 +380; @7871
1018 7872 0000000000603 +387; @7872
1019 7873 0000000000666 +438; @7873
1020 7874 0000000000724 +468; @7874
1021 7875 0000000001044 +548; @7875
1022 7876 0000000016417 +7439; @7876
1023 7877 0000000001110 +584; @7877
1024 7878 0000000001206 +646; @7878
1025 7879 0000000001221 +657; @7879
1026 7880 0000000001236 +670; @7880
1027 7881 0000000001414 +780; @7881
1028 7882 0000000001440 +800; @7882
1029 7883 0000000001476 +830; @7883
1030 7884 0000000001536 +862; @7884
1031 7885 0000000001571 +889; @7885
1032 7886 0000000001637 +927; @7886
1033 7887 0000000001711 +969; @7887
1034 7888 0000000002002 +1026; @7888
1035 7889 0000000002074 +1084; @7889
1036 7890 0000000000000 +0; @7890
1037 7891 0000000004300 +2240; @7891
1038 7892 0000000004312 +2250; @7892
1039 7893 0000000004402 +2306; @7893
1040 7894 0000000004502 +2370; @7894
1041 7895 0000000004626 +2454; @7895
1042 7896 0000000004766 +2550; @7896
1043 7897 0000000005077 +2623; @7897
1044 7898 0000000005223 +2707; @7898
1045 7899 0000000005305 +2757; @7899
1046 7900 0000000005436 +2846; @7900
1047 7901 0000000005541 +2913; @7901
1048 7902 0000000005546 +2918; @7902
1049 7903 0000000005553 +2923; @7903
1050 7904 0000000005641 +2977; @7904
1051 7905 0000000005760 +3056; @7905
1052 7906 0000000006002 +3074; @7906
1053 7907 0000000006045 +3109; @7907
1054 7908 0000000006100 +3136; @7908
1055 7909 0000000006126 +3158; @7909
1056 7910 0000000006214 +3212; @7910
1057 7911 0000000003445 +1829; @7911
1058 7912 0000000003567 +1911; @7912
1059 7913 0000000004024 +2068; @7913
1060 7914 0000000004032 +2074; @7914
1061 7915 0000000004116 +2126; @7915
1062 7916 0000000004132 +2138; @7916
1063 7917 0000000004150 +2152; @7917
1064 7918 0000000004205 +2181; @7918
1065 7919 0000000004240 +2208; @7919
1066 7920 1750000017500 +01750000017500; @7920
1067 7921 0000000006233 +3227; @7921
1068 7922 0000000006246 +3238; @7922
1069 7923 0000000006266 +3254; @7923
1070 7924 0000000006363 +3315; @7924
1071 7925 0000000006420 +3344; @7925
1072 7926 0000000006456 +3374; @7926
1073 7927 0000000006534 +3420; @7927
1074 7928 0000000006621 +3473; @7928
1075 7929 0000000006754 +3564; @7929
1076 7930 2476140517434 ads .7960:ads .7964; @7930
1077 7931 0000000007032 +3610; @7931
1078 7932 0000000007034 +3612; @7932
1079 7933 0000000007042 +3618; @7933
1080 7934 0000000007165 +3701; @7934
1081 7935 0000000007200 +3712; @7935
1082 7936 0000000007234 +3740; @7936
1083 7937 0000000007377 +3839; @7937
1084 7938 2276324417463 inc .7989:sto .7987; @7938
1085 7939 0076302600000 00 .7984/lod 0; @7939
1086 7940 2076311257455 sto .7986:mul .7981; @7940
1087 7941 0000000007414 +3852; @7941
1088 7942 0000000007515 +3917; @7942
1089 7943 0000000007527 +3927; @7943
1090 7944 0000000007543 +3939; @7944
1091 7945 0000000007605 +3973; @7945
1092 7946 0000000007640 +4000; @7946
1093 7947 0000000007676 +4030; @7947
1094 7948 0000000007742 +4066; @7948
1095 7949 0000000007771 +4089; @7949
1096 7950 1776311257455 17 .7986:mul .7981; @7950
1097 7951 0000000000025 +21; @7951
1098 7952 0000000000056 +46; @7952
1099 7953 0000000000160 +112; @7953
1100 7954 0000000000224 +148; @7954
1101 7955 0000000000253 +171; @7955
1102 7956 0000000000277 +191; @7956
1103 7957 0000000000376.7957:+254; @7957
1104 7958 0000000000513 +331; @7958
1105 7959 0000000000516 +334; @7959
1106 7960 0000000000542.7960:+354; @7960
1107 7961 0000000010232 +4250; @7961
1108 7962 0000000010274 +4284; @7962
1109 7963 0000000010306 +4294; @7963
1110 7964 0000000010310.7964:+4296; @7964
1111 7965 0000000010322 +4306; @7965
1112 7966 4176125057443 jn .7957:jz .7971; @7966
1113 7967 3076264717466 lod .7981:34 .7990; @7967
1114 7968 4176160617462 jn .7964:lod .7986; @7968
1115 7969 5000005057453 sra 1:jz .7979; @7969
1116 7970 3036540402143 lod W3928:sto W1123; @7970
1117 7971 0000000010412.7971:+4362; @7971
1118 7972 0000000010425 +4373; @7972
1119 7973 0000000017563 +8051; @7973
1120 7974 0000000010461 +4401; @7974
1121 7975 0000000010467 +4407; @7975
1122 7976 0000000010524 +4436; @7976
1123 7977 0000000010531 +4441; @7977
1124 7978 3036564402161 lod Initwsp:sto wsptr; @7978
1125 7979 2602760540575.7979:cls currchar:cls ipshift; @7979
1126 7980   call     ; @7980
1126+17980 7305105001222 lnk gettoken.lnk:jmp gettoken.ent 
1127 7981 0000000010621.7981:+4497; @7981
1128 7982 0000000010626 +4502; @7982
1129 7983 0000000010635 +4509; @7983
1130 7984 0000000010642.7984:+4514; @7984
1131 7985 0000000010653 +4523; @7985
1132 7986 0000000010655.7986:+4525; @7986
1133 7987 0000000010720.7987:+4560; @7987
1134 7988 0000000010734 +4572; @7988
1135 7989 0000000010756.7989:+4590; @7989
1136 7990 0000000000000.7990:+0; @7990