dX; SUPER SIEVE!nX; BY DENNIS DEVRIESxX; (c)1988, ANTIC PUBLISHING9EHLOK;;LOBYTE K 203MIK;;MDBYTE K 204LOQ;;LOBYTE PRIME 205MIQ;;MDBYTE PRIME 206HIQ;;HIBYTE PRIME 207LON;;LOBYTE TEST 1536MIN;;MDBYTE TEST 1537HIN;;HIBYTE TEST 1538LOR;;LOBYTE R 1539MIR;;MDBYTE R 1540HIR;;HIBYTE R 1541LOC;;LOBYTE COUNT 1542MIC;;MDBYTE COUNT 1543HIC;;HIBYTE COUNT 1544"F6;;SIEVE 13824,KKL7;;KK LOBYTE 140806KKM7;;KK MDBYTE 14208@PPL8;;PP LOBYTE 14336JPPM8;;PP MDBYTE 14464T7;;START @ 14592^-;;CLEAR DECIMALhQ>r?|LP7PKKL8;;CLEAR KK TABLE1HLP7X;LP8PPPL8;;CLEAR PP TABLE1HLP8X;LP6PLON8;;CLEAR PAGE 61HLP6X;PMIQ;;CLEAR QPHIQ&Q>;;SET F TO 1'S0LPF:PF8D1NHLPFXX;b7;;GET HIBYTE HIBYTEl7;;GET HIBYTE LOBYTEvPHIN7;;GET MDBYTEPMIN7;;GET LOBYTEPLONQ>;;FIRST PRIME PLOQ;;Q=2 PLOC;;C=2%>LP1QF8;;DOES F(Y)=1?R>;;IF SO, HAVE PRIMEFWY1X;!STEP;;CONTINUE SEARCH X;WY1 C;;MAKE Q=Y+Y+1*,4 T?;;A=Y+Y>PLOQ;;Q=Y+YH#LOQ;;Q=Y+Y+1RDCHK;;IF Q<257\X;fQ>pPMIQ;;Q>255z)>HCHKX;:CHKQLOC;;TEST LOBYTERLONQMIC;;TEST MDBYTESMINQHIC;;TEST HIBYTESHINDNEXT;;QN, DONE!NEXTQMIQR>;;BYTE SET?$FCPLUS;;IF Q>512.X;8C;;MAKE K=Y+QB,LOLOQVPLOK;;K=Y+Q, LOBYTE`QMIQjO>;;GET CARRYtPMIK;;K=Y+Q, MDBYTE~HPEEP;;IF K>255X;EFQ>$LOKPF9;;F(K)=0QLOQ,OLOKPLOK;;K=K+Q, LOBYTEDEF;;ELSE ADD CARRYX;QMIQOMIK PMIK ESTEPX;(PEEP2QLOQ<$LOCFPPPL9;;PP(C)=Q, LOBYTEPQMIQZPPPM9;;PP(C)=Q, MDBYTEdQLOKnPKKL9;;KK(C)=K, LOBYTExQMIKPKKM9;;KK(C)=K, MDBYTEQ>PMIK;;RESET K, NEXT LOOP CPLUS#LOC;;C=C+1, 97 MAXSTEPQ>PF8;;F(Y)=13)>FR1X;!LP1;;GO BACK TO STARTR1 #LOR;;R=1LP3"%>,LP26 QPPL8@PLOQ;;Q=PP(Y), LOBYTEJ QPPM8TPMIQ;;Q=PP(Y), MDBYTE^Q>hPHIQ;;RESET Q, NEXT LOOPr;|QKKL8;;K=KK(Y), LOBYTES>PLOK;;K=K-255QKKM8;;K=KK(Y), MDBYTES>;;CARRY BIT?PMIKHKK2X;EF2Q>;;ZERO MULTS. OF Q$LOKPF9;;F(K)=0QLOQ,OLOKPLOK;;K=K+Q, LOBYTEQMIQ&OMIK0PMIK;;K=K+Q+CARRY:FEF2;;MORE ZEROSDX;NKK2XPKKM8;;FILL KK TABLEbQLOKl PKKL8v3)>bHLP2;;NEXT JX;QLOR;;R=R+510,O>;;510 LOBYTEPLORQMIRO>;;510 HIBYTEPMIRDWY2X;#HIR;;CARRY BITWY2 %>LP4 QF8;;DOES F(Y)=1?*R>;;IF NOT, GET4HSTEP2;;NEXT F(Y)>X;HC;;MAKE Q=R+Y+YR,\T?fPLOQ;;Q=Y+Y, LOBYTEpQ>zO>PMIQ;;Q=Y+Y, DONEQLOQOLORPLOQ;;Q=Y+Y+R, LOBYTEQMIQOMIRPMIQ;;Q=Y+Y+R, MDBYTEQ>OHIRPHIQ;;Q=Y+Y+R, HIBYTEQLOC;;CHECK Q=>N?RLONQMIC SMIN QHIC SHIN$ DNXT2. X;8 :;;Q=>N, DONE!B X;L NXT2V #LOC;;C=C+1` HNXTYj X;t #MIC~ HNXTY X; #HIC , DNXTY;;FORCED BRANCH X; STEP2 Q> PF8;;F(Y)=1 NXTY 3;;Y=Y+1 )> HLP4;;Y<256 X; !LP3;;GO 'ROUND AGAIN