sandbox/misc/kforth/doc/fst83/fst83-16.txt

199 lines
6.4 KiB
Plaintext
Raw Permalink Normal View History

2018-03-01 00:52:46 +00:00
16. CONTROLLED REFERENCE WORDS
16. CONTROLLED REFERENCE WORDS
The Controlled Reference Words are word definitions which,
although not required, cannot be present with a non-standard
definition in the vocabulary FORTH of a Standard System. These
words have present usage and/or are candidates for future
standardization.
--> -- I,M,79 "next-block"
-- (compilation)
Continue interpretation on the next sequential block. May
be used within a colon definition that crosses a block
boundary.
.R n +n -- M,83 "dot-r"
n is converted using BASE and then displayed right aligned
in a field +n characters wide. A leading minus sign is
displayed if n is negative. If the number of characters
required to display n is greater than +n, an error condition
exists. See: "number conversion"
2* w1 -- w2 83 "two-times"
w2 is the result of shifting w1 left one bit. A zero is
shifted into the vacated bit position.
BL -- 32 79 "b-l"
Leave the ASCII character value for space (decimal 32).
BLANK addr u -- 83
u bytes of memory beginning at addr are set to the ASCII
character value for space. No action is taken if u is zero.
C, 16b -- 83 "c-comma"
ALLOT one byte then store the least-significant 8 bits of
16b at HERE 1- .
DUMP addr u -- M,79
List the contents of u addresses starting at addr. Each
line of values may be preceded by the address of the first
value.
EDITOR -- 83
Execution replaces the first vocabulary in the search order
with the EDITOR vocabulary. See: VOCABULARY
EMPTY-BUFFERS -- M,79 "empty-buffers"
Unassign all block buffers. UPDATEed blocks are not written
to mass storage. See: BLOCK
52
16. CONTROLLED REFERENCE WORDS
END flag -- C,I,79
sys -- (compiling)
A synonym for UNTIL .
ERASE addr u -- 79
u bytes of memory beginning at addr are set to zero. No
action is taken if u is zero.
HEX -- 29
Set the numeric input-output conversion base to sixteen.
INTERPRET -- M,83
Begin text interpretation at the character indexed by the
contents of >IN relative to the block number contained in
BLK , continuing until the input stream is exhausted. If
BLK contains zero, interpret characters from the text input
buffer. See: "input stream"
K -- w C,83
w is a copy of the index of the second outer loop. May only
be used within a nested DO-LOOP or DO-+LOOP in the form, for
example:
DO ... DO ... DO ... K ... LOOP ... +LOOP ... LOOP
LIST u -- M,79
The contents of screen u are displayed. SCR is set to u.
See: BLOCK
OCTAL -- 83
Set the numeric input-output conversion base to eight.
OFFSET -- addr U,83
The address of a variable that contains the offset added to
the block number on the stack by BLOCK or BUFFER to
determine the actual physical block number.
QUERY -- M,83
Characters are received and transferred into the memory area
addressed by TIB . The transfer terminates when either a
"return" is received or the number of characters transferred
reaches the size of the area addressed by TIB . The values
of >IN and BLK are set to zero and the value of #TIB is set
to the value of SPAN . WORD may be used to accept text from
this buffer. See: EXPECT "input stream"
RECURSE -- C,I,83
-- (compiling)
Compile the compilation address of the definition being
compiled to cause the definition to later be executed
recursively.
SCR -- addr U,79 "s-c-r"
The address of a variable containing the number of the
screen most recently LISTed.
53
16. CONTROLLED REFERENCE WORDS
SP@ -- addr 79 "s-p-fetch"
addr is the address of the top of the stack just before SP@
was executed.
THRU u1 u2 -- M,83
Load consecutively the blocks from u1 through u2.
U.R u +n -- M,83 "u-dot-r"
u is converted using the value of BASE and then displayed as
an unsigned number right aligned in a field +n characters
wide. If the number of characters required to display u is
greater than +n, an error condition exists. See: "number
conversion"
54