
<hr><h3><A name="15">main-task</A> ( -- task )</h3>
<br>
task is the address of the private data area of the only task that was around in 
the beginning.  Usually this task is executing the Forth interpreter, but it 
doesn't necessarily have to be.  

<hr><h3><A name="45">^</A> ( --  )</h3>
<br>
modifier, force access to user-mode registers.  

<hr><h3><A name="75">"move</A> ( pstr1 pstr2 -- pstr2 )</h3>
<br>
pstr1 is the address of a packed string which is copied to pstr2.  pstr2 is left 
on the stack for further work.  

<hr><h3><A name="a5">(files</A> ( match-pstr -- )</h3>
<br>
Displays file names matching the given pattern.  

<hr><h3><A name="d5">."</A> ( -- )</h3> <kbd>ccc"</kbd> 
 Extra: compiling
<br>
 ( -- )<br>
<br>
Used inside colon definitions in the form: 
<br><code>    ." ccc"</code><br>
Later execution will display the characters ccc up to but not including the 
delimiting " (close-quote).  The space following  <code><A href="_smal_AV#d5"> ." </A></code> 
is not part of ccc.  

<hr><h3><A name="105">2constant</A> ( n1 n2  -- )</h3>
 Extra: M,83Std
<br>
A defining word used in the form: 
<br><code>    n1 n2  2constant  &lt;name&gt;</code><br>
Creates a dictionary entry for &lt;name&gt; so that when &lt;name&gt; is later 
executed, n1 and n2 will be left on the stack in the same order as when  <code><A href="_smal_AV#105"> 2constant </A></code> 
was executed.  

<hr><h3><A name="135">?enough</A> ( n -- )</h3>
<br>
Aborts if the stack depth excluding n is less than n.  A word may use this to 
make sure that it has been called with enough arguments.  

<hr><h3><A name="165">block</A> ( u -- addr )</h3>
 Extra: M,83Std
<br>
addr is the address of the assigned buffer of the first byte of block u.  If the 
block occupying that buffer is not block u and has been  <code><A href="_smal_BI#320"> update </A>d</code> 
it is transferred to mass storage before assigning the buffer.  If block u is 
not already in memory, it is transferred from mass storage into an assigned 
block buffer.  A block may not be assigned to more than one buffer.  If u is not 
an available block number, an error condition exists.  Only data within the last 
buffer referenced by  <code><A href="_smal_AV#165"> block </A></code> or  <code><A href="_smal_BD#16b"> buffer </A></code> 
is valid.  The contents of a block buffer must not be changed unless the change 
may be transferred to mass storage.  
<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="195">control</A> ( -- char )</h3> <kbd>ccc</kbd> 
 Extra: compiling
<br>
 ( -- )<br>
<br>
Used in the form: 
<br><code>    control ccc</code><br>
where the delimiter of ccc is a space.  char is the control character value of 
the first character in ccc.  For example, if ccc is J, then char is control J, 
or decimal 10.  ccc may be either upper or lower case, with the same results 
either way.  
<p>
If interpreting, char is left on the stack.  If compiling, compile char as a 
literal so that when the colon definition is later executed, char is left on the 
stack.  

<hr><h3><A name="1c5">do-dliteral</A> ( d -- ?? )</h3>
 Extra: Deferred
<br>
 <code><A href="_smal_AV#1c5"> do-dliteral </A></code> (not to be confused with 
the famous Doctor) is a deferred word which is executed from  <code><A href="_smal_AR#71"> "compile </A></code> 
if the word under consideration is a double number.  d is the value of that 
number.  
<p>
 <code><A href="_smal_AP#18f"> compile-do-dliteral </A></code> is the 
implementation of  <code><A href="_smal_AV#1c5"> do-dliteral </A></code> used 
while compiling, and  <code><A href="_smal_BM#234"> interpret-do-dliteral </A></code> 
is the implementation used while interpreting.  
<p>
It is possible to install user-defined implementations of  <code><A href="_smal_AV#1c5"> do-dliteral </A></code> 
in order to "customize" the text interpreter.  See Text Interpreter" for some 
suggestions.  
<p>

See:  <code><A href="_smal_AT#253"> literal? </A></code>  <code><A href="_smal_AP#18f"> compile-do-dliteral </A></code>  <code><A href="_smal_BM#234"> interpret-do-dliteral </A></code>  <code><A href="_smal_AR#191"> compile-do-literal </A></code>  <code><A href="_smal_BL#233"> interpret-do-literal </A></code> 
"Text Interpreter".  

<hr><h3><A name="1f5">fexit</A> ( -- )</h3>
<br>
The rest of the input file in which  <code><A href="_smal_AV#1f5"> fexit </A></code> 
is encountered is ignored.  This is implemented by seeking to the end of the 
input file so that the next attempt to read it will return end-of-file.  

<hr><h3><A name="225">ifdef</A> ( -- )</h3> <kbd>name</kbd> 
<br>
Used in the form: 
<br><code>    ifdef &lt;name&gt; ... otherwise ... ifend</code><br>
If &lt;name&gt; is already defined, everything up to the matching  <code><A href="_smal_BG#28e"> otherwise </A></code> 
is executed.  Otherwise everything between  <code><A href="_smal_BG#28e"> otherwise </A></code> 
and  <code><A href="_smal_AW#226"> ifend </A></code> is executed.  

See:  <code><A href="_smal_BG#28e"> otherwise </A></code>  <code><A href="_smal_AW#226"> ifend </A></code> 

<hr><h3><A name="255">lmargin</A> ( -- addr )</h3>
 Extra: F83
<br>
A variable containing the column number of the left margin.  When the output 
formatting commands cause the automatic generation of a new line, the new line 
begins in the column number contained herein.  

See:  <code><A href="_smal_BB#139"> ?line </A></code>  <code><A href="_smal_AQ#130"> ?cr </A></code>  <code><A href="_smal_AU#2b4"> rmargin </A></code> 

<hr><h3><A name="285">ofd</A> ( -- addr )</h3>
<br>
A variable containing the file descriptor of an output file that was opened by  <code><A href="_smal_AM#33c"> writing </A>,</code>  <code><A href="_smal_AI#278"> new-file </A>,</code> 
or  <code><A href="_smal_AL#33b"> write-open </A>.</code> 

See:  <code><A href="_smal_AM#33c"> writing </A></code>  <code><A href="_smal_AL#33b"> write-open </A></code>  <code><A href="_smal_AI#278"> new-file </A></code>  <code><A href="_smal_BX#14f"> append-open </A></code> 
<p>
 <code><A href="_smal_AV#285"> ofd </A></code> exists purely for convenience.  
None of the primitive file system operations require its existence.  In many 
applications involving files, only one output file is needed.  In these cases,  <code><A href="_smal_AV#285"> ofd </A></code> 
provides a convenient predefined variable in which to store the file descriptor.  

<hr><h3><A name="2b5">rmdir</A> ( -- )</h3> <kbd>directory</kbd> 
<br>
The named directory (folder) is removed from the disk.  Same as  <code><A href="_smal_AG#2a6"> rd </A>.</code> 

<hr><h3><A name="2e5">substring?</A> ( pstr1 pstr2 -- flag )</h3>
<br>
Flag is true if pstr1 is identical to the leading portion of pstr2.  

<hr><h3><A name="315">umax</A> ( u1 u2 -- u3 )</h3>
<br>
u3 is the maximum of the unsigned numbers u1 and u2.  

<hr><h3><A name="345">\</A> ( -- )</h3> <kbd>rest-of-line</kbd> 
 Extra: F83
<br>
The remainder of the current input line is ignored.  
