* GROUP 11: COL1,COL4 * GROUP 13: COL1,CLE,COL4 * GROUP 15: COL1,SLA,COL4 - COL1,SLB,COL4 * GROUP 17: COL1,CLE,SLA,COL4 - COL1,CLE,SLB,COL4 * CLA G11.7 STA REG FOR REG _ 0,1 CLA G11.6 STA IE FOR IE _ 0,1 CLA G11.5 STA SLAB FOR SLA OR SLB _ 0,1 CLA G11.4 STA CLE FOR CLE _ 0,1 LDB TBL2A STB PT2 RESET TABLE 2 POINTER LDB TBL1A STB PT1X INITIALIZE TABLE 1 POINTER CLA CLB G11.3 STA K FOR K _ 0,7 STB KX K _ K*2**8 CLA G11.2 STA J FOR J _ 0,7 LDB PT1X STB PT1 RESET TABLE 1 POINTER ADA REG ADA BIT9 ADA KX ADA CLE ADA BIT4 ADA SLAB INSTR _ REG + BIT9 + KX + CLE STA INSTR + BIT4 + SLAB + J LDB PATA G11.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB1 EAB1 = EXPECTED A OR B RESULT CLA AFTER 1ST SHIFT OR ROTATE LDB K CPB .5 EAB1 _ TBL1(K,I) LDA BIT15 + BIT15 * IE IF K=5 CPB .6 + BIT0 * IE IF K=6 LDA BIT0 AND IE IOR EAB1 STA EAB1 LDB SLAB STB ESKP SZB,RSS JMP G11.C AND BIT0 XOR BIT0 STA ESKP ESKP _ SLAB * CMPL(BIT0 * EAB1) G11.C LDA IE STA EE1 EE1 _ EXPECT E AFTER 1ST SHIFT CLA LDB K ASSUME EE1 = IE CPB .5 LDA BIT0 CPB .6 EE1 _ BIT0 * ARG IF K=5 LDA BIT15 EE1 _ BIT15 * ARG IF K=6 SZA,RSS JMP G11.A AND ARG SZA CCA STA EE1 G11.A LDA CLE IF CLE =1, EE1 _ 0 CLB SZA STB EE1 LDA EE1 EE _ EE1 IF J NOT 5 OR 6 STA EE CLA LDB J IF J=5, EE _ BIT0 * EAB1 CPB .5 LDA BIT0 IF J=6, EE _ BIT15 * EAB1 CPB .6 LDA BIT15 SZA,RSS JMP G11.B AND EAB1 SZA CCA STA EE G11.B LDA PT2,I ASSUME EAB _ TBL2(I,J,K) STA EAB LDB J CLA IF J=5, CPB .5 EAB _ EAB + BIT15* EE1 LDA BIT15 CPB .6 IF J=6 LDA BIT0 EAB _ EAB + BIT0 * EE1 AND EE1 IOR EAB STA EAB CLA LDB K CHECK K: CPB .5 LDA TBL5A IF K=5, A _ TABLE 5 ADDRESS CPB .6 LDA TBL6A IF K=6, A _ TABLE 6 ADDRESS SZA,RSS JMP G11.Z K NOT 5 OR 6 ADA J ADDRESS IN TBL LDA A,I BIT MASK = F(J) AND IE IOR EAB STA EAB EAB _ EAB + BITS * IE G11.Z JSB E.C GO EXECUTE & CHECK ISZ PT2 STEP TABLE POINTERS ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G11.1 NEXT I ADA J CPA .8 CLA,INA,RSS JMP G11.2 NEXT J LDB PT1 STB PT1X ADJUST TABLE 1 POINTER LDB KX ADB B100 ADA K CPA .8 RSS JMP G11.3 NEXT K LDA CLE ADA BIT5 CPA BIT5 JMP G11.4 NEXT CLE BIT LDA SLAB ADA BIT3 CPA BIT3 JMP G11.5 NEXT SLA OR SLB BIT CCA CPA IE RSS JMP G11.6 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G11.7 NEXT REG SPC 3 * SPCEIAL GROUP: ERA, ELA, ERB, ELB WITH D/E FIELD =0 * EXPECT RESULT IN E SAME AS INSTRUCTION WITH D/E FIELD = 1 * EXPECT NO CHANGE IN A OR B. * CLA STA ESKP ESKP _ 0 LDA .5 STA J J = 5 FOR ERA OR ERB LDB SITA SG.3 STB PT2 NEXT ADDR. IN SPEC. INSTR. TLB LDA PT2,I STA INSTR NEXT INSTRUCTION CLA SG.2 STA IE FOR IE _ 0,1 LDB PATA SG.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG LDB J JSB SC2 GET EE JSB E.C GO EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP SG.1 NEXT DATA PATTERN CPA IE RSS JMP SG.2 NEXT IE LDA .6 LDB PT2 INB CPB SIT6A STA J J = 6 FOR ELA OR ELB CPB SITE RSS JMP SG.3 NEXT INSTRUCTION SPC 3 * OVERFLOW REGISTER TESTS * CLO SOC HLT 40B CLO - SOC COMBINATION FAILED CLO SOS RSS HLT 41B CLO - SOS COMBINATION FAILED STO SOS HLT 42B STO - SOS COMBINATION FAILED STO SOC RSS HLT 43B STO - SOC COMBINATION FAILED STO SOS C HLT 44B STO - SOS,C COMB. FAILED SOC HLT 45B SOS,C DID NOT CLEAR OVFLO CLO LDA SOVFC A _ 077777 INA SOS HLT 50B INA DID NOT SET OVERFLOW CLO CCA A _ 177777 INA SOC HLT 51B INA SHOULD NOT HAVE SET OVERFLOW CLO LDA SOVFC ADA SOVFC SUM OF 077777 & 077777 IN A SOS HLT 52B ADA DID NOT SET OVERFLOW CLO LDA BIT15 ADA BIT15 SUM OF 100000 & 100000 IN A SOS HLT 53B ADA DID NOT SET OVERFLOW CLO LDA SOVFC ADA BIT15 SUM OF 0777777 & 100000 IN A SOC HLT 54B OV SET ON SUM ON UNLIKE SIGNS CLO CCA ADA M1 SUM OF 177777 & 177777 IN A SOC HLT 55B ILLEGAL SET OF OVERFLOW CLO CLA ADA A SUM OF 000000 & 00000 IN A SOC HLT 56B ILLEGAL SET OF OVERFLOW CLO LDB SOVFC B _ 077777 INB SOS HLT 60B INB DID NOT SET OVERFLOW CLO CCB B _ 177777 INB SOC HLT 61B INB SHOULD NOT HAVE SET OVERFLOW CLO LDB SOVFC ADB SOVFC SUM OF 077777 & 077777 IN B SOS HLT 62B ADB DID NOT SET OVERFLOW CLO LDB BIT15 ADB BIT15 SUM OF 100000 & 100000 IN B SOS HLT 63B ADB DID NOT SET OVERFLOW CLO LDB SOVFC ADB BIT15 SUM OF 077777 & 100000 IN B SOC HLT 64B OV SET ON SUM OF UNLIKE SIGNS CLO CCB ADB M1 SUM OF 177777 & 177777 IN B SOC HLT 65B ILLEGAL SET OF OVERFLOW CLO CLB ADB B SUM OF 000000 & 000000 IN B SOC HLT 66B ILLEGAL SET OF OVERFLOW SPC 3 EOP LDA PCA STEP END OF PASS COUNT INA STA PCA LIA 1 AND BIT12 SZA JMP SOP LDA PCA HLT 77B END OF PASS HALT JMP SOP GO AROUND AGAIN SPC 3 TBL5 OCT 100000 OCT 140000 OCT 1 OCT 40000 OCT 0 OCT 40000 OCT 0 OCT 10 TBL6 OCT 2 OCT 0 OCT 2 OCT 100000 OCT 2 OCT 0 OCT 2 OCT 20 PAT1 OCT 1 PAT2 OCT 100000 PAT3 OCT 100001 PAT4 OCT 074170 PAT5 OCT 103607 PAT6 OCT 125252 PAT7 OCT 052525 P0020 OCT 2 OCT 100000 OCT 100002 OCT 070360 OCT 107416 OCT 152524 OCT 025252 P0021 OCT 0 OCT 140000 OCT 140000 OCT 036074 OCT 141703 OCT 152525 OCT 025252 P0022 OCT 2 OCT 1 OCT 3 OCT 170360 OCT 7417 OCT 052525 OCT 125252 P0023 OCT 100000 OCT 40000 OCT 140000 OCT 036074 OCT 141703 OCT 052525 OCT 125252 P0024 OCT 2 OCT 0 OCT 2 OCT 070360 OCT 7416 OCT 52524 OCT 25252 P0025 OCT 0 OCT 40000 OCT 40000 OCT 36074 OCT 41703 OCT 52525 OCT 25252 P0026 OCT 2 OCT 0 OCT 2 OCT 170360 OCT 7416 OCT 52524 OCT 125252 P0027 OCT 20 OCT 10 OCT 30 OCT 103607 OCT 74170 OCT 125252 OCT 52525 P1020 OCT 4 OCT 100000 OCT 100004 OCT 60740 OCT 117034 OCT 125250 OCT 52524 P1021 OCT 1 OCT 140000 OCT 140001 OCT 034170 OCT 143607 OCT 165252 OCT 12525 P1022 OCT 4 OCT 1 OCT 5 OCT 160740 OCT 17035 OCT 125251 OCT 52524 P1023 OCT 1 OCT 40000 OCT 40001 OCT 34170 OCT 43607 OCT 65252 OCT 12525 P1024 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1025 OCT 1 OCT 40000 OCT 40001 OCT 34170 OCT 43607 OCT 65252 OCT 12525 P1026 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1027 OCT 40 OCT 10 OCT 50 OCT 7407 OCT 170350 OCT 52515 OCT 125242 P1120 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1121 OCT 0 OCT 160000 OCT 160000 OCT 17036 OCT 160741 OCT 165252 OCT 12525 P1122 OCT 0 OCT 100001 OCT 100001 OCT 74170 OCT 103607 OCT 125253 OCT 52524 P1123 OCT 0 OCT 60000 OCT 60000 OCT 17036 OCT 160741 OCT 165252 OCT 12525 P1124 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1125 OCT 0 OCT 60000 OCT 60000 OCT 17036 OCT 60741 OCT 65252 OCT 12525 P1126 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1127 OCT 0 OCT 14 OCT 14 OCT 141703 OCT 36074 OCT 52535 OCT 125242 P1220 OCT 4 OCT 2 OCT 6 OCT 160740 OCT 17036 OCT 25252 OCT 152524 P1221 OCT 1 OCT 0 OCT 1 OCT 174170 OCT 3607 OCT 25252 OCT 152525 P1222 OCT 4 OCT 2 OCT 6 OCT 160741 OCT 17036 OCT 125252 OCT 52525 P1223 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 P0224 OCT 4 OCT 2 OCT 6 OCT 60740 OCT 17036 OCT 25252 OCT 52524 P1225 OCT 1 OCT 0 OCT 1 OCT 74170 OCT 3607 OCT 25252 OCT 52525 P1226 OCT 4 OCT 2 OCT 6 OCT 160740 OCT 17036 OCT 125252 OCT 52524 P1227 OCT 40 OCT 20 OCT 60 OCT 7417 OCT 170360 OCT 52525 OCT 125252 P1320 OCT 100000 OCT 0 OCT 100000 OCT 74170 OCT 103606 OCT 25252 OCT 152524 P1321 OCT 140000 OCT 20000 OCT 160000 OCT 17036 OCT 160741 OCT 25252 OCT 152525 P1322 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 P1323 OCT 40000 OCT 20000 OCT 60000 OCT 17036 OCT 160741 OCT 125252 OCT 52525 P1324 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1325 OCT 40000 OCT 20000 OCT 60000 OCT 17036 OCT 60741 OCT 25252 OCT 52525 P1326 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1327 OCT 10 OCT 4 OCT 14 OCT 141703 OCT 36074 OCT 52525 OCT 125252 P1420 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1421 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1422 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1423 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1424 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1425 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1426 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1427 OCT 40 OCT 0 OCT 40 OCT 7407 OCT 170340 OCT 52505 OCT 125242 P1520 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1521 OCT 0 OCT 20000 OCT 20000 OCT 17036 OCT 20741 OCT 25252 OCT 12525 P1522 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1523 OCT 0 OCT 20000 OCT 20000 OCT 17036 OCT 120741 OCT 125252 OCT 12525 P1524 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1525 OCT 0,20000,20000,17036,20741,25252,12525 P1526 OCT 0,100000,100000,74170,103606,125252,52524 P1527 OCT 0 OCT 4 OCT 4 OCT 141703 OCT 36064 OCT 52525 OCT 125242 P1620 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 25250 OCT 152524 P1621 OCT 1 OCT 0 OCT 1 OCT 174170 OCT 3607 OCT 25252 OCT 152525 P1622 OCT 4 OCT 0 OCT 4 OCT 160741 OCT 17034 OCT 125250 OCT 52525 P1623 OCT 1 OCT 0 OCT 1 OCT 74170 OCT 3607 OCT 25252 OCT 52525 P1624 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1625 OCT 1,0,1,74170,3607,25252,52525 P1626 OCT 4,0,4,160740,17034,125250,52524 P1627 OCT 40 OCT 0 OCT 40 OCT 7417 OCT 170340 OCT 52505 OCT 125252 P1720 OCT 40 OCT 20 OCT 60 OCT 107416 OCT 70360 OCT 152524 OCT 25252 P1721 OCT 10 OCT 4 OCT 14 OCT 141703 OCT 36074 OCT 152525 OCT 25252 P1722 OCT 40 OCT 20 OCT 60 OCT 7417 OCT 170360 OCT 52525 OCT 125252 P1723 OCT 10 OCT 4 OCT 14 OCT 141703 OCT 36074 OCT 52525 OCT 125252 P1724 OCT 40 OCT 20 OCT 60 OCT 7416 OCT 70360 OCT 52524 OCT 25252 P1725 OCT 10 OCT 4 OCT 14 OCT 41703 OCT 36074 OCT 52525 OCT 25252 P1726 OCT 40 OCT 20 OCT 60 OCT 7416 OCT 170360 OCT 52524 OCT 125252 P1727 OCT 400 OCT 200 OCT 600 OCT 74170 OCT 103607 OCT 125252 OCT 52525 OCT 0 SIT OCT 5 ERA COL4 D/E=0 OCT 500 ERA COL1 D/E=0 OCT 4005 ERB COL4 D/E=0 OCT 4500 ERB COL1 D/E=0 SIT6 OCT 6 ELA COL4 D/E=0 OCT 600 ELA COL1 D/E=0 OCT 4006 ELB COL4 D/E=0 OCT 4600 ELB COL1 D/E=0 * END