1 ADDR=40 /20 punch, 40 teletype 2 TPLS=6006 ADDR 3 TPSF=6001 ADDR 4 / tape labeler SA=200, core=200-734 5 / by John Wilson 05-Jan-85 6 / Modifications to font by David Gesswein 13-April-14 7 / echo typed input on high-speed punch 8 / Modified to print ascii version after text when return entered 9 *10 10 000010 0000 PTR1, 0 11 000011 0000 PTR2, 0 12 *200 13 000200 7240 START, CLA CMA 14 000201 1377 TAD (BUF 15 000202 3011 DCA PTR2 16 000203 3327 DCA TLEN 17 000204 6031 LOOP1, KSF /wait for input 18 000205 5204 JMP .-1 19 000206 6036 KRB /get it 20 000207 0322 AND P0177 21 000210 3324 DCA TEMP 22 000211 1376 TAD (-15 / CR 23 000212 1324 TAD TEMP 24 000213 7450 SNA 25 000214 5260 JMP PTEXT 26 000215 7200 CLA 27 000216 1324 TAD TEMP 28 000217 1323 TAD M0141 29 000220 7510 SPA 30 000221 5226 JMP UPPER 31 000222 7200 CLA 32 000223 1321 TAD M0040 /convert lower case to upper 33 000224 1324 TAD TEMP 34 000225 3324 DCA TEMP 35 000226 7200 UPPER, CLA 36 000227 1324 TAD TEMP 37 000230 3411 DCA I PTR2 38 000231 2327 ISZ TLEN 39 000232 1324 TAD TEMP 40 000233 1321 TAD M0040 /convert space::backarrow to 00::77 41 000234 3324 DCA TEMP /save 42 000235 1324 TAD TEMP /get it back again 43 000236 7106 CLL RTL /*4 44 000237 7000 NOP /(bug fix, replacing 7006/RTL) 45 000240 1324 TAD TEMP /*5 46 TAD BASEM1 /add table base -1 off page ^ 000241 1775 47 000242 3010 DCA PTR1 /save in auto-index loc 48 000243 1325 TAD M0005 /init count to -(# of columns), clear AC 49 000244 3326 DCA COUNT 50 000245 1410 LOOP2, TAD I PTR1 /get next column (auto-index) 51 000246 6046 TPLS /punch it 52 000247 6041 TPSF /spin until done 53 000250 5247 JMP .-1 54 000251 7200 CLA /AC=0 for next time 55 000252 2326 ISZ COUNT /done all columns? 56 000253 5245 JMP LOOP2 /loop if not 57 000254 6046 TPLS /punch one more column of zeros 58 000255 6041 TPSF /spin until done 59 000256 5255 JMP .-1 60 000257 5204 JMP LOOP1 /back around for next char 61 000260 4307 PTEXT, JMS PLDR 62 000261 7240 CLA CMA 63 000262 1377 TAD (BUF 64 000263 3011 DCA PTR2 65 000264 1411 TRIM, TAD I PTR2 /drop leading spaces 66 000265 1374 TAD (-40 /space 67 000266 7450 SNA 68 000267 5264 JMP TRIM 69 000270 7240 CLA CMA /point back to first non space 70 000271 1011 TAD PTR2 71 000272 3011 DCA PTR2 72 000273 7240 PTLOOP, CLA CMA 73 000274 1327 TAD TLEN 74 000275 7510 SPA 75 000276 5305 JMP DONE 76 000277 3327 DCA TLEN 77 000300 1411 TAD I PTR2 78 000301 6046 TPLS /punch it 79 000302 6041 TPSF /spin until done 80 000303 5302 JMP .-1 81 000304 5273 JMP PTLOOP 82 000305 4307 DONE, JMS PLDR 83 000306 5200 JMP START 84 000307 0000 PLDR, 0 85 000310 1373 TAD (-20 86 000311 3326 DCA COUNT 87 000312 7200 PLDRL, CLA 88 000313 6046 TPLS /punch it 89 000314 6041 TPSF /spin until done 90 000315 5314 JMP .-1 91 000316 2326 ISZ COUNT 92 000317 5312 JMP PLDRL 93 000320 5707 JMP I PLDR 94 / data (besides location 10) 95 000321 7740 M0040, -40 /-40 (offset from blank to 00) 96 000322 0177 P0177, 177 97 000323 7637 M0141, -141 /(a) 98 000324 0000 TEMP, 0 /temp for computing index into table 99 000325 7773 M0005, 7773 /-5 (- # columns per char) 100 000326 0000 COUNT, 0 /column counter 101 000327 0000 TLEN, 0 102 000373 7760 PAGE 000374 7740 000375 0400 000376 7763 000377 1106 103 000400 0400 BASEM1, . /base of table, -1 104 DECIMAL 105 000401 0000 0;0;0;0;0 /SPACE 000402 0000 000403 0000 000404 0000 000405 0000 106 000406 0000 0;0;223;223;0 /! 000407 0000 000410 0337 000411 0337 000412 0000 107 000413 0000 0;7;0;7;0 /" 000414 0007 000415 0000 000416 0007 000417 0000 108 000420 0050 40;255;40;255;40 /# 000421 0377 000422 0050 000423 0377 000424 0050 109 000425 0206 134;137;255;137;113 /$ 000426 0211 000427 0377 000430 0211 000431 0161 110 000432 0203 131;99;24;198;193 /% 000433 0143 000434 0030 000435 0306 000436 0301 111 000437 0154 108;146;172;64;160 /& 000440 0222 000441 0254 000442 0100 000443 0240 112 000444 0000 0;0;7;7;0 /' 000445 0000 000446 0007 000447 0007 000450 0000 113 000451 0000 0;60;66;129;0 /( 000452 0074 000453 0102 000454 0201 000455 0000 114 000456 0000 0;129;66;60;0 /) 000457 0201 000460 0102 000461 0074 000462 0000 115 000463 0124 84;56;255;56;84 /* 000464 0070 000465 0377 000466 0070 000467 0124 116 000470 0020 16;16;255;16;16 /+ 000471 0020 000472 0377 000473 0020 000474 0020 117 000475 0000 0;160;64;0;0 /, 000476 0240 000477 0100 000500 0000 000501 0000 118 000502 0020 16;16;16;16;16 /- 000503 0020 000504 0020 000505 0020 000506 0020 119 000507 0000 0;192;192;0;0 /. 000510 0300 000511 0300 000512 0000 000513 0000 120 000514 0200 128;96;24;6;1 // 000515 0140 000516 0030 000517 0006 000520 0001 121 000521 0176 126;161;137;133;126 /0 000522 0241 000523 0211 000524 0205 000525 0176 122 000526 0204 132;130;255;128;128 /1 000527 0202 000530 0377 000531 0200 000532 0200 123 000533 0302 194;161;145;137;134 /2 000534 0241 000535 0221 000536 0211 000537 0206 124 000540 0102 66;137;137;137;118 /3 000541 0211 000542 0211 000543 0211 000544 0166 125 000545 0014 12;10;137;255;136 /4 000546 0012 000547 0211 000550 0377 000551 0210 126 000552 0307 199;137;137;137;248 /5 000553 0211 000554 0211 000555 0211 000556 0370 127 000557 0176 126;137;137;137;114 /6 000560 0211 000561 0211 000562 0211 000563 0162 128 000564 0001 1;1;249;5;2 /7 000565 0001 000566 0371 000567 0005 000570 0002 129 000571 0166 118;137;137;137;118 /8 000572 0211 000573 0211 000574 0211 000575 0166 130 000576 0106 70;137;137;137;126 /9 000577 0211 000600 0211 000601 0211 000602 0176 131 000603 0000 0;96;96;0;0 /: 000604 0140 000605 0140 000606 0000 000607 0000 132 000610 0000 0;128;96;96;0 /; 000611 0200 000612 0140 000613 0140 000614 0000 133 000615 0020 16;40;68;130;0 /< 000616 0050 000617 0104 000620 0202 000621 0000 134 000622 0014 12;12;12;12;12 /= 000623 0014 000624 0014 000625 0014 000626 0014 135 000627 0202 130;68;40;16;0 /> 000630 0104 000631 0050 000632 0020 000633 0000 136 000634 0004 4;2;177;10;4 /? 000635 0002 000636 0261 000637 0012 000640 0004 137 000641 0070 56;68;154;188;152 /@ 000642 0104 000643 0232 000644 0274 000645 0230 138 000646 0376 254;9;9;9;254 /A 000647 0011 000650 0011 000651 0011 000652 0376 139 000653 0377 255;137;137;137;118 /B 000654 0211 000655 0211 000656 0211 000657 0166 140 000660 0176 126;129;129;129;129 /C 000661 0201 000662 0201 000663 0201 000664 0201 141 000665 0377 255;129;129;129;126 /D 000666 0201 000667 0201 000670 0201 000671 0176 142 000672 0377 255;137;137;137;137 /E 000673 0211 000674 0211 000675 0211 000676 0211 143 000677 0377 255;9;9;9;1 /F 000700 0011 000701 0011 000702 0011 000703 0001 144 000704 0176 126;129;129;145;243 /G 000705 0201 000706 0201 000707 0221 000710 0363 145 000711 0377 255;8;8;8;255 /H 000712 0010 000713 0010 000714 0010 000715 0377 146 000716 0201 129;129;255;129;129 /I 000717 0201 000720 0377 000721 0201 000722 0201 147 000723 0140 96;128;129;127;1 /J 000724 0200 000725 0201 000726 0177 000727 0001 148 000730 0377 255;8;20;34;193 /K 000731 0010 000732 0024 000733 0042 000734 0301 149 000735 0377 255;128;128;128;128 /L 000736 0200 000737 0200 000740 0200 000741 0200 150 000742 0377 255;2;12;2;255 /M 000743 0002 000744 0014 000745 0002 000746 0377 151 000747 0377 255;2;60;64;255 /N 000750 0002 000751 0074 000752 0100 000753 0377 152 000754 0176 126;129;129;126;0 /O 000755 0201 000756 0201 000757 0176 000760 0000 153 000761 0377 255;9;9;9;6 /P 000762 0011 000763 0011 000764 0011 000765 0006 154 000766 0174 124;129;161;65;190 /Q 000767 0201 000770 0241 000771 0101 000772 0276 155 000773 0377 255;25;41;73;134 /R 000774 0031 000775 0051 000776 0111 000777 0206 156 001000 0206 134;137;137;137;113 /S 001001 0211 001002 0211 001003 0211 001004 0161 157 001005 0001 1;1;255;1;1 /T 001006 0001 001007 0377 001010 0001 001011 0001 158 001012 0177 127;128;128;128;127 /U 001013 0200 001014 0200 001015 0200 001016 0177 159 001017 0077 63;96;192;96;63 /V 001020 0140 001021 0300 001022 0140 001023 0077 160 001024 0177 127;128;112;128;127 /W 001025 0200 001026 0160 001027 0200 001030 0177 161 001031 0303 195;36;24;36;195 /X 001032 0044 001033 0030 001034 0044 001035 0303 162 001036 0003 3;4;218;4;3 /Y 001037 0004 001040 0332 001041 0004 001042 0003 163 001043 0301 193;161;145;137;135 /Z 001044 0241 001045 0221 001046 0211 001047 0207 164 001050 0000 0;255;129;129;129 /[ 001051 0377 001052 0201 001053 0201 001054 0201 165 001055 0001 1;6;24;96;128 /\ 001056 0006 001057 0030 001060 0140 001061 0200 166 001062 0201 129;129;129;255;0 /] 001063 0201 001064 0201 001065 0377 001066 0000 167 001067 0004 4;2;255;2;4 /up arrow (^) 001070 0002 001071 0377 001072 0002 001073 0004 168 001074 0200 128;128;128;128;128 /_ 001075 0200 001076 0200 001077 0200 001100 0200 169 001101 0000 0;1;2;4;0 /` 001102 0001 001103 0002 001104 0004 001105 0000 170 171 001106 0000 BUF, 0 172 173 $ ADDR 0040 BASEM1 0400 BUF 1106 COUNT 0326 DONE 0305 LOOP1 0204 LOOP2 0245 M0005 0325 M0040 0321 M0141 0323 P0177 0322 PLDR 0307 PLDRL 0312 PTEXT 0260 PTLOOP 0273 PTR1 0010 PTR2 0011 START 0200 TEMP 0324 TLEN 0327 TPLS 6046 TPSF 6041 TRIM 0264 UPPER 0226