| ... | ... |
@@ -20,7 +20,7 @@ |
| 20 | 20 |
|
| 21 | 21 |
&filename |
| 22 | 22 |
( "test.usm 00 ) |
| 23 |
- "projects/software/noodle.usm 00 |
|
| 23 |
+ "projects/demos/piano.usm 00 |
|
| 24 | 24 |
|
| 25 | 25 |
@asma-print-error ( -- ) |
| 26 | 26 |
;asma/error LDA2 .Console/string DEO2 |
| ... | ... |
@@ -207,6 +207,7 @@ |
| 207 | 207 |
|
| 208 | 208 |
%asma-SHORT-FLAG { #20 }
|
| 209 | 209 |
%asma-RETURN-FLAG { #40 }
|
| 210 |
+%asma-KEEP-FLAG { #80 }
|
|
| 210 | 211 |
|
| 211 | 212 |
@asma-parse-opcode ( -- byte 00 if valid opcode |
| 212 | 213 |
OR 01 otherwise ) |
| ... | ... |
@@ -237,10 +238,14 @@ |
| 237 | 238 |
POP asma-SHORT-FLAG ORA ,&loop JMP |
| 238 | 239 |
|
| 239 | 240 |
¬-two |
| 240 |
- LIT 'r NEQ ,¬-return JCN |
|
| 241 |
- asma-RETURN-FLAG ORA ,&loop JMP |
|
| 241 |
+ DUP LIT 'r NEQ ,¬-return JCN |
|
| 242 |
+ POP asma-RETURN-FLAG ORA ,&loop JMP |
|
| 242 | 243 |
|
| 243 |
- ¬-return ( 00 byte / end* ) |
|
| 244 |
+ ¬-return |
|
| 245 |
+ LIT 'k NEQ ,¬-keep JCN |
|
| 246 |
+ asma-KEEP-FLAG ORA ,&loop JMP |
|
| 247 |
+ |
|
| 248 |
+ ¬-keep ( 00 byte / end* ) |
|
| 244 | 249 |
¬-found ( incoming-ptr* / end* ) |
| 245 | 250 |
POP2r |
| 246 | 251 |
&too-short ( token* / ) |