
<hr><h3><A name="8">activate</A> ( task --  )</h3>
<br>
Starts "task" with the code that immediately follows this  <code><A href="_smal_AI#8"> activate </A>,</code> 
this is the shortest way to define and run a task.  Example: 
<br><code>    </code><br>
<br><code>    variable demoticker</code><br>
<br><code>    task: democounter</code><br>
<br><code>    : counting   multi democounter activate</code><br>
<br><code>                 multi begin 1 demoticker +!  1000 msec</code><br>
<br><code>                 again ;</code><br>
<br><code>    counting</code><br>

<hr><h3><A name="38">mla</A> ( r-dest r-op1 r-op2 )</h3>
<br>
Assembles a multiply-and-accumulate instruction.  

<hr><h3><A name="68">steps</A> ( n -- )</h3>
<br>
Used when the system is stopped at a breakpoint, to execute the next n assembly 
language instructions.  

See:  <code><A href="_smal_AH#67"> step </A>,</code>  <code><A href="_smal_AF#65"> hop </A>,</code>  <code><A href="_smal_AG#66"> hops </A>.</code> 

<hr><h3><A name="98">(abort")</A> ( flag -- )</h3>
<br>
Run-time word compiled by  <code><A href="_smal_BK#142"> abort" </A>.</code> At 
run time, if flag is true, then the string compiled just after the  <code><A href="_smal_AI#98"> (abort") </A></code> 
is displayed and  <code><A href="_smal_BJ#141"> abort </A></code> is executed.  
If flag is false, execution continues just past the compiled string.  Uses  <code><A href="_smal_AI#1e8"> error-output </A></code>  <code><A href="_smal_AQ#2b0"> restore-output </A></code>  <code><A href="_smal_AI#308"> type </A></code> 

<hr><h3><A name="c8">*/mod</A> ( n1 n2 n3  -- n4 n5 )</h3>
 Extra: ANS,83Std
<br>
n1 is first multiplied by n2 producing an intermediate double result.  n4 is the 
remainder and n5 is the floor of the quotient of the intermediate double result 
divided by the divisor n3.  A double intermediate product is used as for  <code><A href="_smal_AH#c7"> */ </A>.</code> 
n4 has the same sign as n3 or is zero.  An error condition results if the 
divisor is zero or if the quotient falls outside of the number range.  

See:  <code><A href="_smal_AH#c7"> */ </A></code> "Glossary Notation - division, 
floored" 

<hr><h3><A name="f8">0=</A> ( n  --  flag )</h3>
 Extra: ANS,83Std
<br>
flag is true if n is zero.  

<hr><h3><A name="128">&gt;threads</A> ( voc-acf -- addr )</h3>
<br>
addr is the address where the threads are stored for the vocabulary whose 
compilation address is voc-acf.  

<hr><h3><A name="158">backspaces</A> ( n -- )</h3>
 Extra: F83
<br>
Prints n backspace characters (hex 8) on the output stream.  

<hr><h3><A name="188">code[</A> ( -- sys )</h3> <kbd>name</kbd> 
 Extra: M,83Std
<br>
Starts assembling within a colon definition, assembles the appropriate code for 
this and calls  <code><A href="_smal_AD#153"> assembler </A>.</code> So 
<br><code>         : dup code[ top sp push ]code ;</code><br>
would be correct syntax and coding.  

See:  <code><A href="_smal_BC#34a"> ]code </A></code> 

<hr><h3><A name="1b8">del</A> ( -- )</h3> <kbd>filename</kbd> 
<br>
Removes the named file from the disk.  Same as  <code><A href="_smal_AJ#1b9"> delete </A>.</code> 

<hr><h3><A name="1e8">error-output</A> ( -- )</h3>
 Extra: Deferred
<br>
 <code><A href="_smal_AI#1e8"> error-output </A></code> is called before an 
error message is printed.   <code><A href="_smal_AQ#2b0"> restore-output </A></code> 
is called after an error message is printed.  The intention is to select a 
separate error stream for the message.  

See:  <code><A href="_smal_AQ#2b0"> restore-output </A></code> 
<p>
Implemented with  <code><A href="_smal_AL#27b"> noop </A>,</code> could change 
output to another window.  

<hr><h3><A name="218">d#</A> ( --  )</h3>
<br>
Interprets the next word in the input stream with the numeric base temporarily 
set to 16.  The value of  <code><A href="_smal_AJ#159"> base </A></code> is not 
permanently altered.  
<p>
The next word may either be a number or an executable word.  

<hr><h3><A name="248">lf</A> ( -- )</h3>
<br>
Prints a linefeed character (hex 0a) on the output stream and adds one to the 
variable  <code><A href="_smal_BG#7e"> #line </A></code> to indicate that one 
more line has been printed on the terminal.  

<hr><h3><A name="278">new-file</A> ( filename-pstr -- )</h3>
<br>
filename-pstr is the address of a packed string representing the name of a file 
to be created and opened for writing.  If a file with that name already exists, 
the old file is destroyed.  If the file is successfully opened, its file 
descriptor is stored in  <code><A href="_smal_AV#285"> ofd </A>.</code> If the 
file cannot be created and opened,  <code><A href="_smal_AI#278"> new-file </A></code> 
displays a message and  <code><A href="_smal_BJ#141"> abort </A>s</code> .  

See:  <code><A href="_smal_AV#285"> ofd </A></code>  <code><A href="_smal_AM#33c"> writing </A></code> 

<hr><h3><A name="2a8">read-open</A> ( filename-pstr -- )</h3>
<br>
filename-pstr is the address of a packed string representing the name of a file 
which is to be opened for reading.  If the file is successfully opened, its file 
descriptor is stored in  <code><A href="_smal_AU#224"> ifd </A>.</code> If the 
file cannot be opened,  <code><A href="_smal_AI#2a8"> read-open </A></code> 
prints a message and  <code><A href="_smal_BJ#141"> abort </A>s</code> .  

See:  <code><A href="_smal_AU#224"> ifd </A></code>  <code><A href="_smal_AJ#2a9"> reading </A></code>  <code><A href="_smal_AL#33b"> write-open </A></code>  <code><A href="_smal_AI#278"> new-file </A></code> 

<hr><h3><A name="2d8">sm/rem</A> ( d.dividend divisor -- rem quot )</h3>
 Extra: Default
<br>
rem is the remainder and quot is the floor of the quotient after dividing 
dividend by the divisor.  All values and arithmetic are signed.  The dividend is 
a double number; the divisor and the results are the cell size for the system.  
This is the ANS primitive using symmetric division.  

See:  <code><A href="_smal_AU#314"> um/mod </A></code>  <code><A href="_smal_BN#205"> fm/mod </A></code> 

<hr><h3><A name="308">type</A> ( addr +n -- )</h3>
 Extra: M,83Std,Deferred
<br>
A deferred word which transfers +n characters to the current output stream from 
memory, beginning with the character at address addr and continuing through +n 
consecutive addresses.  No action is taken if +n is zero.  
<p>
In this implementation,  <code><A href="_smal_AI#308"> type </A></code> is 
deferred for ease in redirecting the output stream.  Often it is sufficient to 
simply change  <code><A href="_smal_BS#1da"> emit </A>,</code> but sometimes the 
characteristics of the output device favor vectoring both  <code><A href="_smal_AI#308"> type </A></code> 
and  <code><A href="_smal_BS#1da"> emit </A></code> for performance reasons.  
The Default implementation is  <code><A href="_smal_AJ#309"> type1 </A>.</code> 

See:  <code><A href="_smal_AJ#309"> type1 </A></code>  <code><A href="_smal_BE#2ec"> sys-type </A></code> 

<hr><h3><A name="338">word-type</A> ( acf -- n  )</h3>
<br>
Gives a word-type identifier n which distinguishes one type of word from 
another.  This is highly implementation-dependent.  For the ARM Implementation, 
this always returns the address of the runtime code sequence for that word.  
