
<hr><h3><A name="0">"task:</A> ( size name --  )</h3>
<br>
A defining word used to create a new task.  Name is the address of a packed 
string which is entered into the dictionary as the name of the new task.  Size 
is the number of bytes to allocate for the task's private data areas.  Size must 
be large enough to include space for a data stack, a return stack, and a user 
area.   <code><A href="_smal_AC#2"> default-task-size </A></code> is a good 
choice.  
<p>
When name is subsequently executed, the address of the new task's data area is 
left on the stack.  This data area lies within the Risc-OS Forthmacs heap, it is 
allocated immediately when  <code><A href="_smal_AA#0"> "task: </A></code> is 
executed and when booting Risc-OS Forthmacs.  

<hr><h3><A name="30">end-code</A> ( --  )</h3>
<br>
Terminates a code definition and allows the &lt;name&gt; of the corresponding 
code definition to be found in the dictionary.  
<p>
The  <code><A href="_smal_AU#194"> context </A></code> vocabulary is set to the 
same as the  <code><A href="_smal_BL#1a3"> current </A></code> vocabulary (which 
removes the  <code><A href="_smal_AD#153"> assembler </A></code> vocabulary from 
the search order, unless you have explicitly done something funny to the search 
order while assembling the code).  
<p>
The  <code><A href="_smal_AK#3a"> next </A></code> routine is not automatically 
added to the end of the code definition.  Usually you want  <code><A href="_smal_AK#3a"> next </A></code> 
to be at the end of the definition, but sometimes the last thing in the 
definition is a branch to somewhere else, so the  <code><A href="_smal_AK#3a"> next </A></code> 
at the end is not needed.  
<p>

See:  <code><A href="_smal_BJ#171"> c; </A></code> 

<hr><h3><A name="60">bpoff</A> ( -- )</h3>
<br>
Removes all breakpoints from the breakpoint list.  

<hr><h3><A name="90">(+loop)</A> ( n -- )</h3>
<br>
The run-time word compiled by  <code><A href="_smal_AN#cd"> +loop </A>.</code> 
At run time, n is added to the loop index and the index is compared to the end 
value saved by the previous  <code><A href="_smal_AT#1c3"> do </A></code> or  <code><A href="_smal_AS#132"> ?do </A>.</code> 
If the index has reached or exceeded the ending value, the loop is terminated, 
otherwise execution continues just past the  <code><A href="_smal_AR#a1"> (do) </A></code> 
or  <code><A href="_smal_AF#95"> (?do) </A>.</code> 

