Compare commits

..

2 Commits

Author SHA1 Message Date
Virgil Dupras
f53f91558b find: don't protect BC
not needed
2020-06-03 20:57:29 -04:00
Virgil Dupras
c26c454cbf extra words: allow finer-grained loading 2020-06-03 20:28:18 -04:00
6 changed files with 10 additions and 10 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+ 1 7 LOADR+
: BROWSE : BROWSE
0 ACC ! L 0 ACC ! L
BEGIN BEGIN

View File

@ -1,6 +1,6 @@
Extra words 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 needed to get a usable Forth interpreter with input buffer and
disk blocks access running. The goal here is to minimize the disk blocks access running. The goal here is to minimize the
binary size of a minimum Collapse OS install. 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). of the Dictionary (B30).
Some programs need them, so they will automatically LOAD them. Some programs need them, so they will automatically LOAD them.
To that end, the loader is conditional: it aborts if extra Because more than one program can use the same extra words,
words are already present. Load with "152 LOAD". 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] '? CASE NOT [IF] 1 2 LOADR+ [THEN] DROP ( from '? )
1 5 LOADR+ '? FILL NOT [IF] 3 LOAD+ [THEN] DROP
[THEN] DROP ( from '? ) '? EMPTY NOT [IF] 4 LOAD+ [THEN] DROP
'? WIPE NOT [IF] 5 LOAD+ [THEN] DROP

View File

@ -2,7 +2,6 @@ PC ORG @ 4 + ! ( find )
( Find the entry corresponding to word name where (HL) points ( Find the entry corresponding to word name where (HL) points
to in dictionary having its tip at DE and sets DE to point to in dictionary having its tip at DE and sets DE to point
to that entry. Z if found, NZ if not. ) to that entry. Z if found, NZ if not. )
BC PUSHqq,
HL PUSHqq, HL PUSHqq,
( First, figure out string len ) ( First, figure out string len )
A (HL) LDrr, A ORr, A (HL) LDrr, A ORr,

View File

@ -3,5 +3,4 @@
A INCr, A INCr,
L2 FSET ( end ) L2 FSET ( end )
HL POPqq, HL POPqq,
BC POPqq,
RET, RET,

Binary file not shown.