1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-09-22 00:48:45 +10:00
collapseos/blk/366

16 lines
486 B
Plaintext
Raw Normal View History

( Read word from C<, copy to WORDBUF, null-terminate, and
return WORDBUF. )
2020-05-25 10:50:26 +10:00
: _wb 0x0e RAM+ ;
: _eot 4 _wb ! _wb ;
: WORD
2020-05-25 10:50:26 +10:00
_wb 1+ TOWORD ( a c )
DUP EOT? IF 2DROP _eot 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 )
2020-05-25 10:50:26 +10:00
SWAP _wb - 1- ( ws len ) _wb C!
EOT? IF _eot ELSE _wb 1+ THEN ;