version 1.37, 2000/02/04 14:52:30
|
version 1.43, 2000/09/10 19:50:33
|
Line 25 decimal
|
Line 25 decimal
|
|
|
\ .( 12may93jaw |
\ .( 12may93jaw |
|
|
: .( ( "ccc<paren>" -- ) \ core-ext dot-paren |
: .( ( compilation,interpretation "ccc<paren>" -- ) \ core-ext dot-paren |
\G Parse a string @i{ccc} delimited by a @code{)} (right |
\G Compilation and interpretation semantics: Parse a string @i{ccc} |
\G parenthesis). Display the string. This is often used to display |
\G delimited by a @code{)} (right parenthesis). Display the |
\G progress information during compilation; see examples below. |
\G string. This is often used to display progress information during |
|
\G compilation; see examples below. |
[char] ) parse type ; immediate |
[char] ) parse type ; immediate |
|
|
\ VALUE 2>R 2R> 2R@ 17may93jaw |
\ VALUE 2>R 2R> 2R@ 17may93jaw |
Line 42 decimal
|
Line 43 decimal
|
|
|
' drop alias d>s ( d -- n ) \ double d_to_s |
' drop alias d>s ( d -- n ) \ double d_to_s |
|
|
: m*/ ( d1 n2 u3 -- dqout ) \ double m-star-slash |
: m*/ ( d1 n2 u3 -- dquot ) \ double m-star-slash |
|
\G dquot=(d1*n2)/u3, with the intermediate result being triple-precision. |
|
\G In ANS Forth u3 can only be a positive signed number. |
>r s>d >r abs -rot |
>r s>d >r abs -rot |
s>d r> xor r> swap >r >r dabs rot tuck um* 2swap um* |
s>d r> xor r> swap >r >r dabs rot tuck um* 2swap um* |
swap >r 0 d+ r> -rot r@ um/mod -rot r> um/mod nip swap |
swap >r 0 d+ r> -rot r@ um/mod -rot r> um/mod nip swap |
Line 100 decimal
|
Line 103 decimal
|
|
|
\ ERASE 17may93jaw |
\ ERASE 17may93jaw |
|
|
: erase ( addr len -- ) \ core-ext |
: erase ( addr u -- ) \ core-ext |
\G If @i{len}>0, clear all bits in each location of a memory region |
\G Clear all bits in @i{u} aus starting at @i{addr}. |
\G of @i{len} address units starting at address @i{addr}. |
|
\ !! dependence on "1 chars 1 =" |
\ !! dependence on "1 chars 1 =" |
( 0 1 chars um/mod nip ) 0 fill ; |
( 0 1 chars um/mod nip ) 0 fill ; |
: blank ( c-addr u -- ) \ string |
: blank ( c-addr u -- ) \ string |
\G If @i{u}>0, store the character value for a space in each |
\G Store the space character into @i{u} chars starting at @i{c-addr}. |
\G location of a memory region |
|
\G of @i{u} character units starting at address @i{c-addr}. |
|
bl fill ; |
bl fill ; |
|
|
\ SEARCH 02sep94py |
\ SEARCH 02sep94py |
Line 147 decimal
|
Line 147 decimal
|
loadfile @ |
loadfile @ |
if |
if |
loadfile @ file-position throw |
loadfile @ file-position throw |
|
[IFDEF] #fill-bytes #fill-bytes @ [ELSE] #tib @ 1+ [THEN] 0 d- |
else |
else |
blk @ |
blk @ |
linestart @ |
linestart @ |
Line 168 decimal
|
Line 169 decimal
|
loadfile @ 0<> |
loadfile @ 0<> |
if |
if |
loadfile @ reposition-file throw |
loadfile @ reposition-file throw |
|
refill 0= -36 and throw \ should never throw |
else |
else |
linestart ! |
linestart ! |
blk ! |
blk ! |