
<hr><h3><A name="1f">'user</A> ( --  )</h3> <kbd>name</kbd> 
<br>
Executed in the form: 
<br><code>         top   'user &lt;name&gt;   ldr</code><br>
&lt;name&gt; is the name of a User variable.  Assembles the appropriate 
addressing mode for accessing that User variable.  
<p>
In Risc-OS Forthmacs, the addressing mode for User variables is 
<br><code>                 up #n d)</code><br>
where #n is the offset of that variable within the User area.  

<hr><h3><A name="4f">handle-error</A> ( --  )</h3>
 Extra: Deferred, System
<br>
This handler is used when errors requested by you take place.  Use this for your 
application specific error handling.  

See:  <code><A href="_smal_BD#4b"> handle-address </A></code> 

<hr><h3><A name="7f">#lines</A> ( -- n )</h3>
 Extra: Deferred
<br>
n is the number of lines of text that are displayable on the screen.  This 
depends on the wimp-mode in the supervisor mode or on the window width in the 
WIMP mode.  It is deferred via the  <code><A href="_smal_BK#2f2"> terminal: </A></code> 
definition.  

<hr><h3><A name="af">(load</A> ( fd -- )</h3>
<br>
fd is the file descriptor of an open file.  That file is loaded as with  <code><A href="_smal_BM#204"> fload </A>,</code> 
and then closed.  
<p>
This may be used to load a file starting somewhere in the middle, or to load 
from some type of file other than a disk file, as is done with the input stream 
which uses  <code><A href="_smal_AQ#1f0"> expect </A></code> as a funny kind of 
file.  

<hr><h3><A name="df">.id</A> ( anf -- )</h3>
 Extra: F83
<br>
anf is the name field address of a dictionary entry.  The name of that entry is 
printed.  

<hr><h3><A name="10f">3dup</A> ( a b c -- a b c a b c )</h3>
 Extra: F83
<br>
The top three stack items are duplicated.  

<hr><h3><A name="13f">@</A> ( addr  --  n )</h3>
 Extra: 83Std
<br>
n is the value at address addr.  ARM Chips only support aligned access, so addr 
should be aligned to a 4-byte word boundary.  The system won't crash in other 
cases, but the results will be undefined and may change with CPU and MMU 
version.  

See:  <code><A href="_smal_AX#317"> unaligned-@ </A></code> 

<hr><h3><A name="16f">c!</A> ( n addr -- )</h3>
 Extra: 83Std
<br>
The least significant 8 bits of n are stored in the byte at addr.  

<hr><h3><A name="19f">cset</A> ( byte-mask addr -- )</h3>
<br>
The byte at address addr is logically OR'ed with the mask byte-mask, thus 
setting the bits in the byte at addr that correspond to the "one" bits in the 
mask.  

See:  <code><A href="_smal_BE#19c"> creset </A></code>  <code><A href="_smal_BK#1a2"> ctoggle </A></code> 

<hr><h3><A name="1cf">dp</A> ( -- addr )</h3>
<br>
User variable holding top of dictionary, addr is the address of the next 
available dictionary location.  
<p>

See:  <code><A href="_smal_AM#21c"> here </A></code> 

<hr><h3><A name="1ff">file@</A> ( n.addr fd -- byte )</h3>
<br>
byte is the byte from the open file whose file descriptor is fd, from the 
position indicated by n.addr.  The file pointer is moved to n.addr+1.  

<hr><h3><A name="22f">insert-line</A> ( -- )</h3>
<br>
Inserts a new line on the screen at the cursor position.  The line that was 
underneath the cursor, and all lines below, are moved down to make room.  The 
bottom line falls off the bottom of the screen and is lost.  

<hr><h3><A name="25f">lwsplit</A> ( n -- w.low w.high )</h3>
 Extra: 32
<br>
w.low is the least significant 16 bits and w.high the most significant 16 bits 
of the 32-bit number n.  
<p>
This is useful for backwards compatibility with programs written for 16-bit 
Forth systems which take advantage of the representation of a 32-bit number as 
two 16-bit numbers and manipulate the halves of the number independently.  

See:  <code><A href="_smal_AF#335"> wljoin </A></code> 

<hr><h3><A name="28f">over</A> ( n1 n2  --  n1 n2 n3 )</h3>
 Extra: 83Std
<br>
n3 is a copy of n1.  

<hr><h3><A name="2bf">s&gt;d</A> ( n -- d )</h3>
 Extra: 83Std
<br>
converts a cell number to a double.  

<hr><h3><A name="2ef">&gt;tab</A> ( --  )</h3>
<br>
Advanve the cursor to the next TAB position defined by  <code><A href="_smal_BI#2f0"> tabstops </A>.</code> 

See:  <code><A href="_smal_BI#2f0"> tabstops </A></code> 

<hr><h3><A name="31f">upc</A> ( char -- upper-case-char )</h3>
 Extra: F83
<br>
upper-case-char is the upper case version of char.  If char is not a lower case 
letter, it is left unchanged.  
