| ... | ... |
@@ -1,10 +1,5 @@ |
| 1 | 1 |
( launcher ) |
| 2 | 2 |
|
| 3 |
-%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
|
|
| 4 |
-%< { LTH } %> { GTH } %= { EQU } %! { NEQ }
|
|
| 5 |
-%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
|
|
| 6 |
-%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
|
|
| 7 |
- |
|
| 8 | 3 |
%2* { #10 SFT } %2/ { #01 SFT } %2** { #10 SFT2 } %2// { #01 SFT2 }
|
| 9 | 4 |
%4* { #20 SFT } %4/ { #02 SFT } %4** { #20 SFT2 } %4// { #02 SFT2 }
|
| 10 | 5 |
%8* { #30 SFT } %8/ { #03 SFT } %8** { #30 SFT2 } %8// { #03 SFT2 }
|
| ... | ... |
@@ -26,7 +21,7 @@ |
| 26 | 21 |
%DEBUG { ;print-hex/byte JSR2 #0a EMIT }
|
| 27 | 22 |
%DEBUG2 { ;print-hex JSR2 #0a EMIT }
|
| 28 | 23 |
|
| 29 |
-%LINES-COUNT { .browser/y2 LDZ2 .browser/y LDZ2 -- 10// NIP }
|
|
| 24 |
+%LINES-COUNT { .browser/y2 LDZ2 .browser/y LDZ2 SUB2 10// NIP }
|
|
| 30 | 25 |
|
| 31 | 26 |
( devices ) |
| 32 | 27 |
|
| ... | ... |
@@ -82,7 +77,7 @@ |
| 82 | 77 |
( place ) |
| 83 | 78 |
#0088 .browser/x STZ2 |
| 84 | 79 |
#0010 .browser/y STZ2 |
| 85 |
- .Screen/height DEI2 #33 SFT2 #0011 -- .browser/y2 STZ2 |
|
| 80 |
+ .Screen/height DEI2 #33 SFT2 #0011 SUB2 .browser/y2 STZ2 |
|
| 86 | 81 |
|
| 87 | 82 |
( draw mascot ) |
| 88 | 83 |
#0010 #0010 #0060 #0060 ;mascot-icn #01 ;draw-icn JSR2 |
| ... | ... |
@@ -115,28 +110,28 @@ BRK |
| 115 | 110 |
( draw new cursor ) |
| 116 | 111 |
.Mouse/x DEI2 DUP2 .pointer/x STZ2 .Screen/x DEO2 |
| 117 | 112 |
.Mouse/y DEI2 DUP2 .pointer/y STZ2 .Screen/y DEO2 |
| 118 |
- #41 .Mouse/state DEI #01 = + .Screen/sprite DEO |
|
| 113 |
+ #41 .Mouse/state DEI #01 EQU ADD .Screen/sprite DEO |
|
| 119 | 114 |
|
| 120 | 115 |
( wheel ) |
| 121 | 116 |
.Mouse/scrolly INC DEI |
| 122 |
- DUP #ff ! ,&no-up JCN |
|
| 123 |
- .browser/scroll LDZ #00 = ,&no-up JCN |
|
| 124 |
- DUP .browser/scroll LDZ + ;scroll-to JSR2 |
|
| 117 |
+ DUP #ff NEQ ,&no-up JCN |
|
| 118 |
+ .browser/scroll LDZ #00 EQU ,&no-up JCN |
|
| 119 |
+ DUP .browser/scroll LDZ ADD ;scroll-to JSR2 |
|
| 125 | 120 |
&no-up |
| 126 |
- DUP #01 ! ,&no-down JCN |
|
| 127 |
- .browser/scroll LDZ .browser/lines LDZ = ,&no-down JCN |
|
| 128 |
- DUP .browser/scroll LDZ + ;scroll-to JSR2 |
|
| 121 |
+ DUP #01 NEQ ,&no-down JCN |
|
| 122 |
+ .browser/scroll LDZ .browser/lines LDZ EQU ,&no-down JCN |
|
| 123 |
+ DUP .browser/scroll LDZ ADD ;scroll-to JSR2 |
|
| 129 | 124 |
&no-down |
| 130 | 125 |
POP |
| 131 | 126 |
|
| 132 | 127 |
( within browser ) |
| 133 |
- .Mouse/y DEI2 .browser/y LDZ2 << ,&outside JCN |
|
| 134 |
- .Mouse/y DEI2 .browser/y2 LDZ2 #0010 -- >> ,&outside JCN |
|
| 128 |
+ .Mouse/y DEI2 .browser/y LDZ2 LTH2 ,&outside JCN |
|
| 129 |
+ .Mouse/y DEI2 .browser/y2 LDZ2 #0010 SUB2 GTH2 ,&outside JCN |
|
| 135 | 130 |
( select choice ) |
| 136 |
- .Mouse/y DEI2 .browser/y LDZ2 -- |
|
| 137 |
- 10// NIP .browser/scroll LDZ + ;select-file JSR2 |
|
| 131 |
+ .Mouse/y DEI2 .browser/y LDZ2 SUB2 |
|
| 132 |
+ 10// NIP .browser/scroll LDZ ADD ;select-file JSR2 |
|
| 138 | 133 |
( run choice ) |
| 139 |
- .Mouse/state DEI #00 = ,&no-click JCN |
|
| 134 |
+ .Mouse/state DEI #00 EQU ,&no-click JCN |
|
| 140 | 135 |
.browser/sel LDZ ;run-file JSR2 |
| 141 | 136 |
&no-click |
| 142 | 137 |
&outside |
| ... | ... |
@@ -147,26 +142,26 @@ BRK |
| 147 | 142 |
|
| 148 | 143 |
( controller ) |
| 149 | 144 |
.Controller/button DEI |
| 150 |
- DUP #10 ! ,&no-up JCN |
|
| 151 |
- .browser/sel LDZ #00 = ,&no-up JCN |
|
| 152 |
- .browser/sel LDZ #01 - ;select-file JSR2 |
|
| 145 |
+ DUP #10 NEQ ,&no-up JCN |
|
| 146 |
+ .browser/sel LDZ #00 EQU ,&no-up JCN |
|
| 147 |
+ .browser/sel LDZ #01 SUB ;select-file JSR2 |
|
| 153 | 148 |
;follow-selection JSR2 |
| 154 | 149 |
POP BRK |
| 155 | 150 |
&no-up |
| 156 |
- DUP #20 ! ,&no-down JCN |
|
| 157 |
- .browser/sel LDZ INC .browser/lines LDZ = ,&no-down JCN |
|
| 151 |
+ DUP #20 NEQ ,&no-down JCN |
|
| 152 |
+ .browser/sel LDZ INC .browser/lines LDZ EQU ,&no-down JCN |
|
| 158 | 153 |
.browser/sel LDZ INC ;select-file JSR2 |
| 159 | 154 |
;follow-selection JSR2 |
| 160 | 155 |
POP BRK |
| 161 | 156 |
&no-down |
| 162 |
- DUP #01 ! ,&no-a JCN |
|
| 157 |
+ DUP #01 NEQ ,&no-a JCN |
|
| 163 | 158 |
.browser/sel LDZ ;run-file JSR2 |
| 164 | 159 |
POP BRK |
| 165 | 160 |
&no-a |
| 166 | 161 |
POP |
| 167 | 162 |
( keyboard ) |
| 168 | 163 |
.Controller/key DEI |
| 169 |
- DUP #0d ! ,&no-enter JCN |
|
| 164 |
+ DUP #0d NEQ ,&no-enter JCN |
|
| 170 | 165 |
.browser/sel LDZ ;run-file JSR2 |
| 171 | 166 |
POP BRK |
| 172 | 167 |
&no-enter |
| ... | ... |
@@ -185,7 +180,7 @@ BRK |
| 185 | 180 |
( split with null-char ) |
| 186 | 181 |
;dir/data |
| 187 | 182 |
&while |
| 188 |
- LDAk #1f > ,&no-lb JCN |
|
| 183 |
+ LDAk #1f GTH ,&no-lb JCN |
|
| 189 | 184 |
( split ) STH2k #00 STH2r STA |
| 190 | 185 |
( count lines ) .browser/lines LDZk INC SWP STZ |
| 191 | 186 |
&no-lb |
| ... | ... |
@@ -197,23 +192,23 @@ RTN |
| 197 | 192 |
@select-file ( id -- ) |
| 198 | 193 |
|
| 199 | 194 |
( has changed ) |
| 200 |
- DUP .browser/last LDZ ! ,&has-changed JCN |
|
| 195 |
+ DUP .browser/last LDZ NEQ ,&has-changed JCN |
|
| 201 | 196 |
POP RTN |
| 202 | 197 |
&has-changed |
| 203 | 198 |
( beyond ) |
| 204 |
- DUP .browser/lines LDZ < ,&valid JCN |
|
| 199 |
+ DUP .browser/lines LDZ LTH ,&valid JCN |
|
| 205 | 200 |
POP RTN |
| 206 | 201 |
&valid |
| 207 | 202 |
|
| 208 | 203 |
#00 ;draw-browser JSR2 |
| 209 | 204 |
DUP .browser/sel STZ |
| 210 | 205 |
DUP .browser/last STZ |
| 211 |
- #30 + .Audio0/pitch DEO |
|
| 206 |
+ #30 ADD .Audio0/pitch DEO |
|
| 212 | 207 |
#01 ;draw-browser JSR2 |
| 213 | 208 |
|
| 214 | 209 |
( draw mascot ) |
| 215 | 210 |
#0010 #0010 #0060 #0060 |
| 216 |
- ;mascot-icn [ .browser/sel LDZ #03 AND TOS #0480 ** ++ ] #01 |
|
| 211 |
+ ;mascot-icn [ .browser/sel LDZ #03 AND TOS #0480 MUL2 ADD2 ] #01 |
|
| 217 | 212 |
;draw-icn JSR2 |
| 218 | 213 |
|
| 219 | 214 |
( draw position ) |
| ... | ... |
@@ -222,18 +217,18 @@ RTN |
| 222 | 217 |
#0080 .Screen/y DEO2 |
| 223 | 218 |
.browser/sel LDZ #02 ;draw-byte JSR2 |
| 224 | 219 |
LIT '/ #02 ;draw-char JSR2 |
| 225 |
- .browser/lines LDZ #01 - #02 ;draw-byte JSR2 |
|
| 220 |
+ .browser/lines LDZ #01 SUB #02 ;draw-byte JSR2 |
|
| 226 | 221 |
AUTO-NONE |
| 227 | 222 |
|
| 228 | 223 |
RTN |
| 229 | 224 |
|
| 230 | 225 |
@follow-selection ( -- ) |
| 231 | 226 |
|
| 232 |
- LINES-COUNT .browser/sel LDZ .browser/scroll LDZ - |
|
| 233 |
- DUP2 > ,&no-down JCN |
|
| 227 |
+ LINES-COUNT .browser/sel LDZ .browser/scroll LDZ SUB |
|
| 228 |
+ DUP2 GTH ,&no-down JCN |
|
| 234 | 229 |
.browser/scroll LDZ INC ,scroll-to JSR |
| 235 | 230 |
&no-down |
| 236 |
- DUP2 SWP < ,&no-up JCN |
|
| 231 |
+ DUP2 SWP LTH ,&no-up JCN |
|
| 237 | 232 |
.browser/sel LDZ ,scroll-to JSR |
| 238 | 233 |
&no-up |
| 239 | 234 |
POP2 |
| ... | ... |
@@ -245,11 +240,11 @@ RTN |
| 245 | 240 |
STH |
| 246 | 241 |
( more lines than visible ) |
| 247 | 242 |
.browser/lines LDZ LINES-COUNT |
| 248 |
- DUP2 > ,&can-scroll JCN |
|
| 243 |
+ DUP2 GTH ,&can-scroll JCN |
|
| 249 | 244 |
POPr POP2 RTN |
| 250 | 245 |
&can-scroll |
| 251 | 246 |
( less than max scroll ) |
| 252 |
- - INC STHkr > ,&valid-scroll JCN |
|
| 247 |
+ SUB INC STHkr GTH ,&valid-scroll JCN |
|
| 253 | 248 |
POPr RTN |
| 254 | 249 |
&valid-scroll |
| 255 | 250 |
#00 ;draw-browser JSR2 |
| ... | ... |
@@ -264,11 +259,11 @@ RTN |
| 264 | 259 |
#0000 .Controller/button DEO2 |
| 265 | 260 |
#00 .Mouse/state DEO |
| 266 | 261 |
|
| 267 |
- ;get-entry JSR2 #0005 ++ |
|
| 262 |
+ ;get-entry JSR2 #0005 ADD2 |
|
| 268 | 263 |
|
| 269 | 264 |
DUP2 ;check-rom JSR2 ,&valid JCN |
| 270 | 265 |
( check if tal file ) |
| 271 |
- DUP2 ;scap JSR2 #0004 -- ;&tal-ext ;scmp JSR2 #01 ! ,&no-tal JCN |
|
| 266 |
+ DUP2 ;scap JSR2 #0004 SUB2 ;&tal-ext ;scmp JSR2 #01 NEQ ,&no-tal JCN |
|
| 272 | 267 |
( assemble tal file ) |
| 273 | 268 |
DUP2 ;&output-path ;scpy JSR2 |
| 274 | 269 |
;&rom-ext ;&output-path ;scat JSR2 |
| ... | ... |
@@ -297,26 +292,26 @@ RTN |
| 297 | 292 |
@draw-browser ( mask -- ) |
| 298 | 293 |
|
| 299 | 294 |
( when empty ) |
| 300 |
- .browser/lines LDZ #01 = ;draw-browser-empty JCN2 |
|
| 295 |
+ .browser/lines LDZ #01 EQU ;draw-browser-empty JCN2 |
|
| 301 | 296 |
|
| 302 | 297 |
STH |
| 303 | 298 |
|
| 304 | 299 |
( draw hand ) |
| 305 |
- .browser/x LDZ2 #0018 -- .browser/y LDZ2 |
|
| 306 |
- .browser/sel LDZ .browser/scroll LDZ - TOS 10** ++ |
|
| 300 |
+ .browser/x LDZ2 #0018 SUB2 .browser/y LDZ2 |
|
| 301 |
+ .browser/sel LDZ .browser/scroll LDZ SUB TOS 10** ADD2 |
|
| 307 | 302 |
#0010 #0010 |
| 308 |
- ;hand-icn STHkr #02 * ;draw-icn JSR2 |
|
| 303 |
+ ;hand-icn STHkr #02 MUL ;draw-icn JSR2 |
|
| 309 | 304 |
( draw files ) |
| 310 | 305 |
LINES-COUNT #00 |
| 311 | 306 |
&loop |
| 312 | 307 |
( reached end ) |
| 313 |
- DUP INC .browser/lines LDZ > ,&end JCN |
|
| 308 |
+ DUP INC .browser/lines LDZ GTH ,&end JCN |
|
| 314 | 309 |
( has file ) |
| 315 | 310 |
.browser/x LDZ2 .Screen/x DEO2 |
| 316 |
- #00 OVR 10** .browser/y LDZ2 ++ .Screen/y DEO2 |
|
| 317 |
- DUP .browser/scroll LDZ + ;get-entry JSR2 |
|
| 311 |
+ #00 OVR 10** .browser/y LDZ2 ADD2 .Screen/y DEO2 |
|
| 312 |
+ DUP .browser/scroll LDZ ADD ;get-entry JSR2 |
|
| 318 | 313 |
DUP2 ;get-type JSR2 ;draw-type JSR2 |
| 319 |
- #01 STHkr * ;draw-str JSR2 |
|
| 314 |
+ #01 STHkr MUL ;draw-str JSR2 |
|
| 320 | 315 |
INC GTHk ,&loop JCN |
| 321 | 316 |
&end |
| 322 | 317 |
POP2 |
| ... | ... |
@@ -337,7 +332,7 @@ RTN |
| 337 | 332 |
|
| 338 | 333 |
@get-type ( line* -- type ) |
| 339 | 334 |
|
| 340 |
- ;scap JSR2 #0004 -- ;&rom-ext ;scmp JSR2 |
|
| 335 |
+ ;scap JSR2 #0004 SUB2 ;&rom-ext ;scmp JSR2 |
|
| 341 | 336 |
|
| 342 | 337 |
RTN |
| 343 | 338 |
&rom-ext ".rom $1 |
| ... | ... |
@@ -348,10 +343,10 @@ RTN |
| 348 | 343 |
( counter ) LITr 00 |
| 349 | 344 |
;dir/length LDA2 #0000 |
| 350 | 345 |
&loop |
| 351 |
- EQUkr STHr #00 = ,&no-reached JCN |
|
| 352 |
- POP2r NIP2 ;dir/data ++ RTN |
|
| 346 |
+ EQUkr STHr #00 EQU ,&no-reached JCN |
|
| 347 |
+ POP2r NIP2 ;dir/data ADD2 RTN |
|
| 353 | 348 |
&no-reached |
| 354 |
- DUP2 ;dir/data ++ LDA #00 ! ,&no-lb JCN |
|
| 349 |
+ DUP2 ;dir/data ADD2 LDA #00 NEQ ,&no-lb JCN |
|
| 355 | 350 |
INCr |
| 356 | 351 |
&no-lb |
| 357 | 352 |
INC2 GTH2k ,&loop JCN |
| ... | ... |
@@ -363,17 +358,17 @@ RTN |
| 363 | 358 |
|
| 364 | 359 |
@draw-type ( type -- ) |
| 365 | 360 |
|
| 366 |
- STHk TOS 20** ;file-icns ++ .Screen/addr DEO2 |
|
| 361 |
+ STHk TOS 20** ;file-icns ADD2 .Screen/addr DEO2 |
|
| 367 | 362 |
AUTO-XADDR |
| 368 |
- #02 STHkr - .Screen/sprite DEOk DEO |
|
| 363 |
+ #02 STHkr SUB .Screen/sprite DEOk DEO |
|
| 369 | 364 |
|
| 370 |
- .Screen/x DEI2k #0010 -- ROT DEO2 |
|
| 371 |
- .Screen/y DEI2k #0008 ++ ROT DEO2 |
|
| 365 |
+ .Screen/x DEI2k #0010 SUB2 ROT DEO2 |
|
| 366 |
+ .Screen/y DEI2k #0008 ADD2 ROT DEO2 |
|
| 372 | 367 |
|
| 373 |
- #02 STHr - .Screen/sprite DEOk DEO |
|
| 368 |
+ #02 STHr SUB .Screen/sprite DEOk DEO |
|
| 374 | 369 |
|
| 375 |
- .Screen/x DEI2k #0008 ++ ROT DEO2 |
|
| 376 |
- .Screen/y DEI2k #0008 -- ROT DEO2 |
|
| 370 |
+ .Screen/x DEI2k #0008 ADD2 ROT DEO2 |
|
| 371 |
+ .Screen/y DEI2k #0008 SUB2 ROT DEO2 |
|
| 377 | 372 |
AUTO-NONE |
| 378 | 373 |
|
| 379 | 374 |
RTN |
| ... | ... |
@@ -431,10 +426,10 @@ RTN |
| 431 | 426 |
@draw-char ( char color -- ) |
| 432 | 427 |
|
| 433 | 428 |
SWP |
| 434 |
- [ #20 - #00 SWP #40 SFT2 ;font ++ ] .Screen/addr DEO2 |
|
| 429 |
+ [ #20 SUB #00 SWP #40 SFT2 ;font ADD2 ] .Screen/addr DEO2 |
|
| 435 | 430 |
.Screen/sprite DEOk DEO |
| 436 |
- .Screen/x DEI2k #0008 ++ ROT DEO2 |
|
| 437 |
- .Screen/y DEI2k #0010 -- ROT DEO2 |
|
| 431 |
+ .Screen/x DEI2k #0008 ADD2 ROT DEO2 |
|
| 432 |
+ .Screen/y DEI2k #0010 SUB2 ROT DEO2 |
|
| 438 | 433 |
|
| 439 | 434 |
JMP2r |
| 440 | 435 |
|
| ... | ... |
@@ -448,7 +443,7 @@ JMP2r |
| 448 | 443 |
#0006 .File/length DEO2 |
| 449 | 444 |
#fffa .File/read DEO2 |
| 450 | 445 |
|
| 451 |
- .File/success DEI2 #0006 !! ,&ignore JCN |
|
| 446 |
+ .File/success DEI2 #0006 NEQ2 ,&ignore JCN |
|
| 452 | 447 |
#fffa LDA2 .System/r DEO2 |
| 453 | 448 |
#fffc LDA2 .System/g DEO2 |
| 454 | 449 |
#fffe LDA2 .System/b DEO2 |
| ... | ... |
@@ -484,10 +479,10 @@ JMP2r |
| 484 | 479 |
|
| 485 | 480 |
STH2 |
| 486 | 481 |
&loop |
| 487 |
- LDAk LDAkr STHr = ,¬-diff JCN |
|
| 482 |
+ LDAk LDAkr STHr EQU ,¬-diff JCN |
|
| 488 | 483 |
POP2 POP2r #00 RTN |
| 489 | 484 |
¬-diff |
| 490 |
- LDAk LDAkr STHr #0000 !! ,¬-end JCN |
|
| 485 |
+ LDAk LDAkr STHr #0000 NEQ2 ,¬-end JCN |
|
| 491 | 486 |
POP2 POP2r #01 RTN |
| 492 | 487 |
¬-end |
| 493 | 488 |
INC2 INC2r |
| ... | ... |
@@ -54,8 +54,8 @@ static char ops[][4] = {
|
| 54 | 54 |
"LDZ", "STZ", "LDR", "STR", "LDA", "STA", "DEI", "DEO", |
| 55 | 55 |
"ADD", "SUB", "MUL", "DIV", "AND", "ORA", "EOR", "SFT" |
| 56 | 56 |
}; |
| 57 |
-static char sym_glyph[] = {'?', '!', '>', '<', '+', '-', '*', '/'};
|
|
| 58 |
-static Uint8 sym_value[] = {0x08, 0x09, 0x0a, 0x1b, 0x18, 0x19, 0x1a, 0x1b};
|
|
| 57 |
+static char symchr[] = {'?', '!', '>', '<', '+', '-', '*', '/'};
|
|
| 58 |
+static Uint8 symval[] = {0x08, 0x09, 0x0a, 0x1b, 0x18, 0x19, 0x1a, 0x1b};
|
|
| 59 | 59 |
|
| 60 | 60 |
static int scmp(char *a, char *b, int len) { int i = 0; while(a[i] == b[i]) if(!a[i] || ++i >= len) return 1; return 0; } /* string compare */
|
| 61 | 61 |
static int sihx(char *s) { int i = 0; char c; while((c = s[i++])) if(!(c >= '0' && c <= '9') && !(c >= 'a' && c <= 'f')) return 0; return i > 1; } /* string is hexadecimal */
|
| ... | ... |
@@ -101,27 +101,34 @@ findlabel(char *name) |
| 101 | 101 |
return NULL; |
| 102 | 102 |
} |
| 103 | 103 |
|
| 104 |
+static Uint8 |
|
| 105 |
+findmode(char *s) |
|
| 106 |
+{
|
|
| 107 |
+ int i = 0; |
|
| 108 |
+ while(s[0]) {
|
|
| 109 |
+ switch(s[0]) {
|
|
| 110 |
+ case '2': i |= (1 << 5); break; /* mode: short */ |
|
| 111 |
+ case 'r': i |= (1 << 6); break; /* mode: return */ |
|
| 112 |
+ case 'k': i |= (1 << 7); break; /* mode: keep */ |
|
| 113 |
+ } |
|
| 114 |
+ s++; |
|
| 115 |
+ } |
|
| 116 |
+ return i; |
|
| 117 |
+} |
|
| 118 |
+ |
|
| 104 | 119 |
static Uint8 |
| 105 | 120 |
findopcode(char *s) |
| 106 | 121 |
{
|
| 107 | 122 |
int i; |
| 108 | 123 |
for(i = 0; i < 0x20; i++) {
|
| 109 |
- int m = 0; |
|
| 110 | 124 |
if(!scmp(ops[i], s, 3)) |
| 111 | 125 |
continue; |
| 112 | 126 |
if(!i) i |= (1 << 7); /* force keep for LIT */ |
| 113 |
- while(s[3 + m]) {
|
|
| 114 |
- if(s[3 + m] == '2') |
|
| 115 |
- i |= (1 << 5); /* mode: short */ |
|
| 116 |
- else if(s[3 + m] == 'r') |
|
| 117 |
- i |= (1 << 6); /* mode: return */ |
|
| 118 |
- else if(s[3 + m] == 'k') |
|
| 119 |
- i |= (1 << 7); /* mode: keep */ |
|
| 120 |
- else |
|
| 121 |
- return 0; /* failed to match */ |
|
| 122 |
- m++; |
|
| 123 |
- } |
|
| 124 |
- return i; |
|
| 127 |
+ return i |= findmode(s + 3); |
|
| 128 |
+ } |
|
| 129 |
+ for(i = 0; i < 0x08; ++i) {
|
|
| 130 |
+ if(s[0] == symchr[i]) |
|
| 131 |
+ return symval[i] |= findmode(s + 1); |
|
| 125 | 132 |
} |
| 126 | 133 |
return 0; |
| 127 | 134 |
} |