
<hr><h3><A name="6">fork</A> ( task-apf --  )</h3>
<br>
obsolete now! 

<hr><h3><A name="36">ldr</A> ( r-data r-adr operand2 --  )</h3>
<br>
r-data is read from memory, the default is word (32-bit) wide, but the modifier  <code><A href="_smal_BQ#28"> byte </A></code> 
sets this byte-wide access.  
<p>
The address is calculated using r-adr and the operand2.  It can be another 
register (the shift specified as usual by a 5-bit literal and a shift type) or a 
12-bit immediate offset.  
<p>
operand2 can be added to or subtracted from r-adr according to the addressing 
mode defined by two letters.  The first tells whether (i)ncreasing or 
(d)decreasing should be used, the second whether the in/decreasing takes place 
(b)efore or (a)fter the memory access.  A "!" at the end tells "write-back" will 
take place.  So these modes are possible 
<br><code>         da  ia  db  ib    \ decrease/increase after/before</code><br>
<br><code>         da  ia! db! ib!   \ as above plus write-back</code><br>

<hr><h3><A name="66">hops</A> ( n -- )</h3>
<br>
Used when the system is stopped at a breakpoint, to execute the next n assembly 
language instructions.   <code><A href="_smal_AG#66"> hops </A></code> is 
similar to  <code><A href="_smal_AI#68"> steps </A>,</code> except that  <code><A href="_smal_AG#66"> hops </A></code> 
treats a subroutine as a single instruction and executes the entire subroutine 
before returning to the user, instead of stepping down into the subroutine.  

See:  <code><A href="_smal_AF#65"> hop </A>,</code>  <code><A href="_smal_AH#67"> step </A>,</code>  <code><A href="_smal_AI#68"> steps </A>.</code> 

<hr><h3><A name="96">(?leave)</A> ( flag -- )</h3>
<br>
The run-time word compiled by  <code><A href="_smal_BA#138"> ?leave </A>.</code> 
At run time, the next enclosing  <code><A href="_smal_AT#1c3"> do </A></code> ..   <code><A href="_smal_BC#25a"> loop </A></code> 
is exited if flag is true, otherwise execution continues.  

<hr><h3><A name="c6">*</A> ( n1 n2  --  n3 )</h3>
 Extra: ANS,83Std
<br>
n3 is the arithmetic product of n1 times n2.  If the result cannot be 
represented in one stack entry, the least significant bits are kept.  

<hr><h3><A name="f6">0&lt;=</A> ( n  --  flag )</h3>
<br>
flag is true if n is less than or equal to zero.  

<hr><h3><A name="126">&gt;relbit</A> ( addr -- offset rel-table-addr )</h3>
<br>
addr is an address within the dictionary.  offset is the word offset from the 
dictionary origin, and rel-table-addr is the address of the relocation table.  
Used by  <code><A href="_smal_BW#be"> (set-relocation-bit </A>.</code> 

<hr><h3><A name="156">at?</A> ( -- line column  )</h3>
<br>
Gets the cursor position in the current terminal.  

<hr><h3><A name="186">cnot</A> ( c1 -- c2 )</h3>
<br>
c2 is the result of logically inverting the lower 8 bits of c1.  The upper bits 
of c1 are unaffected.  

<hr><h3><A name="1b6">definer</A> ( acf -- definer-acf )</h3>
<br>
definer-acf is the compilation address of the defining word which defined the 
word whose compilation address is acf.  

<hr><h3><A name="1e6">erase-screen</A> ( -- )</h3>
<br>
The entire screen is cleared and the cursor is left at the upper-left corner.  

<hr><h3><A name="216">get-ticks</A> ( -- n  )</h3>
<br>
Get the operating system independent ticker increasing every MS/TICK mseconds.  
The implementations differ a lot,  <code><A href="_smal_AG#216"> get-ticks </A></code> 
can be derived from the system time call or can be obtained from an interrupt 
variable.  In Risc-OS Forthmacs there is an internal 100hz interrupt at  <code><A href="_smal_AC#1e2"> env-area </A></code> 
+ $180 the address might change with future releases.  

See:  <code><A href="_smal_AN#d"> ms </A></code> MS/TICK 

<hr><h3><A name="246">left</A> ( -- )</h3>
<br>
Moves the cursor left one column, unless it is already in the leftmost column.  

<hr><h3><A name="276">needs</A> ( -- )</h3> <kbd>name filename</kbd> 
<br>
Used in the form: 
<br><code>    needs &lt;name&gt; &lt;filename&gt;</code><br>
If &lt;name&gt; is already defined, does nothing.  If &lt;name&gt; is not 
defined, loads the file &lt;filename&gt;.  Usually, the file is a source code 
file defining the desired word, and  <code><A href="_smal_AG#276"> needs </A></code> 
is used to make sure that the word is available.  

<hr><h3><A name="2a6">rd</A> ( -- )</h3> <kbd>directory</kbd> 
<br>
Deletes a directory.  Same as  <code><A href="_smal_AV#2b5"> rmdir </A>.</code> 

<hr><h3><A name="2d6">size</A> ( -- )</h3> <kbd>pattern</kbd> 
<br>
Shows the sizes and more information of the files matching pattern.  The default 
pattern is * 

<hr><h3><A name="306">tuck</A> ( n1 n2 -- n2 n1 n2 )</h3>
<br>
Copies the top of the stack underneath the second item.  This is a very handy 
stack manipulation operator that is equivalent to  <code><A href="_smal_AW#2e6"> swap </A></code>  <code><A href="_smal_BH#28f"> over </A>.</code> 

<hr><h3><A name="336">word</A> ( char -- pstr )</h3>
 Extra: Deferred,M,83Std
<br>
A deferred word which collects a string delimited by char from the input stream.  
The string is placed in memory as a packed string whose address is returned on 
the stack.  The Default implementation is  <code><A href="_smal_AF#c5"> (word </A>.</code> 

See:  <code><A href="_smal_AF#c5"> (word </A></code>  <code><A href="_smal_BD#1fb"> fgetword </A></code>  <code><A href="_smal_BC#1fa"> fgettill </A></code>  <code><A href="_smal_BS#8a"> 'word </A></code> 
