extra words: allow finer-grained loading

This commit is contained in:
Virgil Dupras 2020-06-03 20:26:41 -04:00
parent d8a6456206
commit c26c454cbf
3 changed files with 10 additions and 8 deletions

View File

@ -1,6 +1,6 @@
50 LOAD+ ( B152, extras )
'? CASE NOT [IF] 51 52 LOADR+ [THEN] DROP ( B152-153 )
'? FILL NOT [IF] 53 LOAD+ [THEN] DROP ( B154 )
1 7 LOADR+
: BROWSE
0 ACC ! L
BEGIN

View File

@ -1,6 +1,6 @@
Extra words
The Core words (B420) section contains the absolute minimum
The Core words (B350) section contains the absolute minimum
needed to get a usable Forth interpreter with input buffer and
disk blocks access running. The goal here is to minimize the
binary size of a minimum Collapse OS install.
@ -10,5 +10,6 @@ are generally useful. They are so useful that they are part
of the Dictionary (B30).
Some programs need them, so they will automatically LOAD them.
To that end, the loader is conditional: it aborts if extra
words are already present. Load with "152 LOAD".
Because more than one program can use the same extra words,
conditional loaders are recommended. If you want to load all
words do "152 LOAD" which conditionally loads all extra words.

View File

@ -1,3 +1,4 @@
'? CASE NOT [IF]
1 5 LOADR+
[THEN] DROP ( from '? )
'? CASE NOT [IF] 1 2 LOADR+ [THEN] DROP ( from '? )
'? FILL NOT [IF] 3 LOAD+ [THEN] DROP
'? EMPTY NOT [IF] 4 LOAD+ [THEN] DROP
'? WIPE NOT [IF] 5 LOAD+ [THEN] DROP