Instruction Reference Table


,---------------------.
|Register To Register |
+---------------------+------------------------------------------------------+
|Mnemonics          Operation            Microcycles      Comments           |
+---------+--------------------------------+-----+---------------------------+
| MOVR    | MOVe Register                  | 6/7 |                           |
+---------+--------------------------------+-----+---------------------------+
| TSTR    | TeST Register                  | 6/7 |  MOVR to itself           |
+---------+--------------------------------+-----+---------------------------+
| JR      | Jump to address in Register    |  7  |  MOVR to PC               |
+---------+--------------------------------+-----+---------------------------+
| ADDR    | ADD contents of Registers      | 6/7 |                           |
+---------+--------------------------------+-----+---------------------------+
| SUBR    | SUBtract contents of Registers | 6/7 |                           |
+---------+--------------------------------+-----+---------------------------+
| CMPR    | CoMPare Registers by subtr.    | 6/7 |  Results not stored       |
+---------+--------------------------------+-----+---------------------------+
| ANDR    | logical AND Registers          | 6/7 |                           |
+---------+--------------------------------+-----+---------------------------+
| XORR    | eXclusive OR Registers         | 6/7 |                           |
+---------+--------------------------------+-----+---------------------------+
| CLRR    | CLeaR Register                 | 6/7 |  XORR with itself         |
`----------------------------------------------------------------------------'

*7 cycles if destination register is R6 or R7, 6 cycles otherwise.

                                                                   
,---------------------.
|Single Register      |
+---------------------+------------------------------------------------------.
|Mnemonics          Operation           Microcycles      Comments            |
+---------+-------------------------------+-----+----------------------------+
| INCR    | INCrement Register            | 6/7 |                            |
+---------+-------------------------------+-----+----------------------------+
| DECR    | DECrement Register            | 6/7 |                            |
+---------+-------------------------------+-----+----------------------------+
| COMR    | COMplement Register           | 6/7 |  One's Complement          |
+---------+-------------------------------+-----+----------------------------+
| NEGR    | NEGate Register               | 6/7 |  Two's Complement          |
+---------+-------------------------------+-----+----------------------------+
| ADCR    | ADd Carry Bit to Register     | 6/7 |                            |
+---------+-------------------------------+-----+----------------------------+
| GSWD    | Get Status WorD               | 6/7 |                            |
+---------+-------------------------------+-----+----------------------------+
| NOP     | No OPeration                  | 6/7 |                            |
+---------+-------------------------------+-----+----------------------------+
| SIN     | Software INterrupt            | 6/7 |  Pulse to PCIT pin         |
+---------+-------------------------------+-----+----------------------------+
| RSWD    | Return Status WorD            | 6/7 |                            |
`---------+-------------------------------+-----+----------------------------'

                                                   
,---------------------.
|Register Shift       |
+---------------------+------------------------------------------------------.
|Mnemonics          Operation          Microcycles      Comments             |
+---------+-------------------------------+----+-----------------------------+
| SWAP    | SWAP 8-bit bytes              | 6  |  ---.                       |
+---------+-------------------------------+----+     |                       |
| SLL     | Shift Logical Left            | 6  |     |                       |
+---------+-------------------------------+----+     |   Not interruptable.  |
| RLC     | Rotate Left thru Carry        | 6  |     |                       |
+---------+-------------------------------+----+     |  One or two position  |
| SLLC    | Shift Logical Left thru Carry | 6  |     |   shift capability.   |
+---------+-------------------------------+----+     +--                     |
| SLR     | Shift Logical Right           | 6  |     |   Two position SWAP   |
+---------+-------------------------------+----+     |   replicates lower    |
| SAR     | Shift Arithmetic Right        | 6  |     |  byte in both halves. |
+---------+-------------------------------+----+     |                       |
| RRC     | Rotate Right thru Carry       | 6  |     |   (Add two cycles for |
+---------+-------------------------------+----+     |    2-position shift)  |
| SARC    | Shift Arithmetic Right thru   | 6  |  ---'                       |
|         | Carry                         |    |                             |
`---------+-------------------------------+----+-----------------------------'

                                                             
,---------------------.
|Control Instructions |
+---------------------+------------------------------------------------------.
|Mnemonics          Operation          Microcycles      Comments             |
+---------+-------------------------------+----+-----------------------------+
| HLT     | HaLT                          | 4  | Halts machine completely    |
+---------+-------------------------------+----+-----------------------------+
| SDBD    | Set Double Byte Data          | 4  | Must precede external       |
+---------+-------------------------------+----+-reference to double byte----+
| EIS     | Enable Interrupt System       | 4  |  --.    data                |
+---------+-------------------------------+----+    |                        |
| DIS     | Disable Interrupt System      | 4  |    |                        |
+---------+-------------------------------+----+    |                        |
| TCI     | Terminate Current Interrupt   | 4  |    +-  Not interruptable    |
+---------+-------------------------------+- --+    |                        |
| CLRC    | CLeaR Carry to zero           | 4  |    |                        |
+---------+-------------------------------+----+    |                        |
| SETC    | SET Carry to one              | 4  |  --'                        |
`---------+-------------------------------+----+-----------------------------'


