
<hr><h3><A name="2a">code!</A> ( n addr --  )</h3>
 Extra: Deferred
<br>
Stores a 32-bit word into the code at addr.  
<p>
This word is deferred so that the metacompiler may change it to assemble code 
into the target dictionary rather than the resident dictionary.  It also handles 
little/big endian target code.  

<hr><h3><A name="5a">.breakpoint</A> ( -- )</h3>
 Extra: Deferred
<br>
Displays selected machine state when the system stops at a breakpoint.   <code><A href="_smal_BS#5a"> .breakpoint </A></code> 
is deferred so that the user may select the type of display that he wants.  The 
default implementation is  <code><A href="_smal_BT#5b"> .instruction </A>,</code> 
which displays the address where the breakpoint occurred, and the instruction 
that would have been executed if the breakpoint had not been there.  
<p>
Since  <code><A href="_smal_BS#5a"> .breakpoint </A></code> is deferred, it may 
easily be changed to display any desired information, or to execute an arbitrary 
Forth word.  For instance, to display the registers every time a breakpoint 
occurred, you would you: 
<br><code>                 ' .REGISTERS IS .BREAKPOINT</code><br>
See "display.68k.doc" or "display.sunrise.doc" for words to display other 
interesting information.  

<hr><h3><A name="8a">'word</A> ( -- pstr )</h3>
 Extra: F83
<br>
This is now a  <code><A href="_smal_BM#324"> value </A></code> pointing to a 
string, so all tasks have there own area where  <code><A href="_smal_AG#336"> word </A></code> 
places it's string.  
<p>
 <code><A href="_smal_BV#32d"> warning </A>:</code> The definitions has changed 
from Risc-OS Forthmacs 1.x to 3.0.  

