main
Last change
on this file since ceffc47 was ceffc47, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago |
Add that collection of 3rdparty source I had lying on my disk for some time...
git-svn-id: svn://localhost/thomson@51 85ae3b6b-dc8f-4344-a89d-598714f2e4e5
|
-
Property mode
set to
100644
|
File size:
2.3 KB
|
Rev | Line | |
---|
[ceffc47] | 1 | *NOMBRES PREMIERS
|
---|
| 2 | *ASCINEWS 4 juin 1993 / ASCI (c)
|
---|
| 3 | *par Michel SAINT-BRIANT
|
---|
| 4 |
|
---|
| 5 | LIMITE EQU 28 jusqu'a 1 000 000
|
---|
| 6 | *LIMITE EQU 60 TO8sans ext.256Ko
|
---|
| 7 | *LIMITE EQU 124 TO8+256ko ou TO9+
|
---|
| 8 |
|
---|
| 9 | MAXI EQU 1024 jusqu'a 1 000 000
|
---|
| 10 | *MAXI EQU 1846 TO8sans ext.256ko
|
---|
| 11 | *MAXI EQU 2757 TO8+256ko ou TO9+
|
---|
| 12 |
|
---|
| 13 | ORG $8000
|
---|
| 14 |
|
---|
| 15 | *remise à zero sur toutes les banks
|
---|
| 16 |
|
---|
| 17 | PSHS A,B,DP,CC,X,Y,U
|
---|
| 18 | G ORCC #$50
|
---|
| 19 | LDU #0
|
---|
| 20 | LDD #$0307
|
---|
| 21 | STA $E7E5
|
---|
| 22 | STB $60CE
|
---|
| 23 | LDA #LIMITE
|
---|
| 24 | LSRA
|
---|
| 25 | LSRA division par 4
|
---|
| 26 | SUBA #3 =13 banks pour TO8
|
---|
| 27 | NEWBNK LDX #$A000
|
---|
| 28 | NULL STU ,X++
|
---|
| 29 | CMPX #$E000
|
---|
| 30 | BLO NULL
|
---|
| 31 | INC $E7E5
|
---|
| 32 | DECA
|
---|
| 33 | BNE NEWBNK
|
---|
| 34 |
|
---|
| 35 | *algorithme du crible d'Eratosthene
|
---|
| 36 |
|
---|
| 37 | LDD #$0301
|
---|
| 38 | STA $E7E5
|
---|
| 39 | STB >$A000 (1 pas premier)
|
---|
| 40 | LDU #RETENU+1
|
---|
| 41 | LDD #$0001
|
---|
| 42 | STD POINTR+1
|
---|
| 43 |
|
---|
| 44 | *nombre suivant
|
---|
| 45 |
|
---|
| 46 | NEWNBR LDD #$0C03
|
---|
| 47 | STA RETENU
|
---|
| 48 | STB $E7E5
|
---|
| 49 | LDD POINTR+1
|
---|
| 50 | ADDD #2 impair de 2 en 2
|
---|
| 51 | STD POINTR+1
|
---|
| 52 | CMPD #MAXI est-ce le dernier?
|
---|
| 53 | BHI FIN
|
---|
| 54 | ADDD POINTR+1
|
---|
| 55 | STD AJOUTE+2 multiples impairs
|
---|
| 56 |
|
---|
| 57 | *le nombre est-il premier?
|
---|
| 58 |
|
---|
| 59 | LSRA
|
---|
| 60 | RORB
|
---|
| 61 | LSRA
|
---|
| 62 | RORB
|
---|
| 63 | PSHS B
|
---|
| 64 | LSRA
|
---|
| 65 | RORB
|
---|
| 66 | LSRA
|
---|
| 67 | RORB
|
---|
| 68 | LSRA
|
---|
| 69 | RORB
|
---|
| 70 | ADDA #$A0
|
---|
| 71 | TFR D,Y
|
---|
| 72 | PULS B
|
---|
| 73 | LDA #1
|
---|
| 74 | ANDB #7
|
---|
| 75 | BEQ ZERO0
|
---|
| 76 | DECAL0 LSLA
|
---|
| 77 | DECB
|
---|
| 78 | BNE DECAL0
|
---|
| 79 | ZERO0 ANDA ,Y
|
---|
| 80 | BNE NEWNBR sinon autre nombre
|
---|
| 81 |
|
---|
| 82 | *si oui on marque tous ses multiples
|
---|
| 83 |
|
---|
| 84 | POINTR LDX #0
|
---|
| 85 | AJOUTE LEAX >$FFFF,X
|
---|
| 86 | CMPX AJOUTE+2
|
---|
| 87 | BHS PASRET si pas debordement
|
---|
| 88 | INC RETENU
|
---|
| 89 | LDA RETENU
|
---|
| 90 | CMPA #LIMITE
|
---|
| 91 | BHS NEWNBR
|
---|
| 92 | LSRA
|
---|
| 93 | LSRA
|
---|
| 94 | STA $E7E5
|
---|
| 95 | PASRET LDA RETENU
|
---|
| 96 | STA ,U
|
---|
| 97 | TFR X,D
|
---|
| 98 | LSR ,U
|
---|
| 99 | RORA
|
---|
| 100 | RORB
|
---|
| 101 | PSHS B
|
---|
| 102 | LSR ,U
|
---|
| 103 | RORA
|
---|
| 104 | RORB
|
---|
| 105 | LSRA
|
---|
| 106 | RORB
|
---|
| 107 | LSRA
|
---|
| 108 | RORB
|
---|
| 109 | ADDA #$A0
|
---|
| 110 | TFR D,Y
|
---|
| 111 | PULS B
|
---|
| 112 | LDA #1
|
---|
| 113 | ANDB #7
|
---|
| 114 | BEQ ZERO1
|
---|
| 115 | DECAL1 LSLA
|
---|
| 116 | DECB
|
---|
| 117 | BNE DECAL1
|
---|
| 118 | ZERO1 ORA ,Y
|
---|
| 119 | STA ,Y
|
---|
| 120 | BRA AJOUTE
|
---|
| 121 | FIN PULS A,B,CC,DP,X,Y,U,PC
|
---|
| 122 |
|
---|
| 123 |
|
---|
| 124 | RETENU FCB 0
|
---|
| 125 |
|
---|
| 126 | END
|
---|
Note:
See
TracBrowser
for help on using the repository browser.