705d68deec
With KEY and EMIT being switch words, most of the high layer can be defined before drivers. In addition to this change, I've compacted core blocks which were becoming quite sparse.
17 lines
477 B
Plaintext
17 lines
477 B
Plaintext
: LOAD
|
|
BLK> @ >R ( save restorable variables to RSP )
|
|
0x08 RAM+ @ >R ( 08 == C<* override )
|
|
0x06 RAM+ @ >R ( C<? )
|
|
0x2e RAM+ @ >R ( boot ptr )
|
|
BLK@
|
|
BLK( 0x2e RAM+ ! ( Point to beginning of BLK )
|
|
['] (boot<) 0x08 RAM+ !
|
|
1 0x06 RAM+ ! ( 06 == C<? )
|
|
INTERPRET
|
|
R> 0x2e RAM+ ! R> 0x06 RAM+ !
|
|
I 0x08 RAM+ @ = IF ( nested load )
|
|
R> DROP ( C<* ) R> BLK@
|
|
ELSE ( not nested )
|
|
R> 0x08 RAM+ ! R> DROP ( BLK> )
|
|
THEN ;
|