
<hr><h3><A name="a">sleep</A> ( task --  )</h3>
<br>
task is the address of the private data area of a task, as left by the &lt;name&gt; 
of a task.  The task is put to sleep, so that it will be skipped each time that 
its turn in the round robin queue comes up.  This is the appropriate way to 
suspend the activity of another task.  

<hr><h3><A name="3a">next</A> ( --  )</h3>
<br>
Assembler macro which assembles the  <code><A href="_smal_AK#3a"> next </A></code> 
routine, which is the Forth address interpreter.  
<p>
In Risc-OS Forthmacs this is one single instruction.  
<br><code>         pc  ip  )+  ldr</code><br>

<hr><h3><A name="6a">trace</A> ( --  )</h3> <kbd>name</kbd> 
<br>
Starts tracing a primitive by  <code><A href="_smal_AD#63"> cstart </A>.</code> 
A breakpoint should be set before  <code><A href="_smal_AK#6a"> trace </A>.</code> 

<hr><h3><A name="9a">(cd</A> ( pathname-pstr -- )</h3>
<br>
Change the current directory to the directory named by the packed string 
pathname-pstr.  You can find more help in the chapter "Files" in this manual.  

<hr><h3><A name="ca">+!</A> ( n|u addr -- )</h3>
 Extra: ANS,83Std
<br>
n is added to the "normal" length value at addr using the convention for <strong>+</strong> 
.  This sum replaces the original value at addr.  Think about aligning,  <code><A href="_smal_BT#2cb"> see </A>:</code> 
! 

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

<hr><h3><A name="12a">&gt;user</A> ( apf -- user-var-addr )</h3>
<br>
user-var-addr is the address of the data storage area of the  <code><A href="_smal_BK#322"> user </A></code> 
variable whose parameter field address is apf.  In this implementation, 
vocabularies and deferred words also keep their data in the  <code><A href="_smal_BK#322"> user </A></code> 
area, so  <code><A href="_smal_AK#12a"> &gt;user </A></code> also works for 
them.  

<hr><h3><A name="15a">beep</A> ( -- )</h3>
 Extra: F83
<br>
Transmits a bell character (hex 7) to the output stream, which causes the system 
to make a sound.  

<hr><h3><A name="18a">cold-code</A> ( -- )</h3>
 Extra: Deferred
<br>
Code executed when booting Risc-OS Forthmacs, sets all handlers, interrupts, 
installs the OS environment, initialises the stacks ...  

See:  <code><A href="_smal_AL#18b"> cold-hook </A></code> 

<hr><h3><A name="1ba">delete-char</A> ( -- )</h3>
<br>
The character under the cursor is deleted from the screen, moving all the 
characters to the right leftward to fill in the gap.  

<hr><h3><A name="1ea">even</A> ( n1 -- n2 )</h3>
<br>
If n1 is odd, n2 is one more than n1.  If n1 is even, n2 is n1.  

<hr><h3><A name="21a">headerless</A> ( --  )</h3>
 Extra: extend source code
<br>
Compile headerless definitions until  <code><A href="_smal_AL#21b"> headers </A>.</code>  <code><A href="_smal_AK#21a"> headerless </A></code> 
is defined in <em>extend/headless.fth</em> .  
<p>
Note: needs  <code><A href="_smal_AD#303"> transient </A></code> and  <code><A href="_smal_AO#2ae"> resident </A></code> <em>extend/transient.fth</em> 

See:  <code><A href="_smal_AL#21b"> headers </A></code> 

<hr><h3><A name="24a">limit</A> ( -- addr )</h3>
<br>
 <code><A href="_smal_BM#324"> value </A></code> pointing to the high end of the 
dictionary space.  

<hr><h3><A name="27a">nip</A> ( n1 n2 -- n2 )</h3>
 Extra: F83
<br>
Discards the second element from the data stack.  

<hr><h3><A name="2aa">recursive</A> ( -- )</h3>
 Extra: C,I,F83
<br>
Used when compiling a colon definition.  Makes the name of the colon definition 
being compiled visible, so that it will be found in the dictionary.  This allows 
the word to be used recursively by compiling the name of the word inside of its 
own definition.  For example, here is a recursive definition of factorial.  
<br><code>    : factorial ( n -- n-factorial )  recursive</code><br>
<br><code>         dup if   dup 1- factorial *</code><br>
<br><code>         else 1+</code><br>
<br><code>         then ;</code><br>

<hr><h3><A name="2da">sp0</A> ( --  addr )</h3>
<br>
addr is the address of a variable which contains the address of the bottom of 
the data stack.  One way to clear the data stack is to execute  <code><A href="_smal_AK#2da"> sp0 </A></code> 
@  <code><A href="_smal_AJ#2d9"> sp! </A>.</code> (But it's probably more 
convenient to use  <code><A href="_smal_AB#181"> clear) </A>.</code> 

<hr><h3><A name="30a">u*</A> ( u1 u2 -- u3 )</h3>
<br>
u3 is the unsigned product of u1 multiplied by u2.  

<hr><h3><A name="33a">write</A> ( -- n )</h3>
<br>
n is the number signifying to OPEN that the file is to be opened for writing.  
For example: 
<br><code>    "" testfile write open</code><br>
