... | ... |
@@ -6,34 +6,31 @@ |
6 | 6 |
|
7 | 7 |
#0000 INC2k |
8 | 8 |
&loop |
9 |
- DUP2 ,is-prime JSR #00 EQU ,&skip JCN |
|
10 |
- ( print ) DUP2 ,print/short JSR |
|
11 |
- ( space ) #2018 DEO |
|
9 |
+ DUP2 not-prime ?&skip |
|
10 |
+ DUP2 print/short #2018 DEO |
|
12 | 11 |
&skip |
13 |
- INC2 NEQ2k ,&loop JCN |
|
12 |
+ INC2 NEQ2k ?&loop |
|
14 | 13 |
POP2 POP2 |
15 | 14 |
( halt ) #010f DEO |
16 |
- |
|
15 |
+ |
|
17 | 16 |
BRK |
18 | 17 |
|
19 |
-@is-prime ( number* -- flag ) |
|
18 |
+@not-prime ( number* -- flag ) |
|
20 | 19 |
|
21 | 20 |
DUP2 ,&t STR2 |
22 |
- ( range ) #01 SFT2 #0002 LTH2k ,&fail JCN |
|
21 |
+ ( range ) #01 SFT2 #0002 LTH2k ?&fail |
|
23 | 22 |
&loop |
24 |
- [ LIT2 &t $2 ] OVR2 |
|
25 |
- ( mod2 ) DIV2k MUL2 SUB2 |
|
26 |
- ORA #00 EQU ,&fail JCN |
|
27 |
- INC2 GTH2k ,&loop JCN |
|
28 |
- POP2 POP2 #01 |
|
23 |
+ [ LIT2 &t $2 ] OVR2 ( mod2 ) DIV2k MUL2 SUB2 ORA ?&continue |
|
24 |
+ &fail POP2 POP2 #01 JMP2r &continue |
|
25 |
+ INC2 GTH2k ?&loop |
|
26 |
+ POP2 POP2 #00 |
|
29 | 27 |
|
30 | 28 |
JMP2r |
31 |
- &fail POP2 POP2 #00 JMP2r |
|
32 | 29 |
|
33 | 30 |
@print ( short* -- ) |
34 | 31 |
|
35 |
- &short ( short* -- ) SWP ,&byte JSR |
|
36 |
- &byte ( byte -- ) DUP #04 SFT ,&char JSR |
|
32 |
+ &short ( short* -- ) SWP print/byte |
|
33 |
+ &byte ( byte -- ) DUP #04 SFT print/char |
|
37 | 34 |
&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO |
38 | 35 |
|
39 | 36 |
JMP2r |