collapseos/blk/406
Virgil Dupras 2e9e7047bf Make INTERPRET break on ASCII EOT
This should allow me to simplify LOAD's exit mechanism on block
end.
2020-05-13 21:44:46 -04:00

14 lines
440 B
Plaintext

( Read word from C<, copy to WORDBUF, null-terminate, and
return WORDBUF. )
: WORD
0x0e RAM+ TOWORD ( a c )
DUP EOT? IF OVER ! EXIT THEN
BEGIN
( We take advantage of the fact that char MSB is
always zero to pre-write our null-termination )
OVER ! 1+ C< ( a c )
OVER 0x2d ( 2e-1 for NULL ) RAM+ = OVER WS? OR
UNTIL ( a c )
SWAP DROP 0x0e RAM+ ( ws a )
SWAP EOT? IF 4 OVER ! THEN ;