
<hr><h3><A name="2c">c;</A> ( --  )</h3>
<br>
Terminates the current code definition and allows its name to be found in the 
dictionary.  
<p>
Sets the  <code><A href="_smal_AU#194"> context </A></code> vocabulary to be 
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>
Executes  <code><A href="_smal_AK#3a"> next </A></code> to assemble the "next" 
routine at then end of the code word word being defined.  The "next" routine 
causes the Forth interpreter to continue execution with the next word.  
<p>
<p>
This is the most common way to end assembly, calls  <code><A href="_smal_BV#1dd"> end-code </A>.</code> 

<hr><h3><A name="5c">.step</A> ( --  )</h3>
 Extra: Deferred
<br>
Displays selected machine state when the system stops at a breakpoint.   <code><A href="_smal_BU#5c"> .step </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 code address and the instruction that would have been 
executed.  
<p>
Since  <code><A href="_smal_BU#5c"> .step </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 do: 
<br><code>                 ' .registers is .step</code><br>

<hr><h3><A name="8c">(")</A> ( -- addr len )</h3>
<br>
The run-time word compiled by <strong>"</strong> .  At run time, the address and 
length of the string compiled in-line just after  <code><A href="_smal_BU#8c"> (") </A></code> 
is left on the stack, and the string is skipped.  

<hr><h3><A name="bc">(s</A> ( -- )</h3> <kbd>stack-comment</kbd> 
<br>
Used in the form: 
<br><code>                 (s &lt;stack comment&gt;)</code><br>
Everything in the input stream up to and including the terminating right 
parenthesis ")" is ignored.  
<p>
Some programs use this to distinguish a stack interface comment from a comment 
used for some other purpose.  

<hr><h3><A name="ec">/c</A> ( -- n )</h3>
 Extra: 32
<br>
n is the size in bytes of a byte, which is 1.  

<hr><h3><A name="11c">=</A> ( n1 n2  --  flag )</h3>
 Extra: 83Std
<br>
flag is true if n1 is equal to n2.  

<hr><h3><A name="14c">also</A> ( -- )</h3>
<br>
The transient vocabulary becomes the first vocabulary in the resident portion of 
the search order.  

<hr><h3><A name="17c">cell+</A> ( addr1 -- addr2 )</h3>
 Extra: 32
<br>
Increases addr1 by one cell.  

<hr><h3><A name="1ac">d2*</A> ( d1 -- d2  )</h3>
<br>
d2 is the result of shifting d1 one bit toward the most-significant bit, filling 
the vacated least-significant bit with zero.  

<hr><h3><A name="1dc">empty-buffers</A> ( -- )</h3>
 Extra: M,83Std
<br>
Unassigns all block buffers.   <code><A href="_smal_BI#320"> update </A>d</code> 
blocks are not written to mass storage.  

See:  <code><A href="_smal_AV#165"> block </A></code> 
<p>
This word is  <code><A href="_smal_AM#27c"> not </A></code> implemented in the 
default system.  The file extend.block contains an implementation which may 
loaded if necessary.  

<hr><h3><A name="20c">fp0</A> ( --  addr )</h3>
<br>
addr is the address of a variable which contains the address of the bottom of 
the floating point stack.  One way to clear the floating stack is to execute  <code><A href="_smal_BU#20c"> fp0 </A></code> 
@  <code><A href="_smal_BT#20b"> fp! </A>.</code> (But it's probably more 
convenient to use  <code><A href="_smal_AR#1f1"> fclear) </A>.</code> 

<hr><h3><A name="23c">key1</A> ( -- char )</h3>
 Extra: Deferred,M
<br>
The default implementation of  <code><A href="_smal_BS#23a"> key </A>.</code> 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_BU#23c"> key1 </A></code>  <code><A href="_smal_BN#295"> pause </A>s</code> 
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.  

See:  <code><A href="_smal_BC#2ea"> sys-key </A></code>  <code><A href="_smal_BT#23b"> key? </A></code>  <code><A href="_smal_BS#23a"> 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="26c">min</A> ( n1 n2  --  n3 )</h3>
 Extra: 83Std
<br>
n3 is the lesser of n1 and n2 according to the operation of &lt;.  

<hr><h3><A name="29c">previous</A> ( -- )</h3>
<br>
Removes the first vocabulary (the one in the  <code><A href="_smal_AU#194"> context </A></code> 
position) from the search order.  This may be used to undo the effect of an  <code><A href="_smal_BU#14c"> also </A>.</code> 

<hr><h3><A name="2cc">set-relocation-bit</A> ( addr -- addr )</h3>
 Extra: Deferred
<br>
A deferred word called by  <code><A href="_smal_BW#2fe"> token! </A></code> to 
keep track of which words stored in the dictionary are addresses subject to 
relocation.  

See:  <code><A href="_smal_BW#be"> (set-relocation-bit </A></code> 
<p>
 <code><A href="_smal_BU#2cc"> set-relocation-bit </A></code> is deferred 
because some applications (for instance the metacompiler) may require a 
different form of relocation.  

<hr><h3><A name="2fc">today</A> ( -- day month year )</h3>
<br>
day [1..31], month [1..12], and year [e.g.  1986] represent the current date as 
indicated by the system's clock.  

<hr><h3><A name="32c">warm-hook</A> ( -- )</h3>
 Extra: Deferred
<br>
When the Forth system is restarted because of a hardware exception,  <code><A href="_smal_BT#32b"> warm </A></code> 
calls the deferred word  <code><A href="_smal_BU#32c"> warm-hook </A></code> to 
do any cleanup that is necessary.  

See:  <code><A href="_smal_AD#c3"> (warm-hook </A></code>  <code><A href="_smal_BT#32b"> warm </A></code> 
<p>
This may be used as a place to install an application-specific exception 
handler.  
