
<hr><h3><A name="14">up@</A> ( -- adr )</h3>
<br>
adr is the address of the private data area of the currently executing task, 
which happens to be the starting address of its user area.  This allows a task 
to refer to itself without knowing its name.  

<hr><h3><A name="44">t</A> ( --  )</h3>
<br>
modifier, force -T pin.  

<hr><h3><A name="74">"load</A> ( filename-pstr -- )</h3>
<br>
The file descriptor for the current input stream is saved.  The interpreter's 
input is then taken from the file named by the packed string whose address is 
filename-pstr.  When the end of that file is reached, the previous interpreter 
input source is restored.  An error condition exists if the specified file 
cannot be accessed.  

<hr><h3><A name="a4">(endof)</A> ( -- )</h3>
<br>
The run-time word compiled by  <code><A href="_smal_AA#1e0"> endof </A>.</code> 
At run time, execution continues at the next enclosing  <code><A href="_smal_AT#a3"> (endcase) </A>.</code> 

<hr><h3><A name="d4">.</A> ( n  -- )</h3>
 Extra: M,ANS,83Std
<br>
The absolute value of n is displayed in a free field format with a leading minus 
sign if n is negative, and a trailing space.  
<p>
Implementation Note: If the base is hex, .  displays the number in unsigned 
format, since signed hex display is hardly ever what you want.  Use  <code><A href="_smal_BI#2c0"> s. </A></code> 
if you ever should want to display signed hex numbers.  See  <code><A href="_smal_BI#2c0"> s. </A></code> 

<hr><h3><A name="104">2@</A> ( addr -- n1 n2 )</h3>
 Extra: 32,ANS,83Std
<br>
n1 and n2 are two numbers stored in consecutive locations starting at addr.  n2 
is the number which was stored at the lower address.  

<hr><h3><A name="134">?empty</A> ( stack -- flag )</h3>
<br>
flag is true if the user stack is empty.  

See:  <code><A href="_smal_AP#2df"> stack: </A></code> 

<hr><h3><A name="164">blk</A> ( -- addr )</h3>
 Extra: 83Std
<br>
A  <code><A href="_smal_BK#322"> user </A></code> variable containing the number 
of the mass storage block being interpreted as the input stream.  If the value 
of  <code><A href="_smal_AU#164"> blk </A></code> is zero the input stream is 
taken from the text input buffer.  {{0..the number of blocks available -1}} 

See:  <code><A href="_smal_BM#2f4"> tib </A></code> 
<p>
This word is  <code><A href="_smal_AM#27c"> not </A></code> implemented in the 
default system.  The file extend.block contains an implementation which may 
loaded if necessary.  

<hr><h3><A name="194">context</A> ( -- addr )</h3>
 Extra: 83Std
<br>
The address of a  <code><A href="_smal_BK#322"> user </A></code> variable which 
determines the dictionary search order.  

<hr><h3><A name="1c4">do-defined</A> ( acf n -- ?? )</h3>
 Extra: Deferred
<br>
 <code><A href="_smal_AU#1c4"> do-defined </A></code> is a deferred word which 
is executed from  <code><A href="_smal_AR#71"> "compile </A></code> after the 
word under consideration has been found in the dictionary.  acf is the 
compilation address of the word that was found, and n is 1 if that word is 
immediate, or -1 if it isn't.  
<p>
 <code><A href="_smal_AQ#190"> compile-do-defined </A></code> is the 
implementation of  <code><A href="_smal_AU#1c4"> do-defined </A></code> used 
while compiling, and  <code><A href="_smal_BK#232"> interpret-do-defined </A></code> 
is the implementation used while interpreting.  
<p>
It is possible to install user-defined implementations of  <code><A href="_smal_AU#1c4"> do-defined </A></code> 
in order to "customize" the text interpreter.  See "Text Interpreter" for some 
suggestions.  
<p>

See:  <code><A href="_smal_AQ#190"> compile-do-defined </A></code>  <code><A href="_smal_BK#232"> interpret-do-defined </A></code> 
"Text Interpreter" 