<hr><h3><A name="ba">(rename</A> ( old-name-pstr new-name-pstr -- )</h3>
<br>
Renames a file.  

<hr><h3><A name="ea">.x</A> ( n -- )</h3>
<br>
n is displayed in hex but the value of  <code><A href="_smal_AJ#159"> base </A></code> 
is not permanently affected.  

<hr><h3><A name="11a">&lt;mark</A> ( -- addr )</h3>
 Extra: C,83Std
<br>
Used at the destination of a backward branch.  addr is typically only used by  <code><A href="_smal_BT#11b"> &lt;resolve </A></code> 
to compile a branch address.  
<p>
 <code><A href="_smal_BS#11a"> &lt;mark </A></code> is used by control structure 
compiling words such as  <code><A href="_smal_AL#15b"> begin </A>.</code> 

<hr><h3><A name="14a">allocate</A> ( nbytes -- addr flag )</h3>
<br>
Allocates nbytes of memory and return its address and a flag which is  <code><A href="_smal_AE#304"> true </A></code> 
if the allocation was  <code><A href="_smal_AM#27c"> not </A></code> possible.  
<p>
addr is the address of a section of memory at least nbytes long.  That memory is 
allocated from a section of memory away from the top of the dictionary, so that 
it will not be saved in a file if the dictionary image is saved.  Large blocks 
of uninitialised storage may thus be allocated without causing the saved image 
to grow.  
<p>
<p>
The largest block of memory available for allocation can be found out by  <code><A href="_smal_AH#157"> available </A>.</code> 

See:  <code><A href="_smal_BS#14a"> allocate </A></code>  <code><A href="_smal_AH#157"> available </A></code>  <code><A href="_smal_AP#2af"> resize </A></code>  <code><A href="_smal_BX#20f"> free </A></code>  <code><A href="_smal_BE#16c"> buffer: </A></code> 

<hr><h3><A name="17a">char</A> ( -- char )</h3> <kbd>ccc</kbd> 
 Extra: ANS,I,M
<br>
 ( -- )<br>
<br>
Used in the form: 
<br><code>    char ccc</code><br>
where the delimiter of ccc is a space.  char is the ascii character value of the 
first character in ccc.  left on the stack.  

<hr><h3><A name="1aa">d.r</A> ( d +n-- )</h3>
 Extra: M,83Std
<br>
d is converted using the value of  <code><A href="_smal_AJ#159"> base </A></code> 
and then displayed right aligned in a field +n characters wide.  A leading minus 
sign is displayed if d is negative.  If the number of characters required to 
display d is greater than +n, an error condition exists.  

<hr><h3><A name="1da">emit</A> ( char -- )</h3>
 Extra: Deferred,M,83Std
<br>
A deferred word which transfers the character char to the output stream, and 
updates  <code><A href="_smal_BI#80"> #out </A></code> to keep track of the 
cursor position.  The Default implementation of  <code><A href="_smal_BS#1da"> emit </A></code> 
is  <code><A href="_smal_BT#1db"> emit1 </A>.</code> 

See:  <code><A href="_smal_BT#1db"> emit1 </A></code>  <code><A href="_smal_AS#a2"> (emit </A></code>  <code><A href="_smal_BA#2e8"> sys-emit </A></code> 
<p>
The hierarchy of different  <code><A href="_smal_BS#1da"> emit </A>s</code> 
works as follows:  <code><A href="_smal_BS#1da"> emit </A></code> is the word 
called by most applications.  By default,  <code><A href="_smal_BS#1da"> emit </A></code> 
executes  <code><A href="_smal_BT#1db"> emit1 </A></code> , which updates the 
variable  <code><A href="_smal_BI#80"> #out </A></code> and then executes  <code><A href="_smal_AS#a2"> (emit </A></code> 
to actually send the character to the output stream.  

<hr><h3><A name="20a">forth-83</A> ( -- )</h3>
 Extra: 83Std
<br>
Assures that a  <code><A href="_smal_BS#20a"> forth-83 </A></code> Standard 
System is available, otherwise an error condition exists.  
<p>
This implementation is not strictly 83-Standard.  It lacks the required mass 
storage words (BLOCK,  <code><A href="_smal_BD#16b"> buffer </A>,</code>  <code><A href="_smal_AW#256"> load </A>,</code> 
etc) and has 32-bit stack operators instead of the required 16-bit ones.  In 
other respects it is believed to comply to the standard.  Since this system is 
not strictly standard, the word  <code><A href="_smal_BS#20a"> forth-83 </A></code> 
prints a message then aborts.  

<hr><h3><A name="23a">key</A> ( -- char )</h3>
 Extra: Deferred,M
<br>
A deferred word which reads the next ascii character from the keyboard.  If no 
character has been typed since  <code><A href="_smal_BS#23a"> key </A></code> 
was last executed,  <code><A href="_smal_BS#23a"> key </A></code> pauses until a 
new character is typed.  All valid ascii characters can be received.  Control 
characters are not processed by the system for any editing purpose.  Characters 
received by  <code><A href="_smal_BS#23a"> key </A></code> will not be 
displayed.  The Default implementation is  <code><A href="_smal_BD#ab"> (key </A>.</code> 

See:  <code><A href="_smal_BC#2ea"> sys-key </A></code>  <code><A href="_smal_BT#23b"> key? </A></code>  <code><A href="_smal_BD#ab"> (key </A></code> 
<p>
 <code><A href="_smal_BS#23a"> key </A></code> is deferred so that 
Risc-OS Forthmacs may be easily configured to run in different environments.  

<hr><h3><A name="26a">max-image</A> ( -- size )</h3>
<br>
size is the number of dictionary bytes that may be relocated using  <code><A href="_smal_BU#2cc"> set-relocation-bit </A></code> 
and  <code><A href="_smal_BK#2c2"> save-forth </A>.</code> The size limitation 
is due to the relocation table that is allocated when Forth starts.  
<p>
In the last Risc-OS Forthmacs versions,  <code><A href="_smal_BS#26a"> max-image </A></code> 
and the size of the  <code><A href="_smal_AL#2ab"> relocation-map </A></code> 
are calculated from the wimpslot and the heap size.  

See:  <code><A href="_smal_BK#2c2"> save-forth </A></code> and chapter "General 
Information".  

<hr><h3><A name="29a">pop</A> ( user-stack -- n )</h3>
<br>
n is the number which is popped off user-stack.  An error abort occurs if the 
stack was already empty.  

See:  <code><A href="_smal_AP#2df"> stack: </A></code>  <code><A href="_smal_AB#2a1"> push </A></code> 

<hr><h3><A name="2ca">search</A> ( n start end -- loc true | false )</h3>
<br>
Searches memory between the addresses start and end for a word matching n.  If 
one is found, loc is the address of the first matching longword and the flag on 
the top of the stack is true.  Otherwise loc is missing from the stack and the 
flag on top of the stack is false.  Only word-aligned locations are searched.  

<hr><h3><A name="2fa">to-current</A> ( --  )</h3> <kbd>word</kbd> 
<br>
Searches for any word in the first  <code><A href="_smal_AU#194"> context </A></code> 
vocabulary, removes the word from there by switching the link list and relinks 
it into the  <code><A href="_smal_BL#1a3"> current </A></code> vocabulary.  
<p>
Note: Used to put forth-kernel words into  <code><A href="_smal_BG#2ee"> system </A></code> 
or  <code><A href="_smal_AO#21e"> hidden </A>.</code> 

<hr><h3><A name="32a">vocs</A> ( -- )</h3>
<br>
Displays the names of all the vocabularies in the system (not just the ones in 
the search order).  
