Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instructions:ext [2009/01/21 12:53] (current)
scott created
Line 1: Line 1:
 +====== Exit (EXT)/OP=32 ======
 +
 +==== Format ====
 +
 +^  OP  ^  A  ^  
 +
 +''OP = 32''
 +
 +**A** is the return address.   The address may be indexed, indirect or extended.  When not extended, the final address controller bits specify the most significant digit of the address.  This permits branching to any address up to and including 299,998, relative to Base #1, without indexing or extension.   When the address is indexed, the final Base Indicant should resolve to a value of __1__.  The processor will always treat the resolved address as being relative to Base #1.  The processor will not check for improper memory assignments.  The normal return address is obtained by setting the **A** address to zero, indexing by IX3 and settting the address controller to indirect.  When the address is indexed by IX3, the initial contents of IX3 are used.
 +
 +==== Function ====
 +
 +The Exit instruction reverses the actions of the [[instructions:ntr|Enter]] instruction, thus accomplishing an exit from the stack.
 +
 +The instruction restores the settings of the [[processor_state:overflow_flag|Overflow]] and [[processor_state:comparison_flags|Comparison]] flags as specified by IX3 plus __15__ if the digit at IX3 plus __14__ is zero.   if the digit at IX3 plus __14__ contains a one, the flags will not be restored.  All other values are reserved.
 +
 +Copy the least significant six digits contained in IX3 to memory location __000040__ relative to Base #0.
 +
 +Copy the eight digits at the location specified by IX3 plus __6__ to IX3.
 +
 +==== Comparison Flags ====
 +
 +If the digit at IX3 plus __14__ is zero, set the
 +[[processor_state:comparison_flags|Comparison Flags]] and [[processor_state:overflow_flag|Overflow Flag]] to the least significant two bits of the digit at IX3
 +plus __15__.   See [[instructions:ntr|Enter]].
 +
 +==== Overlap ====
 +
 +There are no overlap restrictions for this instruction.
 +
 +==== Examples ====
 +
 +=== Example (1) Exit the stack ===
 +
 +^  OP  ^  A Syllable  ^  
 +|  32  |  F00000  |
 +
 +                      BEFORE         AFTER
 +         NI           nnnnnn        003034
 +        IX3         +0001024      +0000010
 +     000040           001046        001024    Top Of Stack
 +     001024           003034    Unchanged.
 +                    +0000010    Unchanged.
 +                           0    Unchanged.
 +                           6    Unchanged.
 +                      203010    Unchanged.
 +
 +    COMPARISON          nn             LOW
 +    OVERFLOW            nn              ON
  
instructions/ext.txt ยท Last modified: 2009/01/21 12:53 by scott
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki