FORTH - DIARY.ZIP - F83FILE.007

 
Output of file : F83FILE.007 contained in archive : DIARY.ZIP



53





16. CONTROLLED REFERENCE WORDS


[email protected] -- addr 79 "s-p-fetch"
addr is the address of the top of the stack just before [email protected]
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





A. STANDARDS TEAM MEMBERSHIP




APPENDIX A. STANDARDS TEAM MEMBERSHIP



A.1 Standard Team Membership: Members

The following is a list in alphabetical order of the people who
are FORTH Standards Team Members. These names are provided to
indicate the texture and make-up of the team itself. Where
appropriate, the official capacity of individuals is also
indicated.

Paul Bartholdi, Sauverny, Switzerland
Robert Berkey, Palo Alto, California USA Treasurer
David Boulton, Redwood City, California USA
John Bumgarner, Morgan Hill, California USA
Don Colburn, Rockville, Maryland USA
James T. Currie, Jr., Blacksburg, Virginia USA
Thomas B. Dowling, Lowell, Massachusetts USA
William S. Emery, Malibu, California USA
Lawrence P. Forsley, Rochester, New York USA
Kim R. Harris, Palo Alto, California USA Referee
John S. James, Los Gatos, California USA
Guy M. Kelly, La Jolla, California USA Chair
Thea Martin, Rochester, New York USA
Michael McNeil, Scotts Valley, California USA
Robert E. Patten, Modesto, California USA
Michael Perry, Berkeley, California USA
David C. Petty, Cambridge, Massachusetts USA
William F. Ragsdale, Hayward, California USA
Elizabeth D. Rather, Hermosa Beach, California USA
Dean Sanderson, Hermosa Beach, California USA Referee
Klaus Schleisiek, Hamburg, W-Germany
George W. Shaw II, Hayward, California USA Referee
Robert L. Smith, Palo Alto, California USA Secretary
Michael K. Starling, Elkview, West Virginia USA
John K. Stevenson, Portland, Oregon USA
Glenn S. Tenney, San Mateo, California USA Referee

















55





A. STANDARDS TEAM MEMBERSHIP





A.2 FORTH Standards Team Sponsors

The following is a list in alphabetical order of individuals and
organizations who have contributed funds and other assistance to
aid the word of the FST and deserve recognition for their
involvement. FST sponsors have no duties or responsibilities in
the FST, but they receive copies of proposals and comments
considered at a formal meeting, and drafts and adopted standards
prepared as a result of that meeting.

Creative Solutions Inc., 4801 Randolph Rd., Rockville, MD 20852
USA

Fantasia Systems Inc., 1059 Alameda de las Pulgas, Belmont, CA
94002 USA

FORTH, Inc., 2309 Pacific Coast Highway, Hermosa Beach, CA 90254
USA

FORTH Interest Group Inc., P.O. Box 1105, San Carlos, CA 94070
USA

Forthright Enterprises, P.O. Box 50911, Palo Alto, CA 94020 USA

Glen Haydon Enterprises, Box 439 Rt. 2, La Honda, CA 94020 USA

John K. Gotwals, W. Lafayette, IN USA

John D. Hall, Oakland, CA USA

Hartronix, Inc., 1201 N. Stadem, Tempe, AZ 85281 USA

Hewlett-Packard Corvallis Div., 1000 NE Circle Blvd., Corvallis,
OR 97330 USA

Information Unlimited Software, Inc., 2401 Marinship, Sausalito,
CA 94965 USA

Henry H. Laxen, 1259 Cornell Avenue, Berkeley, CA 94705 USA

Laxen & Harris, Inc.

George B. Lyons, 280 Henderson Street, Jersey Cit, NJ 07302 USA

C. Kevin McCabe, Chicago, IL USA

MicroMotion, 12077 Wilshire Blvd #506, Los Angeles, CA 90025 USA

Bruce R. Montague, Monterey, CA USA

Mountain View Press, P.O. Box 4659, Mountain View, CA 94040 USA



56





A. STANDARDS TEAM MEMBERSHIP


Michael A. Perry, Berkeley, CA USA

Robert Berkey Services, 2334 Dumbarton Ave., Palo Alto, CA 94303
USA

Royal Greenwich Observatory, Herstmonsioux Castle, Eastbourne,
England

