Move BOOT, (boot<) and INTEPRET to high xcomp
Saves us an (ok) indirection and will save us more soon.
This commit is contained in:
parent
b17bd4dca0
commit
74896051bb
7
blk/409
7
blk/409
@ -1,7 +0,0 @@
|
|||||||
: INTERPRET
|
|
||||||
BEGIN
|
|
||||||
WORD DUP C@ EOT? IF DROP EXIT THEN
|
|
||||||
(find)
|
|
||||||
NOT IF (parse) ELSE EXECUTE THEN
|
|
||||||
C<? NOT IF LIT< (ok) (find) IF EXECUTE THEN THEN
|
|
||||||
AGAIN ;
|
|
11
blk/410
11
blk/410
@ -1,11 +0,0 @@
|
|||||||
( system c< simply reads source from binary, starting at
|
|
||||||
LATEST. Convenient way to bootstrap a new system. )
|
|
||||||
: (boot<)
|
|
||||||
( 2e == BOOT C< PTR )
|
|
||||||
0x2e RAM+ @ ( a )
|
|
||||||
DUP C@ ( a c )
|
|
||||||
SWAP 1 + ( c a+1 )
|
|
||||||
0x2e RAM+ ! ( c )
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
11
blk/432
11
blk/432
@ -1,3 +1,14 @@
|
|||||||
|
: INTERPRET
|
||||||
|
BEGIN
|
||||||
|
WORD DUP C@ EOT? IF DROP EXIT THEN
|
||||||
|
(find) NOT IF (parse) ELSE EXECUTE THEN
|
||||||
|
C<? NOT IF (ok) THEN
|
||||||
|
AGAIN ;
|
||||||
|
( Read from BOOT C< PTR and inc it. )
|
||||||
|
: (boot<)
|
||||||
|
( 2e == BOOT C< PTR )
|
||||||
|
0x2e ( BOOT C< PTR ) RAM+ @ DUP C@ ( a c )
|
||||||
|
SWAP 1 + 0x2e RAM+ ! ( c ) ;
|
||||||
( pre-comment for tight LOAD: The 0x08==I check after INTERPRET
|
( pre-comment for tight LOAD: The 0x08==I check after INTERPRET
|
||||||
is to check whether we're restoring to "_", the word above.
|
is to check whether we're restoring to "_", the word above.
|
||||||
if yes, then we're in a nested load. Also, the 1 in 0x06 is
|
if yes, then we're in a nested load. Also, the 1 in 0x06 is
|
||||||
|
BIN
emul/forth.bin
BIN
emul/forth.bin
Binary file not shown.
Loading…
Reference in New Issue
Block a user