PDP8: Add initial round of PDP-8 system diags

This commit is contained in:
B. Scott Michel 2020-01-01 16:03:54 -08:00 committed by Mark Pizzolato
parent f310d750e2
commit 89a9414aeb
22 changed files with 10288 additions and 0 deletions

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,638 @@
TITLE "AUTOMATIC DISASSEMBLY OF maindec-8e-d0db-pb.bin BY D8TAPE"
////////////////////////////////////////////////////////////////////////////////
/
/ Automatic Disassembly of maindec-8e-d0db-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
/
/ 0663 locations used, 0561 code and 0102 data
////////////////////////////////////////////////////////////////////////////////
*0200
*0000
L0000,
D0000, 0000 / AND L0000
L0001,
D0001, 5001 / JMP L0001
D0002, 0002 / AND D0002
D0003, 0003 / AND D0003
AND D0003 / @@0004=0003
D0005, 0000 / AND L0000
D0006, 0000 / AND L0000
D0007, 0000 / AND L0000
*0010
AI0, 0000 / AUTO-INDEX REGISTER AND L0000
*0020
D0020, 0000 / AND L0000
*0200
L0200,
C0200, 6007 / 6007
D0201, 1204 / TAD D0204
D0202, 3201 / DCA D0201
D0203, 4205 / JMS S0205
D0204, 5274 / JMP C0274
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0205
/
/ Called from:
/ 0255
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S0205,
0 / return area
TAD C0374 / @@0206=1374
DCA S0266 / @@0207=3266
TAD C0374 / @@0210=1374
DCA D0202 / @@0211=3202
DCA D0203 / @@0212=3203
JMS S0225 / @@0213=4225
JMP I S0205 / return @@0214=5605
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0215
/
/ Called from:
/ 0244 0353
/ Total 0002 (2) calls
////////////////////////////////////////////////////////////////////////////////
S0215,
0 / return area
TAD C0374 / @@0216=1374
DCA S0266 / @@0217=3266
DCA D0202 / @@0220=3202
TAD C0374 / @@0221=1374
DCA D0203 / @@0222=3203
JMS S0225 / @@0223=4225
JMP I S0215 / return @@0224=5615
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0225
/
/ Called from:
/ 0213 0223 0253 0264
/ Total 0004 (4) calls
////////////////////////////////////////////////////////////////////////////////
S0225,
0 / return area
L0226,
TAD I D0202 / @@0226=1602
DCA I D0203 / @@0227=3603
TAD I D0202 / @@0230=1602
CIA / @@0231=7041
TAD I D0203 / @@0232=1603
SZA CLA / @@0233=7640
HLT / @@0234=7402
ISZ D0202 / @@0235=2202
NOP / @@0236=7000
ISZ D0203 / @@0237=2203
NOP / @@0240=7000
ISZ S0266 / @@0241=2266
JMP L0226 / @@0242=5226
JMP I S0225 / return @@0243=5625
L0244,
JMS S0215 / @@0244=4215
TAD C0373 / @@0245=1373
DCA S0266 / @@0246=3266
TAD C0365 / @@0247=1365
DCA D0202 / @@0250=3202
TAD C0372 / @@0251=1372
DCA D0203 / @@0252=3203
JMS S0225 / @@0253=4225
JMP I C0372 / long jump to L6600 @@0254=5772
L0255,
JMS S0205 / @@0255=4205
TAD C0373 / @@0256=1373
DCA S0266 / @@0257=3266
TAD C0372 / @@0260=1372
DCA D0202 / @@0261=3202
TAD C0365 / @@0262=1365
DCA D0203 / @@0263=3203
JMS S0225 / @@0264=4225
JMP I C0365 / long jump to L0200 @@0265=5765
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0266
/
/ Called from:
/ 0276 0351 0361
/ Total 0003 (3) calls
////////////////////////////////////////////////////////////////////////////////
S0266,
0 / return area
CLA CLL CML RAR / AC = 4000 (-4000 = -2048 dec) @@0267=7330
TAD S0266 / @@0270=1266
SZL CLA / @@0271=7630
TAD C0371 / @@0272=1371
JMP I S0266 / return @@0273=5666
CLA CLL / AC = 0000 @@0274=7300
DCA D0202 / @@0275=3202
JMS S0266 / @@0276=4266
JMP L0377 / @@0277=5377
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0300
/
/ Called from:
/ 0315
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S0300,
0 / return area
CMA / @@0301=7040
DCA D0204 / @@0302=3204
MQA / @@0303=7501
CMA / @@0304=7040
MQL / @@0305=7421
TAD D0204 / @@0306=1204
MQA / @@0307=7501
CMA / @@0310=7040
JMP I S0300 / return @@0311=5700
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0312
/
/ Called from:
/ 0326 0346 0357
/ Total 0003 (3) calls
////////////////////////////////////////////////////////////////////////////////
S0312,
0 / return area
MQL / @@0313=7421
LAS / @@0314=7604
JMS S0300 / @@0315=4300
SNA CLA / @@0316=7650
ISZ S0312 / @@0317=2312
JMP I S0312 / return @@0320=5712
C0321,
C0321, 0000 / AND L0000
ISZ D0202 / @@0322=2202
JMP I C0321 / long jump to L0000 @@0323=5721
CLA CLL CML RTR / AC = 2000 (1024) @@0324=7332
RTR / @@0325=7012
JMS S0312 / @@0326=4312
JMP L0336 / @@0327=5336
TAD C0366 / @@0330=1366
JMS S0337 / @@0331=4337
TAD C0367 / @@0332=1367
JMS S0337 / @@0333=4337
TAD C0370 / @@0334=1370
JMS S0337 / @@0335=4337
L0336,
JMP L0345 / @@0336=5345
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0337
/
/ Called from:
/ 0331 0333 0335
/ Total 0003 (3) calls
////////////////////////////////////////////////////////////////////////////////
S0337,
0 / return area
TLS / Load the TTO from the content of AC4 @@0340=6046
L0341,
TSF / Skip if teleprinter flag is a 1. @@0341=6041
JMP L0341 / @@0342=5341
CLA / @@0343=7200
JMP I S0337 / return @@0344=5737
L0345,
CLA CLL CML RTR / AC = 2000 (1024) @@0345=7332
JMS S0312 / @@0346=4312
SKP / @@0347=7410
JMP L0355 / @@0350=5355
JMS S0266 / @@0351=4266
SNA CLA / @@0352=7650
JMS S0215 / @@0353=4215
HLT / @@0354=7402
L0355,
CLA CLL CML RTR / AC = 2000 (1024) @@0355=7332
RAR / @@0356=7010
JMS S0312 / @@0357=4312
JMP I C0321 / long jump to L0000 @@0360=5721
JMS S0266 / @@0361=4266
SNA CLA / @@0362=7650
JMP L0244 / @@0363=5244
JMP L0255 / @@0364=5255
C0365,
C0365, 0200 / AND L0200
C0366, 0215 / AND S0215
C0367, 0212 / AND C0212
C0370, 0301 / AND C0301
C0371, 6400 / 6400
C0372,
C0372, 6600 / 6600
C0373, 7000 / NOP
C0374, 7600 / 7600
*0377
L0377,
NOP / @@0377=7000
*0400
DCA D0437 / @@0400=3237
TAD C0442 / @@0401=1242
TAD D0437 / @@0402=1237
DCA AI0 / AUTO INDEX REGISTER @@0403=3010
TAD C0443 / @@0404=1243
TAD D0437 / @@0405=1237
DCA I AI0 / AUTO INDEX REGISTER @@0406=3410
TAD C0445 / @@0407=1245
TAD D0437 / @@0410=1237
DCA I AI0 / AUTO INDEX REGISTER @@0411=3410
TAD C0446 / @@0412=1246
TAD D0437 / @@0413=1237
DCA I AI0 / AUTO INDEX REGISTER @@0414=3410
TAD C0447 / @@0415=1247
TAD D0437 / @@0416=1237
DCA I AI0 / AUTO INDEX REGISTER @@0417=3410
TAD C0444 / @@0420=1244
TAD D0437 / @@0421=1237
DCA I AI0 / AUTO INDEX REGISTER @@0422=3410
TAD D0437 / @@0423=1237
SZA CLA / @@0424=7640
JMP L0433 / @@0425=5233
TAD C0440 / @@0426=1240
DCA I AI0 / AUTO INDEX REGISTER @@0427=3410
TAD C0450 / @@0430=1250
DCA I AI0 / AUTO INDEX REGISTER @@0431=3410
JMP L0577 / @@0432=5377
L0433,
DCA I AI0 / AUTO INDEX REGISTER @@0433=3410
TAD C0451 / @@0434=1251
DCA I AI0 / AUTO INDEX REGISTER @@0435=3410
JMP L0577 / @@0436=5377
D0437, 0000 / AND L0000
C0440, 0200 / AND C0400
NOP / @@0441=7000
C0442, 0753 / AND I C0553
C0443, 1000 / TAD L0000
C0444, 0321 / AND C0521
C0445, 0300 / AND C0500
C0446, 0712 / AND I C0512
C0447, 0312 / AND C0512
C0450, 6600 / 6600
C0451, 1201 / TAD C0401
*0577
L0577,
NOP / @@0577=7000
*0600
L0600,
CLA CLL / AC = 0000 @@0600=7300
TAD C0755 / @@0601=1355
DCA L0000 / @@0602=3000
IAC / @@0603=7001
JMS I C0757 / long call to S0000 @@0604=4757
JMP L0624 / @@0605=5224
TAD C0762 / @@0606=1362
DCA D0006 / @@0607=3006
TAD C0761 / @@0610=1361
DCA D0007 / @@0611=3007
JMS I C0754 / long call to S0000 @@0612=4754
DCA D0765 / @@0613=3365
TAD L0001 / @@0614=1001
DCA D0763 / @@0615=3363
TAD D0002 / @@0616=1002
DCA D0764 / @@0617=3364
TAD D0003 / @@0620=1003
DCA D0766 / @@0621=3366
TAD D0005 / @@0622=1005
DCA D0767 / @@0623=3367
L0624,
CLL IAC RAL / @@0624=7105
JMS I C0757 / long call to S0000 @@0625=4757
JMP L0634 / @@0626=5234
TAD D0770 / @@0627=1370
CLL RAL / @@0630=7104
SZL / @@0631=7430
TAD C0774 / @@0632=1374
DCA D0770 / @@0633=3370
L0634,
CLA CLL IAC RTL / AC = 0004 @@0634=7307
JMS I C0757 / long call to S0000 @@0635=4757
JMP L0644 / @@0636=5244
TAD D0771 / @@0637=1371
CLL RAL / @@0640=7104
SZL / @@0641=7430
TAD C0774 / @@0642=1374
DCA D0771 / @@0643=3371
L0644,
CLA CLL / AC = 0000 @@0644=7300
TAD D0763 / @@0645=1363
DCA I D0764 / @@0646=3764
TAD D0765 / @@0647=1365
SNA CLA / @@0650=7650
JMP L0667 / @@0651=5267
TAD D0766 / @@0652=1366
TAD C0775 / @@0653=1375
SZL CLA / @@0654=7630
JMP L0662 / @@0655=5262
TAD D0766 / @@0656=1366
TAD C0776 / @@0657=1376
SZL CLA / @@0660=7630
CMA / @@0661=7040
L0662,
TAD D0767 / @@0662=1367
DCA I D0766 / @@0663=3766
TAD D0770 / @@0664=1370
DCA I D0767 / @@0665=3767
JMP L0671 / @@0666=5271
L0667,
TAD D0770 / @@0667=1370
DCA I D0766 / @@0670=3766
L0671,
CLA CLL / AC = 0000 @@0671=7300
TAD D0770 / @@0672=1370
MQL / @@0673=7421
TAD D0771 / @@0674=1371
JMS I C0755 / long call to S0000 @@0675=4755
DCA D0772 / @@0676=3372
TAD C0756 / @@0677=1356
DCA L0000 / @@0700=3000
TAD D0764 / @@0701=1364
IAC / @@0702=7001
SNA / @@0703=7450
JMP L0600 / @@0704=5200
DCA D0753 / @@0705=3353
TAD C0773 / @@0706=1373
DCA I D0753 / @@0707=3753
TAD D0771 / @@0710=1371
JMP I D0764 / long jump to L0000 @@0711=5764
DCA D0777 / @@0712=3377
SZL / @@0713=7430
JMS S0724 / @@0714=4324
TAD D0772 / @@0715=1372
CIA / @@0716=7041
TAD D0777 / @@0717=1377
SZA CLA / @@0720=7640
JMS S0724 / @@0721=4324
JMS I C0760 / long call to S0000 @@0722=4760
JMP L0600 / @@0723=5200
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0724
/
/ Called from:
/ 0714 0721
/ Total 0002 (2) calls
////////////////////////////////////////////////////////////////////////////////
S0724,
0 / return area
CLA CLL CML RAR / AC = 4000 (-4000 = -2048 dec) @@0725=7330
JMS I C0757 / long call to S0000 @@0726=4757
JMP L0751 / @@0727=5351
TAD D0770 / @@0730=1370
HLT / @@0731=7402
CLA / @@0732=7200
TAD D0771 / @@0733=1371
HLT / @@0734=7402
CLA / @@0735=7200
TAD L0001 / @@0736=1001
HLT / @@0737=7402
CLA / @@0740=7200
TAD D0764 / @@0741=1364
HLT / @@0742=7402
CLA / @@0743=7200
TAD D0766 / @@0744=1366
HLT / @@0745=7402
CLA / @@0746=7200
TAD D0767 / @@0747=1367
HLT / @@0750=7402
L0751,
CLA CLL / AC = 0000 @@0751=7300
JMP I S0724 / return @@0752=5724
D0753, 0000 / AND L0000
C0754,
C0754, 0000 / AND L0000
C0755,
C0755, 0000 / AND L0000
C0756, 0000 / AND L0000
C0757,
C0757, 0000 / AND L0000
C0760,
C0760, 0000 / AND L0000
C0761, 0000 / AND L0000
C0762, 0000 / AND L0000
D0763, 0000 / AND L0000
D0764, 0000 / AND L0000
D0765, 0000 / AND L0000
D0766, 0000 / AND L0000
D0767, 0000 / AND L0000
D0770, 0021 / AND C0021
D0771, 0037 / AND C0037
D0772, 0000 / AND L0000
C0773, 5400 / JMP I L0000
C0774, 0003 / AND D0003
C0775, 7760 / SMA SZA SNL CLA
C0776, 7770 / SPA SNA SZL CLA
D0777, 0000 / AND L0000
*1000
C1000,
C1000, 0000 / AND L0000
L1001,
TAD D1167 / @@1001=1367
JMS S1140 / @@1002=4340
DCA D1167 / @@1003=3367
TAD D1167 / @@1004=1367
MQL / @@1005=7421
TAD D0007 / @@1006=1007
MQA / @@1007=7501
MQL / @@1010=7421
TAD C1171 / @@1011=1371
JMS I L0000 / long call to S0000 @@1012=4400
DCA L0001 / @@1013=3001
TAD L0001 / @@1014=1001
JMS S1154 / @@1015=4354
DCA D0020 / @@1016=3020
L1017,
TAD D1172 / @@1017=1372
JMS S1140 / @@1020=4340
DCA D1172 / @@1021=3372
JMS S1145 / @@1022=4345
TAD D1172 / @@1023=1372
SNL CLA / @@1024=7620
JMP L1017 / @@1025=5217
TAD D1172 / @@1026=1372
TAD C1173 / @@1027=1373
SNL CLA / @@1030=7620
JMP L1046 / @@1031=5246
TAD D0020 / @@1032=1020
CIA / @@1033=7041
TAD D1172 / @@1034=1372
L1035,
JMS S1161 / @@1035=4361
SMA CLA / @@1036=7700
JMP L1017 / @@1037=5217
L1040,
TAD D0020 / @@1040=1020
SNA CLA / @@1041=7650
JMP L1001 / @@1042=5201
TAD D1172 / @@1043=1372
DCA D0002 / @@1044=3002
JMP L1061 / @@1045=5261
L1046,
TAD L0001 / @@1046=1001
MQL / @@1047=7421
TAD C1176 / @@1050=1376
JMS I L0000 / long call to S0000 @@1051=4400
SNA CLA / @@1052=7650
JMP L1040 / @@1053=5240
TAD D1172 / @@1054=1372
JMS S1154 / @@1055=4354
CIA / @@1056=7041
TAD D0020 / @@1057=1020
JMP L1035 / @@1060=5235
L1061,
TAD L0001 / @@1061=1001
MQL / @@1062=7421
TAD C1176 / @@1063=1376
JMS I L0000 / long call to S0000 @@1064=4400
SNA CLA / @@1065=7650
JMP L1106 / @@1066=5306
TAD D0002 / @@1067=1002
MQL / @@1070=7421
TAD C1173 / @@1071=1373
JMS I L0000 / long call to S0000 @@1072=4400
MQL / @@1073=7421
TAD D0020 / @@1074=1020
MQA / @@1075=7501
DCA D0003 / @@1076=3003
L1077,
TAD L0001 / @@1077=1001
MQL / @@1100=7421
TAD C1175 / @@1101=1375
JMS I L0000 / long call to S0000 @@1102=4400
SZA CLA / @@1103=7640
JMP L1111 / @@1104=5311
JMP I C1000 / long jump to L0000 @@1105=5600
L1106,
TAD D0020 / @@1106=1020
DCA D0003 / @@1107=3003
JMP L1077 / @@1110=5277
L1111,
TAD D1177 / @@1111=1377
JMS S1140 / @@1112=4340
DCA D1177 / @@1113=3377
JMS S1145 / @@1114=4345
TAD D1177 / @@1115=1377
SNL CLA / @@1116=7620
JMP L1111 / @@1117=5311
TAD D0002 / @@1120=1002
CIA / @@1121=7041
TAD D1177 / @@1122=1377
JMS S1161 / @@1123=4361
SMA CLA / @@1124=7700
JMP L1111 / @@1125=5311
TAD D0003 / @@1126=1003
CIA / @@1127=7041
TAD D1177 / @@1130=1377
JMS S1161 / @@1131=4361
SMA CLA / @@1132=7700
JMP L1111 / @@1133=5311
TAD D1177 / @@1134=1377
DCA D0005 / @@1135=3005
CMA / @@1136=7040
JMP I C1000 / long jump to L0000 @@1137=5600
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S1140
/
/ Called from:
/ 1002 1020 1112
/ Total 0003 (3) calls
////////////////////////////////////////////////////////////////////////////////
S1140,
0 / return area
CLL RAL / @@1141=7104
SZL / @@1142=7430
TAD C1170 / @@1143=1370
JMP I S1140 / return @@1144=5740
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S1145
/
/ Called from:
/ 1022 1114
/ Total 0002 (2) calls
////////////////////////////////////////////////////////////////////////////////
S1145,
0 / return area
TAD D0007 / @@1146=1007
CLL / @@1147=7100
SNA CLA / @@1150=7650
CML / @@1151=7020
TAD D0006 / @@1152=1006
JMP I S1145 / return @@1153=5745
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S1154
/
/ Called from:
/ 1015 1055
/ Total 0002 (2) calls
////////////////////////////////////////////////////////////////////////////////
S1154,
0 / return area
MQL / @@1155=7421
TAD C1174 / @@1156=1374
JMS I L0000 / long call to S0000 @@1157=4400
JMP I S1154 / return @@1160=5754
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S1161
/
/ Called from:
/ 1035 1123 1131
/ Total 0003 (3) calls
////////////////////////////////////////////////////////////////////////////////
S1161,
0 / return area
SMA / @@1162=7500
CIA / @@1163=7041
IAC / @@1164=7001
IAC / @@1165=7001
JMP I S1161 / return @@1166=5761
D1167, 0001 / AND L0001
C1170, 0003 / AND D0003
C1171, 0777 / AND I D1177
D1172, 0005 / AND D0005
C1173, 7600 / 7600
C1174, 0177 / AND C0177
C1175, 0400 / AND I L0000
C1176, 0200 / AND C1000
D1177, 0015 / AND AI5
$

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,644 @@
TITLE "AUTOMATIC DISASSEMBLY OF maindec-8e-d0eb-pb.bin BY D8TAPE"
////////////////////////////////////////////////////////////////////////////////
/
/ Automatic Disassembly of maindec-8e-d0eb-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
/
/ 0714 locations used, 0570 code and 0124 data
////////////////////////////////////////////////////////////////////////////////
*0200
*0000
L0000,
D0000, 0000 / AND L0000
L0001,
D0001, 5001 / JMP L0001
D0002, 0002 / AND D0002
D0003, 0003 / AND D0003
D0004, 0000 / AND L0000
AND L0000 / @@0005=0000
*0200
C0200, 6007 / 6007
JMP I C0202 / long jump to L6600 @@0201=5602
C0202,
C0202, 6600 / 6600
*6600
L6600,
CLA CLL / AC = 0000 @@6600=7300
DCA D6776 / @@6601=3376
L6602,
LAS / @@6602=7604
AND C6771 / @@6603=0371
SZA CLA / @@6604=7640
JMP L6624 / @@6605=5224
JMS I C6746 / long call to S7000 @@6606=4746
DCA D6755 / @@6607=3355
CMA / @@6610=7040
AND L0001 / @@6611=0001
DCA D6753 / @@6612=3353
CMA / @@6613=7040
AND D0002 / @@6614=0002
DCA D6754 / @@6615=3354
CMA / @@6616=7040
AND D0003 / @@6617=0003
DCA D6756 / @@6620=3356
CMA / @@6621=7040
AND D0004 / @@6622=0004
DCA D6757 / @@6623=3357
L6624,
LAS / @@6624=7604
AND C6772 / @@6625=0372
SZA CLA / @@6626=7640
JMP L6634 / @@6627=5234
CMA / @@6630=7040
AND D6760 / @@6631=0360
JMS I C6752 / long call to S7430 @@6632=4752
DCA D6760 / @@6633=3360
L6634,
LAS / @@6634=7604
AND C6773 / @@6635=0373
SZA CLA / @@6636=7640
JMP L6644 / @@6637=5244
CMA / @@6640=7040
AND D6761 / @@6641=0361
JMS I C6752 / long call to S7430 @@6642=4752
DCA D6761 / @@6643=3361
L6644,
CLA CLL CMA / AC = 7777 (-0001) @@6644=7340
AND D6753 / @@6645=0353
DCA I D6754 / @@6646=3754
CMA / @@6647=7040
AND D6755 / @@6650=0355
SNA CLA / @@6651=7650
JMP L6702 / @@6652=5302
CMA / @@6653=7040
AND D6756 / @@6654=0356
AND C6767 / @@6655=0367
SZA CLA / @@6656=7640
JMP L6676 / @@6657=5276
CMA / @@6660=7040
AND D6756 / @@6661=0356
AND C6775 / @@6662=0375
SNA CLA / @@6663=7650
JMP L6676 / @@6664=5276
CMA / @@6665=7040
AND D6757 / @@6666=0357
CIA / @@6667=7041
CMA / @@6670=7040
DCA I D6756 / @@6671=3756
L6672,
CMA / @@6672=7040
AND D6760 / @@6673=0360
DCA I D6757 / @@6674=3757
JMP L6705 / @@6675=5305
L6676,
CMA / @@6676=7040
AND D6757 / @@6677=0357
DCA I D6756 / @@6700=3756
JMP L6672 / @@6701=5272
L6702,
CMA / @@6702=7040
AND D6760 / @@6703=0360
DCA I D6756 / @@6704=3756
L6705,
CLA CLL CMA / AC = 7777 (-0001) @@6705=7340
AND D6760 / @@6706=0360
MQL / @@6707=7421
CMA / @@6710=7040
AND D6761 / @@6711=0361
JMS I C6751 / long call to S7200 @@6712=4751
DCA D6763 / @@6713=3363
RAR / @@6714=7010
DCA D6762 / @@6715=3362
CMA / @@6716=7040
AND C6747 / @@6717=0347
DCA L0000 / @@6720=3000
CMA / @@6721=7040
AND D6754 / @@6722=0354
IAC / @@6723=7001
SNA / @@6724=7450
JMP L6602 / @@6725=5202
DCA D6745 / @@6726=3345
CMA / @@6727=7040
AND C6766 / @@6730=0366
DCA I D6745 / @@6731=3745
CLL CMA / @@6732=7140
AND D6761 / @@6733=0361
JMP I D6754 / long jump to L0000 @@6734=5754
DCA D6764 / @@6735=3364
RAR / @@6736=7010
DCA D6765 / @@6737=3365
JMS I C6774 / long call to S7313 @@6740=4774
ISZ D6776 / @@6741=2376
JMP L6602 / @@6742=5202
JMS I C6750 / long call to S7442 @@6743=4750
JMP L6602 / @@6744=5202
D6745, 0000 / AND L0000
C6746,
C6746, 7000 / NOP
C6747, 6735 / 6735
C6750,
C6750, 7442 / SZA HLT
C6751,
C6751, 7200 / CLA
C6752,
C6752, 7430 / SZL
D6753, 0000 / AND L0000
D6754, 0000 / AND L0000
D6755, 0000 / AND L0000
D6756, 0000 / AND L0000
D6757, 0000 / AND L0000
D6760, 0021 / AND C0021
D6761, 0037 / AND C0037
D6762, 0000 / AND L0000
D6763, 0000 / AND L0000
D6764, 0000 / AND L0000
D6765, 0000 / AND L0000
C6766, 5400 / JMP I L0000
C6767, 7760 / SMA SZA SNL CLA
SPA SNA SZL CLA / @@6770=7770
C6771, 0001 / AND L0001
C6772, 0002 / AND D0002
C6773, 0004 / AND D0004
C6774,
C6774, 7313 / CLA CLL IAC RTR
C6775, 0010 / AND AI0
D6776, 0000 / AND L0000
*7000
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7000
/
/ Called from:
/ 6606
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S7000,
0 / return area
L7001,
C7001, 7040 / CMA
AND D7150 / @@7002=0350
JMS I C7162 / long call to S7430 @@7003=4762
DCA D7150 / @@7004=3350
CMA / @@7005=7040
AND D7150 / @@7006=0350
MQL / @@7007=7421
CMA / @@7010=7040
AND C7165 / @@7011=0365
MQA / @@7012=7501
AND C7152 / @@7013=0352
DCA L0001 / @@7014=3001
CMA / @@7015=7040
AND L0001 / @@7016=0001
AND C7155 / @@7017=0355
DCA D7161 / @@7020=3361
L7021,
CMA / @@7021=7040
AND D7153 / @@7022=0353
JMS I C7162 / long call to S7430 @@7023=4762
DCA D7153 / @@7024=3353
CMA / @@7025=7040
AND D7153 / @@7026=0353
JMS I C7177 / long call to S7303 @@7027=4777
JMP L7021 / @@7030=5221
CMA / @@7031=7040
AND D7153 / @@7032=0353
AND C7154 / @@7033=0354
SZA CLA / @@7034=7640
JMP L7044 / @@7035=5244
CMA / @@7036=7040
AND D7153 / @@7037=0353
L7040,
JMS I C7176 / long call to S7474 @@7040=4776
SMA CLA / @@7041=7700
JMP L7021 / @@7042=5221
JMP L7055 / @@7043=5255
L7044,
CMA / @@7044=7040
AND L0001 / @@7045=0001
AND C7157 / @@7046=0357
SNA CLA / @@7047=7650
JMP L7055 / @@7050=5255
CMA / @@7051=7040
AND D7153 / @@7052=0353
AND C7155 / @@7053=0355
JMP L7040 / @@7054=5240
L7055,
CMA / @@7055=7040
AND D7161 / @@7056=0361
SNA CLA / @@7057=7650
JMP L7001 / @@7060=5201
CMA / @@7061=7040
AND D7153 / @@7062=0353
DCA D0002 / @@7063=3002
CMA / @@7064=7040
AND L0001 / @@7065=0001
AND C7157 / @@7066=0357
SNA CLA / @@7067=7650
JMP L7107 / @@7070=5307
CMA / @@7071=7040
AND D0002 / @@7072=0002
AND C7154 / @@7073=0354
MQL / @@7074=7421
CMA / @@7075=7040
AND D7161 / @@7076=0361
MQA / @@7077=7501
DCA D0003 / @@7100=3003
L7101,
CMA / @@7101=7040
AND L0001 / @@7102=0001
AND C7156 / @@7103=0356
SZA CLA / @@7104=7640
JMP L7113 / @@7105=5313
JMP I S7000 / return @@7106=5600
L7107,
CMA / @@7107=7040
AND D7161 / @@7110=0361
DCA D0003 / @@7111=3003
JMP L7101 / @@7112=5301
L7113,
CMA / @@7113=7040
AND D7160 / @@7114=0360
JMS I C7162 / long call to S7430 @@7115=4762
DCA D7160 / @@7116=3360
CMA / @@7117=7040
AND D7160 / @@7120=0360
JMS I C7177 / long call to S7303 @@7121=4777
JMP L7113 / @@7122=5313
CMA / @@7123=7040
AND D0002 / @@7124=0002
JMS I C7175 / long call to S7507 @@7125=4775
SMA CLA / @@7126=7700
JMP L7113 / @@7127=5313
CMA / @@7130=7040
AND D0003 / @@7131=0003
JMS I C7175 / long call to S7507 @@7132=4775
SMA CLA / @@7133=7700
JMP L7113 / @@7134=5313
CMA / @@7135=7040
AND D7160 / @@7136=0360
CIA / @@7137=7041
CMA / @@7140=7040
SNA CLA / @@7141=7650
JMP L7113 / @@7142=5313
CMA / @@7143=7040
AND D7160 / @@7144=0360
DCA D0004 / @@7145=3004
CMA / @@7146=7040
JMP I S7000 / return @@7147=5600
D7150, 0001 / AND L0001
AND D0003 / @@7151=0003
C7152, 1777 / TAD I C7177
D7153, 0005 / AND C0005
C7154, 7600 / 7600
C7155, 0177 / AND C0177
C7156, 0400 / AND I L0000
C7157, 0200 / AND S7000
D7160, 0015 / AND AI5
D7161, 0000 / AND L0000
C7162,
C7162, 7430 / SZL
CLA / @@7163=7200
C7164, 1201 / TAD L7001
C7165, 1000 / TAD L0000
*7175
C7175,
C7175, 7507 / MQA DVI +
C7176,
C7176, 7474 / SNA SZL OSR
C7177,
C7177, 7303 / CLA CLL IAC
*7200
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7200
/
/ Called from:
/ 6712 7307 7437 7501 7514
/ Total 0005 (5) calls
////////////////////////////////////////////////////////////////////////////////
S7200,
0 / return area
DCA D7344 / @@7201=3344
MQA / @@7202=7501
DCA D7343 / @@7203=3343
CLA CLL CMA / AC = 7777 (-0001) @@7204=7340
AND D7343 / @@7205=0343
MQL / @@7206=7421
CMA / @@7207=7040
AND D7344 / @@7210=0344
MQA / @@7211=7501
DCA D7345 / @@7212=3345
MQA / @@7213=7501
CMA / @@7214=7040
AND D7344 / @@7215=0344
MQL / @@7216=7421
CMA / @@7217=7040
AND D7344 / @@7220=0344
CMA / @@7221=7040
AND D7343 / @@7222=0343
MQA / @@7223=7501
DCA D7346 / @@7224=3346
DCA D7347 / @@7225=3347
CMA / @@7226=7040
AND D7343 / @@7227=0343
AND D7344 / @@7230=0344
SNA / @@7231=7450
JMP L7274 / @@7232=5274
MQL / @@7233=7421
L7234,
MQA MQL / @@7234=7521
AND D7345 / @@7235=0345
SNA / @@7236=7450
JMP L7244 / @@7237=5244
CLL RAL / @@7240=7104
MQA MQL / @@7241=7521
MQA / @@7242=7501
JMP L7234 / @@7243=5234
L7244,
MQA / @@7244=7501
AND D7345 / @@7245=0345
AND C7350 / @@7246=0350
SNA / @@7247=7450
JMP L7253 / @@7250=5253
DCA D7347 / @@7251=3347
JMP L7260 / @@7252=5260
L7253,
CLL CML RAR / @@7253=7130
AND D7343 / @@7254=0343
AND D7344 / @@7255=0344
SZA / @@7256=7440
DCA D7347 / @@7257=3347
L7260,
MQA / @@7260=7501
DCA D7351 / @@7261=3351
MQA / @@7262=7501
CMA / @@7263=7040
AND D7346 / @@7264=0346
MQL / @@7265=7421
CMA / @@7266=7040
AND D7346 / @@7267=0346
CMA / @@7270=7040
AND D7351 / @@7271=0351
MQA / @@7272=7501
DCA D7346 / @@7273=3346
L7274,
CLA CLL CMA / AC = 7777 (-0001) @@7274=7340
AND D7347 / @@7275=0347
SZA CLA / @@7276=7640
CML / @@7277=7020
CMA / @@7300=7040
AND D7346 / @@7301=0346
JMP I S7200 / return @@7302=5600
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7303
/
/ Called from:
/ 7027 7121
/ Total 0002 (2) calls
////////////////////////////////////////////////////////////////////////////////
S7303,
0 / return area
MQL / @@7304=7421
CMA / @@7305=7040
AND I C7377 / @@7306=0777
JMS S7200 / @@7307=4200
SNL CLA / @@7310=7620
ISZ S7303 / @@7311=2303
JMP I S7303 / return @@7312=5703
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7313
/
/ Called from:
/ 6740
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S7313,
0 / return area
CLA CLL CMA / AC = 7777 (-0001) @@7314=7340
AND I C7376 / @@7315=0776
SZA CLA / @@7316=7640
CML / @@7317=7020
CMA / @@7320=7040
AND I C7375 / @@7321=0775
SZA CLA / @@7322=7640
CML / @@7323=7020
SZL / @@7324=7430
JMP L7341 / @@7325=5341
CLA CLL CMA / AC = 7777 (-0001) @@7326=7340
AND I C7374 / @@7327=0774
CMA / @@7330=7040
AND I C7373 / @@7331=0773
SZA / @@7332=7440
JMP L7341 / @@7333=5341
CMA / @@7334=7040
AND I C7373 / @@7335=0773
CMA / @@7336=7040
AND I C7374 / @@7337=0774
SZA CLA / @@7340=7640
L7341,
JMS I C7352 / long call to S7400 @@7341=4752
JMP I S7313 / return @@7342=5713
D7343, 0000 / AND L0000
D7344, 0000 / AND L0000
D7345, 0000 / AND L0000
D7346, 0000 / AND L0000
D7347, 0000 / AND L0000
C7350, 4000 / JMS L0000
D7351, 0000 / AND L0000
C7352,
C7352, 7400 /
*7373
C7373, 6763 / 6763
C7374, 6764 / DTXA
C7375, 6765 / 6765
C7376, 6762 / DCTA
C7377, 7164 / CLL CMA CML RAL
*7400
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7400
/
/ Called from:
/ 7341
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S7400,
0 / return area
LAS / @@7401=7604
AND C7467 / @@7402=0267
SZA CLA / @@7403=7640
JMP I S7400 / return @@7404=5600
STA / AC = 7777 (-0001) @@7405=7240
AND I C7577 / @@7406=0777
HLT / @@7407=7402
STA / AC = 7777 (-0001) @@7410=7240
AND I C7576 / @@7411=0776
HLT / @@7412=7402
STA / AC = 7777 (-0001) @@7413=7240
AND I C7575 / @@7414=0775
HLT / @@7415=7402
STA / AC = 7777 (-0001) @@7416=7240
AND I C7574 / @@7417=0774
HLT / @@7420=7402
STA / AC = 7777 (-0001) @@7421=7240
AND I C7573 / @@7422=0773
HLT / @@7423=7402
STA / AC = 7777 (-0001) @@7424=7240
AND I C7572 / @@7425=0772
HLT / @@7426=7402
JMP I S7400 / return @@7427=5600
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7430
/
/ Called from:
/ 6632 6642 7003 7023 7115
/ Total 0005 (5) calls
////////////////////////////////////////////////////////////////////////////////
S7430,
0 / return area
CLL RAL / @@7431=7104
SNL / @@7432=7420
JMP L7440 / @@7433=5240
MQL / @@7434=7421
CMA / @@7435=7040
AND C7441 / @@7436=0241
JMS I C7571 / long call to S7200 @@7437=4771
L7440,
JMP I S7430 / return @@7440=5630
C7441, 0003 / AND D0003
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7442
/
/ Called from:
/ 6743
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S7442,
0 / return area
LAS / @@7443=7604
AND C7470 / @@7444=0270
SZA CLA / @@7445=7640
JMP I S7442 / return @@7446=5642
CMA / @@7447=7040
AND C7471 / @@7450=0271
JMS S7461 / @@7451=4261
CMA / @@7452=7040
AND C7472 / @@7453=0272
JMS S7461 / @@7454=4261
CMA / @@7455=7040
AND C7473 / @@7456=0273
JMS S7461 / @@7457=4261
JMP I S7442 / return @@7460=5642
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7461
/
/ Called from:
/ 7451 7454 7457
/ Total 0003 (3) calls
////////////////////////////////////////////////////////////////////////////////
S7461,
0 / return area
TLS / Load the TTO from the content of AC4 @@7462=6046
L7463,
TSF / Skip if teleprinter flag is a 1. @@7463=6041
JMP L7463 / @@7464=5263
CLA / @@7465=7200
JMP I S7461 / return @@7466=5661
C7467, 4000 / JMS L0000
C7470, 0400 / AND I L0000
C7471, 0215 / AND C7415
C7472, 0212 / AND C7412
C7473, 0324 / AND C7524
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7474
/
/ Called from:
/ 7040
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S7474,
0 / return area
CIA / @@7475=7041
MQL / @@7476=7421
CMA / @@7477=7040
AND I C7570 / @@7500=0770
JMS I C7571 / long call to S7200 @@7501=4771
SMA / @@7502=7500
CIA / @@7503=7041
IAC / @@7504=7001
IAC / @@7505=7001
JMP I S7474 / return @@7506=5674
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S7507
/
/ Called from:
/ 7125 7132
/ Total 0002 (2) calls
////////////////////////////////////////////////////////////////////////////////
S7507,
0 / return area
CIA / @@7510=7041
MQL / @@7511=7421
CMA / @@7512=7040
AND I C7567 / @@7513=0767
JMS I C7571 / long call to S7200 @@7514=4771
SMA / @@7515=7500
CIA / @@7516=7041
IAC / @@7517=7001
IAC / @@7520=7001
JMP I S7507 / return @@7521=5707
*7567
C7567, 7160 / CLL CMA CML
C7570, 7161 / CLL CMA CML IAC
C7571,
C7571, 7200 / CLA
C7572, 6757 / 6757
C7573, 6756 / 6756
C7574, 6754 / 6754
C7575, 6753 / 6753
C7576, 6761 / DTRA
C7577, 6760 / 6760
$

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,535 @@
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
$

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,376 @@
TITLE "AUTOMATIC DISASSEMBLY OF maindec-8e-d0gc-pb.bin BY D8TAPE"
////////////////////////////////////////////////////////////////////////////////
/
/ Automatic Disassembly of maindec-8e-d0gc-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
/
/ 0405 locations used, 0324 code and 0061 data
////////////////////////////////////////////////////////////////////////////////
*0200
*0000
L0000,
C0000, 0000 / AND L0000
L0001,
C0001, 5001 / JMP L0001
C0002, 0002 / AND C0002
C0003, 0003 / AND C0003
AND L0000 / @@0004=0000
AND L0000 / @@0005=0000
D0006, 7771 / CLA MQA SCA MQL NMI
C0007,
C0007, 0400 / AND I L0000
AI0, 0000 / AUTO-INDEX REGISTER AND L0000
AI1, 0000 / AUTO-INDEX REGISTER AND L0000
AI2, 0300 / AUTO-INDEX REGISTER AND C0100
AI3, 0207 / AUTO-INDEX REGISTER AND C0007
AI4, 0003 / AUTO-INDEX REGISTER AND C0003
*0020
L0020,
TAD C0175 / @@0020=1175
DCA AI0 / AUTO INDEX REGISTER @@0021=3010
L0022,
DCA I AI0 / AUTO INDEX REGISTER @@0022=3410
TAD AI0 / AUTO INDEX REGISTER @@0023=1010
CIA / @@0024=7041
TAD C0174 / @@0025=1174
SZA CLA / @@0026=7640
JMP L0022 / @@0027=5022
L0030,
LAS / @@0030=7604
RTL / @@0031=7006
SPA / @@0032=7510
JMP L0052 / @@0033=5052
L0034,
JMS S0154 / @@0034=4154
DCA D0167 / @@0035=3167
TAD D0167 / @@0036=1167
SPA / @@0037=7510
JMP L0046 / @@0040=5046
CIA / @@0041=7041
TAD C0175 / @@0042=1175
SPA CLA / @@0043=7710
JMP L0052 / @@0044=5052
JMP L0034 / @@0045=5034
L0046,
CIA / @@0046=7041
TAD C0174 / @@0047=1174
SPA CLA / @@0050=7710
JMP L0034 / @@0051=5034
L0052,
LAS / @@0052=7604
RTL / @@0053=7006
RAL / @@0054=7004
SPA / @@0055=7510
JMP L0075 / @@0056=5075
L0057,
JMS S0154 / @@0057=4154
DCA D0166 / @@0060=3166
TAD D0166 / @@0061=1166
SPA / @@0062=7510
JMP L0071 / @@0063=5071
CIA / @@0064=7041
TAD C0175 / @@0065=1175
SPA CLA / @@0066=7710
JMP L0075 / @@0067=5075
JMP L0057 / @@0070=5057
L0071,
CIA / @@0071=7041
TAD C0174 / @@0072=1174
SPA CLA / @@0073=7710
JMP L0057 / @@0074=5057
L0075,
LAS / @@0075=7604
RTL / @@0076=7006
RTL / @@0077=7006
C0100, 7710 / SPA CLA
JMP L0104 / @@0101=5104
JMS S0154 / @@0102=4154
DCA D0170 / @@0103=3170
L0104,
TAD D0167 / @@0104=1167
CIA / @@0105=7041
TAD D0166 / @@0106=1166
SNA / @@0107=7450
JMP L0030 / @@0110=5030
CIA / @@0111=7041
CMA / @@0112=7040
SNA CLA / @@0113=7650
JMP L0030 / @@0114=5030
TAD C0171 / @@0115=1171
DCA I D0167 / @@0116=3567
TAD D0167 / @@0117=1167
IAC / @@0120=7001
DCA D0173 / @@0121=3173
TAD C0172 / @@0122=1172
DCA I D0173 / @@0123=3573
TAD D0170 / @@0124=1170
NOP / @@0125=7000
JMP I D0167 / long jump to L3001 @@0126=5567
HLT / @@0127=7402
TAD I D0166 / @@0130=1566
CIA / @@0131=7041
TAD D0170 / @@0132=1170
SZA CLA / @@0133=7640
JMS I C0177 / long call to S0201 @@0134=4577
DCA I D0166 / @@0135=3566
DCA I D0167 / @@0136=3567
DCA I D0173 / @@0137=3573
TAD AI1 / AUTO INDEX REGISTER @@0140=1011
IAC / @@0141=7001
DCA AI1 / AUTO INDEX REGISTER @@0142=3011
TAD AI1 / AUTO INDEX REGISTER @@0143=1011
TAD AI2 / AUTO INDEX REGISTER @@0144=1012
SZA CLA / @@0145=7640
JMP L0030 / @@0146=5030
DCA AI1 / AUTO INDEX REGISTER @@0147=3011
ISZ D0006 / @@0150=2006
JMP L0030 / @@0151=5030
JMS I C0007 / long call to S0400 @@0152=4407
JMP L0030 / @@0153=5030
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0154
/
/ Called from:
/ 0034 0057 0102
/ Total 0003 (3) calls
////////////////////////////////////////////////////////////////////////////////
S0154,
0 / return area
CLA / @@0155=7200
TAD D0165 / @@0156=1165
CLL RAL / @@0157=7104
SZL / @@0160=7430
TAD AI4 / AUTO INDEX REGISTER @@0161=1014
DCA D0165 / @@0162=3165
TAD D0165 / @@0163=1165
JMP I S0154 / return @@0164=5554
D0165, 2525 / ISZ I C0125
D0166, 3000 / DCA L0000
D0167, 3001 / DCA L0001
D0170, 2525 / ISZ I C0125
C0171, 3566 / DCA I D0166
C0172, 5130 / JMP C0130
D0173, 3002 / DCA C0002
C0174, 7600 / 7600
C0175, 0410 / AND I AI0
D0176, 0000 / AND L0000
C0177,
C0177, 0201 / AND L0001
*0200
JMP L0020 / @@0200=5020
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0201
/
/ Called from:
/ 0134
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S0201,
0 / return area
LAS / @@0202=7604
RAL / @@0203=7004
SPA CLA / @@0204=7710
JMP I S0201 / return @@0205=5601
JMS S0265 / @@0206=4265
TAD C0175 / @@0207=1175
DCA AI0 / AUTO INDEX REGISTER @@0210=3010
L0211,
TAD I AI0 / AUTO INDEX REGISTER @@0211=1410
SZA CLA / @@0212=7640
JMS S0233 / @@0213=4233
TAD AI0 / AUTO INDEX REGISTER @@0214=1010
CIA / @@0215=7041
TAD C0174 / @@0216=1174
SZA CLA / @@0217=7640
JMP L0211 / @@0220=5211
TAD C0374 / @@0221=1374
JMS S0351 / @@0222=4351
TAD C0375 / @@0223=1375
JMS S0351 / @@0224=4351
TAD C0376 / @@0225=1376
JMS S0351 / @@0226=4351
LAS / @@0227=7604
SMA CLA / @@0230=7700
HLT / @@0231=7402
JMP I S0201 / return @@0232=5601
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0233
/
/ Called from:
/ 0213
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S0233,
0 / return area
TAD AI0 / AUTO INDEX REGISTER @@0234=1010
CIA / @@0235=7041
TAD D0167 / @@0236=1167
SNA CLA / @@0237=7650
JMP I S0233 / return @@0240=5633
TAD AI0 / AUTO INDEX REGISTER @@0241=1010
CIA / @@0242=7041
TAD D0173 / @@0243=1173
SNA CLA / @@0244=7650
JMP I S0233 / return @@0245=5633
TAD C0372 / @@0246=1372
JMS S0351 / @@0247=4351
TAD AI0 / AUTO INDEX REGISTER @@0250=1010
C0251, 4310 / JMS L0310
TAD AI0 / AUTO INDEX REGISTER @@0252=1010
DCA D0176 / @@0253=3176
TAD C0373 / @@0254=1373
JMS S0351 / @@0255=4351
TAD I D0176 / @@0256=1576
C0257, 4310 / JMS L0310
TAD C0375 / @@0260=1375
JMS S0351 / @@0261=4351
TAD C0376 / @@0262=1376
JMS S0351 / @@0263=4351
JMP I S0233 / return @@0264=5633
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0265
/
/ Called from:
/ 0206
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S0265,
0 / return area
CLA / @@0266=7200
TAD C0367 / @@0267=1367
JMS S0351 / @@0270=4351
TAD D0167 / @@0271=1167
C0272, 4310 / JMS L0310
TAD C0371 / @@0273=1371
JMS S0351 / @@0274=4351
TAD D0166 / @@0275=1166
C0276, 4310 / JMS L0310
TAD C0377 / @@0277=1377
JMS S0351 / @@0300=4351
TAD D0170 / @@0301=1170
C0302, 4310 / JMS L0310
TAD C0375 / @@0303=1375
JMS S0351 / @@0304=4351
TAD C0376 / @@0305=1376
JMS S0351 / @@0306=4351
JMP I S0265 / return @@0307=5665
L0310,
C0310,
C0310, 5310 / JMP L0310
DCA D0366 / @@0311=3366
TAD D0366 / @@0312=1366
RTR / @@0313=7012
RAR / @@0314=7010
DCA D0365 / @@0315=3365
TAD D0365 / @@0316=1365
RTR / @@0317=7012
RAR / @@0320=7010
DCA D0364 / @@0321=3364
TAD D0364 / @@0322=1364
RTR / @@0323=7012
RAR / @@0324=7010
DCA D0363 / @@0325=3363
TAD C0370 / @@0326=1370
JMS S0351 / @@0327=4351
TAD C0357 / @@0330=1357
DCA D0360 / @@0331=3360
L0332,
TAD D0363 / @@0332=1363
AND C0361 / @@0333=0361
TAD C0362 / @@0334=1362
JMS S0351 / @@0335=4351
TAD D0364 / @@0336=1364
DCA D0363 / @@0337=3363
TAD D0365 / @@0340=1365
DCA D0364 / @@0341=3364
TAD D0366 / @@0342=1366
DCA D0365 / @@0343=3365
ISZ D0360 / @@0344=2360
JMP L0332 / @@0345=5332
TAD C0370 / @@0346=1370
JMS S0351 / @@0347=4351
JMP I L0310 / long jump to L5310 @@0350=5710
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0351
/
/ Called from:
/ 0222 0224 0226 0247 0255 0261 0263 0270 0274 0300 0304 0306 0327 0335 0347
/
/ Total 0017 (15) calls
////////////////////////////////////////////////////////////////////////////////
S0351,
0 / return area
TLS / Load the TTO from the content of AC4 @@0352=6046
L0353,
TSF / Skip if teleprinter flag is a 1. @@0353=6041
JMP L0353 / @@0354=5353
CLA / @@0355=7200
JMP I S0351 / return @@0356=5751
C0357, 7774 / SPA SNA SZL CLA OSR
D0360, 0000 / AND L0000
C0361, 0007 / AND C0007
C0362, 0260 / AND C0260
D0363, 0000 / AND L0000
D0364, 0000 / AND L0000
D0365, 0000 / AND L0000
D0366, 0000 / AND L0000
C0367, 0306 / AND C0306
C0370, 0240 / AND C0240
C0371, 0301 / AND C0301
C0372, 0314 / AND C0314
C0373, 0303 / AND C0303
C0374, 0305 / AND C0305
C0375, 0215 / AND C0215
C0376, 0212 / AND C0212
C0377, 0317 / AND C0317
*0400
////////////////////////////////////////////////////////////////////////////////
/
/ SUBROUTINE: S0400
/
/ Called from:
/ 0152
/ Total 0001 (1) calls
////////////////////////////////////////////////////////////////////////////////
S0400,
0 / return area
TAD C0407 / @@0401=1207
DCA D0006 / @@0402=3006
TAD AI3 / AUTO INDEX REGISTER @@0403=1013
TLS / Load the TTO from the content of AC4 @@0404=6046
CLA / @@0405=7200
JMP I S0400 / return @@0406=5600
C0407, 7771 / CLA MQA SCA MQL NMI
$