Shaw Laboratories, Ltd., 24301 Southland Drive #216, Hayward, CA
94545 USA

Sygnetron Protection Systems, Inc., 2103 Greenspring, Timonium,
MD 21093 USA

Telelogic Inc., 196 Broadway, Cambridge, MA 02139 USA

UNISOFT, P.O. Box 2644, New Carrollton, MD 20784 USA








































57





B. UNCONTROLLED REFERENCE WORDS




APPENDIX B. UNCONTROLLED REFERENCE WORDS


The Uncontrolled Reference Word Set contains glossary definitions

which are included for public reference of words that have past
or present usage and/or are candidates for future
standardization. No recommendation is made that these words be
included in a system.

No restrictions are placed on the definition or usage of
uncontrolled words. However, use of these names for procedures
differing from the given definitions is discouraged.

!BITS 16b1 addr 16b2 -- "store-bits"
Store the value of 16b1 masked by 16b2 into the equivalent
masked part of the contents of addr, without affecting bits
outside the mask.

** n1 n2 -- n3 "power"
n3 is the value of n1 to the power n2.

+BLOCK w -- u "plus-block"
u is the sum of w plus the number of the block being
interpreted.

-' -- addr false "dash-tick"
-- true
Used in the form:
-'
____
Leave the parameter field of beneath zero (false) if
____
can be found in the search order; leave only true if
____
not found.

-MATCH addr1 +n1 addr2 +n2 -- addr3 flag "dash-match"
Attempt to find the +n2-length text string beginning at
addr2 somewhere in the +n1-length text string beginning at
addr1. Return the last+1 address addr3 of the match point
and a flag which is zero if a match exists.

-TEXT addr1 +n1 addr2 -- n2 "dash-text"
Compare two strings over the length +n1 beginning at addr1
and addr2. Return zero if the strings are equal. If
unequal, return n2, the difference between the last
characters compared: addr1(i) - addr2(i).











58





B. UNCONTROLLED REFERENCE WORDS


/LOOP +n -- C,I "up-loop"
sys -- (compiling)
A do-loop terminating word. The loop index is incremented
by the positive value +n. If the unsigned magnitude of the
resultant index is greater than the limit, then the loop is
terminated, otherwise execution returns to the corresponding
DO . The comparison is unsigned magnitude. sys is balanced
with its corresponding DO . See: DO

1+! addr -- "one-plus-store"
Add one to the 16-bit contents at addr.

1-! addr -- "one-minus-store"
Subtract one from the 16-bit contents at addr.

;: -- addr C,I"semi-colon-colon"
Used to specify a new defining word:
:
____
When is executed, it creates an entry for the new
word . Later execution of will execute the
____ ____
sequence of words between ;: and ; , with the address of the
first (if any) parameters associated with on the
____
stack.

;S -- Interpret only"semi-s"
Stop interpretation of a block.

<> w1 w2 -- flag "not-equal"
flag is true if w1 is not equal to w2.

Used in conjunction with DOES> in defining words, in the
form:
: ... ... ;
and then:

____

When executes, for the new . The sequence of words between ____
and DOES> established a parameter field for . When
____
is later executed, the sequence of words following
____
DOES> will be executed, with the parameter field address of
on the data stack.
____

A synonym for CMOVE> .

>< 16b1 -- 16b2 "byte-swap"
Swap the high and low bytes within 16b1.

>MOVE< addr1 addr2 u -- "byte-swap-move"
Move u bytes beginning at addr1 to the memory beginning at
addr2. During this move, the order of each byte pair is
reversed.



59





B. UNCONTROLLED REFERENCE WORDS


@BITS addr 16b1 -- 16b2 "fetch-bits"
Return the 16-bits at addr masked by 16b1.

AGAIN -- C,I
sys -- (compiling)
Effect an unconditional jump back to the start of a BEGIN-
AGAIN loop. sys is balanced with its corresponding BEGIN .
See: BEGIN

ASCII -- char I,M "as-key"
-- (compiling)
Used in the form:
ASCII ccc
___
where the delimiter of ccc is a space. char is the ASCII
___
character value of the first character in ccc. If
___
interpreting, char is left on the stack. If compiling,
compile char as a literal so that when the colon definition
is later executed, char is left on the stack.

ASHIFT 16b1 n -- 16b2 "a-shift"
Shift the value 16b1 arithmetically n bits left if n is
positive, shifting zeros into the least significant bit
positions. If n is negative, 16b1 is shifted right; the
sign is included in the shift and remains unchanged.

B/BUF -- 1024 "bytes-per-buffer"
A constant leaving 1024, the number of bytes per block
buffer.

BELL --
Activate a terminal bell or noise-maker as appropriate to
the device in use.

CHAIN -- M
Used in the form:
CHAIN
____
Connect the CURRENT vocabulary to all definitions that might
be entered into the vocabulary in the future. The
____
CURRENT vocabulary may not be FORTH or ASSEMBLER . Any
given vocabulary may only be chained once, but may be the
object of any number of chainings. For example, every user-
defined vocabulary may include the sequence:
CHAIN FORTH

CONTINUED u -- M
Continue interpretation at block u.

CUR -- addr
A variable pointing to the physical record number before
which the tape is currently positioned. REWIND sets CUR=1.

DBLOCK ud -- addr M "d-block"
Identical to BLOCK but with a 32-bit block unsigned number.




60





B. UNCONTROLLED REFERENCE WORDS


DPL -- addr U "d-p-l"
A variable containing the number of places after the
fractional point for input conversion.

FLD -- addr U "f-l-d"
A variable pointing to the field length reserved for a
number during output conversion.

H. u -- M "h-dot"
Output u as a hexadecimal integer with one trailing blank.
The current base is unchanged.

I' -- w C "i-prime"
Used within a colon definition executed only from within a
do-loop to return the corresponding loop index.

IFEND Interpret only"if-end"
Terminate a conditional interpretation sequence begun by
IFTRUE .

IFTRUE flag -- Interpret only "if-true"
Begin an:
IFTRUE ... OTHERWISE ... IFEND
conditional sequence. These conditional words operated
like:
IF ... ELSE ... THEN
except that they cannot be nested, and are to be used only
during interpretation. In conjunction with the words [ and
] the words [ and ] they may be used within a colon
definition to control compilation, although they are not to
be compiled.

INDEX u1 u2 -- M
Print the first line of each screen over the range {u1..u2}.
This displays the first line of each screen of source text,
which conventionally contains a title.

LAST -- addr U
A variable containing the address of the beginning of the
last dictionary entry made, which may not yet be a complete
or valid entry.

LINE +n -- addr M
addr is the address of the beginning of line +n for the
screen whose number is contained in SCR . The range of +n
is {0..15}.

LINELOAD +n u -- "line-load"
Begin interpretation at line +n of screen u.








61





B. UNCONTROLLED REFERENCE WORDS


LOADS u -- M
A defining word executed in the form:
u LOADS
____
When is subsequently executed, block u will be
____
loaded.

MAP0 -- addr "map-zero"
A variable pointing to the first location in the tape map.

MASK n -- 16b
16b is a mask of n most-significant bits if n is positive,
or n least-significant bits if n is negative.

MOVE addr1 addr2 u --
The u bytes at address addr1 are moved to address addr2.
The data are moved such that the u bytes remaining at
address addr2 are the same data as was originally at address
addr1. If u is zero nothing is moved.

MS +n -- M "m-s"
Delay for approximately +n milliseconds.

NAND 16b1 16b2 -- 16b3
16b3 is the one's complement of the logical AND of 16b1 with
16b2.

NOR 16b1 16b2 -- 16b3
16b3 is the one's complement of the logical OR of 16b1 with
16b2.

NUMBER addr -- d
Convert the count and character string at addr, to a signed
32-bit integer, using the value of BASE . If numeric
conversion is not possible, an error condition exists. The
string may contain a preceding minus sign.

O. u -- M "o-dot"
Print u in octal format with one trailing blank. The value
in BASE is unaffected.

OTHERWISE -- Interpret only
An interpreter-level conditional word. See: IFTRUE

PAGE -- M
Clear the terminal screen or perform a form-feed action
suitable to the output device currently active.

READ-MAP -- M "read-map"
Read to the next file mark on tape constructing a
correspondence table in memory (the map) relating physical
block position to logical block number. The tape should
normally be rewound to its load point before executing READ-
MAP .




62





B. UNCONTROLLED REF