TITLE "AUTOMATIC DISASSEMBLY OF maindec-8e-d0fc-pb.bin BY D8TAPE" //////////////////////////////////////////////////////////////////////////////// / / Automatic Disassembly of maindec-8e-d0fc-pb.bin / Generated 2010 02 19 00:10:30 / Generated by d8tape version 0.351 / Visit http://www.pdp12.org/pdp8/software/index.html for updates / / Symbol format: / AIx -- Auto-index variables (address range 001x) / Caaaa -- Constants (non-unique) / Daaaa -- Data (read/write variables) / Kvvvv -- Program-wide unique constants / Laaaa -- Labels for control flow targets / Saaaa -- Subroutines / / Where: / aaaa is the definition address / vvvv is the value of the constant / x is the last digit of the address 001x for auto-index variables / / 0645 locations used, 0506 code and 0137 data //////////////////////////////////////////////////////////////////////////////// *0200 *0000 L0000, D0000, 0000 / AND L0000 L0001, D0001, 5001 / JMP L0001 D0002, 0002 / AND D0002 D0003, 0003 / AND D0003 C0004, 0000 / AND L0000 AND L0000 / @@0005=0000 C0006, 0202 / AND D0002 C0007, C0007, 0547 / AND I C0147 AI0, 0007 / AUTO-INDEX REGISTER AND C0007 AI1, 0000 / AUTO-INDEX REGISTER AND L0000 AI2, 0000 / AUTO-INDEX REGISTER AND L0000 AI3, 7401 / AUTO-INDEX REGISTER NOP AI4, 3607 / AUTO-INDEX REGISTER DCA I C0007 AI5, 0003 / AUTO-INDEX REGISTER AND D0003 ISZ I D0021 / @@0016=2421 AI7, 5116 / AUTO-INDEX REGISTER JMP L0116 C0020, 5141 / JMP L0141 D0021, 0000 / AND L0000 D0022, 0000 / AND L0000 D0023, 0000 / AND L0000 D0024, 0000 / AND L0000 C0025, 0004 / AND C0004 C0026, C0026, 0400 / AND I L0000 C0027, 0200 / AND L0000 C0030, 0100 / AND C0100 D0031, 0000 / AND L0000 C0032, 0257 / AND C0057 C0033, C0033, 0201 / AND L0001 AND C0006 / @@0034=0206 AND I AI3 / AUTO INDEX REGISTER @@0035=0413 C0036, 1014 / TAD AI4 C0037, C0037, 0600 / AND I L0000 L0040, D0040, 4441 / JMS I D0041 D0041, 0614 / AND I AI4 AND AI5 / AUTO INDEX REGISTER @@0042=0015 SZA CLA / @@0043=7640 JMP I C0026 / long jump to L0400 @@0044=5426 TAD C0036 / @@0045=1036 DCA L0165 / @@0046=3165 L0047, LAS / @@0047=7604 AND C0030 / @@0050=0030 SZA / @@0051=7440 JMP L0055 / @@0052=5055 JMS S0164 / @@0053=4164 C0054, 3022 / DCA D0022 L0055, LAS / @@0055=7604 AND C0027 / @@0056=0027 C0057, 7640 / SZA CLA JMP L0065 / @@0060=5065 JMS S0164 / @@0061=4164 DCA D0021 / @@0062=3021 TAD D0021 / @@0063=1021 JMS S0151 / @@0064=4151 L0065, LAS / @@0065=7604 AND C0026 / @@0066=0026 SZA CLA / @@0067=7640 JMP L0075 / @@0070=5075 JMS S0164 / @@0071=4164 DCA D0002 / @@0072=3002 TAD D0002 / @@0073=1002 JMS S0151 / @@0074=4151 L0075, STA / AC = 7777 (-0001) @@0075=7240 TAD D0002 / @@0076=1002 C0077, 3011 / DCA AI1 C0100, 1016 / TAD AI6 DCA I AI1 / AUTO INDEX REGISTER @@0101=3411 TAD AI7 / AUTO INDEX REGISTER @@0102=1017 DCA I AI1 / AUTO INDEX REGISTER @@0103=3411 TAD C0020 / @@0104=1020 DCA I AI1 / AUTO INDEX REGISTER @@0105=3411 TAD D0022 / @@0106=1022 DCA I D0021 / @@0107=3421 TAD D0022 / @@0110=1022 L0111, DCA D0023 / @@0111=3023 TAD D0023 / @@0112=1023 IAC / @@0113=7001 DCA D0024 / @@0114=3024 JMP I C0007 / long jump to L0547 @@0115=5407 L0116, LAS / @@0116=7604 RAL / @@0117=7004 SPA CLA / @@0120=7710 JMP L0132 / @@0121=5132 TAD I D0021 / @@0122=1421 CIA / @@0123=7041 TAD D0024 / @@0124=1024 SZA CLA / @@0125=7640 JMP I C0033 / long jump to L0201 @@0126=5433 TAD I D0021 / @@0127=1421 SNA CLA / @@0130=7650 JMP I C0033 / long jump to L0201 @@0131=5433 L0132, LAS / @@0132=7604 AND C0025 / @@0133=0025 SNA CLA / @@0134=7650 JMP L0047 / @@0135=5047 IAC / @@0136=7001 TAD D0023 / @@0137=1023 JMP L0111 / @@0140=5111 L0141, LAS / @@0141=7604 RAL / @@0142=7004 SPA CLA / @@0143=7710 JMP L0047 / @@0144=5047 TAD I D0021 / @@0145=1421 SZA CLA / @@0146=7640 C0147, 5434 / JMP I C0034 JMP L0047 / @@0150=5047 //////////////////////////////////////////////////////////////////////////////// / / SUBROUTINE: S0151 / / Called from: / 0064 0074 / Total 0002 (2) calls //////////////////////////////////////////////////////////////////////////////// S0151, 0 / return area SPA / @@0152=7510 JMP L0160 / @@0153=5160 TAD D0003 / @@0154=1003 SMA CLA / @@0155=7700 JMP I S0151 / return @@0156=5551 JMP L0165 / @@0157=5165 L0160, TAD C0006 / @@0160=1006 SMA CLA / @@0161=7700 JMP L0165 / @@0162=5165 JMP I S0151 / return @@0163=5551 //////////////////////////////////////////////////////////////////////////////// / / SUBROUTINE: S0164 / / Called from: / 0053 0061 0071 / Total 0003 (3) calls //////////////////////////////////////////////////////////////////////////////// S0164, 0 / return area L0165, D0165, 1014 / TAD AI4 CLL RAL / @@0166=7104 SZL / @@0167=7430 TAD AI5 / AUTO INDEX REGISTER @@0170=1015 DCA AI4 / AUTO INDEX REGISTER @@0171=3014 TAD AI4 / AUTO INDEX REGISTER @@0172=1014 JMP I S0164 / return @@0173=5564 C0174, 1000 / TAD L0000 D0175, 0000 / AND L0000 *0200 JMP L0040 / @@0200=5040 L0201, TAD C0340 / @@0201=1340 DCA D0332 / @@0202=3332 CMA / @@0203=7040 DCA D0031 / @@0204=3031 JMP L0210 / @@0205=5210 TAD C0331 / @@0206=1331 DCA D0332 / @@0207=3332 L0210, TAD D0002 / @@0210=1002 DCA AI1 / AUTO INDEX REGISTER @@0211=3011 C0212, 1370 / TAD C0370 JMS S0342 / @@0213=4342 TAD D0021 / @@0214=1021 C0215, 3011 / DCA AI1 TAD C0371 / @@0216=1371 JMS S0342 / @@0217=4342 TAD D0022 / @@0220=1022 DCA AI1 / AUTO INDEX REGISTER @@0221=3011 TAD C0372 / @@0222=1372 JMS S0342 / @@0223=4342 TAD D0023 / @@0224=1023 DCA AI1 / AUTO INDEX REGISTER @@0225=3011 TAD C0373 / @@0226=1373 JMS S0342 / @@0227=4342 TAD I D0021 / @@0230=1421 DCA AI1 / AUTO INDEX REGISTER @@0231=3011 TAD C0374 / @@0232=1374 JMS S0342 / @@0233=4342 IOF / Disable Interrupts @@0234=6002 TAD C0032 / @@0235=1032 DCA AI1 / AUTO INDEX REGISTER @@0236=3011 L0237, TAD I AI1 / AUTO INDEX REGISTER @@0237=1411 C0240, 6046 / TLS L0241, TSF / Skip if teleprinter flag is a 1. @@0241=6041 JMP L0241 / @@0242=5241 TAD AI3 / AUTO INDEX REGISTER @@0243=1013 SZA CLA / @@0244=7640 JMP L0237 / @@0245=5237 TCF / Clear teleprinter flag. @@0246=6042 ION / Enable Interrupts @@0247=6001 LAS / @@0250=7604 SMA CLA / @@0251=7700 HLT / @@0252=7402 TAD D0031 / @@0253=1031 SNA CLA / @@0254=7650 JMP L0047 / @@0255=5047 DCA D0031 / @@0256=3031 JMP L0132 / @@0257=5132 AND C0306 / @@0260=0306 AND C0240 / @@0261=0240 AND L0000 / @@0262=0000 AND L0000 / @@0263=0000 AND L0000 / @@0264=0000 AND L0000 / @@0265=0000 AND C0240 / @@0266=0240 AND C0240 / @@0267=0240 AND C0324 / @@0270=0324 AND C0240 / @@0271=0240 AND L0000 / @@0272=0000 AND L0000 / @@0273=0000 AND L0000 / @@0274=0000 AND L0000 / @@0275=0000 AND C0215 / @@0276=0215 AND C0212 / @@0277=0212 AND C0215 / @@0300=0215 AND C0215 / @@0301=0215 AND C0317 / @@0302=0317 AND C0240 / @@0303=0240 AND L0000 / @@0304=0000 AND L0000 / @@0305=0000 C0306, 0000 / AND L0000 AND L0000 / @@0307=0000 AND C0240 / @@0310=0240 AND C0240 / @@0311=0240 AND C0306 / @@0312=0306 AND C0240 / @@0313=0240 AND L0000 / @@0314=0000 AND L0000 / @@0315=0000 AND L0000 / @@0316=0000 C0317, 0000 / AND L0000 AND C0240 / @@0320=0240 AND C0240 / @@0321=0240 C0322, 0322 / AND C0322 C0323, 0240 / AND C0240 C0324, 0000 / AND L0000 AND L0000 / @@0325=0000 AND L0000 / @@0326=0000 AND L0000 / @@0327=0000 AND C0240 / @@0330=0240 C0331, 0240 / AND C0240 D0332, 0316 / AND C0316 AND C0323 / @@0333=0323 AND C0215 / @@0334=0215 AND C0212 / @@0335=0212 AND C0212 / @@0336=0212 C0337, 0377 / AND C0377 C0340, 0316 / AND C0316 AND C0323 / @@0341=0323 //////////////////////////////////////////////////////////////////////////////// / / SUBROUTINE: S0342 / / Called from: / 0213 0217 0223 0227 0233 / Total 0005 (5) calls //////////////////////////////////////////////////////////////////////////////// S0342, 0 / return area DCA AI2 / AUTO INDEX REGISTER @@0343=3012 TAD AI1 / AUTO INDEX REGISTER @@0344=1011 RTL / @@0345=7006 RTL / @@0346=7006 JMS S0362 / @@0347=4362 RTR / @@0350=7012 RTR / @@0351=7012 RTR / @@0352=7012 JMS S0362 / @@0353=4362 RTR / @@0354=7012 RAR / @@0355=7010 JMS S0362 / @@0356=4362 JMS S0362 / @@0357=4362 CLA / @@0360=7200 JMP I S0342 / return @@0361=5742 //////////////////////////////////////////////////////////////////////////////// / / SUBROUTINE: S0362 / / Called from: / 0347 0353 0356 0357 / Total 0004 (4) calls //////////////////////////////////////////////////////////////////////////////// S0362, 0 / return area AND AI0 / AUTO INDEX REGISTER @@0363=0010 TAD C0375 / @@0364=1375 DCA I AI2 / AUTO INDEX REGISTER @@0365=3412 TAD AI1 / AUTO INDEX REGISTER @@0366=1011 JMP I S0362 / return @@0367=5762 C0370, 0261 / AND C0261 C0371, 0271 / AND C0271 C0372, 0303 / AND C0303 C0373, 0313 / AND C0313 C0374, 0323 / AND C0323 C0375, 0260 / AND C0260 *0400 L0400, TAD D0003 / @@0400=1003 CIA / @@0401=7041 DCA D0510 / @@0402=3310 TAD D0003 / @@0403=1003 CMA / @@0404=7040 DCA D0511 / @@0405=3311 TAD C0546 / @@0406=1346 DCA D0513 / @@0407=3313 TAD C0514 / @@0410=1314 DCA L0165 / @@0411=3165 C0412, 5047 / JMP L0047 TAD S0164 / @@0413=1164 CIA / @@0414=7041 C0415, 1305 / TAD C0505 SNA CLA / @@0416=7650 JMP L0503 / @@0417=5303 TAD S0164 / @@0420=1164 CIA / @@0421=7041 TAD C0506 / @@0422=1306 SNA CLA / @@0423=7650 JMP L0501 / @@0424=5301 JMP L0426 / @@0425=5226 L0426, TAD I D0513 / @@0426=1713 DCA D0512 / @@0427=3312 TAD D0512 / @@0430=1312 SNA / @@0431=7450 JMP L0440 / @@0432=5240 CLA IAC / @@0433=7201 TAD D0513 / @@0434=1313 DCA D0513 / @@0435=3313 TAD D0512 / @@0436=1312 JMP I S0164 / long jump to L0000 @@0437=5564 L0440, TAD C0545 / @@0440=1345 DCA D0513 / @@0441=3313 IAC / @@0442=7001 TAD D0511 / @@0443=1311 DCA D0511 / @@0444=3311 TAD D0511 / @@0445=1311 CIA / @@0446=7041 TAD D0510 / @@0447=1310 SZA CLA / @@0450=7640 JMP L0455 / @@0451=5255 TAD D0511 / @@0452=1311 TAD AI5 / AUTO INDEX REGISTER @@0453=1015 DCA D0511 / @@0454=3311 L0455, TAD D0511 / @@0455=1311 SMA / @@0456=7500 JMP L0476 / @@0457=5276 TAD C0006 / @@0460=1006 SPA CLA / @@0461=7710 JMP L0476 / @@0462=5276 CLA IAC / @@0463=7201 TAD D0510 / @@0464=1310 DCA D0510 / @@0465=3310 TAD D0003 / @@0466=1003 CIA / @@0467=7041 DCA D0511 / @@0470=3311 TAD D0510 / @@0471=1310 TAD C0006 / @@0472=1006 SPA CLA / @@0473=7710 JMP L0476 / @@0474=5276 JMP L0400 / @@0475=5200 L0476, CLA / @@0476=7200 TAD D0512 / @@0477=1312 JMP I S0164 / long jump to L0000 @@0500=5564 L0501, TAD D0511 / @@0501=1311 JMP I S0164 / long jump to L0000 @@0502=5564 L0503, C0503, 1310 / TAD D0510 JMP I S0164 / long jump to L0000 @@0504=5564 C0505, 0072 / AND C0072 C0506, 0062 / AND C0062 AND C0054 / @@0507=0054 D0510, 0000 / AND L0000 D0511, 0000 / AND L0000 D0512, 0000 / AND L0000 D0513, 0000 / AND L0000 C0514, 5435 / JMP I C0035 SPA SNA SZL CLA OSR HLT / @@0515=7776 C0516, 7775 / CLA MQA SCA MQL ASR + C0517, 7773 / CLA MQA SCA MQL SHL + C0520, 7767 / CLA MQA SCA MQL DVI + C0521, 7757 / CLA MQA SCA LSR + C0522, 7737 / CLA MQA MQL LSR + C0523, 7677 / CLA SCA MQL LSR + C0524, 7577 / MQA SCA MQL LSR + C0525, 7377 / CLA CLL CMA CML IAC RTR RTL C0526, 6777 / 6777 C0527, 5777 / JMP I C0577 C0530, 3777 / DCA I C0577 AND L0001 / @@0531=0001 AND D0003 / @@0532=0003 AND C0007 / @@0533=0007 AND AI7 / AUTO INDEX REGISTER @@0534=0017 AND C0037 / @@0535=0037 AND C0077 / @@0536=0077 C0537, 0177 / AND C0177 C0540, 0377 / AND C0577 C0541, 0777 / AND I C0577 C0542, 1777 / TAD I C0577 C0543, 3777 / DCA I C0577 AND L0000 / @@0544=0000 C0545, 0515 / AND I C0115 C0546, 0544 / AND I C0144 L0547, TAD D0575 / @@0547=1375 IAC / @@0550=7001 DCA D0575 / @@0551=3375 TAD D0575 / @@0552=1375 SZA CLA / @@0553=7640 JMP I C0037 / long jump to L0600 @@0554=5437 TAD D0175 / @@0555=1175 TAD C0174 / @@0556=1174 DCA D0175 / @@0557=3175 TAD D0175 / @@0560=1175 SZA CLA / @@0561=7640 JMP I C0037 / long jump to L0600 @@0562=5437 IOF / Disable Interrupts @@0563=6002 TAD C0576 / @@0564=1376 DCA AI1 / AUTO INDEX REGISTER @@0565=3011 JMP I C0567 / long jump to L7602 @@0566=5767 C0567, C0567, 7602 / CLA HLT AND C0415 / @@0570=0215 AND C0412 / @@0571=0212 AND C0506 / @@0572=0306 AND L0503 / @@0573=0303 C0574, 0377 / AND C0577 D0575, 0000 / AND L0000 C0576, 0567 / AND I C0167 *0600 L0600, TAD D0021 / @@0600=1021 CIA / @@0601=7041 TAD D0002 / @@0602=1002 SNA / @@0603=7450 JMP L0055 / @@0604=5055 IAC / @@0605=7001 SNA / @@0606=7450 JMP L0055 / @@0607=5055 IAC / @@0610=7001 SNA CLA / @@0611=7650 JMP L0055 / @@0612=5055 JMP I D0002 / long jump to L0002 @@0613=5402 C0614, C0614, 0000 / AND L0000 DCA L0000 / @@0615=3000 TAD C0632 / @@0616=1232 DCA L0001 / @@0617=3001 TAD C0633 / @@0620=1233 DCA D0002 / @@0621=3002 TAD C0634 / @@0622=1234 DCA D0003 / @@0623=3003 TAD C0635 / @@0624=1235 DCA L0040 / @@0625=3040 TAD C0636 / @@0626=1236 DCA D0041 / @@0627=3041 ION / Enable Interrupts @@0630=6001 JMP I C0614 / long jump to L0000 @@0631=5614 C0632, 7402 / HLT C0633, 0000 / AND L0000 C0634, 7157 / CLL CMA IAC RTR RTL C0635, 6001 / ION C0636, 7604 / LAS *7602 L7602, TAD I AI1 / AUTO INDEX REGISTER @@7602=1411 TLS / Load the TTO from the content of AC4 @@7603=6046 L7604, TSF / Skip if teleprinter flag is a 1. @@7604=6041 JMP L7604 / @@7605=5204 TAD AI3 / AUTO INDEX REGISTER @@7606=1013 SZA CLA / @@7607=7640 JMP L7602 / @@7610=5202 JMP L7617 / @@7611=5217 *7617 L7617, TCF / Clear teleprinter flag. @@7617=6042 ION / Enable Interrupts @@7620=6001 JMP I C0037 / long jump to L0600 @@7621=5437 $