199 lines
6.4 KiB
Plaintext
199 lines
6.4 KiB
Plaintext
|
|
||
|
|
||
|
|
||
|
|
||
|
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
|
||
|
|