Instruction ClassesHeritage/1 instructions are divided into "classes". The instruction class is the 4-bits number given by the most significant nibble of the operational code.
 
 
Class numbers are not arbitrary but closely related to the way instructions are decoded by the CPU circuitry. So far classes 1 to 11 have been defined; classes 12 to 14 are reserved for future use and class 15 represents a "class extension".
 
 
Class 15 instructions utilizes the next nibble (D9-12) to hold the "subclass". Remaining bits are conveniently encoded for the best use of decoding circuitry.
 
 
Following is a list of Heritage/1 Instruction Classes.
 
 
============================================================================
 
HERITAGE/1 INSTRUCTION CLASSES AND SUBCLASSES
 
Note: Even classes and even subclasses require an Operand Fetch cycle
 
      following the Operational Code Fetch Cycle.
 
============================================================================
 
CLASS   EXT     OPND    INSTRUCTIONS    ADDRESSING MODE
 
============================================================================
 
1               .       mov  r,s        reg                        (ota=0  )
 
                        stox r,s        indirect                   (ota<>0 )
 
                        jpx  r          jmp indirect unc.          (ld=PC  )
 
                        jprx r          jmp relative indirect unc. (ld=1011)
 
----------------------------------------------------------------------------
 
2               x       mvi r, value    inmediate
 
                        sto r, addr     direct
 
                        jp  addr        jmp direct unc.
 
                        jpr offset      jmp relative direct unc.
 
----------------------------------------------------------------------------
 
3               .       ldx r,s         indirect
 
----------------------------------------------------------------------------
 
4               x       ld r, addr      direct
 
----------------------------------------------------------------------------
 
5               .       add a, r        ALU reg
 
----------------------------------------------------------------------------
 
6               x       adi a, value    ALU inmmediate
 
----------------------------------------------------------------------------
 
7               .       addx a, r       ALU indirect
 
----------------------------------------------------------------------------
 
8               x       addd a, addr    ALU direct
 
----------------------------------------------------------------------------
 
9               .       inc r           n/a
 
                        dec r
 
                        incm r,s
 
                        decm r,s
 
                        indec r,s
 
                        indec implicit
 
----------------------------------------------------------------------------
 
10              x       jnz  addr       jmp direct cond.
 
                        jnzr offset     jmp relative direct cond.
 
----------------------------------------------------------------------------
 
11              .       jnzx  r         jmp indirect cond.
 
                        jnzrx r         jmp relative indirect cond.
 
 
----------------------------------------------------------------------------
 
        CLASS EXTENSIONS
 
----------------------------------------------------------------------------
 
15      1       .       callx           call indirect
 
                        callrx          call relative indirect
 
----------------------------------------------------------------------------
 
15      2       x       call  addr      call direct
 
                        callr offset    call relative direct
 
----------------------------------------------------------------------------
 
15      3       .       ret             n/a
 
                        reti
 
----------------------------------------------------------------------------
 
15      5       .       int vector      n/a
 
----------------------------------------------------------------------------
 
15      7       .       push r          stack
 
                        pop  r          stack
 
----------------------------------------------------------------------------
 
15      9       .       hlt             n/a
 
                        clrf            n/a
 
                        di              n/a
 
                        ei              n/a
 
                        dt              n/a
 
                        et              n/a
 
----------------------------------------------------------------------------
 
  |