NAME : ! PRONOUNCIATION : "store" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Stores 16 at addr. LONG DEFINITION : 16b is stored at addr. NAME : # PRONOUNCIATION : "sharp" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( +d1 --- +d2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : Bytes below PAD modified as temporary area where +d1 is converted to string. INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: +d1 is divided by BASE and the quotient is placed onto the stack. The remainder is con- verted to an ASCII character and appended to the output string toward lower memory ad- dresses. LONG DEFINITION : The remainder of +d1 divided by the value of BASE is converted to an ASCII character and ap- pended to the output string toward lower memory addresses. +d2 is the quotient and is main- tained for further processing. Typically used between <;# and #>; . NAME : #>; PRONOUNCIATION : "sharp-greater" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b --- addr +n ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Terminates formatted (or pictured) output string (ready for TYPE ). LONG DEFINITION : Pictured numeric output conversion is ended dropping 32b. addr is the address of the resulting output string starting +n characters below pad. +n is the number of characters in the output string. addr and +n together are suitable for TYPE . NAME : #S PRONOUNCIATION : "sharp-s" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( +d --- 0 0 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : Bytes below PAD modified as temporary area where +n is converted to string. INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Converts all digits of an entire number into string. LONG DEFINITION : +d is converted apppending each resultant into the pictured numeric output string until the quotient (see: # ) is zero. A single zero is added to the output string if the number was initially zero. Typically used between <;# and #>; . NAME : #TIB PRONOUNCIATION : "number-t-i-b" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Returns the address of the user variable that holds the number of characters input. LONG DEFINITION : The address of a user variable containing the number of bytes in the text input buffer. #TIB is accessed by WORD when BLK is zero. NAME : ' PRONOUNCIATION : "tick" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Dictionary ATTRIBUTE : M 83 STANDARD : F83-RWS-IL SHORT DEFINITION: Returns <;name>;'s compilation address, addr. LONG DEFINITION : Used in the form: ' <;name>; . addr is the com- pilation address of <;name>;. An error condition exists if <;name>; is not found in the currently active search order. NAME : ( PRONOUNCIATION : "paren" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : Characters up to ) are removed from input stream. OUTPUT : GROUP : Compiler ATTRIBUTE : I STANDARD : F83-RWS-IL SHORT DEFINITION: Starts a comment input. Comment is ended by a ) . LONG DEFINITION : Used in the form: ( ccc) . The characters ccc, delimited by ) (close parenthesis), are considered comments. Comments are otherwise not processed. The blank following ( is not part of ccc. ( may be freely used while inter- preting or compiling. The number of characters in ccc may be from zero to the number of charac- ters remaining in the input stream up to the closing parenthesis. NAME : (E.) PRONOUNCIATION : "paren-E-dot-paren" VERSION : NMI ANSI STACK NOTATION : (F:r -- )( -- addr +n) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : string stored below PAD INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Convert the top number on the floating-point stack to its character string representation using the scientific notation. Addr is the address of the location where the character string representation of r is stored, and +n is the number of bytes. LONG DEFINITION : Convert the top number on the floating-point stack to its character string representation using the scientific notation. The character string produced will be exactly the same as that generated by the floating-point operator E.. Scientific notation has the format [-]mantissa e[-] exponent where the man- tissa contains a radix point with the most sigificant digit to the left the point, zero or more trailing digits, and the ex- ponent with one or more trailing digits. The exact number of digits to the right of the radix place in the mantissa is deter- mined by PLACES. The exponent consists of an optional sign and enough decimal digits to represent the exponent. An exception exists if the system basis is not DECIMAL. NAME : (F.) PRONOUNCIATION : "paren-F-dot-paren" VERSION : NMI ANSI STACK NOTATION : (F:r -- )( -- addr +n) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : string stored below PAD INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Convert the top number on the floating-point stack to its character string representation using the fixed- point notation. Addr is the address of the location where the character string representation of r is stored, and +n is the num- ber of bytes. LONG DEFINITION : Convert the top number on the floating-point stack to its character string representation using the fixed- point notation. The character string produced will be exactly the same as that generated by the floating-point operator F.. The exact number of digits to the right of the radix place in the man- tissa is determined by PLACES. An exception exists if the system basis is not DECIMAL. Very large numbers are represented using scientific notation. NAME : * PRONOUNCIATION : "times" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 w2 --- w3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Multiplies w2 by w1 and leaves the product w3 onto the stack. LONG DEFINITION : w3 is the least significant 16 bits of the arithmetic product of w1 times w2. NAME : */ PRONOUNCIATION : "times-divide" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 n3 --- n4 ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Multiplies n2 by n1 and divides the product by n3. The quotient, n4 is placed on the stack. LONG DEFINITION : n1 is first multiplied by n2 producing an inter- mediate 32-bit result. n4 is the floor of the quotient of the intermediate 32-bit result divided by the divisor n3. The product of n1 times n2 is maintained as an intermediate 32- bit result for greater precision than the other- wise equivalent sequence: n1 n2 * n3 / . An error condition results if the divisor is zero or if the quotient falls outside the range {-32,768...32,767}. NAME : */MOD PRONOUNCIATION : "times-divide-mod" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 n3 --- n4 n5 ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: n1 is multiplied by n2 producing a product which is divided by n3. The remainder, n4 and the quotient, n5 are then placed on the stack. LONG DEFINITION : n1 is first multiplied by n2 producing an inter- mediate 32 bit result. n4 is the remainder and n5 is the floor of the quotient of the inter- mediate 32-bit result divided by the divisor n3. A 32-bit intermediate product is used for */ . n4 has the same sign as n3 or is zero. An error condition results if the divisor is zero or if the quotient falls outside of the range {-32,768...32,767}. NAME : + PRONOUNCIATION : "plus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : (w1 w2 --- w3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Adds w2 and w1 then leaves the sum, w3 on the stack. LONG DEFINITION : w3 is the arithmetic sum of w1 plus w2. NAME : +! PRONOUNCIATION : "plus-store" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Adds w1 to the value at addr then stores the sum at addr replacing its previous value. LONG DEFINITION : w1 is added to the w value at addr using the convention for + . This sum replaces the original value at addr. NAME : +LOOP PRONOUNCIATION : "plus-loop" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n --- ), ( sys --- ) (compiling) # ARGUMENTS IN : 1 , 1 # ARGUMENTS OUT : 0 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Increments the DO LOOP index by n. LONG DEFINITION : n is added to the loop index. If the new index was incremented across the boundary between limit-1 and limit then the loop is terminated and loop control parameters are discarded. When the loop is not terminated, execution con- tinues to just after the corresponding DO . sys is balanced with its corresponding DO . See: DO NAME : , PRONOUNCIATION : "comma" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : Word pointed to by DP prior to execution is modified. PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Reserves 16b of space in the dictionary. LONG DEFINITION : ALLOT space for 16b then store 16b at HERE 2- . NAME : - PRONOUNCIATION : "minus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 w2 --- w3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Subtracts w2 from w1 and leaves the result, w3 on the stack. LONG DEFINITION : w3 is the result of subtracting w2 from w1. NAME : -ROLL PRONOUNCIATION : "dash-roll" VERSION : NMI NMIDR STACK NOTATION : ( n --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : SHORT DEFINITION: Removes the value on the top of stack and in- serts it to the nth place from the top of stack. LONG DEFINITION : The item on the top of the data stack is removed and inserted down to the nth location from (but not including) the top of the stack. The rest of the contents of the stack is shifted up to make room to insert the item. 1 -ROLL is equivalent to SWAP . NAME : -TRAILING PRONOUNCIATION : "dash-trailing" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr +n1 --- addr +n2 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Counts +n1 characters starting at addr and sub- tracts 1 from the count when a blank is encoun- tered. Leaves on the stack the final string count, n2 and addr. LONG DEFINITION : The character count +n1 of a text string begin- ning at addr is adjusted to exclude trailing spaces. If +n1 is zero, then +n2 is also zero. If the entire string consists of spaces, then +n2 is zero. NAME : . PRONOUNCIATION : "dot" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Removes n from the top of stack and displays it. LONG DEFINITION : The value of n is displayed in a free field for- mat with a leading minus sign if n is negative. NAME : ."; PRONOUNCIATION : "dot-quote" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : I M STANDARD : F83-RWS-CL SHORT DEFINITION: Displays the characters following it up to the delimiter "; . LONG DEFINITION : Used in the form: ."; ccc"; . Later execution will display the characters ccc up to but not including the delimiting "; (close-quote). The blank following ."; is not part of ccc. Used inside a colon definition only. NAME : .( PRONOUNCIATION : "dot-paren" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : Displays character string GROUP : I/O ATTRIBUTE : I M 83 STANDARD : F83-RWS-IL SHORT DEFINITION: Displays string following .( delimited by ) . LONG DEFINITION : Used in the form: .( ccc) . The characters ccc up to but not including the delimiting ) (close parenthesis) are displayed. The blank following .( is not part of ccc. Used out- side of a colon definition only. NAME : .LINE PRONOUNCIATION : "dot-line" VERSION : RSC NMI NMIDR STACK NOTATION : ( n1 n2 --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : May cause block read if not RAM resident. OUTPUT : Lists line to terminal. GROUP : Mass ATTRIBUTE : STANDARD : SHORT DEFINITION: Display line of text from mass storage. LONG DEFINITION : Displays a line of text from mass storage by its line number n2. Trailing blanks are sup- pressed. NAME : .R PRONOUNCIATION : "dot-r" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n +n --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : Bytes below PAD modified as temporary area where +n is converted to string. INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Displays the value n right justified in a field +n characters wide according to the value of BASE. LONG DEFINITION : n is converted using BASE and then displayed right alligned in a field +n characters wide. A leading minus sign is displayed if n is nega- tive. If the number of characters required to display n is greater than +n, an error condi- tion exists. NAME : .S PRONOUNCIATION : "dot-s" VERSION : RSC NMI NMIDR STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : SHORT DEFINITION: Display stack contents without modifying the stack. LONG DEFINITION : Displays the contents of the stack without al- tering the stack. This word is very useful in determining the stack contents during debugging programs and learning FORTH. NAME : / PRONOUNCIATION : "divide" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 --- n3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Divides n1 by n2 and leaves the quotient n3 on the stack. LONG DEFINITION : n3 is the floor of the quotient of n1 divided by the divisor n2. An error condition results if the divisor is zero or if the quotient falls outside the range {-32,768 ... 32,767}. NAME : /MOD PRONOUNCIATION : "divide-mod" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 --- n3 n4 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Divides n1 by n2 then leaves on the stack the remainder n3 and the quotient n4. LONG DEFINITION : n3 is the remainder and n4 the floor of the quotient of n1 divided by the divisor n2. n3 has the same sign as n2 or is zero. An error condition results if the divisor is zero or if the quotient falls outside the range {-32,768 ... 32,676}. NAME : 0<; PRONOUNCIATION : "zero-less" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n --- flag ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves a true flag if n is less than zero. LONG DEFINITION : Flag is true if n is less than zero (negative). NAME : 0= PRONOUNCIATION : "zero-equals" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w --- flag ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves a true flag if w is equal to zero. LONG DEFINITION : flag is true if w is zero. NAME : 0>; PRONOUNCIATION : "zero-greater" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n --- flag ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves a true flag if n is greater than zero. LONG DEFINITION : flag is true if n is greater than zero. NAME : 1+ PRONOUNCIATION : "one-plus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 --- w2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Adds 1 to w1 then leaves the sum, w2 on the stack. LONG DEFINITION : w2 is the result of adding 1 to w1 according to the operation of + . NAME : 1+! PRONOUNCIATION : "one-plus-store" VERSION : NMI NMIDR STACK NOTATION : ( addr --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Adds one to the value at addr and stores the result at addr. LONG DEFINITION : Adds one to the value at addr and stores the result at addr. NAME : 1- PRONOUNCIATION : "one-minus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 --- w2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Subtract 1 from w1 then leaves the difference, w2 on the stack. LONG DEFINITION : w2 is the result of subtracting one from w1 ac- cording to the operation of - . NAME : 1-! PRONOUNCIATION : "one-minus-store" VERSION : NMI NMIDR STACK NOTATION : ( addr --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Subtracts one from the value at addr and stores the result at addr. LONG DEFINITION : Subtracts one from the value at addr and stores the result at addr. NAME : 2! PRONOUNCIATION : "two-store" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Stores 32b at addr. LONG DEFINITION : 32b is stored at addr. NAME : 2* PRONOUNCIATION : "two-times" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 --- w2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Multiplies w1 by 2 to give w2. LONG DEFINITION : w2 is the result of shifting w1 left one bit. A zero is shifted into vacated bit position. NAME : 2**X PRONOUNCIATION : "2-double-star-x" VERSION : STACK NOTATION : (F: r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Raise 2 to the r1 power giving r2. LONG DEFINITION : Raise 2 to the r1 power giving r2. NAME : 2+ PRONOUNCIATION : "two-plus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 --- w2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Adds two to w1 and leaves the sum, w2 on the stack. LONG DEFINITION : w2 is the result of adding two to w1 according to the operation of + . NAME : 2- PRONOUNCIATION : "two-minus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 --- w2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Subtracts two from w1 and leaves the result, w2 on the stack. LONG DEFINITION : w2 is the result of subtracting two from w1 ac- cording to the operation of - . NAME : 2/ PRONOUNCIATION : "two-divide" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 --- n2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : 83 STANDARD : F83-RWS-NL SHORT DEFINITION: divides n1 by 2, giving n2 as the result. LONG DEFINITION : n2 is the result of the arithmetically shifting n1 right one bit. The sign is included in the shift and remains unchanged. NAME : 2@ PRONOUNCIATION : "two-fetch" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr --- 32b ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Returns 32b from addr. LONG DEFINITION : 32b is the value at addr. NAME : 2CONSTANT PRONOUNCIATION : "two-constant" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b --- ) # ARGUMENTS IN : 1 (2 words) # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : STANDARD : F83-DNEWS-CL SHORT DEFINITION: Creates a double length constant for a <;name>;. When <;name>; is executed, 32b is left on the stack. LONG DEFINITION : A defining word executed in the form: 32b 2CONSTANT <;name>; . Creates a dictionary entry for <;name>; so that when <;name>; is later executed, 32b will be left on the stack. NAME : 2DROP PRONOUNCIATION : "two-drop" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b --- ) # ARGUMENTS IN : 1 (2 words) # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Removes 32b from the stack. LONG DEFINITION : 32b is removed from the data stack. NAME : 2DUP PRONOUNCIATION : "two-dup" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b --- 32b 32b ) # ARGUMENTS IN : 1 (2 words) # ARGUMENTS OUT : 2 (4 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Duplicates 32b. LONG DEFINITION : Duplicates 32b onto the top of the data stack. NAME : 2OVER PRONOUNCIATION : "two-over" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b1 32b2 --- 32b1 32b2 32b3 ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 3 (6 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: 32b3 is a copy of 32b1 LONG DEFINITION : Duplicates the 2nd item 32b1 of the stack onto the top of the data stack, leaving 32b. NAME : 2ROT PRONOUNCIATION : "two-rote" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b1 32b2 32b3 --- 32b2 32b3 32b1 ) # ARGUMENTS IN : 3 (6 words) # ARGUMENTS OUT : 3 (6 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Rotates 32b1 to the top of the stack. LONG DEFINITION : The top three double numbers on the data stack are rotated, bringing the third double number to the top of the stack. NAME : 2SWAP PRONOUNCIATION : "two-swap" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 32b1 32b2 --- 32b2 32b1 ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 2 (4 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Swaps 32b1 and 32b2 on the stack. LONG DEFINITION : The top two double numbers are exchanged in position on the data stack. NAME : 2VARIABLE PRONOUNCIATION : "two-variable" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : STANDARD : F83-DNEWS-CL SHORT DEFINITION: Creates double-length variable for <;name>;. when <;name>; is executed, its parameter field address is placed on the stack. LONG DEFINITION : A defining word executed in the form: 2VARIABLE <;name>; . A dictionary entry for <;name>; is created and four bytes are ALLOTed in its parameter field. This parameter field is to be used for contents of the variable. The application is responsible for initializing the contents of the variable which it creates. When <;name>; is later executed, the address of its parameter field is placed on the stack. NAME : : PRONOUNCIATION : "colon" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- sys ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : E (I) STANDARD : F83-RWS-CL SHORT DEFINITION: Starts the definition of a word. Definition is terminated by a ; . LONG DEFINITION : A defining word executed in the form: : <;name>; ... ; Create a definition for <;name>; in the compilation vocabulary and set compila- tion state. The search order is changed so that the first vocabulary in the search order is replaced by the compilation vocabulary. The compilation vocabulary is unchanged. The text from the input stream is subsequently compiled. <;name>; is called a ";colon definition";. The newly created word definition for <;name>; cannot be found in the dictionary until the correspond- ing ; or ;CODE is successfully processed. An error condition exists if a word is not found and cannot be converted to a number or if, during compilation from mass storage, the input stream is exhausted before encountering ; or ;CODE . sys is balanced with its cor- responding ; . NAME : :CASE PRONOUNCIATION : "colon-case" VERSION : NMI NMIDR STACK NOTATION : ( n --- ), ( --- sys ) (compiling) # ARGUMENTS IN : 1 , 0 # ARGUMENTS OUT : 0 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : (I) STANDARD : SHORT DEFINITION: Creates a dictionary entry for <;name>; in cur- rent and sets the compile mode. LONG DEFINITION : A defining word used in the form: :CASE <;name>; ... ; . Creates a dictionary entry for <;name>; in CURRENT , and sets the compile mode. Words thus defined are called ";case statements";. The compilation addresses of sub- sequent words from the input stream are stored into the dictionary. At runtime a word defined by :CASE will execute only the nth definition compiled into the definition. sys is balanced with its corresponding ; . NAME : ; PRONOUNCIATION : "semi-colon" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( sys --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Definition ATTRIBUTE : C I 79 STANDARD : F83-RWS-CL SHORT DEFINITION: Terminates a colon-definiton. LONG DEFINITION : Stops compilation of a colon definition, allows the <;name>; of this colon definition to be found in the dictionary, sets interpret state and compiles ;S . sys is balanced with cor- responding : . NAME : ;CODE PRONOUNCIATION : "semi-colon-code" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ), ( sys1 --- sys2 ) (compiling) # ARGUMENTS IN : 0 , 1 # ARGUMENTS OUT : 0 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Definition ATTRIBUTE : (I) STANDARD : F83-AEWS-CL SHORT DEFINITION: Terminates a defining-word. May only be used in compilation mode. LONG DEFINITION : Used in the form: : <;name>; ... <;create>; ... ;CODE ...END-CODE Stops compilation, terminates the defining word <;name>; and executes ASSEMBLER . When <;name>; is executed in the form: <;name>; <;namex>; to define the new <;namex>;, the execution ad- dress of <;namex>; will contain the address of the code sequence following the ;CODE in <;name>;. Execution of any <;namex>; will cause this machine code sequence to be executed. sys1 is balanced with its corresponding : . sys2 is balanced with its corresponding END- CODE . See: CODE DOES>; NAME : ;S PRONOUNCIATION : "semi-colon-s" VERSION : RSC NMI NMIDR STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Stop interpretation. LONG DEFINITION : Stops interpretation of a screen. ;S is also the run-time word compiled at the end of a colon-definition which returns execution to the calling procedure. NAME : <; PRONOUNCIATION : "less-than" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 --- flag ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves a true flag on stack if n1 is less than n2. LONG DEFINITION : flag is true if n1 is less than n2. -32768 32767 <; must return true. -32768 0 <; must return true. NAME : <;# PRONOUNCIATION : "less-sharp" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Starts a formatted (pictured) numeric output. Terminated by #>; . LONG DEFINITION : Initialize pictured numeric ouput conversion. The words: # #>; #S <;# HOLD SIGN can be used to specify the conversion of a double num- ber into an ASCII text string stored in right- to-left order. NAME : <;BUILDS PRONOUNCIATION : "builds" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Definition ATTRIBUTE : C STANDARD : F83-URW SHORT DEFINITION: Creates a new dictionary entry for <;name>; LONG DEFINITION : Used in conjunction with DOES>; in defining words, in the form: : <;name>; ... <;BUILDS ... DOES>; ... ; and then <;name>; <;namex>; . When <;name>; ex- ecutes, <;BUILDS creates a dictionary entry for the new <;namex>;. The sequence of words between <;BUILDS and DOES>; established a parameter field for <;namex>;. When <;namex>; is later executed, the sequence of words following DOES>; will be executed, with the parameter field address of <;namex>; on the data stack. NAME : <;MARK PRONOUNCIATION : "backward-mark" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : (I) STANDARD : F83-SEWS-CL SHORT DEFINITION: Leaves current dictionary location to be resolved by <;RESOLVE . LONG DEFINITION : Used at the destination of a backward branch. addr is typicallyonly used by resolve <;RESOLVE to compile a branch address. NAME : <;RESOLVE PRONOUNCIATION : "backward-resolve" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : (I) STANDARD : F83-SEWS-CL SHORT DEFINITION: Compiles branch offset to location previously left by <;MARK . LONG DEFINITION : Used at the source of a backward branch after either BRANCH or ?BRANCH . Compiles a branch address using addr as the destination address. NAME : = PRONOUNCIATION : "equals" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 w2 --- flag ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Returns a true flag if w1 is equal to w2. LONG DEFINITION : flag is true if w1 is equal to w2. NAME : >; PRONOUNCIATION : "greater-than" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 --- flag ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Returns a true flag if n1 is greater than n2. LONG DEFINITION : flag is true if n1 is greater than n2. -32768 32767 >; must return false. -32768 0 >; must return false. NAME : >;<; PRONOUNCIATION : "byte-swap" VERSION : NMI NMIDR STACK NOTATION : ( 8b1/8b2 --- 8b2/8b1 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Swaps the upper and lower bytes of the value on the stack. LONG DEFINITION : Swaps the upper and lower bytes of the value on the top of the data stack. NAME : >;BODY PRONOUNCIATION : "to-body" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr1 --- addr2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Leaves on the stack the parameter field ad- dress, addr2 of a given field address, addr1. LONG DEFINITION : addr2 is the parameter field address correspond- ing to the compilation address addr1. NAME : >;IN PRONOUNCIATION : "to-in" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Leaves the address of the user variable >;IN which contains the number of bytes from the beginning of the input stream at any particular moment during interpretation. LONG DEFINITION : The address of a user variable which contains the present character offset within the input stream. See: WORD NAME : >;MARK PRONOUNCIATION : "forward-mark" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : (I) STANDARD : F83-SEWS-CL SHORT DEFINITION: Compiles zero in place of forward branch offset and marks it for future resolve. LONG DEFINITION : Used at the source of a forward branch. Typi- cally used after either BRANCH or ?BRANCH . Compiles space in the dictionary for a branch address which will later be resolved by >;RESOLVE . NAME : >;R PRONOUNCIATION : "to-r" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : Takes 16b from stack DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Removes 16b from user stack and place it onto return stack. LONG DEFINITION : Transfers 16b from the top of the data stack to the top of the return stack. NAME : >;RESOLVE PRONOUNCIATION : "forward-resolve" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : (I) STANDARD : F83-SEWS-CL SHORT DEFINITION: Corrects branch offset previously compiled by >;mark to current dictionary location. LONG DEFINITION : Used at the destination of a forward branch. Calculates the branch address (to the current location in the dictionary) using addr and places this branch address into the space left by >;MARK . NAME : ? PRONOUNCIATION : "question-mark" VERSION : RSC NMI NMIDR STACK NOTATION : ( addr --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : SHORT DEFINITION: Displays the contents of addr. LONG DEFINITION : Displays the value contained at the address on the top of the stack in free format according to the current BASE . Uses the format of . . NAME : ?BRANCH PRONOUNCIATION : "question-branch" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( flag --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Primitive ATTRIBUTE : C STANDARD : F83-SEWS-NL SHORT DEFINITION: Compiles a conditional branch operation. LONG DEFINITION : When used in the form: COMPILE ?BRANCH a conditional branch operation is compiled. See BRANCH for further details. When executed, if flag is false the branch is performed as with BRANCH . When flag is true execution con- tinues at the compilation address immediately following the branch address. NAME : ?COMP PRONOUNCIATION : "question-compile" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : interpreter ATTRIBUTE : STANDARD : SHORT DEFINITION: Checks for compilation mode, gives error if not. LONG DEFINITION : Checks for compilation mode, gives error if not. NAME : ?CSP PRONOUNCIATION : "question-c-s-p" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : interpreter ATTRIBUTE : STANDARD : SHORT DEFINITION: Checks for stack integrity through defining process, gives error if not. LONG DEFINITION : Checks for stack integrity through defining process, gives error if not. NAME : ?DUP PRONOUNCIATION : "question-dup" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- 16b 16b ), ( 0 --- 0 ) # ARGUMENTS IN : 1 , 1 # ARGUMENTS OUT : 2 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Duplicates 16b if it is a non-zero. LONG DEFINITION : Duplicate 16b if it is non-zero value, If it is zero, 16b is not duplicated. NAME : ?ERROR PRONOUNCIATION : "question-error" VERSION : STACK NOTATION : (flag n -- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : operating system ATTRIBUTE : STANDARD : SHORT DEFINITION: If flag is true, error n is initiated. LONG DEFINITION : If flag is true, error n is initiated. NAME : ?EXEC PRONOUNCIATION : "question-execute" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : interpreter ATTRIBUTE : STANDARD : SHORT DEFINITION: Checks for interpretation mode, gives error if not. LONG DEFINITION : Checks for interpretation mode, gives error if not. NAME : ?PAIRS PRONOUNCIATION : "question-pairs" VERSION : STACK NOTATION : (n1 n2 -- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : interpreter ATTRIBUTE : STANDARD : SHORT DEFINITION: Checks for matched structure pairs, gives error if not. LONG DEFINITION : Checks for matched structure pairs, gives error if not. NAME : ?STACK PRONOUNCIATION : "question-stack" VERSION : STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : SHORT DEFINITION: Checks to see if stack is within limits, gives error if not LONG DEFINITION : Checks to see if stack is within limits. Error 1, STACK EMPTY, is given if stack has underflowed. NAME : ?TERMINAL PRONOUNCIATION : "question-terminal" VERSION : RSC NMI NMIDR STACK NOTATION : ( --- flag ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : SHORT DEFINITION: True if any key is depressed. LONG DEFINITION : Tests the terminal input for actuation of any key. Generates a Boolean value. A true flag indicates actuation, whereas a false flag indi- cates non-actuation. NAME : @ PRONOUNCIATION : "fetch" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr --- 16b ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Replaces addr with its 16b contents on top of the stack. LONG DEFINITION : 16b is the value at addr. NAME : @! PRONOUNCIATION : "fetch-store" VERSION : V3.5 STACK NOTATION : ( 16b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Stores 16 at address pointed to by addr. LONG DEFINITION : 16b is stored at address which is pointed to by addr. addr is a pointer location. addr is fetched and used as destination address into which the 16b value is stored. NAME : @@ PRONOUNCIATION : "fetch-fetch" VERSION : STACK NOTATION : ( addr --- 16b ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Replaces addr with 16b, 16b is contents of address pointed to by addr. LONG DEFINITION : 16b is the value pointed to by addr. addr is a pointer location. addr is fetched and used as source address from which the 16b value is fetched. Like using @ @ but faster exectuion and smaller compilation using a single word. NAME : [ PRONOUNCIATION : "left-bracket" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : I STANDARD : F83-RWS-CL SHORT DEFINITION: Places the system into interpret state to ex- ecute non-immediate word/s during compilation. LONG DEFINITION : Sets interpret state. The text from the input stream is subsequently interpreted. For typi- cal usage see LITERAL . See ) ] NAME : ['] PRONOUNCIATION : "bracket-tick" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ), ( --- ) # ARGUMENTS IN : 0 , 0 # ARGUMENTS OUT : 1 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Compiler ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Returns and compiles the code field address of a word in a colon-definition. LONG DEFINITION : Used in the form: ['] <;name>; . Compiles the compilation address addr of <;name>; as a literal. When the colon definition is later executed, addr is left on the stack. An error condition exists if <;name>; is not found in the currently active search order. See: LITERAL NAME : [COMPILE] PRONOUNCIATION : "bracket-compile" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream OUTPUT : GROUP : Compiler ATTRIBUTE : I STANDARD : F83-RWS-CL SHORT DEFINITION: Causes an immediate word to be compiled. LONG DEFINITION : Used in the form: [COMPILE] <;name>; Forces compilation of the following word <;name>;. This allows compilation of an immediate word when it would otherwise have been executed. NAME : ] PRONOUNCIATION : "right-bracket" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : COMPILER ATTRIBUTE : I STANDARD : F83-RWS-CL SHORT DEFINITION: Places the system into compilation state. ] places a non-zero value into the user variable STATE. LONG DEFINITION : Sets compilation state. The text from the in- put stream is subsequently compiled. For typi- cal usage see LITERAL . See: [ NAME : ABORT PRONOUNCIATION : "abort" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : Cleared RETURN STACK : Cleared DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Operating System ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Clears the data stack and performs the function of QUIT . LONG DEFINITION : Clears the data stack and performs the function of QUIT . No message is displayed. NAME : ABORT"; PRONOUNCIATION : "abort-quote" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( flag --- ), ( --- ) (compiling) # ARGUMENTS IN : 1 , 0 # ARGUMENTS OUT : 0 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: If flag is true, message that follows "; is dis- played and the ABORT function is performed. If flag is false, the flag is dropped and execu- tion continues. LONG DEFINITION : Used in the form: flag ABORT"; ccc"; . When later executed, if flag is true the characters ccc, delimited by "; (close quote), are dis- played and then a system dependent error abort sequence, including the function of ABORT , is performed. If flag is false, the flag is dropped and execution continues. The blank following ABORT"; is not part of ccc. NAME : ABS PRONOUNCIATION : "absolute" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n --- u ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves on the stack the absolute value, u of n. LONG DEFINITION : u is the absolute value of n. If n is -32,768 then u is the same value. NAME : AGAIN PRONOUNCIATION : "again" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ), ( sys --- ) (compiling) # ARGUMENTS IN : 0 , 1 # ARGUMENTS OUT : 0 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : (I) STANDARD : F83-URW SHORT DEFINITION: Affect an unconditional jump back to the start of a BEGIN-AGAIN loop. LONG DEFINITION : Affect an unconditional jump back to the start of a BEGIN-AGAIN loop. sys is balanced with its corresponding BEGIN . See: BEGIN NAME : ALLOT PRONOUNCIATION : "allot" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : No alteration, however, DP is changed. PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Reserves w bytes of dictionary space. LONG DEFINITION : Allocates w bytes in the dictionary. The ad- dress of the next available dictionary location is updated accordingly. NAME : AND PRONOUNCIATION : "and" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b1 16b2 --- 16b3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Logic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves the bitwise logical AND of 16b1 and 16b2 as 16b3. LONG DEFINITION : 16b3 is the bit-by-bit logical 'and' of 16b1 with 16b2. NAME : ATO4 PRONOUNCIATION : "assembly-to-fourth" VERSION : NMI NMIDR STACK NOTATION : ( --- n ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Operating System ATTRIBUTE : STANDARD : SHORT DEFINITION: Returns address of subroutine call to high level word as indicated in D register. LONG DEFINITION : Execution returns the address of a machine code subroutine which can be used as the object of a JSR instruction to call a high level word from an assembly language routine, such as an inter- rupt process. The processor D register must contain the address of the CFA of the word to be executed. The processor Y register must point to free RAM since the high level word will use it as the Data Stack pointer. Program control will be returned to the instruction fol- lowing the JSR after completion of the specified high level word. NAME : AUTOSTART PRONOUNCIATION : "autostart" VERSION : RSC NMI NMIDR STACK NOTATION : ( addr --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; removed from input stream. OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Prepare autostart vector at addr which will cause <;name>; to be executed upon reset. Note: addr must be on a 1K byte boundary. LONG DEFINITION : Establishes autostart pattern of memory loca- tion addr. Parameter Fieled Address (CFA+2) is placed at addr+2. NAME : BASE PRONOUNCIATION : "base" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Numeric ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Leaves the address of the user variable contain- ing the numeric numeric conversion radix. LONG DEFINITION : The address of a user variable containing the current numeric conversion radix. NAME : BEGIN PRONOUNCIATION : "begin" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ), ( --- sys ) (compiling) # ARGUMENTS IN : 0 , 0 # ARGUMENTS OUT : 0 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : C (I) STANDARD : F83-RWS-CL SHORT DEFINITION: Marks the start of a loop. LONG DEFINITION : Used in the form: BEGIN ... AGAIN or BEGIN ... flag UNTIL or BEGIN ... flag WHILE ... REPEAT BEGIN marks the start of a word sequence for repetitive execution. A BEGIN-UNTIL loop will be repeated until flag is true. A BEGIN-WHILE- REPEAT loop will be repeated until flag is false. The words after UNTIL or REPEAT will be executed when either loop is finished. sys is balanced with its corresponding AGAIN UNTIL or WHILE . NAME : BL PRONOUNCIATION : "b-l" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- 32 ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Puts the ASCII code for a space (decimal 32) on the stack. LONG DEFINITION : Leave the ASCII character value for space (decimal 32). NAME : BLANK PRONOUNCIATION : "blank" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr u --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Sets u bytes of memory beginning at addr to the ASCII code for space (decimal 32). LONG DEFINITION : u bytes of memory beginning at addr are set to the ASCII character value for space. No action is taken if u is zero. NAME : BLK PRONOUNCIATION : "b-l-k" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Mass ATTRIBUTE : U STANDARD : F83-RWS-IL SHORT DEFINITION: Leaves the address of the user variable contain- ing the the number of block that is currently being interpreted. LONG DEFINITION : The address of a variable containing the number of the mass storage block being interpreted as the input stream. If the value of BLK is zero the input stream is taken from the text input buffer. NAME : BRANCH PRONOUNCIATION : "branch" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Primitive ATTRIBUTE : C STANDARD : F83-SEWS-NL SHORT DEFINITION: Compiles an unconditional branch operation. LONG DEFINITION : When used in the form: COMPILE BRANCH an unconditional branch operation is compiled. A branch address must be compiled immediately following this compilation address. The branch address is typically generated by following BRANCH with <;RESOLVE or >;MARK . NAME : C! PRONOUNCIATION : "c-store" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Stores the least significant byte of 16b into addr. LONG DEFINITION : The least significant 8 bits of 16b are stored into the byte at addr. NAME : C, PRONOUNCIATION : "c-comma" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : Compiles 8 bits of 16b. PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Stores the least significant byte of 16b into a byte at the next available dictionary location. LONG DEFINITION : ALLOT one byte then store the least-significant 8 bits of 16b at HERE 1- . NAME : C/L PRONOUNCIATION : "characters-per-line" VERSION : RSC NMI NMIDR STACK NOTATION : ( --- n ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : SHORT DEFINITION: Maximum number of characters per line. LONG DEFINITION : Leaves the number of characters (default value = 80) per input line. NAME : C@ PRONOUNCIATION : "c-fetch" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr --- 8b ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Fetches the 8b contents from addr. LONG DEFINITION : 8b is the contents of the byte at addr. NAME : CFA PRONOUNCIATION : "c-f-a" VERSION : RSC NMI NMIDR STACK NOTATION : ( pfa --- cfa ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Alter parameter field pointer address to code field address. LONG DEFINITION : Converts the parameter field address pointer (pfa ptr) of a definition to its code field ad- dress (cfa). NAME : CMOVE PRONOUNCIATION : "c-move" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr1 addr2 u --- ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Moves towards high memory the u bytes at ad- dresses addr1 and addr2. LONG DEFINITION : Move the u bytes at addresses addr1 to addr2. The byte at addr1 is moved first, proceeding toward high memory. If u is zero nothing is moved. NAME : CMOVE>; PRONOUNCIATION : "c-move-up" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr1 addr2 u --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Moves u bytes beginning at addr1 to addr2. LONG DEFINITION : Move the u bytes beginning at address addr1 to addr2. The move begins by moving the byte at (addr1 plus u minus 1) to (addr2 plus u minus 1) and proceeds to successively lower addresses for u bytes. If u is zero nothing is moved. (Useful for sliding a string towards higher ad- dresses. NAME : CODE PRONOUNCIATION : "code" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- sys ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : (I) STANDARD : F83-AEWS-CL SHORT DEFINITION: Creates an assembler definition. LONG DEFINITION : A defining word executed in the form: CODE <;name>; ... END-CODE . Creates a dictionary entry for <;name>; to be defined by a following sequence of assembly language words. Words thus defined are called code definitions. This newly created word definition for <;name>; cannot be found in the dictionary until the correspond- ing END-CODE is successfully processed. Ex- ecutes ASSEMBLER . sys is balanced with its corresponding END-CODE . NAME : CODE-SUB PRONOUNCIATION : "code-sub" VERSION : NMI NMIDR STACK NOTATION : ( --- sys ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : (I) STANDARD : SHORT DEFINITION: Creates an assembler definition subroutine. LONG DEFINITION : A defining word executed in the form: CODE-SUB<;name>; ... END-CODE Creates a dictionary entry for <;name>; to be defined by a following sequence of assembly lan- guage words. Words thus defined are called code definition subroutines. This newly created word definition for <;name>; cannot be found in the dictionary until the corresponding END-CODE is successfully processed. Executes ASSEMBLER . sys is balanced with its cor- responding END-CODE . <;name>; can be executed directly by naming it in input stream or can be called by a machine code definition. NAME : COLD PRONOUNCIATION : "cold" VERSION : RSC NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : Cleared RETURN STACK : Cleared DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Operating System ATTRIBUTE : STANDARD : SHORT DEFINITION: Cold starts FORTH. LONG DEFINITION : Max-FORTH cold start. NAME : COMPILE PRONOUNCIATION : "compile" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;namex>; is removed from the input stream. OUTPUT : GROUP : Compiler ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Copies the compilation address of the next non- immediate word following COMPILE. LONG DEFINITION : Typically used in the form: : <;name>; ... COMPILE <;namex>; ... ; When <;name>; is executed, the compilation ad- dress compiled for <;namex>; is compiled and not executed. <;name>; is typically immediate and <;namex>; is typically not immediate. NAME : CONSTANT PRONOUNCIATION : "constant" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definiton ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Creates a dictionary entry for <;name>;. LONG DEFINITION : A defining word executed in the form: 16b CONSTANT <;name>; . Creates a dictionary entry for <;name>; so that when <;name>; is later executed, 16b will be left on the stack. NAME : CONTEXT PRONOUNCIATION : "context" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Vocabulary ATTRIBUTE : STANDARD : F83-SEWS-IL SHORT DEFINITION: Returns the address of a user variable that determines the vocabulary to be searched first in the dictionary. LONG DEFINITION : The address of a user variable which determines the dictionary search order. NAME : CONVERT PRONOUNCIATION : "convert" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( +d1 addr1 --- +d2 addr2 ) # ARGUMENTS IN : 2 (3 words) # ARGUMENTS OUT : 2 (3 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Numeric ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Converts an input string into a number. LONG DEFINITION : +d2 is the result of converting the characters within the text beginning at addr1+1 into digits, using the value of BASE , and accumulat- ing each into +d1 after multiplying +d1 by the value of BASE . Conversion continues until an unconvertible character is encountered. addr2 is the location of the first unconvertible character. NAME : COUNT PRONOUNCIATION : "count" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr1 --- addr2 +n ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves the address, addr2 and the character count +n of text beginning at addr1. LONG DEFINITION : addr2 is addr1+1 and n1 is the length of the counted string at addr1. The byte at addr1 con- tains the byte count +n. Range of +n is {0...255}. NAME : CR PRONOUNCIATION : "c-r" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-DL SHORT DEFINITION: Generates a carriage return and line feed. LONG DEFINITION : Displays a carriage return and line-feed or equivalent operation. NAME : CREATE PRONOUNCIATION : "create" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Creates a dictionary entry for <;name>;. LONG DEFINITION : A defining word executed in the form: CREATE <;name>; . Creates a dictionary entry for name <;name>;. After <;name>; is created, the next available dictionary location is the first byte of <;name>;'s parameter field. When <;name>; is subsequently executed, the address of the first byte of <;name>;'s parameter field is left on the stack. CREATE does not allocate space in <;name>;'s parameter field. NAME : CURRENT PRONOUNCIATION : "current" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Vocabulary ATTRIBUTE : STANDARD : F83-SEWS-IL SHORT DEFINITION: Returns the address of the user variable specifying the vocabulary into which new word definitions will be entered. LONG DEFINITION : The address of a user variable specifying the vocabulary in which new word definitions are appended. NAME : D+ PRONOUNCIATION : "d-plus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( wd1 wd2 --- wd3 ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL F83-DNEWS-NL SHORT DEFINITION: Adds wd1 and wd2 and leaves the result, wd3 on stack. LONG DEFINITION : wd3 is the arithmetic sum of wd1 plus wd2. NAME : D- PRONOUNCIATION : "d-minus" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( wd1 wd2 --- wd3 ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Subtracts wd2 from wd1 and returns the dif- ference wd3. LONG DEFINITION : wd3 is the result of subtracting wd2 from wd1. NAME : D. PRONOUNCIATION : "d-dot" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : Bytes below PAD modified as temporary area where +n is converted to string. INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-DNEWS-IL SHORT DEFINITION: Displays the value of d. LONG DEFINITION : The value of d is displayed in a free field for- mat. A leading negative sign is displayed if d is negative. NAME : D.R PRONOUNCIATION : "d-dot-r" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d +n --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : Bytes below PAD modified as temporary area where +n is converted to string. INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-DNEWS-IL SHORT DEFINITION: Displays the value of d right justified in a field +n characters wide. LONG DEFINITION : d is converted using the value of BASE and then displayed right aligned in a field n characters wide. A leading minus sign is displayed if d is negative. If the number of characters re- quired to display d is greater than +n, an er- ror condition exists. NAME : D0= PRONOUNCIATION : "d-zero-equals" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( wd --- flag ) # ARGUMENTS IN : 1 (2 words) # ARGUMENTS OUT : 1 (1 word) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Returns a true flag if wd is equal to zero. LONG DEFINITION : flag is true if wd is zero. NAME : D2/ PRONOUNCIATION : "d-two-divide" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d1 --- d2 ) # ARGUMENTS IN : 1 (2 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Divides d1 by 2 and gives quotient d2. LONG DEFINITION : d2 is the result of d1 arithmetically shifted right one bit. The sign is included in the shift and remains unchanged. NAME : D<; PRONOUNCIATION : "d-less-than" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d1 d2 --- flag ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 1 (1 word) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL F83-DNEWS-NL SHORT DEFINITION: Leaves a true flag if d1 is less than d2; other- wise leaves a false flag. LONG DEFINITION : Flag is true if d1 is less than d2 according to the operation of <; except extended to 32 bits. NAME : D= PRONOUNCIATION : "d-equals" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( wd1 wd2 --- flag ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 1 (1 word) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Returns a true flag if wd1 is equal to wd2. LONG DEFINITION : flag is true if wd1 equals wd2. NAME : D>;F PRONOUNCIATION : "d-to-f" VERSION : STACK NOTATION : (d -- )(F: -- r) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R is the floating-point equivalent of d. LONG DEFINITION : R is the floating-point equivalent of d. A double number can be exactly represented by the 32 bit manissa of the internal representation. NAME : DABS PRONOUNCIATION : "d-absolute" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d --- ud ) # ARGUMENTS IN : 1 (2 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Returns the absolute value of d as ud. LONG DEFINITION : ud is the absolute value of d. If d is -2,147,483,648 then ud is the same value. NAME : DECIMAL PRONOUNCIATION : "decimal" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Numeric ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Sets the input-output numeric conversion base to ten. LONG DEFINITION : Set the input-output numeric conversion base to ten. NAME : DEFUZZIFY PRONOUNCIATION : "de-fuzzify" VERSION : V5.0 STACK NOTATION : ( addr1 addr2 8b --- u ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Fuzzy ATTRIBUTE : STANDARD : SHORT DEFINITION: Combine raw fuzzy outputs to produce a single composite output. LONG DEFINITION : addr1 is an array of 8 bit fuzzy outputs. addr2 is an array of 8 bit singletons for the output membership functions. 8b is the number of fuzzy values to be combined. u is the final output. This is based on the 68HC12 fuzzy assembler instruction, WAV. NAME : DEPTH PRONOUNCIATION : "depth" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- +n ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Returns count +n of numbers on the data stack. LONG DEFINITION : +n is the number of 16-bit values contained in the data stack before +n was placed on the stack. NAME : DLITERAL PRONOUNCIATION : "d-literal" VERSION : STACK NOTATION : ( 32b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : I C STANDARD : SHORT DEFINITION: Compile a system dependent operation so that when later executed, 32b will be left on the stack. LONG DEFINITION : Typically used in the form: [ 32b ] DLITERAL Compiles a system dependent operation so that when later executed, 32b will be left on the stack. NAME : DMAX PRONOUNCIATION : "d-max" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d1 d2 --- d3 ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Returns d3 as the greater of d1 or d2. LONG DEFINITION : d3 is the greater of d1 and d2. NAME : DMIN PRONOUNCIATION : "d-min" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d1 d2 --- d3 ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Returns d3 as the lesser of d1 or d2. LONG DEFINITION : d3 is the lesser of d1 and d2. NAME : DNEGATE PRONOUNCIATION : "d-negate" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( d1 --- d2 ) # ARGUMENTS IN : 1 (2 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL F83-DNEWS-NL SHORT DEFINITION: Leaves the two's complement d2 of d1. LONG DEFINITION : d2 is the two's complement of d1. NAME : DO PRONOUNCIATION : "do" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( w1 w2 --- ), ( --- sys ) (compiling) # ARGUMENTS IN : 2 , 0 # ARGUMENTS OUT : 0 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : C (I) STANDARD : F83-RWS-CL SHORT DEFINITION: Repeats execution of words between DO LOOPs and DO +LOOPs, the number of times is specified by the limit from w2 to w1. LONG DEFINITION : Used in the form: DO ... LOOP or DO ... +LOOP Begins a loop which terminates based on control parameters. The loop index begins at w2, and terminates based on the limit w1. See LOOP and +LOOP for details on how the loop is ter- minated. The loop is always executed at least once. For example: w DUP DO ... LOOP ex- ecutes 65,536 times. sys is balanced with its corresponding LOOP or +LOOP . An error con- dition exists if insufficient space is avail- able for at least three nesting levels. NAME : DOES>; PRONOUNCIATION : "does" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ), ( --- ) (compiling) # ARGUMENTS IN : 0 , 0 # ARGUMENTS OUT : 1 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Definition ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Marks the termination of the defining part of the defining word <;name>; and begins the defini- tion of the run-time action for words that will later be defined by <;name>;. LONG DEFINITION : Defines the execution time action of a word created by a high level defining word. Used in the form: : <;name>; ... <;create>; ... DOES>; ... ; and then <;name>; <;namex>; where <;create>; is CREATE or any user defined word which ex- ecutes CREATE . Marks the termination of the defining part of the defining word <;name>; and then begins the definition of the execution- time is later executed, the address of <;namex>;'s parameter field is placed on the stack and then the sequence of words between DOES>; and ; are executed. NAME : DP PRONOUNCIATION : "d-p" VERSION : RSC NMI NMIDR STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : U STANDARD : SHORT DEFINITION: Put Dictionary Pointer address on stack. LONG DEFINITION : Leaves the address of user variable, the dic- tionary pointer, which points to address the next free memory address above the dictionary. The value may be read by HERE and altered by ALLOT . NAME : DPL PRONOUNCIATION : "d-p-l" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Format ATTRIBUTE : U STANDARD : F83-URW SHORT DEFINITION: Returns the address of the user variable con- taining the number of places after the frac- tional point for input conversion. LONG DEFINITION : Returns the address of the user variable con- taining the number of places after the frac- tional point for input conversion. NAME : DROP PRONOUNCIATION : "drop" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Removes 16b from the data stack. LONG DEFINITION : 16b is removed from the data stack. NAME : DU<; PRONOUNCIATION : "d-u-less" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( ud1 ud2 --- flag ) # ARGUMENTS IN : 2 (4 words) # ARGUMENTS OUT : 1 (1 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-DNEWS-NL SHORT DEFINITION: Returns a true flag if ud1 is less than ud2. LONG DEFINITION : flag is true if ud1 is less than ud2. Both num- bers are unsigned. NAME : DUMP PRONOUNCIATION : "dump" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr u --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Displays u bytes of memory starting at addr. LONG DEFINITION : List the contents of u addresses starting at addr. Each line of values may be preceded by the address of the first value, with a 16 memory location displayed per line. NAME : DUP PRONOUNCIATION : "dup" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- 16b 16b ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Duplicates 16b. LONG DEFINITION : Duplicates the 16b on top of the data stack to the top of the data stack. NAME : e PRONOUNCIATION : "e" VERSION : STACK NOTATION : (F: -- r1) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Put natural value e (=2.718282) on the floating-point stack as r1. LONG DEFINITION : Put natural value e (=2.718282) on the floating- point stack as r1. NAME : E. PRONOUNCIATION : "e-dot" VERSION : STACK NOTATION : ( -- )(F:r -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Convert the top number on the floating-point stack to its character string representation using the scientific notation. LONG DEFINITION : Convert the top number on the floating-point stack to its character string representation using the scientific notation. The character string produced will be exactly the same as that generated by the floating-point operator E.. Scientific notation has the format [-]mantissa e[-] exponent where the man- tissa contains a radix point with the most sigificant digit to the left the point, zero or more trailing digits, and the ex- ponent with one or more trailing digits. The exact number of digits to the right of the radix place in the mantissa is deter- mined by PLACES. The exponent consists of an optional sign and enough decimal digits to represent the exponent. An exception exists if the system basis is not DECIMAL. NAME : EDELAY PRONOUNCIATION : "e-delay" VERSION : V5.0 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Put EEPROM programming delay variable onto the stack. LONG DEFINITION : This variable can be adjusted to prolong the ammount of time used to store values in the EEPROM. The value is implementation dependant. NAME : EDP PRONOUNCIATION : "e-d-p" VERSION : V5.0 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Put EEPROM memory pointer onto the stack. LONG DEFINITION : Leaves the address of the EEPROM memory pointer on the stack which points to the next EEPROM location that will be written. It may be altered to change where the EEPROM words will write. NAME : EE! PRONOUNCIATION : "e-e-store" VERSION : NMI NMIDR STACK NOTATION : ( 16b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Stores 16b into addr in EEPROM. LONG DEFINITION : The two bytes in EEPROM are erased and replaced with the value from the stack. The delay is controlled by the value in EDP. NAME : EEC! PRONOUNCIATION : "e-e-c-store" VERSION : NMI NMIDR STACK NOTATION : ( 16b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Stores the least significant byte of 16b into addr in EEPROM. LONG DEFINITION : The addr in EEPROM is erased, then least sig- nificant 8 bits of 16b are programmed into the byte at addr. The time period of the program- ming is set by C/10MS and Timer Output Capture for both the erasure and programming cycles. NAME : EEMOVE PRONOUNCIATION : "e-e-move" VERSION : NMI NMIDR STACK NOTATION : ( addr1 addr2 u --- ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Moves towards high memory the u bytes at ad- dresses addr1 and addr2. addr2 should be in EEPROM. LONG DEFINITION : Move the u bytes at addresses addr1 to addr2. The byte at addr1 is moved first, proceeding toward high memory. If u is zero, nothing is moved. addr2 should be in EEPROM. EEC! is used to accomplish this function. See EEC! NAME : EEWORD PRONOUNCIATION : "e-e-word" VERSION : NMI NMIDR STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : If not headerless, the complete definition or if headerless, the code field and parameter field, of latest definition move from code to EEPROM dictionary. PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Moves code of last defined word from the codes memory to the EEPROM memory. LONG DEFINITION : Latest defined word's complete definition if not headerless, or the code section if header- less is lifted from codes dictionary, relinked and placed in the EEPROM dictionary. Diction- ary pointers are re-adjusted accordingly. NAME : ELSE PRONOUNCIATION : "else" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ), ( sys1 --- sys2 ) (compiling) # ARGUMENTS IN : 0 , 1 # ARGUMENTS OUT : 0 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Allows execution of words between IF and ELSE if the flag is true, otherwise, it forces execu- tion of words after ELSE. LONG DEFINITION : Used in the form: flag IF ... ELSE ... THEN ELSE executes after the true part following IF . ELSE forces execution to continue at just after THEN . sys1 is balanced with its cor- responding IF . sys2 is balanced with its corresponding THEN . See: IF THEN . NAME : EMIT PRONOUNCIATION : "emit" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-DL SHORT DEFINITION: Displays the ASCII equivalent of 16b onto the screen. LONG DEFINITION : The least significant 7-bit ASCII character is displayed. NAME : END PRONOUNCIATION : "end" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( flag --- ), ( sys --- ) (compiling) # ARGUMENTS IN : 1 , 1 # ARGUMENTS OUT : 0 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-CRW SHORT DEFINITION: Performs the same function as UNTIL . See UNTIL . LONG DEFINITION : A synonym for UNTIL . NAME : END-CODE PRONOUNCIATION : "end-code" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( sys --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Definition ATTRIBUTE : (I) STANDARD : F83-AEWS-CL SHORT DEFINITION: Terminates an assembler definition. LONG DEFINITION : Terminates a code definition and allows the <;name>; of the corresponding code definition to be found in the dictionary. sys is balanced with its corresponding CODE or ;CODE . NAME : ERASE PRONOUNCIATION : "erase" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr u --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Sets u bytes of memory to zero, beginning at addr. LONG DEFINITION : u bytes of memory beginning at addr are set to zero. No actionis taken if u is zero. NAME : ERROR PRONOUNCIATION : "error" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : operating system ATTRIBUTE : STANDARD : SHORT DEFINITION: Begins error processing. LONG DEFINITION : Execute error notification and restart of sys- tem. WARNING is first examined. If 1, the text of line n, rela- tive to screen 4 of drive 0 is printed. This line number may be positive or negative, and beyond just screen 4. If WARNING=0, n is just printed as a message number (non disc installation). If WARNING is -1, the definition (ABORT) is executed, which executes the system ABORT. The user may cautiously modify this execution by altering (ABORT). The contents of IN and BLK are saved to as- sist in determining the locationof the error. Final action is execution of QUIT. NAME : EVALUATE-RULES PRONOUNCIATION : "evaluate-rules" VERSION : V5.0 STACK NOTATION : ( addr1 addr2 --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Fuzzy ATTRIBUTE : STANDARD : SHORT DEFINITION: Evaluate rules at addr1 on inputs at addr2 and store outputs at addr2. LONG DEFINITION : addr1 points to fuzzy relationship rules between inputs and outputs which are pointed to by addr2. When executed, the outputs are calucated from the value of the inputs and the relationships. This word is based on the 68HC12 fuzzy assember instruction REV NAME : EVALUATE-WRULES PRONOUNCIATION : "evaluate-weighted-rules" VERSION : V5.0 STACK NOTATION : ( addr1 addr2 --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Fuzzy ATTRIBUTE : STANDARD : SHORT DEFINITION: Evalute rules at addr1 using weights from addr2. LONG DEFINITION : Evaluate the rules at addr1 applying the weights supplied by addr2. This word is based on the 68HC12 fuzzy assember instruction REVW NAME : EXECUTE PRONOUNCIATION : "execute" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Executes the definition found at addr. LONG DEFINITION : The word definition indicated by addr is ex- ecuted. An error condition exists if addr is not a compilation address. NAME : EXIT PRONOUNCIATION : "exit" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Causes execution to leave the current word and go back to where the word was called from. LONG DEFINITION : Compiled within a colon definition such that when executed, that colon definition returns control to the definition that passed control to it by returning control to the return point on the top of the return stack. An error condi- tion exists if the top of the return stack does not contain a valid return point. May not be used within a do-loop. NAME : EXPECT PRONOUNCIATION : "expect" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr +n --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-DL SHORT DEFINITION: Stores up to +n characters into memory begin- ning at addr. LONG DEFINITION : Receive characters and store each into memory. The transfer begins at addr proceeding towards higher addresses one byte per character until either ";return"; is received or until +n charac- ters have been transfered. No more than +n characters will be stored. The ";return"; is not stored into memory. No characters are received or transfered if +n is zero. All characters actually received and stored into memory will be displayed, with the ";return"; displaying as a space. NAME : EXRAM PRONOUNCIATION : "x-ram" VERSION : V5.0 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Enable external RAM. LONG DEFINITION : Configure the 68HC12 to use PE2 as R/W and set the processor to normal expanded mode. This is called automatically if the latest definition is already in external RAM. NAME : F! PRONOUNCIATION : "f-store" VERSION : STACK NOTATION : (addr -- )(F:r -- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Store r at addr. LONG DEFINITION : Store r at addr using the 6 byte internal for- mat. (Also see SF!) NAME : F* PRONOUNCIATION : "f-star" VERSION : STACK NOTATION : (F:r1 r2 -- r3) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Multiply r1 by r2 giving r3. LONG DEFINITION : Multiply r1 by r2 giving r3. NAME : F** PRONOUNCIATION : "f-double-star" VERSION : STACK NOTATION : (F:r1 r2 -- r3) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Raise r1 to the r2 power giving r3. LONG DEFINITION : Raise r1 to the r2 power giving r3. NAME : F+ PRONOUNCIATION : "f-plus" VERSION : STACK NOTATION : (F:r1 r2 -- r3) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Add r1 to r2, giving r3. LONG DEFINITION : Add r1 to r2, giving r3. NAME : F, PRONOUNCIATION : "f-comma" VERSION : STACK NOTATION : (F:r -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Store r as a floating-point number in the next available dictionary location. LONG DEFINITION : Store r as a floating-point number in the next available dictionary location using the 6 byte internal format. NAME : F- PRONOUNCIATION : "f-minus" VERSION : STACK NOTATION : (F:r1 r2 -- r3) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Subtract r2 from r1, giving r3. LONG DEFINITION : Subtract r2 from r1, giving r3. NAME : F. PRONOUNCIATION : "f-dot" VERSION : STACK NOTATION : (F:r --)( -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Print the top number on the floating-point stack on the screen using fixed-point notation. LONG DEFINITION : Convert the top number on the floating-point stack to its character string representation using the fixed- point notation. NAME : F.S PRONOUNCIATION : "f-dot-s" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Display the contents of the floating-point stack without modifying the stack. LONG DEFINITION : Display the contents of the floating-point stack wothout modifying the stack. NAME : F/ PRONOUNCIATION : "f-slash" VERSION : STACK NOTATION : (F:r1 r2 -- r3) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Divide r1 by r2, giving r3. LONG DEFINITION : Divide r1 by r2, giving r3. NAME : F0<; PRONOUNCIATION : "f-zero-less-than" VERSION : STACK NOTATION : (F:r -- )( -- flag) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: flag is true if r is less than zero. LONG DEFINITION : flag is true if r is less than zero. NAME : F0= PRONOUNCIATION : "f-zero-equals" VERSION : STACK NOTATION : (F:r -- )( -- flag) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: flag is true if r is equal to zero. LONG DEFINITION : flag is true if r is equal to zero. The test is performed by checking the most significant bit of the mantissa. Any non-zero number will have this bit set. NAME : F2* PRONOUNCIATION : "f-2-star" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Multiply r1 by 2 giving r2. LONG DEFINITION : Multiply r1 by 2 giving r2. NAME : F2/ PRONOUNCIATION : "f-2-slash" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Divide r1 by 2 giving r2. LONG DEFINITION : Divide r1 by 2 giving r2. NAME : F<; PRONOUNCIATION : "f-less-than" VERSION : STACK NOTATION : (F:r1 r2 -- )( -- flag) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: flag is true if r1 is less than r2. LONG DEFINITION : flag is true if r1 is less than r2. NAME : F>;D PRONOUNCIATION : "f-to-d" VERSION : STACK NOTATION : (F:r -- )( -- d) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Convert r to d. LONG DEFINITION : d is the double-cell signed integer equivelent of the integer portion of r; the fractional portion of r is dis- carded. An exception exists if the integer portion of r cannot be represented as a double-cell signed integer and the maximum value for a double-cell (with correct sign) is returned. NAME : F? PRONOUNCIATION : "f-question" VERSION : STACK NOTATION : (addr -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Display the floating-point contents stored at addr. LONG DEFINITION : Display the floating-point contents stored at addr. NAME : F@ PRONOUNCIATION : "f-fetch" VERSION : STACK NOTATION : (addr -- )(F: -- r) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: r is the value stored at addr. LONG DEFINITION : r is the value stored at addr in the 6 byte in- ternal format. (Also see SF@) NAME : FABS PRONOUNCIATION : "f-abs" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R2 is the absolute value of r1. LONG DEFINITION : R2 is the absolute value of r1. NAME : FALOG PRONOUNCIATION : "f-a-log" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Raise 10 to the power r1, giving r2. LONG DEFINITION : Raise 10 to the power r1, giving r2. NAME : FATAN PRONOUNCIATION : "f-a-tan" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R2 is the principal radian whose tangent is r1. LONG DEFINITION : R2 is the principal radian whose tangent is r1. NAME : FATAN2 PRONOUNCIATION : "f-a-tan-two" VERSION : STACK NOTATION : (F:r1 r2 -- r3 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R3 is the radian angle whose tangent is r1/r2. LONG DEFINITION : R3 is the radian angle whose tangent is r1/r2. The signs of r1 and r2 determine which quadrant contains r3. NAME : FCONSTANT PRONOUNCIATION : "f-constant" VERSION : STACK NOTATION : (F:r -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from the input stream. OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Define a constant <;name>; with value r. LONG DEFINITION : Parse <;name>; delimited by a space, ignoring lead- ing delimiters. Create a dictionary entry for <;name>; as defined below. NAME : FCOS PRONOUNCIATION : "f-cos" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: r2 is the cosine of the radian angle r1. LONG DEFINITION : r2 is the cosine of the radian angle r1. NAME : FDEPTH PRONOUNCIATION : "f-depth" VERSION : STACK NOTATION : ( -- +n) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: +n is the number of values contained on separate floating point stack. LONG DEFINITION : +n is the number of values contained on separate floating point stack. NAME : FDP PRONOUNCIATION : "f-d-p" VERSION : V5.0 STACK NOTATION : ( -- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Place flash memory pointer onto stack. LONG DEFINITION : This memory pointer points into Flash memory where the next bytes will be placed by FLWORD. NAME : FDROP PRONOUNCIATION : "f-drop" VERSION : STACK NOTATION : (F:r-- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Remove r from the floating-point stack. LONG DEFINITION : Remove r from the floating-point stack. NAME : FDUP PRONOUNCIATION : "f-dupe" VERSION : STACK NOTATION : (F:r -- r r) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Duplicate r. LONG DEFINITION : Duplicate r. NAME : FEXP PRONOUNCIATION : "f-exp" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Raise e to the power r1, giving r2. LONG DEFINITION : Raise e to the power r1, giving r2. NAME : FILL PRONOUNCIATION : "fill" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr u 8b --- ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Fills u bytes, beginning at addr, with byte pat- tern 8b. LONG DEFINITION : u bytes of memory beginning at addr are set to 8b. No action is taken if u is zero. NAME : FIND PRONOUNCIATION : "find" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr1 --- addr2 n ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Obtains an address of counted strings, addr1 from the stack. Searches the dictionary for the string. LONG DEFINITION : addr1 is the address of the counted string. The string contains a word name to be located in the currently active search order. If the word is not found, addr2 is the string address (addr1) and n is zero. If the word is found, addr2 is the compilation address and n is set to one of two non-zero values. If the word found has the immediate attribute, n is set to one. If the word is non-immediate, n is set to minus 1 (true). NAME : FL! PRONOUNCIATION : "f-l-store" VERSION : V5.0 STACK NOTATION : ( 16b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Store 16b into flash memory location addr LONG DEFINITION : Store the 16b value into flash memory location addr. Bits can only be set from one to zero so the location can only be effectively written once and the whole flash ROM must be bulk erased before it can be used again. NAME : FLASH PRONOUNCIATION : "flash" VERSION : V5.0 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Operating System ATTRIBUTE : STANDARD : SHORT DEFINITION: Launch the Flash memory programmer. LONG DEFINITION : This word will run the serial boot s-record loader located in the upper 2K of flash ROM. It is used to bulk erase the lower 30K of flash memory and then to download a new s-record which would typically be MaxForth. NAME : FLC! PRONOUNCIATION : "f-l-c-store" VERSION : V5.0 STACK NOTATION : ( 8b addr --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Store byte 8b into flash location addr LONG DEFINITION : Store the byte 8b into the flash memory location given by addr This can only be done effectively once since bits can only be changed to zero. To set bits back to one, the flash ROM must be bulk erased. NAME : FLD PRONOUNCIATION : "f-l-d" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Returns the address of the user variable which contains the value of the field length reserved for a number during output conversion. LONG DEFINITION : A user variable pointing to the field length reserved for a number during output conversion. NAME : FLITERAL PRONOUNCIATION : "f-literal" VERSION : STACK NOTATION : (F:r -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : compiler ATTRIBUTE : I C STANDARD : ANSI basis 13 SHORT DEFINITION: Compile r as a floating point literal. LONG DEFINITION : Compile r as a floating point literal. NAME : FLMOVE PRONOUNCIATION : "flmove" VERSION : V5.0 STACK NOTATION : ( addr1 addr2 u --- ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Moves towards high memory the u bytes at addr1 and addr2. addr2 should be in flash ROM. LONG DEFINITION : Move the u bytes at addresses addr1 to addr2. The byte at addr1 is move first, proceeding toward high memory. If u is zero, nothing is moved addr2 should be in flash ROM. FLC! is used to accomplish this function. See FLC!. NAME : FLN PRONOUNCIATION : "f-l-n" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R2 is the natural logarithm of r1. LONG DEFINITION : R2 is the natural logarithm of r1. NAME : FLOAT+ PRONOUNCIATION : "float-plus" VERSION : STACK NOTATION : (addr1 -- addr2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Add 6 to addr1. LONG DEFINITION : Add the size of a floating-point number to the address on top of the data stack. This should not be used for IEEE single format storage. NAME : FLOATS PRONOUNCIATION : "floats" VERSION : STACK NOTATION : (n1 -- n2) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: n2 is the size, in bytes, of n1 floating-point numbers. LONG DEFINITION : n2 is 6 * n1, where 6 is the size, in bytes, of a floating point number in internal format. This should not be used for IEEE single format storage. NAME : FLOG PRONOUNCIATION : "f-log" VERSION : STACK NOTATION : (F:r1 -- r2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R2 is the base 10 logarithm of r1. LONG DEFINITION : R2 is the base 10 logarithm of r1. NAME : FLOOR PRONOUNCIATION : "floor" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Round r1 using the ";round to negative infinity"; rule, giving r2. LONG DEFINITION : Round r1 using the ";round to negative infinity"; rule, giving r2. (Also see FROUND) NAME : FLWORD PRONOUNCIATION : "f-l-word" VERSION : V5.0 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : The complete definition is moved into flash ROM. PAD : INPUT : OUTPUT : GROUP : ATTRIBUTE : STANDARD : SHORT DEFINITION: Moves code of last defined word from the codes memory to the flash memory. LONG DEFINITION : Latest defined word's complete definition is relinked and placed in the flash dictionary. Dictionary pointers are re-adjusted accordingly. NAME : FMAX PRONOUNCIATION : "f-max" VERSION : STACK NOTATION : (F:r1 r2 -- r3) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: r3 is the maximum of r1 and r2. LONG DEFINITION : r3 is the maximum of r1 and r2. NAME : FMIN PRONOUNCIATION : "fmin" VERSION : STACK NOTATION : (F:r1 r2 -- r3) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: r3 is the minimum of r2 and r3. LONG DEFINITION : r3 is the minimum of r2 and r3. NAME : FNEGATE PRONOUNCIATION : "f-negate" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: r2 is the negation of r1. LONG DEFINITION : r2 is the negation of r1. NAME : FNIP PRONOUNCIATION : "f-nip" VERSION : STACK NOTATION : (F:r1 r2 -- r2) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Remove second number down from floating-point stack. LONG DEFINITION : Remove second number down from floating-point stack. NAME : FNUMBER PRONOUNCIATION : "f-number" VERSION : STACK NOTATION : (+d1 addr1 -- +d2 addr2) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Converts an input string into a number. LONG DEFINITION : Converts an input string into a number. NAME : FORGET PRONOUNCIATION : "forget" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : Removes multiple definitions, DP is ";backed up";. PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Deletes <;name>; from the dictionary. LONG DEFINITION : Used in the form: FORGET <;name>; . If <;name>; is found in the compilation vocabulary, delete <;name>; from the dictionary and all words added to the dictioanry after <;name>; regardless of their vocabulary. Failure to find <;name>; is an error condition. An error condition also exists if the compilation vocabulary is deleted. NAME : FORTH-83 PRONOUNCIATION : "forth-eighty-three" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Vocabulary ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Initializes FORTH-83 into the system. LONG DEFINITION : Assures that a FORTH-83 Standard System is available, otherwise an error condition exists. Execution has no action other than an immediate return to calling routine. NAME : FOVER PRONOUNCIATION : "f-over" VERSION : STACK NOTATION : (F:r1 r2 -- r1 r2 r1) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 3 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Place a copy of r1 on top of the floating-point stack. LONG DEFINITION : Place a copy of r1 on top of the floating-point stack. NAME : FROUND PRONOUNCIATION : "f-round" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Round r1 using the ";round to even"; rule, giving r2. LONG DEFINITION : Round r1 using the ";round to even"; rule, giving r2. NAME : FSIN PRONOUNCIATION : "f-sin" VERSION : STACK NOTATION : (F:r1 -- r2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R2 is the sine of the radian angle r1. LONG DEFINITION : R2 is the sine of the radian angle r1. NAME : FSP PRONOUNCIATION : "f-s-p" VERSION : STACK NOTATION : ( -- addr) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : stack ATTRIBUTE : STANDARD : SHORT DEFINITION: User variable holds floating-point stack pointer. LONG DEFINITION : User variable holds floating-point stack pointer. NAME : FSP0 PRONOUNCIATION : "f-s-p-zero" VERSION : STACK NOTATION : ( -- addr) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : stack ATTRIBUTE : STANDARD : SHORT DEFINITION: User variable holds initial value of floating- point stack pointer. LONG DEFINITION : User variable holds initial value of floating- point stack pointer. NAME : FSQRT PRONOUNCIATION : "f-square-root" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : SHORT DEFINITION: R2 is the square root of r1. LONG DEFINITION : R2 is the square root of r1. NAME : FSWAP PRONOUNCIATION : "f-swap" VERSION : STACK NOTATION : (F:r1 r2 -- r2 r1) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Exchange the top two floating-point stack items. LONG DEFINITION : Exchange the top two floating-point stack items. NAME : FTAN PRONOUNCIATION : "f-tan" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: R2 is the tangent of the radian angle r1. LONG DEFINITION : R2 is the tangent of the radian angle r1. NAME : FUZZIFY PRONOUNCIATION : "fuzzify" VERSION : V5.0 STACK NOTATION : ( addr1 addr2 u 8b --- ) # ARGUMENTS IN : 4 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Fuzzy ATTRIBUTE : STANDARD : SHORT DEFINITION: Fuzzify value 8b into table addr2 with u membership functions pointed to by addr1. LONG DEFINITION : The value 8b is given membership values in each of u categories at addr2 pointed to by the membership functions coded in addr1. This word uses the 68HC12 fuzzy assembler instruction MEM. NAME : FVARIABLE PRONOUNCIATION : "f-variable" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Create a floating-point variable. Reserve 6 bytes of data memory in the dictionary. LONG DEFINITION : Parse <;name>; delimited by a space, ignoring lead- ing delimiters. Create a dictionary entry for <;name>;. <;name>; is refered to as an ";f-variable."; Reserve 1 FLOATS bytes of data memory in the dictionary. NAME : HERE PRONOUNCIATION : "here" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Leaves the address of the next available dic- tionary location. LONG DEFINITION : The address of the next available dictionary location is left on the stack. NAME : HEX PRONOUNCIATION : "hex" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Numeric ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Sets the numeric input-output conversion base to sixteen. LONG DEFINITION : Set the numeric input-output conversion base to sixteen. NAME : HOLD PRONOUNCIATION : "hold" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( char --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : Modification of string below PAD . INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Inserts character into a pictured numeric out- put string. LONG DEFINITION : char is inserted into a pictured numeric output string. Typically used between <;# and #>; . NAME : I PRONOUNCIATION : "i" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- w ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Places the loop index onto the stack. LONG DEFINITION : w is the copy of the loop index. May only be used in the form: DO ... I ... LOOP or DO ... I ... +LOOP . NAME : ID. PRONOUNCIATION : "i-d-dot" VERSION : RSC NMI NMIDR STACK NOTATION : ( nfa --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : SHORT DEFINITION: Print <;name>; given name field address (NFA). LONG DEFINITION : Prints a definition's name from it's name field address. NAME : IF PRONOUNCIATION : "if" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( flag --- ), ( --- sys ) (compiling) # ARGUMENTS IN : 1 , 0 # ARGUMENTS OUT : 0 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : (I) STANDARD : F83-RWS-CL SHORT DEFINITION: Allows a program to branch on condition. LONG DEFINITION : Used in the form: flag IF ... ELSE ... THEN or flag IF ... THEN If flag is true, the words following IF are executed and the words following ELSE un- til just after THEN are skipped. The ELSE part is optional. If flag is false, words from IF through ELSE , or from IF through THEN (when no ELSE is used) are skipped. sys is balanced with its corresponding ELSE or THEN . NAME : IMMEDIATE PRONOUNCIATION : "immediate" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Marks the most recently created dictionary entry as a word that will be executed im- mediately even if FORTH is in compile mode. LONG DEFINITION : Marks the most recently created dictionary entry as a word which will be executed when en- countered during compilation rather than com- piled. NAME : INTERPRET PRONOUNCIATION : "interpret" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Begins text interpretation at the character in- dexed by the contents of >;IN relative to the block number contained in BLK, continuing until the input stream is exhausted. LONG DEFINITION : Begin text interpretation at the character in- dexed by the contents of >;IN relative to the block number contained in BLK , continuing un- til the input stream is exhausted. If BLK con- tains zero, interpret characters from the text input buffer. NAME : J PRONOUNCIATION : "j" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- w ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Returns the index of the next outer loop. LONG DEFINITION : w is a copy of the index of the next outer loop. May only be used within a nested DO- LOOP or DO-+LOOP in the form, for example: DO ... DO ... J ... LOOP ... +LOOP NAME : K PRONOUNCIATION : "k" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- w ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Returns the index of the second outer loop in nested do loops. LONG DEFINITION : w is the 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 NAME : KEY PRONOUNCIATION : "key" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- 16b) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-DL SHORT DEFINITION: Pauses to wait for a key to be pressed and then places the ASCII value of the key (n) on the stack. LONG DEFINITION : The least-significant 7 bits of 16b is the next ASCII character received. All valid ASCII characters can be received. Control characters are not processed by the system for any edit- ing purpose. Characters received by KEY will not be displayed. NAME : LATEST PRONOUNCIATION : "latest" VERSION : RSC NMI NMIDR STACK NOTATION : ( --- nfa ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Leaves name field address (nfa) of top word in CURRENT. LONG DEFINITION : Leaves the name field address of the top-most word in the CURRENT vocabulary. NAME : LEAVE PRONOUNCIATION : "leave" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : Removal of loop control parameters (2 words) DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : (I) STANDARD : F83-RWS-CL SHORT DEFINITION: Forces termination of a DO LOOP. LONG DEFINITION : Transfers execution to just beyond the next LOOP or +LOOP . The loop is terminated and loop control parameters are discarded. May only be used in the form: DO ... LEAVE ... LOOP or DO ... LEAVE ... +LOOP LEAVE may appear within other control struc- tures which are nested within the do-loop structure. More than one LEAVE may appear within a do-loop. NAME : LFA PRONOUNCIATION : "l-f-a" VERSION : RSC NMI NMIDR STACK NOTATION : ( pfaptr --- lfa ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Alter parameter field pointer address to link field address. LONG DEFINITION : Converts the parameter field address pointer pfaptr of a dictionary definition to its link field address (lfa). NAME : LITERAL PRONOUNCIATION : "literal" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Compile a system dependent operation so that when later executed, 16b will be left on the stack. LONG DEFINITION : Typically used in the form: [ 16b] LITERAL Com- piles a system dependent operation so that when later executed, 16b will be left on the stack. NAME : LOG2 PRONOUNCIATION : "log-2" VERSION : STACK NOTATION : (F:r1 -- r2) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : SHORT DEFINITION: R2 is the base 2 logarithm of r1. LONG DEFINITION : R2 is the base 2 logarithm of r1. NAME : LOOP PRONOUNCIATION : "loop" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( ---- ), ( sys --- ) (compiling) # ARGUMENTS IN : 0 , 1 # ARGUMENTS OUT : 0 , 0 RETURN STACK : Conditional removal of loop control parameters (2 words). DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Defines the end point of a do-loop. LONG DEFINITION : Increments the DO-LOOP by one. If the new in- dex was incremented across the boundary between limit-1 and limit the loop is terminated and loop control parameters are discarded. When the loop is not terminated, execution continues to just after the corresponding DO. sys is balanced with its corresponding DO . See DO . NAME : MAX PRONOUNCIATION : "max" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 --- n3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves the greater of n1 and n2 as n3. LONG DEFINITION : n3 is the greater of n1 and n2 according to the operation of >; NAME : MESSAGE PRONOUNCIATION : "message" VERSION : STACK NOTATION : (n -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : operating system ATTRIBUTE : STANDARD : SHORT DEFINITION: Prints error message # n. LONG DEFINITION : Prints on the selected output device the text of line n relative to screen 4 of device 0. n may be positive or negative. MESSAGE may be used to print incidental text such as report headers. If WARNING is zero, the message will simply be printed as a number (disc un-available). NAME : MIN PRONOUNCIATION : "min" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 --- n3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves the lessr of n1 and n2 as n3. LONG DEFINITION : n3 is the lesser of n1 and n2 according to the operation of <; . NAME : MOD PRONOUNCIATION : "mod" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 n2 --- n3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Divides n1 by n2 and leaves the remainder n3. LONG DEFINITION : n3 is the remainder after dividing n1 by the divisor n2. n3 has the same sign as n2 or is zero. An error condition results if the divisor is zero or if the quotient falls out- side the range {32,768...32,768}. NAME : NEGATE PRONOUNCIATION : "negate" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n1 --- n2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves the two's complement n2 of n1. LONG DEFINITION : n2 is the two's complement of n1, i.e., the dif- ference of zero less n1. NAME : NFA PRONOUNCIATION : "n-f-a" VERSION : RSC NMI NMIDR STACK NOTATION : ( pfaptr - nfa ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Alter parameter field pointer address to name field address. LONG DEFINITION : Converts the parameter field address pointer pfaptr of a definition to its name field ad- dress (nfa). NAME : NOT PRONOUNCIATION : "not" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b1 --- 16b2 ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Logic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Leaves the one's complement 16b2 of 16b1. LONG DEFINITION : 16b2 is the one's complement of 16b1. NAME : NUMBER PRONOUNCIATION : "number" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr --- d ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Converts the counted string at addr to d accord- ing to the value of BASE . LONG DEFINITION : 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 con- tain a preceding minus sign. NAME : ODD-POLY PRONOUNCIATION : "odd-poly" VERSION : STACK NOTATION : (F: -- r1)(addr -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Evaluate odd-polynomial giving r1. LONG DEFINITION : Evaluate odd-polynomial giving r1. NAME : OR PRONOUNCIATION : "or" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b1 16b2 --- 16b3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Logic ATTRIBUTE : STANDARD : SHORT DEFINITION: Leaves the inclusive-or 16b3 of 16b1 an 16b2. LONG DEFINITION : 16b3 is the bit-by-bit inclusive-or of 16b1 with 16b2. NAME : OVER PRONOUNCIATION : "over" VERSION : NMI STACK NOTATION : ( 16b1 16b2 --- 16b1 16b2 16b3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 3 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: 16b3 is a copy of 16b1. LONG DEFINITION : Duplicates the second item from the top of the data stack onto the data stack. NAME : PAD PRONOUNCIATION : "pad" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Puts onto stack the starting address in memory of scratchpad. LONG DEFINITION : The lower address of a scratch area used to hold data for intermediate processing. The ad- dress or contents of PAD may change and the data lost if the address of the next available dictionary location is changed. NAME : PFAPTR PRONOUNCIATION : "p-f-a-pointer" VERSION : RSC NMI NMIDR STACK NOTATION : ( nfa --- pfaptr ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Alter name field address to parameter field pointer address. LONG DEFINITION : Converts the name field address (nfa) of a pointer dictionary definition to its parameter field address (pfaptr). NAME : PI PRONOUNCIATION : "PI" VERSION : STACK NOTATION : (F: -- r1) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : SHORT DEFINITION: Put the numerical value of pi on the floating- point stack as r1. LONG DEFINITION : Put the numerical value of pi on the floating- point stack as r1. NAME : PICK PRONOUNCIATION : "pick" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( +n --- 16b ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Copies the data stack's +nth item onto the top. LONG DEFINITION : 16b is a copy of the +nth data stack value, not counting +n itself. 0 PICK is equivalent to DUP . 1 PICK is equivalent to OVER . NAME : PLACES PRONOUNCIATION : "places" VERSION : STACK NOTATION : (n -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Set the number of decimal places (digits to the right of the radix point) displayed by E. and F. LONG DEFINITION : Set the number of decimal places (digits to the right of the radix point) displayed by E. and F. The length, n, is stored in a user variable named #PLACES. NAME : POLY PRONOUNCIATION : "poly" VERSION : STACK NOTATION : (F: -- r1)(addr -- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: Evaluate polynomial giving r1. LONG DEFINITION : Evaluate polynomial giving r1. NAME : QUERY PRONOUNCIATION : "query" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Stores input characters into text input buffer. LONG DEFINITION : Characters are received and transfered into the memory area addressed by TIB . The transfer terminates when either a ";return"; is received or the number of characters transferred reaches the value of characters per line, C/L . 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 buf- fer. NAME : QUIT PRONOUNCIATION : "quit" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : Cleared. DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Clears the return stack, stops compilation and returns control to current input device. LONG DEFINITION : Clears the return stack, sets interpret state, accepts new input from the current input device and begins text interpretation. No message is displayed. NAME : R0 PRONOUNCIATION : "r-zero" VERSION : STACK NOTATION : ( -- addr) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : stack ATTRIBUTE : STANDARD : SHORT DEFINITION: Returns the address of the variable containing the initial value of the bottom of the return stack. LONG DEFINITION : Returns the address of the variable containing the initial value of the bottom of the return stack. NAME : R>; PRONOUNCIATION : "r-from" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- 16b ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : 16b removed DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: 16b is removed from the return stack and placed onto the data stack. LONG DEFINITION : 16b is removed from the return stack and trans- ferred to the data stack. NAME : R@ PRONOUNCIATION : "r-fetch" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- 16b ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : Copies 16b onto the data stack DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: 16b is a copy of the top of the return stack. LONG DEFINITION : Copies 16b from the top of the return stack onto the data/parameter stack. NAME : RAND_MAX PRONOUNCIATION : "rand-max" VERSION : V5.0 STACK NOTATION : ( --- +n ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : SHORT DEFINITION: The maximum random number. LONG DEFINITION : The maximum random number generated by the word RANDOM. NAME : RANDOM PRONOUNCIATION : "random" VERSION : V5.0 STACK NOTATION : ( --- +n ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : SHORT DEFINITION: Generate a random positive number. LONG DEFINITION : Generate a pseudo-random positive number between 0 and RAND_MAX. The value in the variable seed is used to generate the next random number. NAME : RECURSE PRONOUNCIATION : "recurse" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : Compiles address PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : C I 83 STANDARD : F83-CRW SHORT DEFINITION: Compile the compilation address of definition currently being defined. LONG DEFINITION : Compile the compilation address of the defini- tion currently being compiled to cause the definition to later be executed recursively. NAME : REPEAT PRONOUNCIATION : "repeat" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ), ( sys --- ) (compiling) # ARGUMENTS IN : 0 , 1 # ARGUMENTS OUT : 0 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Terminates a BEGIN...WHILE...REPEAT loop. LONG DEFINITION : Used in the form: BEGIN ... flag WHILE ...REPEAT At execution time, REPEAT continues execution to just after the corresponding BEGIN . sys is balanced with corresponding WHILE . See BEGIN . NAME : ROLL PRONOUNCIATION : "roll" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( +n --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Removes the stack's nth item and places it onto the top of stack. LONG DEFINITION : The nth stack value, not counting +n itself is first removed and then transfered to the top of the stack, moving the remaining values into the vacated position. 2 ROLL is equivalent to ROT . 0 ROLL is a null operation. NAME : ROT PRONOUNCIATION : "rot" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b1 16b2 16b3 --- 16b2 16b3 16b1 ) # ARGUMENTS IN : 3 # ARGUMENTS OUT : 3 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Rotates 16b1 to the top of the stack. LONG DEFINITION : The top three stack entries are rotated, bring- ing the deepest to the top. NAME : RP! PRONOUNCIATION : "r-p-store" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : stack ATTRIBUTE : STANDARD : SHORT DEFINITION: Initializes the bottom of the return stack. LONG DEFINITION : Initializes the bottom of the return stack. NAME : RP@ PRONOUNCIATION : "r-p-fetch" VERSION : STACK NOTATION : ( -- addr) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : stack ATTRIBUTE : STANDARD : SHORT DEFINITION: addr is the address of the top of the return stack just before RP@ was executed. LONG DEFINITION : addr is the address of the top of the return stack just before RP@ was executed. NAME : S->;D PRONOUNCIATION : "s-to-d" VERSION : RSC NMI NMIDR STACK NOTATION : ( n --- d ) # ARGUMENTS IN : 1 (1 word) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : SHORT DEFINITION: Sign extend single number to double number. LONG DEFINITION : Extends the sign of single number n to form double number d. NAME : S0 PRONOUNCIATION : "s-zero" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : U STANDARD : F83-URW SHORT DEFINITION: Returns the address of the variable containing the initial value of the bottom of the stack. LONG DEFINITION : A user variable containing the address of the bottom of the stack. NAME : S>;F PRONOUNCIATION : "s-to-f" VERSION : STACK NOTATION : (n--)(F: -- r) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point ATTRIBUTE : STANDARD : SHORT DEFINITION: R is the floating-point equivalent of n. LONG DEFINITION : R is the floating-point equivalent of n. NAME : seed PRONOUNCIATION : "seed" VERSION : V5.0 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : SHORT DEFINITION: Place the variable on the stack. LONG DEFINITION : Place the address of the seed variable on the stack. This location can be stored to to influence the next randomly generated number. See RANDOM. NAME : SF! PRONOUNCIATION : "s-f-store" VERSION : STACK NOTATION : (addr -- )(F:r -- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Store the floating point number r as a 32 bit IEEE single precision number at addr. LONG DEFINITION : Store the floating point number r as a 32 bit IEEE single precision number at addr. The mantissa will be rounded using the ";round to even"; rule. An exception exists if the exponent of r is too latge to be accommodated by the IEEE single precision format, and the largest available number, cor- rectly signed, will be stored instead. NAME : SF@ PRONOUNCIATION : "s-f-fetch" VERSION : STACK NOTATION : ( addr -- ) (F: -- r) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : floating-point extension ATTRIBUTE : STANDARD : ANSI basis 13 SHORT DEFINITION: Fetch the 32-bit IEEE single precision number stored at addr to the floating-point stack as r in the internal representation. LONG DEFINITION : Fetch the 32-bit IEEE single precision number stored at addr to the floating-point stack as r in the internal representation. NAME : SIGN PRONOUNCIATION : "sign" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( n --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : Conditional modification of string below PAD . INPUT : OUTPUT : GROUP : Format ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Appends an ASCII "; - "; (minus sign) to the start of a pictured numeric output string if n is negative. LONG DEFINITION : If n is negative, as ASCII ";-"; (minus sign) is appended to the pictured numeric out- put string. Typically used between <;# and #>; . NAME : SMUDGE PRONOUNCIATION : "smudge" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Toggles visibility bit in head, enabling defini- tions to be found. LONG DEFINITION : Used during word definition to toggle the ";smudge bit"; in a definition's name field. This prevents an un- completed definition from being found during dictionary searches, until compiling is completed without error. NAME : SP! PRONOUNCIATION : "s-p-store" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : stack ATTRIBUTE : STANDARD : SHORT DEFINITION: Initializes the bottom of the parameter stack. LONG DEFINITION : Initializes the bottom of the parameter stack. NAME : SP@ PRONOUNCIATION : "s-p-fetch" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: addr is the address of the top of the parameter stack just before SP@ was executed. LONG DEFINITION : Returns the address of the top of the parameter stack before SP@ is executed. NAME : SPACE PRONOUNCIATION : "space" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-DL SHORT DEFINITION: Sends a space (blank) to the current output device. LONG DEFINITION : Displays an ASCII space. NAME : SPACES PRONOUNCIATION : "spaces" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( +n --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-DL SHORT DEFINITION: Sends +n spaces (blanks) to the current output device. LONG DEFINITION : Displays +n ASCII spaces. Nothing is displayed if +n is zero. NAME : SPAN PRONOUNCIATION : "span" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : U STANDARD : F83-RWS-IL SHORT DEFINITION: Returns the address of the user variable that contains the count of characters received and stored by the most recent execution of EXPECT . LONG DEFINITION : The address of the user variable containing the count of characters actually received and stored by the last execution of EXPECT . NAME : STATE PRONOUNCIATION : "state" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Compiler ATTRIBUTE : U STANDARD : F83-RWS-CL SHORT DEFINITION: Returns the address of the user variable that contains a value defining the compilation state. LONG DEFINITION : The address of the user variable containing the compilation state. A non-zero content indi- cates compilation is occuring, but the value itself is system dependent. A Standard Program may not modify this variable. NAME : SWAP PRONOUNCIATION : "swap" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b1 16b2 --- 16b2 16b1 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 2 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Stack ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Exchanges positions of the top two items of the stack. LONG DEFINITION : The top two data stack entries are exchanged in position on the stack. NAME : TASK PRONOUNCIATION : "task" VERSION : RSC NMI NMIDR STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: A dictionary marker null word. LONG DEFINITION : A no-operation word which can mark the boundary between applications. By forgetting TASK and recompiling, an application can be discarded in its entirety. Its definition is : TASK ; . NAME : THEN PRONOUNCIATION : "then" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ), ( sys --- ) (compiling) # ARGUMENTS IN : 0 , 1 # ARGUMENTS OUT : 0 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Marks the end of a conditional branch or marks where execution will continue relative to a cor- responding IF or ELSE . LONG DEFINITION : Used in the form: flag IF ... ELSE ... THEN or flag IF ... THEN THEN is the point where execution continues after ELSE , or IF when no ELSE is present. sys is balanced with its corresponding IF or ELSE . See: IF ELSE NAME : TIB PRONOUNCIATION : "t-i-b" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- addr ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : U STANDARD : F83-RWS-IL SHORT DEFINITION: Returns the address of the start of the text- input buffer. LONG DEFINITION : The address of the text input buffer. This buffer is used to hold characters when the in- put stream is coming from the current input device. NAME : TOGGLE PRONOUNCIATION : "toggle" VERSION : STACK NOTATION : (addr b -- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : memory ATTRIBUTE : STANDARD : SHORT DEFINITION: Toggles setting of bits with mask b at addr. LONG DEFINITION : Complement the contents of addr by the bit pat- tern b. NAME : TRAVERSE PRONOUNCIATION : "traverse" VERSION : RSC NMI NMIDR STACK NOTATION : ( addr n --- addr ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : STANDARD : SHORT DEFINITION: Adjust addr positively or negatively until con- tents of addr is greater then $7F. LONG DEFINITION : Adjusts the addr in a negative or positive direction, depending on the sign of n, until the contents of addr is greater than $7F. n must be either 1 or -1 . NAME : TYPE PRONOUNCIATION : "type"" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( addr +n --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-DL SHORT DEFINITION: Displays a string of +n characters starting with the character at addr. LONG DEFINITION : +n characters are displayed from memory begin- ning with character at addr and continuing through consecutive addresses. Nothing is dis- played if +n is zero. NAME : U. PRONOUNCIATION : "u-dot" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( u --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : Bytes below PAD modified as temporary area where +n is converted to string. INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Displays the unsigned value of u followed by a space. LONG DEFINITION : u is displayed as an unsigned number in a free- field format. NAME : U.R PRONOUNCIATION : "u-dot-r" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( u +n --- ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : Bytes below PAD modified as temporary area where +n is converted to string. INPUT : OUTPUT : GROUP : I/O ATTRIBUTE : STANDARD : F83-CRW SHORT DEFINITION: Displays the value of u right justified in a field +n characters wide according to the value of BASE. LONG DEFINITION : 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. NAME : U<; PRONOUNCIATION : "u-less-than" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( u1 u2 --- flag ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Comparison ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Returns a true flag if u1 is less then u2. LONG DEFINITION : flag is true if u1 is less than u2. NAME : UABORT PRONOUNCIATION : "u-abort" VERSION : STACK NOTATION : ( -- addr) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : operating system ATTRIBUTE : STANDARD : SHORT DEFINITION: User variable points to ABORT routine. LONG DEFINITION : User variable points to ABORT routine. NAME : UM* PRONOUNCIATION : "u-m-times" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( u1 u2 --- ud ) # ARGUMENTS IN : 2 (2 words) # ARGUMENTS OUT : 1 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Multiplies u1 and u2 returning the double length product ud. LONG DEFINITION : ud is the unsigned product of u1 times u2. All values and arithmetic are unsigned. NAME : UM/MOD PRONOUNCIATION : "u-m-divide-mod" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( ud u1 --- u2 u3 ) # ARGUMENTS IN : 2 (3 words) # ARGUMENTS OUT : 2 (2 words) RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Arithmetic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Divides the double length unsigned number ud by u1 and returns the single length remainder u2 and the single length quotient u3. LONG DEFINITION : u2 is the remainder and u3 is the floor of the quotient after dividing ud by the divisor u1. All values and arithmetic are unsigned. An er- ror condition results if the divisor is zero or if the quotient lies outside the range {0...65,535}. NAME : UNDO PRONOUNCIATION : "undo" VERSION : NMI NMIDR STACK NOTATION : ( --- ) # ARGUMENTS IN : # ARGUMENTS OUT : RETURN STACK : DICTIONARY : Removes latest definition, DP is ";backed up";. PAD : INPUT : OUTPUT : GROUP : Dictionary ATTRIBUTE : I STANDARD : SHORT DEFINITION: Forget the latest definition regardless of smudge condition. LONG DEFINITION : Forget the latest definition regardless of smudge condition. NAME : UNTIL PRONOUNCIATION : "until" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( flag --- ), ( sys --- ) (compiling) # ARGUMENTS IN : 1 , 1 # ARGUMENTS OUT : 0 , 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Marks the end of an indefinite loop. LONG DEFINITION : Used in the form: BEGIN ... flag UNTIL Marks the end of a BEGIN-UNTIL loop which will ter- minate based on flag. If flag is true, the loop is terminated. If flag is false, execu- tion continues to just after the corresponding BEGIN . sys is balanced with its corresponding BEGIN . See: BEGIN NAME : USER PRONOUNCIATION : "user" VERSION : RSC NMI NMIDR STACK NOTATION : ( n --- ) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Create a user variable. LONG DEFINITION : A defining word used in the form: n USER <;name>; which creates a user variable <;name>;. The parameter field of <;name>; contains n as a fixed offset relative to the user pointer register UP for this user variable. When <;name>; is later executed, it places the sum of its offset and the user area base ad- dress on the stack as the storage address of that particular variable. NAME : VARIABLE PRONOUNCIATION : "variable" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : <;name>; is removed from input stream. OUTPUT : GROUP : Definition ATTRIBUTE : STANDARD : F83-RWS-CL SHORT DEFINITION: Creates a single length variable. LONG DEFINITION : A defining word executed in the form: VARIABLE <;name>; . A dictionary entry for <;name>; is created and two bytes are ALLOTed in its parameter field. This parameter field is to be used for contents of the variable. The applica- tion is responsible for initializing the con- tents of the variable which it creates. When <;name>; is later executed, the address of its parameter field is placed on the stack. NAME : WARNING PRONOUNCIATION : "warning" VERSION : STACK NOTATION : ( -- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : operating system ATTRIBUTE : STANDARD : SHORT DEFINITION: User variable controls error handling. LONG DEFINITION : User variable controls error handling. (Refer to the definition of ERROR). NAME : WHILE PRONOUNCIATION : "while" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( flag --- ) ( sys1 --- sys2 ) (compiling) # ARGUMENTS IN : 1 , 1 # ARGUMENTS OUT : 0 , 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Control ATTRIBUTE : I C STANDARD : F83-RWS-CL SHORT DEFINITION: Decides the continuation or termination of a BEGIN...WHILE...REPEAT loop. LONG DEFINITION : Used in the form: BEGIN ... flag WHILE ... REPEAT Selects conditional execution based on flag. When flag is true, execution continues to just after the WHILE through to the REPEAT which then continues execution back to just after the BEGIN . When flag is false, execution con- tinues to just after the REPEAT , exiting the control structure. sys1 is balanced with its corresponding BEGIN . sys2 is balanced with its corresponding REPEAT . See: BEGIN NAME : WORD PRONOUNCIATION : "word" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( char --- addr) # ARGUMENTS IN : 1 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Interpreter ATTRIBUTE : STANDARD : F83-RWS-IL SHORT DEFINITION: Generates a counted string until an ASCII code, char is encountered or the input stream is ex- hausted. Returns addr which is the beginning address of where the counted string are stored. LONG DEFINITION : Generates a counted string at HERE by non- destructively accepting characters from the in- put stream until the delimiting character, char, is encountered or the input stream is ex- hausted. Leading delimiters are ignored. The entire character string is stored in memory beginning at addr as a sequence of bytes. The string is followed by a blank which is not included in the count. The first byte in the string is the number of characters {0...255}. If the string is longer than 255 characters, the count is unspecified. If the input stream is already exhausted as WORD called, then a zero length character string will result. The counted string returned by WORD may reside in the ";free"; dictionary are at HERE or above. Note that the text inter- preter may also use this area. NAME : WORDS PRONOUNCIATION : "words" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( --- ) # ARGUMENTS IN : 0 # ARGUMENTS OUT : 0 RETURN STACK : DICTIONARY : PAD : INPUT : Optional termination with any character input. OUTPUT : List of words. GROUP : Vocabulary ATTRIBUTE : STANDARD : F83-URW SHORT DEFINITION: Lists all the words in the CURRENT vocabulary. LONG DEFINITION : List the word names in the first vocabulary of the currently active search order. NAME : XOR PRONOUNCIATION : "exclusive-or" VERSION : NMI NMIDR FORTH-83 STACK NOTATION : ( 16b1 16b2 --- 16b3 ) # ARGUMENTS IN : 2 # ARGUMENTS OUT : 1 RETURN STACK : DICTIONARY : PAD : INPUT : OUTPUT : GROUP : Logic ATTRIBUTE : STANDARD : F83-RWS-NL SHORT DEFINITION: Performs a bit-by-bit exclusive or of 16b1 with 16b2 to give 16b3. LONG DEFINITION : 16b3 is the bit-by-bit exclusive-or of 16b1 with 16b2.