<hr><h3><A name="c0">(tail</A> ( -- )</h3>
<br>
Display the end of the file whole file descriptor is stored in the variable  <code><A href="_smal_AU#224"> ifd </A>,</code> 
pausing at the end of each screen full.  

<hr><h3><A name="f0">/fbuf</A> ( -- n )</h3>
<br>
n is the number of bytes in a file buffer; currently 2048.  

<hr><h3><A name="120">&gt;data</A> ( acf -- addr )</h3>
<br>
addr is the address where the data is stored for the word whose compilation 
address is acf.  For instance, the data for a  <code><A href="_smal_BK#322"> user </A></code> 
variable is stored in the  <code><A href="_smal_BK#322"> user </A></code> area, 
and  <code><A href="_smal_AA#120"> &gt;data </A></code> would return that  <code><A href="_smal_BK#322"> user </A></code> 
area address.  

<hr><h3><A name="150">append-to-file</A> ( -- )</h3> <kbd>filename</kbd> 
<br>
The output stream is redirected and appended to the end of the file filename.  
If the file does not exist it is created.  The output stream is restored to the 
terminal just before the interpreter prompts for a new line of input.  Example: 
to decompile the word  <code><A href="_smal_AJ#339"> words </A></code> and the 
word  <code><A href="_smal_BE#28c"> order </A></code> and put the output in a 
file called <strong>wordlist</strong> : 
<br><code>    to-file wordlist   see words</code><br>
<br><code>    append-to-file wordlist   see order</code><br>

See:  <code><A href="_smal_BT#2fb"> to-file </A></code> 

<hr><h3><A name="180">cells+</A> ( addr1 n -- addr2  )</h3>
 Extra: 32
<br>
Increases addr by n cells.  

<hr><h3><A name="1b0">dark</A> ( -- )</h3>
<br>
Future text is displayed in inverse video mode, which is white text on a black 
background unless you have changed the color tables.  
<p>
Warning: In F83,  <code><A href="_smal_AA#1b0"> dark </A></code> is used to 
erase the screen.  The Risc-OS Forthmacs word for that function is  <code><A href="_smal_AG#1e6"> erase-screen </A>.</code> 

See:  <code><A href="_smal_AJ#249"> light </A></code> 

<hr><h3><A name="1e0">endof</A> ( -- )</h3>
 Extra: compiling
<br>
 ( sys -- )<br>
<br>
Terminates an  <code><A href="_smal_AU#284"> of </A></code> ...   <code><A href="_smal_AA#1e0"> endof </A></code> 
clause within a  <code><A href="_smal_BP#177"> case </A></code> ...   <code><A href="_smal_BX#1df"> endcase </A></code> 
conditional.  See  <code><A href="_smal_AU#284"> of </A></code>  <code><A href="_smal_BP#177"> case </A></code> 

<hr><h3><A name="210">fseek</A> ( n.addr fd -- )</h3>
<br>
The file pointer for the open file whose file descriptor is fd is moved to the 
position indicated by n.addr.  

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

<hr><h3><A name="270">more</A> ( -- )</h3> <kbd>filename</kbd> 
<br>
Displays the contents of the file, pausing after each page.  
<br><code>    &lt;space&gt; continues,  &lt;cr&gt; 1 more line,  q quits</code><br>

See:  <code><A href="_smal_BJ#2f1"> tail </A></code> 

<hr><h3><A name="2a0">ps-size</A> ( -- n )</h3>
<br>
n is the maximum size in bytes of the data stack (also called the parameter 
stack).  

<hr><h3><A name="2d0">showcrash</A> ( -- )</h3>
<br>
Prints a formatted dump after a crash.  The dump shows the state of the ARM 
registers and the Forth stacks as they were at the time of the last crash.  

<hr><h3><A name="300">token@</A> ( addr1 -- addr2 )</h3>
 Extra: 32
<br>
addr2 is the address stored at address addr1.  When addr2 is in the memory, it 
is stored as a "token".  A token is the representation of an address when it is 
stored in memory.  Depending on the implementation, a token may be a 32-bit 
absolute address, a 16-bit relative address, or something else.  

See:  <code><A href="_smal_BW#2fe"> token! </A></code>  <code><A href="_smal_BX#2ff"> token, </A></code> 
<p>
In the ARM implementation, a token is a 32-bit absolute address.  

<hr><h3><A name="330">where</A> ( -- )</h3>
 Extra: F83,Deferred
<br>
A deferred word which displays a message telling you the current location in the 
input stream.  Called from  <code><A href="_smal_BJ#141"> abort </A></code> and  <code><A href="_smal_BK#142"> abort" </A>.</code> 

See:  <code><A href="_smal_AE#c4"> (where </A></code> 
<p>
 <code><A href="_smal_AA#330"> where </A></code> is deferred so a different 
implementation may be substituted.  The default implementation  <code><A href="_smal_AE#c4"> (where </A></code> 
tells you the name of the last word that was defined, which is reasonably useful 
if you are compiling from a file.  Another plausible implementation would 
attempt to place you in an editor positioned at the place where the error 
occurred.  This kind of implementation is especially suitable for systems which 
compile relatively slowly; on most machines, compilation is so fast that it is 
usually preferable to just get a list of all the errors, then fix them all at 
the same time.  
