TITLE BARTEE SUBTTL A.CANTONI + R.PERRY ELEC ENG 1970 EXTERN JOBFF,JOBREL ; CONDITIONAL ASSEMBLY PARAMETER LC ; IF LC=0 TTY INPUT AND OUTPUT ; IF LC=1 CDR INPUT AND LPT OUTPUT IFNDEF LC, IFE LC ,< OPDEF TTCALL [51B8] LINCNT: 65 62 ADR: LJK ICORE: 1777 > IFN LC,< OPDEF TTCALL [20B8] EXTERN JOBUUO LOC 41 JSR UUOH. RELOC LINCNT: 163 160 CDRI: BLOCK 3 LPTO: BLOCK 3 ADR: ERR ICORE: 3777 E: SIXBIT /BARTO/ SIXBIT /DAT/ 0 0 EIN: SIXBIT/BARTI/ SIXBIT/DAT/ 0 0 > P=17 PT10: XWD 4,0 PT11: XWD 7,0 COL: XWD 1,0 ; COL2: XWD 15,0 ; COL3: XWD 1,0 ; COL4: XWD 2,0 ; LAST: 0 ; BPC: 0 BPI: 0 FLG: 0 ;OUTPUT FLAG AFLAG: 0 ;SPACE FLAG FOR DECO CVFLG: 0 ; PIFLG: 0 PSFLG: 0 JMP: JUMPE 7,A4-2 JUMPN 7,A4 ANUM: 1 3 MINUS: -1 ;EQUIVALENT MASKING TABP: 0 INY: 0 ;NUMBER OF INPUT LITERALS OUTY: 0 ;NUMBER OF OUTPUT LITERALS CONTR: 0 ;A COUNTER CONCTR: 0 ;A COUNTER CONI: 0 COCTR: 0 SUM: 0 SUM10: 0 ;TEMPORARY STORE SUM11: 0 ;TEMPORARY STORE BP10: XWD 440200,10 ;2 BIT POINTER BP11: XWD 440200,11 ;2 BIT POINTER BPWRD: XWD 440200,WORD ; WORD: 0 ;TEMPORARY STORE BPTK11: XWD 200,11 BPTK10: XWD 200,10 ;TICK POINTER BP11T: 0 BP10T: 0 BPWRDT: 0 TAB: BLOCK 12 ; TAB2: BLOCK 12 ; PL: BLOCK 20 PAGE START: CALL [SIXBIT/RESET/] ; MOVE P,[IOWD 20,PL] IFN LC,< INIT 1,1 SIXBIT/CDR/ CDRI JSP 1,NOTAVL INBUF 1,2 INIT 2,1 SIXBIT/LPT/ XWD LPTO,0 JSP 1,NOTAVL OUTBUF 2,2 SETZM LPTO+2 SETZM E+3 SETZM E+2 HLLZS E+1 ENTER 2,E CALL [SIXBIT/EXIT/] SETZM EIN+3 SETZM EIN+2 HLLZS EIN+1 LOOKUP 1,EIN CALL [SIXBIT/EXIT/] > SETZM PSFLG TTCALL 3,MESIN TTCALL 3,CRLFA PUSHJ P,DECI ; MOVEM INY ; PUSHJ P,SETCOR ; TTCALL 11,0 ; TTCALL 3,MESOUT ; TTCALL 3,CRLFA ; PUSHJ P,DECI ; MOVEM OUTY ; TTCALL 11,0 ; ADD INY CAIL ^D18 JRST ERROR GET: PUSHJ P,SETCN ;SET COUNTER UP IN AC1 LJK: SETZM @COL ; MOVN 3,INY ; HRLZS 3 ; PUSHJ P,SETBPC ; PUSHJ P,SETPBI ; ILP: ILDB 2,BPC ; IDPB 2,BPI ; ADDI 2,60 ; TTCALL 1,2 ; AOBJN 3,ILP ; MOVEI 4,40 ; TTCALL 1,4 ;A SPACE TTCALL 4,4 ; MOVN 3,OUTY ; HRLZS 3 ; CAIN 4,15 ; JRST DCR ; LAP: SUBI 4,60 ; JUMPE 4,OKA+1 ; CAIN 4,1 ; JRST OKA ; TTCALL 3,QUEST ; TTCALL 11,0 ; JRST @ADR OKA: MOVEI 4,3 ; IDPB 4,BPI ; TTCALL 4 ; CAIE 4,15 ; AOBJN 3,LAP ; TTCALL 11,0 ; AOBJN 1,LJK ; SETCOL: SETZB 15,TABP ; SETZM CVFLG SETZM PIFLG TTCALL 3,CRLF TTCALL 3,PITAB TTCALL 3,CRLFA PUSHJ P,ANS SETOM PIFLG MOVN 5,INY ; SUBI 5,1 ; HRLZS 5 ; LOOP1: PUSHJ P,SETCN ; SETZM CONTR ; LOOP2: MOVE 10,@COL ; TRZ 10,3 ; PUSHJ P,COUNT ;COUNT NUMBER OF DIFFERING TERMS JRST ENDL ;RETURN HERE IF TERM TO BE LEFT OUT CAIN 7,(5) ;DOES TERM BELONG TO CURRENT CLASS PUSHJ P,STORE ;YES STORE IT ENDL: AOBJN 1,LOOP2 ; MOVE 6,CONTR ;STORE COUNTER IN TAB MOVEM 6,TAB(5) ; AOBJN 5,LOOP1 ; MOVEM 15,CONI ;NUMBER OF NEW TERMS PROCES: MOVN 5,INY ; SETZM CONCTR ; HRLZS 5 ; LAIP: MOVN 4,TAB(5) ; SETZM COCTR ; JUMPE 4,OKR-2 ; HRLZS 4 ; HRRZ 7,COL2 ; MOVNI 6,(5) ; JUMPE 6,LOIP+2 ; HRLZS 6 ; LOIP: ADD 7,TAB(6) ; AOBJN 6,LOIP ; HRRM 7,PT10 ; ADD 7,TAB(5) ; HRRM 7,PT11 ; LOF: MOVE 10,@PT10 ; MOVN 7,TAB+1(5) ;NUMBER OF TERMS IN SECOND BLOCK JUMPE 7,OKR-2 ; HRLZS 7 ; LIF: MOVE 11,@PT11 ; PUSHJ P,CONC ;TRY TO FORM A CONSENSUS AOBJN 7,LIF ; AOBJN 4,LOF ; MOVE 12,COCTR ; MOVEM 12,TAB2(5) ; OKR: AOBJN 5,LAIP ; PUSHJ P,CHKTK ; MOVE 12,CONCTR ; JUMPE 12,DONE ; MOVEM 12,CONI ; HRR 6,COL2 ; ADD 6,CONI ; HRRM 6,TRF ; HRL 6,COL3 ; HRRM 6,COL3 ; HRR 6,COL2 ; TRF: BLT 6,0 ; HRLI 6,TAB2 ;SOURCE HRRI 6,TAB ;DESTINATION BLT 6,TAB+11 ; JRST PROCES ; DONE: TTCALL 3,CRLF ; SKIPN TABP ;ANY PI TERMS ? JRST NOPI ;NO SKIPN PIFLG JRST D0 PUSHJ P,FORMAT TTCALL 3,MESSPI ;HEADING TTCALL 3,CRLF ; PUSHJ P,OUTAB ;OUTPUT PI'S. D0: MOVE 12,TABP ;CALCULATE IDIVI 12,^D36 ;THE NUMBER SKIPE 13 ;OF WORDS ADDI 12,1 ;REQUIRED FOR MOVE 16,12 ;COVERAGE TERMS. D1: PUSHJ P,CTABLE ; TTCALL 3,CRLF ; PUSHJ P,FORMAT TTCALL 3,MESCOR ; TTCALL 3,CRLF ; PUSHJ P,CORET ; TTCALL 3,CRLF ; TTCALL 3,BMESS ; TTCALL 3,CRLF ; PUSHJ P,ALG ; TTCALL 3,CRLF ; TTCALL 3,ACVT ; TTCALL 3,CRLFA ; SETOM CVFLG PUSHJ P,ANS PUSHJ P,CVHEAD SKIPE PSFLG JRST D2 TTCALL 3,CRLF TTCALL 3,PSMESS TTCALL 3,CRLFA SETOM PSFLG PUSHJ P,ANS JRST BACK D2: AOS 5,JOBREL IDIVI 5,2000 ; TTCALL 3,CRLF ; SETOM AFLAG ; PUSHJ P,DECO+1 ; TTCALL 3,KMESS ; TTCALL 3,CRLF ; EXIT: MOVE ICORE CALL [SIXBIT/CORE/] ; JUMP ;SHOULD NEVER GET HERE IFN LC,< OUTPUT 2, > CALL [SIXBIT/EXIT/] ERROR: TTCALL 3,QUEST TTCALL 3,TOMAN JRST EXIT-1 PAGE COUNT: MOVN 12,INY ; HRLZS 12 ; MOVE 7,BP10 ; MOVEM 7,BP10T ; SETZ 7, ; LOO1: ILDB 11,BP10T ; CAIN 11,1 ;SKIP IF BYTE NOT A ONE AOS 7 ;ACCUMULATE THE NUMBER OF ONES AOBJN 12,LOO1 ; SETOM SUM ;IF OUTPUT ALL ZERO , OMIT MOVN 12,OUTY ; HRLZS 12 ; LOO2: ILDB 11,BP10T ; ADDM 11,SUM ; AOBJN 12,LOO2 ; SKIPL SUM ; AOS (P) ; POPJ P, ; CONC: SETOM SUM ; MOVN 1,INY ; HRLZS 1 ; MOVE 2,BP10 ; MOVEM 2,BP10T ; MOVE 2,BP11 ; MOVEM 2,BP11T ; MOVE 2,BPWRD ; MOVEM 2,BPWRDT ; LKP: ILDB 2,BP11T ; ILDB 3,BP10T ; EQV 2,3 ; IDPB 3,BPWRDT ; CAME 2,MINUS ;IS IT EQUIVALENT ? PUSHJ P,FORM ;FORM A TENTATIVE CONSENSUS AOBJN 1,LKP ;DO ALL INPUT STRING SKIPE SUM ;IF SUM=0 CAN FORM INPUT CONSENSUS AT LEAST POPJ P, ;OTHERWISE NO CHANCE AT ALL SETZM SUM ; SETZM SUM10 ; SETZM SUM11 ; MOVN 1,OUTY ; HRLZS 1 ; LFP: ILDB 2,BP10T ; SKIPE 2 ; AOS SUM10 ; ILDB 3,BP11T ; SKIPE 3 ; AOS SUM11 ; EQV 2,3 ; CAME 2,MINUS ; SETZ 3, ; SKIPE 3 ; AOS SUM ;CHECK IF ALL ZEROS IDPB 3,BPWRDT ; AOBJN 1,LFP ; SKIPN SUM ; POPJ P, ;IF ALL 0 CAN IGNORE MOVE 2,SUM ; CAML 2,SUM10 ; PUSHJ P,TICK10 ;THIS TERM 10 CONSUMES OTHER CAML 2,SUM11 ; PUSHJ P,TICK11 ; MOVE 3,WORD ; MOVN 1,CONCTR ; JUMPE 1,STI ; HRLZS 1 ; LPP: CAMN 3,@COL3 ; JRST RET ; AOBJN 1,LPP ; STI: PUSHJ P,MVM3 ; AOS COCTR ; AOS CONCTR ; RET: POPJ P, ; FORM: MOVEI 2,3 ; DPB 2,BPWRDT ; AOS SUM ; POPJ P, ; OUTAB: MOVN 2,TABP ; HRLZS 2 ; LAK: SETOM FLG ; MOVE 10,BP10 ; MOVEM 10,BP10T ; MOVE 10,@COL4 ; SETOM AFLAG ; PUSHJ P,DECO ; TTCALL 3,SPACE ; MOVN 5,INY ; ITY: HRLZS 5 ; LOK: ILDB 3,BP10T ; CAIL 3,3 ; MOVEI 3,-3 ; ADDI 3,60 ; TTCALL 1,3 ; AOBJN 5,LOK ; MOVEI 3,40 ;SPACE TTCALL 1,3 ; SKIPL FLG ; JRST OUTA ; SETZM FLG ; MOVN 5,OUTY ; JRST ITY ; OUTA: TTCALL 3,CRLF ; AOBJN 2,LAK ; POPJ P, ; PAGE DECI: TTCALL 4,1 ; MOVEI 0 ; NXT: SUBI 1,60 ; CAIG 1,11 ; SKIPGE 1 ; POPJ P, ; IMULI 12 ; ADD 1 ; TTCALL 1 ; JRST NXT ; DECO: MOVEI 5,1(2) ; HRLZI 3,-3 ; IDIVI 5,12 ; HRLM 6,(P) ; AOBJP 3,.+2 ; PUSHJ P,DECO+2 ; HLRZ 5,(P) ; JUMPN 5,DOUT ; SKIPGE 6,AFLAG ; MOVNI 5,20 ; JUMPG 6,DOUT+3 ; SKIPA ; DOUT: SETZM AFLAG ; ADDI 5,60 ; TTCALL 1,5 ; POPJ P, ; STORE: PUSH P,1 ; HRRZI @COL2 ; HRRZ 1,COL3 ; CAMGE 0,1 ; JRST STEND ; AOS COL3 ; PUSHJ P,SHIFT4 ; HRRZ 1,COL4 ; HRRZ COL3 ; SUB 1,0 ; ST1: SOJL 1,STEND ; SOS 1 ; MOVE @COL3 ; AOS 1 ; MOVEM @COL3 ; JRST ST1 ; STEND: POP P,1 ; MOVEM 10,@COL2 ; AOS 15 ; AOS CONTR ; POPJ P, ; PAGE SHIFT4: AOS COL4 ; AOS LAST ; PUSHJ P,TSTLST ; PUSH P,2 ; MOVE 2,TABP ; SH1: SOJL 2,SHEND ; SOS 2 ; MOVE @COL4 ; AOS 2 ; MOVEM @COL4 ; JRST SH1 ; SHEND: POP P,2 ; POPJ P, ; OUTIT: AOS 13,SUM ; IDIVI 13,3 ; MOVNS 13 ; HRLZS 13 ; R0: MOVN 12,INY ; HRLZS 12 ; MOVE 10,BP10 ; MOVEM 10,BP10T ; PUSHJ P,SETPBI ; R1: ILDB 6,BPI ; IDPB 6,BP10T ; ADDI 6,60 ; SKIPE 14,CVFLG ; TTCALL 1,6 ; AOBJN 12,R1 ; JUMPE 14,.+3 ; MOVEI 6,40 ; TTCALL 1,6 ; MOVN 12,OUTY ; HRLZS 12 ; MOVEI 2,1(13) ; R2: ILDB 6,BPI ; JUMPE 6,R3 ; MOVEI 6,1 ; SOSE 2 ; MOVEI 6,0 ; R3: IDPB 6,BP10T ; JUMPE 14,.+3 ; ADDI 6,60 ; TTCALL 1,6 ; AOBJN 12,R2 ; PUSHJ P,COVER+1(14) ; AOBJN 13,R0 ; POPJ P, ; COVER: TTCALL 3,SPACE ; PUSH P,1 ; MOVN 1,16 ; HRLZS 1 ; MOVEI 3,(15) ; IMUL 3,16 ; HRR 1,3 ; MOVEI 3,0 ; PUSHJ P,MVM3 ; AOBJN 1,.-1 ; MOVN 2,TABP ; HRLZS 2 ; PUSH P,10 ; HLLZ 10,@COL2 ; PUSHJ P,STORE ; SOS 15 ; POP P,10 ; POP P,1 ; C1: MOVE 11,@COL4 ; MOVN 12,INY ; SUB 12,OUTY ; HRLZS 12 ; MOVE 6,BP10 ; MOVE 7,BP11 ; PUSH P,2 ; C2: ILDB 3,6 ; ILDB 2,7 ; CAIN 2,3 ; JRST C3 ; CAME 2,3 ; JRST C4 ; C3: AOBJN 12,C2 ; POP P,2 ; JUMPE 14,.+5 ; HRRZM 6,AFLAG ;MAKE AFLAG > 0. PUSHJ P,DECO ; MOVEI 5,54 ; TTCALL 1,5 ; EXCH 2,15 ; HRLZI 5,1 ; ADDM 5,@COL2 ; EXCH 2,15 ; HRLZI 5,400000 ; HRRZ 3,2 ; IDIVI 3,^D36 ; PUSH P,1 ; MOVNI 1,(4) ; LSH 5,(1) ; MOVEI 1,(15) ; IMUL 1,16 ; ADD 1,3 ; IORM 5,@COL3 ; POP P,1 ; AOS @COL2 ; SKIPA ; C4: POP P,2 ; AOBJN 2,C1 ; SKIPE CVFLG ; TTCALL 3,CRLF ; AOS 15 ; POPJ P, ; CORET: MOVN 15,CONTR ; HRLZS 15 ; COR1: HRRZ 3,@COL2 ; CAIE 3,1 ; JRST COR2 ; HRRZ 3,15 ; PUSH P,15 ; PUSHJ P,GETPI ; POP P,15 ; COR2: AOBJN 15,COR1 ; MOVN 15,TABP ; HRLZS 15 ; MOVEI 0 ; COR3: HLRZ 3,@COL2 ; CAMGE 3,0 ; JRST COR4 ; MOVE 3 ; HRRZ 1,15 ; COR4: AOBJN 15,COR3 ; SKIPN 0 ; POPJ P, ; MOVE 15,1 ; IDIVI 1,^D36 ; ADD 1,COL3 ; MOVEI 4,^D35 ; SUB 4,2 ; LSH 4,14 ; ADDI 4,103 ; HRL 4,1 ; MOVSS 4 ; HRRZ 2,15 ; PUSHJ P,G0 ; JRST COR2+1 ; SETPT: HRLI 4,440103 ; HRR 4,COL3 ; HRLZI 6,-^D36 ; IMUL 6,16 ; POPJ P, ; THRST: PUSH P,4 ; PUSHJ P,SETPT ; T1: ILDB 5,4 ; JUMPE 5,T2 ; HRRZ 15,6 ; HRROI 5,0 ; DPB 5,4 ; ADDM 5,@COL2 ; T2: AOBJN 6,T1 ; POP P,4 ; POPJ P, ; GETPI: IMUL 3,16 ; PUSHJ P,SETPT ; ILDB 5,4 ; SKIPN 5 ; AOBJN 6,.-2 ; HRRZ 2,6 ; MOVE 15,2 ; G0: HRRZS @COL2 ; MOVN 3,CONTR ; HRLZS 3 ; G1: LDB 5,4 ; JUMPE 5,G2 ; MOVEI 5,0 ; DPB 5,4 ; HRRZ 5,3 ; IDIV 5,16 ; MOVE 15,5 ; HLLZS @COL2 ; PUSHJ P,THRST ; G2: ADDI 3,-1(16) ; AOBJN 3,G1 ; AOS @COL4 ; PUSHJ P,LAK ; POPJ P, ; NOPI: TTCALL 3,MESNPI ; TTCALL 3,CRLF ; JRST EXIT ; CVHEAD: TTCALL 3,CRLF ; PUSHJ P,FORMAT TTCALL 3,MESSCV ;COVERAGE TABLE HEADING TTCALL 3,CRLF ; CTABLE: PUSHJ P,SETCN ; MOVN 15,TABP ;SET UP A HRLZS 15 ;COUNTER FOR PI'S. MOVEI 10,0 ;AC10 SET TO ZERO PUSHJ P,STORE ;STORE ZERO AND EXPAND SOS 15 ;BUFFER IF AOBJN 15,.-2 ;NECESSARY. SETZB 15,CONTR ; CTRET: MOVE 10,@COL ; TRNE 10,1 ; JRST .+4 ; PUSHJ P,COUNT ; SKIPA ; PUSHJ P,OUTIT ; AOBJN 1,CTRET ; POPJ P, ; DCR: MOVEI 4,3 ; IDPB 4,BPI ; AOBJN 3,DCR+1 ; AOS @COL ; JRST SETCOL-2 ; ALG: MOVN 1,OUTY ; HRLZS 1 ; MOVEI 4,^D18 ; SUB 4,INY ; LSH 4,15 ; ADDI 4,200 ; HRLZS 4 ; A1: SETOM FLG ; MOVE 10,LINCNT MOVEI 2,"Z" ; TTCALL 1,2 ; HRRZ 2,1 HRRZM 10,AFLAG PUSHJ P,DECO TTCALL 3,EQUAL ; IBP 4 ; MOVN 2,TABP ; HRLZS 2 ; A2: MOVE @COL4 ; TRNN 1 ; JRST A5 ; LDB 3,4 ; JUMPE 3,A5 ; PUSHJ P,SETCNT MOVEI 11,"(" SKIPE 14,PSFLG JSP 13,STOW A3: ILDB 7,6 CAIN 7,3 JRST A4 HRRZ 11,5 ADDI 11,"A" JSP 13,STOW XCT JMP+1(14) MOVEI 11,47 JSP 13,STOW JUMPE 14,A4 MOVEI 11,"+" JSP 13,STOW A4: AOBJN 5,A3 SKIPE FLG JRST AA SUB 10,ANUM+1(14) TTCALL 3,PLUS(14) JUMPGE 10,AA TTCALL 3,CRLFH MOVE 10,LINCNT+1 SETOM FLG JRST A3-4 AA: JUMPE 14,.+3 MOVEI 11,")" DPB 11,12 MOVEI 11,0 IDPB 11,12 TTCALL 3,TAB SETZM FLG A5: AOBJN 2,A2 TTCALL 3,CRLF AOBJN 1,A1 POPJ P, STOW: IDPB 11,12 SOJA 10,(13) ANS: TTCALL 4,1 TTCALL 11,0 CAIE 1,"Y" AOS (P) POPJ P, BACK: PUSHJ P,SETCOR PUSHJ P,SETCN MOVN 2,OUTY ASH 2,1 HRLZI 3,400000 ASH 3,1(2) MOVN 2,INY ASH 2,1 LSH 3,(2) NEXT: MOVE @COL TRNE 1 JRST .+3 TDC 3 MOVEM @COL AOBJN 1,NEXT JRST SETCOL SETCNT: MOVN 5,INY ; HRLZS 5 ; HRLZI 6,440200 ; MOVE 12,[XWD 440700,TAB] POPJ P, ; MVM3: HRRZI @COL3 ; PUSH P,2 ; HRRZ 2,COL4 ; CAML 0,2 ; PUSHJ P,SHIFT4 ; MOVEM 3,@COL3 ; POP P,2 ; POPJ P, ; SETCOR: MOVEI 1,1 ; LSH 1,@INY ; MOVE JOBFF ; HRRM COL ; ADD 1 ; HRRM COL2 ; HRRM COL3 ; HRRM COL4 ; MOVEM LAST ; PUSHJ P,TSTLST ; POPJ P, ; TSTLST: MOVE JOBREL ; CAML LAST ; POPJ P, ; ADDI 2000 ; CALL [SIXBIT/CORE/] ; SKIPA ; JRST TSTLST ; TTCALL 3,QUEST ; TTCALL 3,NOCOR ; TTCALL 3,CRLF ; JRST EXIT ; CHKTK: MOVN 15,CONI ; JUMPE 15,CONT+2 ; HRLZS 15 ; MOVE 2,TABP ; LG: MOVE 10,@COL2 ; LDB 11,BPTK10 ; JUMPN 11,CONT ; AOS LAST ; PUSHJ P,TSTLST ; MOVEM 10,@COL4 ; AOS 2 ; CONT: AOBJN 15,LG ; MOVEM 2,TABP ; POPJ P, ; SETCN: HRROI 1,0 ; LSH 1,@INY ; POPJ P, ; SETBPC: HRLZ 6,INY ; HRRI 6,10000 ; LSH 6,14 ; HRRI 6,1 ; MOVEM 6,BPC ; POPJ P, ; SETPBI: HRLI 6,440200 ; HRRI 6,@COL ; MOVEM 6,BPI ; POPJ P, ; TICK10: MOVEI 3,1 ; DPB 3,BPTK10 ; MOVEM 10,@PT10 ; POPJ P, ; TICK11: MOVEI 3,1 ; DPB 3,BPTK11 ; MOVEM 11,@PT11 ; POPJ P, ; PAGE MESIN: ASCIZ / NUMBER OF INPUT LITERALS ?/ MESOUT: ASCIZ / NUMBER OF OUTPUT LITERALS ?/ PITAB: ASCIZ / PRIME IMPLICANT PRINTOUT ?/ MESSPI: ASCIZ / PRIME IMPLICANTS / MESSCV: ASCIZ / COVERAGE TABLE/ MESCOR: ASCIZ / A POSSIBLE CORE SELECTION IS :-/ BMESS: ASCIZ / EQUIVALENT BOOLEAN EXPRESSION/ EQUAL: ASCIZ / = / ASCIZ /*/ ;MUST PRECEDE PLUS PLUS: ASCIZ / + / SPACE: ASCIZ / / ACVT: ASCIZ / COVERAGE TABLE PRINTOUT ?/ PSMESS: ASCIZ / PRODUCT OF SUMS AS WELL ?/ KMESS: ASCIZ /K OF CORE USED/ MESNPI: ASCIZ / NO PRIME IMPLICANTS ?/ NOCOR: ASCIZ / INSUFFICIENT CORE AVAILABLE ?/ TOMAN: ASCIZ/ A MAXIMUM OF 17 LITERALS ALLOWED / CRLF: BYTE (7) 15,12,0 CRLFA: BYTE (7) 15,12,52,0 CRLFH: BYTE (7) 15,12,11,0 QUEST: BYTE (7) 77,15,12,0 IFN LC,< EMESS: ASCIZ / NOT AVAILABLE ?/ EMESS1: ASCIZ /ILLEGAL CHAR. ON INPUT/ NOTAVL: MOVE -3(1) HRLZI 1,440600 MOVE 2,[XWD 440700,EMESS] HRLZI 3,-3 ILDB 4,1 ADDI 4,40 IDPB 4,2 AOBJN 3,.-3 XWD 51140,EMESS XWD 51140,CRLF CALL [SIXBIT/EXIT/] ERR: TTCALL 3,EMESS1 JRST EXIT-1 UUOH.: 0 PUSH P,0 PUSH P,1 HRRZ JOBUUO CAILE 1 JRST .+3 MOVEI -1(P) ADDM JOBUUO HLRZ JOBUUO TRZ 777000 CAIN 140 JRST TTC3. CAIN 40 JRST TTC1. CAIN 200 JRST TTC4. JUMPE TTC0. JRST TTC11. END.: POP P,1 POP P,0 JRST 2,@UUOH. TTC3.: HRRZ JOBUUO HRLI 440700 ILDB 1,0 JUMPE 1,END. PUSHJ P,OUTY. JRST .-3 TTC1.: MOVE 1,@JOBUUO PUSHJ P,OUTY. JRST END. TTC4.: TTC0.: PUSHJ P,GET. SKIPE 1 CAIN 1,40 JRST TTC0. MOVEM 1,@JOBUUO CAIE 1,15 PUSHJ P,OUTY. JRST END. TTC11.: PUSHJ P,NEXT. MOVEI CRLF JRST TTC3.+1 GET.: SOSG CDRI+2 INPUT 1, ILDB 1,CDRI+1 POPJ P, OUTY.: SOSG LPTO+2 OUTPUT 2, IDPB 1,LPTO+1 POPJ P, NEXT.: PUSHJ P,GET. CAIE 1,12 JRST NEXT. POPJ P, > FORMAT: PUSH P,1 MOVEI 1,15-LC TTCALL 1,1 POP P,1 POPJ P, END START