
<hr><h3><A name="27">branch</A> ( addr --  )</h3>
<br>
Assembles a branch instruction to here.  Can be modified by  <code><A href="_smal_BX#2f"> dolink </A></code> 
and all condition codes.  

<hr><h3><A name="57">rup</A> ( -- n )</h3>
 Extra: bug 
<br>
n is the value contained in the saved copy of the User-area Pointer.  

See:  <code><A href="_smal_BL#53"> rr0 </A></code> 

<hr><h3><A name="87">'</A> ( -- acf )</h3> <kbd>name</kbd> 
 Extra: ANS,M
<br>
Used in the form: 
<br><code>                 ' &lt;name&gt;</code><br>
acf is the compilation address of &lt;name&gt;.  An error condition exists if 
&lt;name&gt; is not found in the currently active search order.  

<hr><h3><A name="b7">(prompt</A> ( -- )</h3>
 Extra: Default
<br>
The Default implementation of the deferred word  <code><A href="_smal_BW#29e"> prompt </A>.</code>  <code><A href="_smal_BP#b7"> (prompt </A></code> 
prints the prompt "ok " if Forth is in interpret state, and " ] " if Forth is in 
compile state.  

See:  <code><A href="_smal_BW#29e"> prompt </A></code> 

<hr><h3><A name="e7">.time</A> ( seconds minutes hours -- )</h3>
<br>
Displays the time of day indicated by seconds [0..59], minutes[0-59], and hours 
[0..23] (since midnight local time).  For example, "37 7 10  <code><A href="_smal_BP#e7"> .time </A>"</code> 
prints "10:07:37" 

<hr><h3><A name="117">&lt;#</A> ( -- )</h3>
 Extra: 83Std
<br>
Initialise pictured numeric output conversion.  The words: 
<br><code>    &lt;#  #  #s  hold  sign  #&gt;</code><br>
can be used to specify the conversion of a double number into an ascii character 
string stored in right-to-left order.  
<p>

See:  <code><A href="_smal_BP#117"> &lt;# </A></code>  <code><A href="_smal_BJ#81"> #s </A></code>  <code><A href="_smal_AR#221"> hold </A></code>  <code><A href="_smal_AD#2d3"> sign </A></code>  <code><A href="_smal_BB#79"> #&gt; </A></code> 
# 

<hr><h3><A name="147">alias</A> ( -- )</h3> <kbd>new-name existing-name</kbd> 
<br>
A new word new-name is added to the dictionary as a synonym for the existing 
word existing-name.  When that new word is later encountered, the effect is the 
same as if existing-name had been encountered instead.  This works correctly 
whether or not existing-name is immediate.  The new word new-name is always 
immediate.  

<hr><h3><A name="177">case</A> ( selector -- selector )</h3>
 Extra: C,I
<br>
A case statement is started which selects its action based on the value of 
selector.  
<p>
This is Dr.  Charles Eaker's case statement 
<br><code>    example of use:</code><br>
<p>
<br><code>    : foo ( selector -- )</code><br>
<br><code>      case</code><br>
<br><code>          0  of  ." it was 0"   endof</code><br>
<br><code>          1  of  ." it was 1"   endof</code><br>
<br><code>          2  of  ." it was 2"   endof</code><br>
<br><code>             ( selector) ." it was " dup u.</code><br>
<br><code>      endcase ;</code><br>
<p>
The default clause is optional.  When an  <code><A href="_smal_AU#284"> of </A></code> 
clause is executed, the selector is  <code><A href="_smal_AM#27c"> not </A></code> 
on the stack.  When a default clause is executed, the selector  <code><A href="_smal_BP#237"> is </A></code> 
on the stack.  The default clause may use the selector, but must not remove it 
from the stack (it will be automatically removed just before the endcase).  At 
run time,  <code><A href="_smal_AU#284"> of </A></code> tests the top of the 
stack against the selector.  If they are the same, the selector is dropped and 
the following Forth code is executed.  If they are not the same, execution 
continues at the point just following the matching  <code><A href="_smal_AA#1e0"> endof </A>.</code> 

<hr><h3><A name="1a7">d+</A> ( d1 d2 -- d3 )</h3>
 Extra: 83Std
<br>
d3 is the arithmetic sum of d1 plus d2.  

<hr><h3><A name="1d7">dup</A> ( n -- n n )</h3>
 Extra: 83Std
<br>
Duplicate n.  

<hr><h3><A name="207">fopen</A> ( filename-pstr mode -- fd )</h3>
<br>
filename-pstr is the address of a packed string which is the name of a disk file 
to open.  mode is one of  <code><A href="_smal_AH#2a7"> read </A>,</code>  <code><A href="_smal_AK#33a"> write </A></code> 
or  <code><A href="_smal_BX#26f"> modify </A></code> and specifies which sorts 
of operations will be performed on the file.  fd is a file descriptor which is 
used subsequently to access the file.  
<p>
If the file is not accessible, for example it doesn't exist, then 0 is returned 
as the fd value.  
<p>
A successful open sets the file pointer to 0, so that the next sequential access 
will occur at the beginning of the file.  

<hr><h3><A name="237">is</A> ( action-acf -- )</h3> <kbd>name</kbd> 
 Extra: C,I,F83
<br>
Used in the form: 
<br><code>    ' &lt;action-name&gt; is &lt;deferred-name&gt;</code><br>
&lt;deferred-name&gt; is a deferred word.  action-acf is the compilation address 
of some other word.  The action word is installed in the deferred word so that 
execution of the deferred word will actually cause the execution of the action 
word.  
<p>
When compiled inside a colon definition, the installation into the deferred word 
occurs when that colon definition executes.  
<p>
Actually, this works for many kinds of words besides deferred words.  It is a 
"smart" store that modifies the data storage area of its named argument to the 
value taken from the stack.  It can be used for  <code><A href="_smal_BN#325"> variable </A>s</code>  <code><A href="_smal_AT#193"> constant </A>s</code>  <code><A href="_smal_BK#322"> user </A>s</code>  <code><A href="_smal_BM#324"> value </A>s</code> 
<p>
Example: 
<br><code>    5 constant foo  23 is foo</code><br>
now the constant <strong>foo</strong> returns 23 instead of 5.  

<hr><h3><A name="267">many</A> ( -- )</h3>
 Extra: F83
<br>
The current command line is continuously re-executed until a key is typed.  
<p>
This executes slower than a compiled loop, because the command line is 
re-interpreted each time.  This only works from the keyboard, and cannot be used 
within a file.  

<hr><h3><A name="297">pick</A> ( +n  --  n2 )</h3>
 Extra: 83Std
<br>
n2 is a copy of the +nth stack value, not counting +n itself.  +n must be 
between 0 and the number of elements on the stack-1 inclusive.  
<br><code>    0 pick is equivalent to dup</code><br>
<br><code>    1 pick is equivalent to over</code><br>
<p>
For readability's sake, the use of  <code><A href="_smal_BP#297"> pick </A></code> 
should be minimized.  

<hr><h3><A name="2c7">scr</A> ( --  addr )</h3>
 Extra: 83Std
<br>
The address of a  <code><A href="_smal_BK#322"> user </A></code> variable 
containing the number of the screen most recently listed.  
<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="2f7">title</A> ( -- )</h3>
 Extra: F83
<br>
Displays the name and version of the Forth system.  

<hr><h3><A name="327">voc-link</A> ( -- addr )</h3>
<br>
A  <code><A href="_smal_BK#322"> user </A></code> variable containing the 
address of the last vocabulary created.  All the vocabularies are linked 
together in a linked list whose head is contained in  <code><A href="_smal_BP#327"> voc-link </A>.</code> 
One link points to the next link.  Each link is stored in the body of the 
vocabulary data structure.  The compilation address of the vocabulary may be 
found from the link address with  <code><A href="_smal_BQ#328"> voc&gt; </A>.</code> 
See  <code><A href="_smal_BS#32a"> vocs </A></code> for an example.  