<hr><h3><A name="1f4">fcount</A> ( -- )</h3> <kbd>pattern</kbd> 
<br>
Counts number of files and their length.) ifend 
<p>
N: FENCE  <code><A href="_smal_BU#bc"> (s </A></code> -- addr) (X F83) Category: 
Security (B  <code><A href="_smal_BK#322"> user </A></code> variable containing 
the maximum FORGETable address) (D A  <code><A href="_smal_BK#322"> user </A></code> 
variable containing the maximum  <code><A href="_smal_BQ#208"> forget </A></code> 
able address.  An attempt to  <code><A href="_smal_BQ#208"> forget </A></code> a 
word whose link field address is less than the address contained in FENCE will 
cause  <code><A href="_smal_BQ#208"> forget </A></code> to abort.  

<hr><h3><A name="224">ifd</A> ( -- addr )</h3>
<br>
A variable containing the file descriptor of an input file that was opened by  <code><A href="_smal_AJ#2a9"> reading </A></code> 
or  <code><A href="_smal_AI#2a8"> read-open </A>.</code> 

See:  <code><A href="_smal_AJ#2a9"> reading </A></code>  <code><A href="_smal_AI#2a8"> read-open </A></code> 
<p>
 <code><A href="_smal_AU#224"> ifd </A></code> exists purely for convenience.  
None of the primitive file system operations require its existence.  In many 
applications involving files, only one input file is needed.  In these cases,  <code><A href="_smal_AU#224"> ifd </A></code> 
provides a convenient predefined variable in which to store the file descriptor.  

<hr><h3><A name="254">ll</A> ( -- )</h3> <kbd>objpattern</kbd> 
<br>
Lists file information about objpattern.  Default pattern is *.  

See:  <code><A href="_smal_AQ#1c0"> dir </A></code>  <code><A href="_smal_BF#25d"> ls </A>.</code> 

<hr><h3><A name="284">of</A> ( selector test-value -- )</h3>
 Extra: compiling
<br>
 ( -- sys )<br>
<br>
Used inside a  <code><A href="_smal_BP#177"> case </A></code> ...   <code><A href="_smal_BX#1df"> endcase </A></code> 
construct in the form: 
<br><code>    test-value of ... endof</code><br>
If selector is equal to test-value, the words between  <code><A href="_smal_AU#284"> of </A></code> 
and  <code><A href="_smal_AA#1e0"> endof </A></code> are executed with both 
selector and test-value removed from the stack.  If selector is not equal to 
test-value, the words between  <code><A href="_smal_AU#284"> of </A></code> and  <code><A href="_smal_AA#1e0"> endof </A></code> 
are skipped, and execution continues just past the  <code><A href="_smal_AA#1e0"> endof </A>,</code> 
with selector remaining on the stack.  

See:  <code><A href="_smal_BP#177"> case </A></code> 

<hr><h3><A name="2b4">rmargin</A> ( -- addr )</h3>
<br>
A variable containing the column number of the right margin.  The output 
formatting commands cause the automatic generation of a new line when the 
current line length exceeds the column number contained herein.  

See:  <code><A href="_smal_AV#255"> lmargin </A></code>  <code><A href="_smal_AQ#130"> ?cr </A></code>  <code><A href="_smal_BB#139"> ?line </A></code> 

<hr><h3><A name="2e4">string-load</A> ( addr len -- )</h3>
<br>
Interpret Forth source code from a memory buffer beginning at addr and 
continuing for len bytes.  This works by setting up a file descriptor that 
describes the memory buffer, and then using  <code><A href="_smal_BH#af"> (load </A></code> 
to interpret that fake file.  Same as  <code><A href="_smal_AJ#1e9"> eval </A>.</code> 

<hr><h3><A name="314">um/mod</A> ( ud.dividend un.divisor -- un.rem un.quot )</h3>
<br>
un.rem is the remainder and un.quot is the floor of the quotient after dividing 
ud.dividend by the divisor un.divisor.  All values and arithmetic are unsigned.  
The dividend is a double number; the divisor and the results are the cell size 
for the system.  

See:  <code><A href="_smal_AI#2d8"> sm/rem </A></code>  <code><A href="_smal_BN#205"> fm/mod </A></code> 

<hr><h3><A name="344">[compile]</A> ( -- )</h3> <kbd>name</kbd> 
 Extra: compiling
<br>
 ( -- )<br>
<br>
Used in the form: 
<br><code>    [compile] &lt;name&gt;</code><br>
Forces the compilation of the immediate word &lt;name&gt;.  

See:  <code><A href="_smal_BT#29b"> postpone </A></code>  <code><A href="_smal_AN#9d"> compile, </A></code> 
