
<hr><h3><A name="2">default-task-size</A> ( -- size )</h3>
<br>
Size is an appropriate number to use for the size of a new task's private data 
areas.  Currently it is (hex) 1800, which gives (hex) 1000 bytes for User Area, 
and (hex) 200 bytes each for the Return Stack and the Data Stack plus an extra 
$400.  If a task is created with a size other than  <code><A href="_smal_AC#2"> default-task-size </A>,</code> 
the difference will be reflected in the size of the Data Stack.  

<hr><h3><A name="32">get-link</A> ( -- reg --  )</h3>
<br>
Assembler macro, equivalent for: 
<br><code>    lk fc000003 # bic</code><br>
this is useful to get the address after a branch instruction.  
<br><code>    xxxxx dolink branch  ---+</code><br>
<br><code>      A) data ...           |</code><br>
<br><code>                            |</code><br>
<br><code>                            |</code><br>
<br><code>      B) top get-link  &lt;----+</code><br>
So after branching to B),  <code><A href="_smal_BG#1e"> top </A></code> will be 
set to A) 

<hr><h3><A name="62">continue</A> ( -- )</h3>
<br>
Used when the system is stopped at a breakpoint, to resume execution.  

<hr><h3><A name="92">(.)</A> ( n -- addr len )</h3>
 Extra: F83
<br>
addr is the address and len the length of an array of characters which is the 
result of converting the number n to a printable array of ascii characters.  If 
n is negative, the first character in the array will be a minus (-) sign.  

<hr><h3><A name="c2">(u.)</A> ( u -- addr len )</h3>
 Extra: F83
<br>
addr is the address and len the length of an array of characters which is the 
result of converting the unsigned number u to a printable array of ascii 
characters.  

<hr><h3><A name="f2">/link</A> ( -- n )</h3>
<br>
n is the number of bytes in a dictionary link.  
<p>
 <code><A href="_smal_AC#f2"> /link </A></code> is 4 since dictionary links are 
absolute numbers in this 32-bit implementation.  

<hr><h3><A name="122">&gt;link</A> ( acf -- alf )</h3>
 Extra: 83Std
<br>
alf is the link field address corresponding to the compilation address acf.  

<hr><h3><A name="152">array</A> ( n1 --  )</h3>
<br>
 ( n2 -- addr  )<br>
<br>
Defines an cell array containing n1 cells.  When called later called, the 
address of the n2-th cell is returned.The first cell has the index 0 

<hr><h3><A name="182">clearstack</A> ( user-stack -- )</h3>
<br>
The user stack is emptied.  

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

<hr><h3><A name="1b2">debug-off</A> ( -- )</h3>
 Extra: Debugger
<br>
After using the debugger you can switch off the debuggers code by  <code><A href="_smal_AC#1b2"> debug-off </A>,</code> 
so the system again runs at full speed.  

See:  <code><A href="_smal_AB#1b1"> debug </A></code> 

<hr><h3><A name="1e2">env-area</A> ( -- addr  )</h3>
<br>
Pointer in Risc-OS Forthmacs private part in the module memory.  This is 
allocated when booting and holds buffers, the ticker interrupt.  
<p>
<br><code>    holds some environment-data</code><br>
<br><code>    00	command-string</code><br>
<br><code>    04	ram limit</code><br>
<br><code>    08	starting realtime</code><br>
<br><code>    0c -- 57  handler parameters in Forthmacs</code><br>
<br><code>    0c -- 2f  handler parameters in shelled Forthmacs</code><br>
<br><code>    30        private area in shelled Applications</code><br>
<br><code>    command-parameters</code><br>
<br><code>    80	  ???	</code><br>
<br><code>    84	  filename</code><br>
<br><code>    180	ticker</code><br>
<br><code>    184   interrupt code</code><br>
<br><code>    ... 5ff</code><br>

See:  <code><A href="_smal_AG#216"> get-ticks </A></code> 

<hr><h3><A name="212">fsize</A> ( fd -- n.size )</h3>
<br>
n.size is the number of bytes in the open file whose file descriptor is fd.  

<hr><h3><A name="242">last</A> ( -- addr )</h3>
 Extra: Obsolete
<br>
A  <code><A href="_smal_BK#322"> user </A></code> variable containing the name 
field address of the last word created.  OBSOLETE; use  <code><A href="_smal_AD#243"> lastacf </A></code> 
instead.  

<hr><h3><A name="272">mu/mod</A> ( ud n -- n.rem ud.quot )</h3>
 Extra: 32
<br>
The 64-bit unsigned dividend ud is divided by the normal divisor n giving a 
normal remainder and an unsigned double quotient.  
<p>

<hr><h3><A name="2a2">pwd</A> ( -- )</h3>
<br>
Displays the name of the current directory.  Same as  <code><A href="_smal_BE#dc"> .dir </A></code> 
.  

<hr><h3><A name="2d2">sifting</A> ( -- )</h3> <kbd>ccc</kbd> 
<br>
Used in the form: 
<br><code>    sifting ccc</code><br>
ccc is a sequence of characters not containing spaces.  Displays the names of 
all dictionary entries whose names contain that sequence of characters.  

<hr><h3><A name="302">top@</A> ( user-stack -- n )</h3>
<br>
n is the number which is on the top of a user stack.  The stack is not popped, 
so the number remains on the stack.  If the stack was already empty, prints a 
message and  <code><A href="_smal_BJ#141"> abort </A>s</code> .  

<hr><h3><A name="332">while</A> ( flag  -- )</h3>
 Extra: compiling
<br>
 ( sys1 -- sys2 )<br>
<br>
Used in the form: 
<br><code>    begin  ...  flag while  ...  repeat</code><br>
Select conditional execution based on the flag.  When the flag is true, 
execution continues to just after the  <code><A href="_smal_AC#332"> while </A></code> 
through to the  <code><A href="_smal_AN#2ad"> repeat </A></code> which then 
continues execution back to just after the  <code><A href="_smal_AL#15b"> begin </A>.</code> 
When flag is false, execution continues to just after the  <code><A href="_smal_AN#2ad"> repeat </A>,</code> 
exiting the control structure.  sys1 is balanced with its corresponding  <code><A href="_smal_AN#2ad"> repeat </A>.</code> 

See:  <code><A href="_smal_AL#15b"> begin </A></code> 