,---------------------.
|Jump Instructions    |
+---------------------+------------------------------------------------------.
|Mnemonics          Operation          Microcycles      Comments             |
+---------+-------------------------------+----+-----------------------------+
| J       | Jump                          | 12 |                             |
+---------+-------------------------------+----+-----------------------------+
| JE      | Jump, Enable, interrupt       | 12 |                             |
+---------+-------------------------------+----+-----------------------------+
| JD      | Jump, Disable interrupt       | 12 |                             |
+---------+-------------------------------+----+-----------------------------+
| JSR     | Jump, Save Return             | 12 |  --.                        |
+---------+-------------------------------+----+    |                        |
| JSRE    | Jump, Save Return & Enable    | 12 |    +--  Return Address      |
+---------+-------------------------------+----+    |     saved in R4,       |
| JSRD    | Jump, Save Return & Disable   | 12 |    |       5 or 6           |
|         | interrupt                     |    |  --'                        |
`---------+-------------------------------+----+-----------------------------'



EXTERNAL REFERENCE INSTRUCTIONS
                                       Note:
,---------------------------------.    Add 2 cycles if test condition is
|Conditional Branch Instructions  |    true except "*"
+----------------------------------+-----------------------------------------.
|Mnemonics           Operation            Microcycles     Comments           |
+---------+---------------------------------+-----+--------------------------+
| B       |  unconditional Branch           |  9* |                          |
+---------+---------------------------------+-----+--------------------------+
| NOPP    |  NO OPeration                   |  7* |   Two words              |
+---------+---------------------------------+-----+--------------------------+
| BC      |  Branch on Carry                |  7  |   C = 1                  |
+---------+---------------------------------+-----+--------------------------+
| BNC     |  Branch on No Carry             |  7  |   C = 0                  |
+---------+---------------------------------+-----+--------------------------+
| BOV     |  Branch on OVerflow             |  7  |   OV = 1                 |
+---------+---------------------------------+-----+--------------------------+
| BNOV    |  Branch on No OVerflow          |  7  |   OV = 0                 |
+---------+---------------------------------+-----+--------------------------+
| BPL     |  Branch on PLus                 |  7  |   S = 0                  |
+---------+---------------------------------+-----+--------------------------+
| BMI     |  Branch on Minus                |  7  |   S = 1                  |
+---------+---------------------------------+-----+--------------------------+
| BEQ     | Branch if Not Zero or Not EQual |  7  |   Z = 1                  |
+---------+---------------------------------+-----+--------------------------+
| BNEQ    | Branch if Not Zero or Not EQual |  7  |   Z = 0                  |
+---------+---------------------------------+-----+--------------------------+
| BLT     |  Branch if Less Than            |  7  |   S XOR OV = 1           |
+---------+---------------------------------+-----+--------------------------+
| BGE     | Branch if Greater than or Equal |  7  |   S XOR OV = 0           |
+---------+---------------------------------+-----+--------------------------+
| BLE     |  Branch if Less than or Equal   |  7  |   Z OR (S XOR OV) = 1    |
+---------+---------------------------------+-----+--------------------------+
| BGT     |  Branch if Greater Than         |  7  |   Z OR (S XOR OV) = 0    |
+---------+---------------------------------+-----+--------------------------+
| BUSC    |  Branch if Sign not = Carry     |  7  |   C XOR S = 1            |
+---------+---------------------------------+-----+--------------------------+
| BESC    |  Branch if Sign = Carry         |  7  |   C XOR S = 0            |
+---------+---------------------------------+-----+--------------------------+
|         | Branch if External condition is |     |  LSB of instruction are  |
| BEXT    |               True              |  7  |  decoded select 1 of 16  |
|         |                                 |     |  external conditions     |
`---------+---------------------------------+-----+--------------------------'


                                                                               
,---------------------.
|  Input/Output       |
+---------------------+------------------------------------------------------.
|Mnemonics     Operation               Microcycles            Comments       |
+---------------------------------+----+----+------+-----+-------------------+
|                                 |Dir.|Imm.|Indir.|Stack|                   |
+---------+-----------------------+----+----+------+-----+-------------------+
| MVO     | MoVe Out              | 11 |  9 |  9   |  9  | Not interruptable |
+---------+-----------------------+----+----+------+-----+-------------------+
| PSHR    | PuSH Register to Stack|  - | -  |  -   |  9  | PSHR = MVO@R6     |
|         |                       |    |    |      |     | Not interruptable |
+---------+-----------------------+----+----+------+-----+-------------------+
| MVI     | MoVe in               | 10 |  8 |  8   | 11  |                   |
+---------+-----------------------+----+----+------+-----+-------------------+
| PULR    | PULl from stack to    |  - |  - |  -   | 11  | PULR = MVI@R6     |
|         |     Register          |    |    |      |     |                   |
`---------+-----------------------+----+----+------+-----+-------------------' 


,---------------------.
|  Arithmetic & Logic |
+---------------------+------------------------------------------------------.
|Mnemonics     Operation               Microcycles            Comments       |
+---------------------------------+----+----+------+-----+-------------------+
|                                 |Dir.|Imm.|Indir.|Stack|                   |
+---------+-----------------------+----+----+------+-----+-------------------+
| ADD     | ADD                   | 10 |  8 |  8   | 11  |                   |
+---------+-----------------------+----+----+------+-----+-------------------+
| SUB     | SUBtract              | 10 |  8 |  8   | 11  |                   |
+---------+-----------------------+----+----+------+-----+-------------------+
| CMP     | CoMPare               | 10 |  8 |  8   | 11  | Result not saved  |
+---------+-----------------------+----+----+------+-----+-------------------+
| AND     | logical AND           | 10 |  8 |  8   | 11  |                   |
+---------+-----------------------+----+----+------+-----+-------------------+
| XOR     | eXclusive OR          | 10 |  8 |  8   | 11  |                   |
`---------+-----------------------+----+----+------+-----+-------------------'



