mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-27 15:38:05 +11:00
Move a few words from core to xcomp core
This commit is contained in:
parent
9ad7ee7a4b
commit
231d727598
10
blk/391
10
blk/391
@ -9,8 +9,8 @@ unusable directly. For the same reason, any reference to a word
|
|||||||
in the host system will obviously be wrong in the target
|
in the host system will obviously be wrong in the target
|
||||||
system. More details in B260.
|
system. More details in B260.
|
||||||
|
|
||||||
This unit is loaded in two "low" and "high" parts. The low part
|
These rules result in some practicals do's and dont's:
|
||||||
is the biggest chunk and has the most definitions. The high
|
|
||||||
part is the "sensitive" chunk and contains "LITN", ":" and ";"
|
1. IF, UNTIL, AGAIN are fine, but *not* LOOP.
|
||||||
definitions which, once defined, kind of make any more defs
|
|
||||||
impossible. (cont.)
|
(cont.)
|
||||||
|
6
blk/392
6
blk/392
@ -1,3 +1,9 @@
|
|||||||
|
This unit is loaded in two "low" and "high" parts. The low part
|
||||||
|
is the biggest chunk and has the most definitions. The high
|
||||||
|
part is the "sensitive" chunk and contains "LITN", ":" and ";"
|
||||||
|
definitions which, once defined, kind of make any more defs
|
||||||
|
impossible.
|
||||||
|
|
||||||
The gap between these 2 parts is the ideal place to put device
|
The gap between these 2 parts is the ideal place to put device
|
||||||
driver code. Load the low part with "393 LOAD", the high part
|
driver code. Load the low part with "393 LOAD", the high part
|
||||||
with "415 LOAD"
|
with "415 LOAD"
|
||||||
|
6
blk/407
6
blk/407
@ -1,10 +1,8 @@
|
|||||||
: SCPY
|
: SCPY
|
||||||
BEGIN ( a )
|
BEGIN ( a )
|
||||||
DUP C@ ( a c )
|
C@+ ( a+1 c )
|
||||||
DUP C, ( a c )
|
DUP C, ( a c )
|
||||||
NOT IF DROP EXIT THEN
|
NOT IF DROP EXIT THEN
|
||||||
1+ ( a+1 )
|
AGAIN ;
|
||||||
AGAIN
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
|
7
blk/412
7
blk/412
@ -1,3 +1,6 @@
|
|||||||
|
( Words here until the end of the low part, unlike words
|
||||||
|
preceeding them, aren't immediately needed for boot. But its
|
||||||
|
better to have as many words as possible in the xcomp part. )
|
||||||
: H@ HERE @ ;
|
: H@ HERE @ ;
|
||||||
: IMMEDIATE
|
: IMMEDIATE
|
||||||
CURRENT @ 1-
|
CURRENT @ 1-
|
||||||
@ -5,4 +8,8 @@
|
|||||||
;
|
;
|
||||||
: +! SWAP OVER @ + SWAP ! ;
|
: +! SWAP OVER @ + SWAP ! ;
|
||||||
: -^ SWAP - ;
|
: -^ SWAP - ;
|
||||||
|
: / /MOD SWAP DROP ;
|
||||||
|
: MOD /MOD DROP ;
|
||||||
|
|
||||||
: ALLOT HERE +! ;
|
: ALLOT HERE +! ;
|
||||||
|
: CREATE (entry) 11 ( 11 == cellWord ) C, ;
|
||||||
|
7
blk/429
7
blk/429
@ -1,7 +0,0 @@
|
|||||||
: CREATE
|
|
||||||
(entry) ( empty header with name )
|
|
||||||
11 ( 11 == cellWord )
|
|
||||||
C, ( write it )
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
2
blk/431
2
blk/431
@ -1,7 +1,5 @@
|
|||||||
: VARIABLE CREATE 2 ALLOT ;
|
: VARIABLE CREATE 2 ALLOT ;
|
||||||
: CONSTANT CREATE , DOES> @ ;
|
: CONSTANT CREATE , DOES> @ ;
|
||||||
: / /MOD SWAP DROP ;
|
|
||||||
: MOD /MOD DROP ;
|
|
||||||
|
|
||||||
( In addition to pushing H@ this compiles 2>R so that loop
|
( In addition to pushing H@ this compiles 2>R so that loop
|
||||||
variables are sent to PS at runtime )
|
variables are sent to PS at runtime )
|
||||||
|
BIN
emul/forth.bin
BIN
emul/forth.bin
Binary file not shown.
Loading…
Reference in New Issue
Block a user