Binary file not shown.

92
PDP8/tests/pdp8_test.ini Normal file
View file

@ -0,0 +1,92 @@
:: pdp8_test.ini
::
:: Run the paper tape-based diagnostics for the PDP-8 simulator.
::
:: Maximum memory, extended address element:
set cpu 32k
set cpu eae
:: Script is where the diagnostics ought to reside as well.
cd %~p0
:: AND, TAD, Operate and basic MQ instruction test (D0AB)
echof -n "** PDP-8: Basic Instruction Test (1): "
load diags/maindec-8e-d0ab-pb.bin
dep sr 07777
go -q 200
if (PC != 0147 || AC != 0) echof "MAINDEC-8/E-D0AB failed."; exit 1
echof "passed"
:: Autoindexing, Indirect addressing, and the DCA instruction with
:: "minimal" testing for interrupt, AND, TAD, ISZ, JMS, JMP and
:: processor IOT instructions.
echof -n "** PDP-8: Basic Instruction Test (2): "
load diags/maindec-8e-d0bb-pb.bin
:: Patch address 3740 with HLT, otherwise the test will loop every
:: 1550 iterations and send BEL to the TTY. We really do want the
:: test to halt.
dep 3740 7402
dep sr 0
go -q 200
if (PC != 03741) echof "MAINDEC-8/E-D0BB failed."; exit 1
echof "passed"
:: The ADDER test
echof "** PDP-8: Adder tests: "
load diags/maindec-8e-d0cc-pb.bin
:: Patch address 4561 with HLT. Test loops between SIMAD, SIMROT, FCT and
:: RANDOM, ad infinitum. We really want the test to halt.
dep 4561 7402
:: And ask the tests to be quiet, test extended (banked) memory.
dep sr 0200
go -q 200
if (PC != 04622) echof "MAINDEC-8/E-D0CC failed."; exit 1
echof
echof "** PDP-8: Adder test passed."
:: Random AND tests
echof -n "** PDP-8: Random AND test: "
load diags/maindec-8e-d0db-pb.bin
:: Halt after one 4096 loop pass, suppress output
dep sr 02400
go -q 200
if (PC != 00355) echof "MAINDEC-8/E-D0DB failed."; exit 1
echof "passed."
:: Random TAD tests
echof -n "** PDP-8: Random TAD test: "
load diags/maindec-8e-d0eb-pb.bin
:: Patch 6743 with HLT to stop the test after 4096 iterations. Would
:: normally output a "T" until machine halted.
dep 6743 7402
:: Suppress output
dep sr 00400
go -q 200
if (PC != 06744) echof "MAINDEC-8/E-D0EB failed."; exit 1
echof "passed."
:: Random ISZ tests
:: Bit more of a challenge: cant just put a HLT instruction to
:: terminate the test loop. And cant squelch the output either.
if (SIM_REGEX_TYPE == "") echof "Missing Regular Expression support - skipping Random ISZ test\n"; goto ISZ_DONE
echof "** PDP-8: Random ISZ test: "
load diags/maindec-8e-d0fc-pb.bin
dep sr 0
expect -r [25] "\r\nFC" echof; echof "** PDP-8: Random ISZ test: passed."
expect -r "F [0-7]{4}" echof; echof "** PDP-8: Random ISZ test: MAINDEC-8/E-D0FC failed."; exit 1
go -q 200
:ISZ_DONE
:: Random DCA tests
echof -n "** PDP-8: Random DCA test: "
load diags/maindec-8e-d0gc-pb.bin
:: Patch 0404 with HLT to stop the test after 28,328 iterations (one complete pass)
dep 0404 7402
dep sr 0
go -q 200
if (PC != 0405) echof "MAINDEC-8/E-D0GC failed."; exit 1
echof "passed."
echof
echof "!! All Tests Passed !!"
echof
exit 0