  Z80 and R800 Assembly/Machine Language Op-code Tables

    Written by "Cyberknight" Masao Kawata.
    E-Mail: cyber_unicorn@hotmail.com
    Revised: 1997-October-21 Tuesday.



    Notes:

  *1: the op-code "ED 70" has no mnemonic defined for Z80, though it is a
      valid instruction.


    Z80/R800 Instruction Tables:

+----------------------------------------------------------------------------+
|               Instructions sorted by Z80 mnemonics (compact)               |
+--------------+---------------+----------------+--------+-----------+-+--+--+
|              |               |   Operation,   | Flags  |  Op-codes | |  |  |
| Z80 Assembly | R800 Assembly |  Description   |        +--------+--+B|Z |R |
|  Mnemonics   |   Mnemonics   |  and Remarks   +--------+ Binary |Hx| |  |  |
|  (meaning)   |   (meaning)   |                |SZ.HP.NC|76543210|  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|adc a,(hl)    |addc .a,[.hl]  |.a <- .a+[.hl]+C|**?*o?0*|10001110|8E|1| 7| 2|
|(ADd with     |(ADD with      |                |        |        |  | |  |  |
|        Carry)|         Carry)|                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|adc a,(ii+d)  |addc .a,[ii+d] |.a<-.a+[ii+d]+C |**?*o?0*|   ii   |ii|3|19| 5|
|              |               |                |        |10001110|8E| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|adc a,n       |addc .a,n      |.a <- .a + n + C|**?*o?0*|11001110|CE|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|adc a,r       |addc .a,r      |.a <- .a + r + C|**?*o?0*|10001 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |addc .a,p      |.a <- .a + p + C|**?*o?0*|11011101|DD|2|  | 2|
|              |               |                |        |10001 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |addc .a,q      |.a <- .a + q + C|**?*o?0*|11111101|FD|2|  | 2|
|              |               |                |        |10001 q |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|adc hl,ss     |addc .hl,ss    |.hl <- .hl+ss+C |**?*o?0*|11101101|ED|2|15| 2|
|              |               |                |        |01ss1010|  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|add a,(hl)    |add .a,[.hl]   |.a <- .a + [.hl]|**?*o?0*|10000110|86|1| 7| 2|
|(ADD)         |(ADD)          |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|add a,(ii+d)  |add .a,[ii+d]  |.a <- .a+[ii+d] |**?*o?0*|   ii   |ii|3|19| 5|
|              |               |                |        |10000110|86| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|add a,n       |add .a,n       |.a <- .a + n    |**?*o?0*|11000110|C6|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|add a,r       |add .a,r       |.a <- .a + r    |**?*o?0*|10000 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |add .a,p       |.a <- .a + p    |**?*o?0*|11011101|DD|2|  | 2|
|              |               |                |        |10000 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |add .a,q       |.a <- .a + q    |**?*o?0*|11111101|FD|2|  | 2|
|              |               |                |        |10000 q |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|add hl,ss     |add .hl,ss     |.hl <- .hl + ss |**?*o?0*|00ss1001|  |1|11| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|add ii,pp     |add ii,pp      |ii <- ii + pp   |**?*o?0*|   ii   |ii|2|15| 2|
|              |               |                |        |00pp1001|  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|and (hl)      |and .a,[.hl]   |.a <- .a & [.hl]|**?1p?00|10100110|A6|1| 7| 2|
|(AND)         |(AND)          |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|and (ii+d)    |and .a,[ii+d]  |.a<-.a & [ii+d] |**?1p?00|   ii   |ii|3|19| 5|
|              |               |                |        |10100110|A6| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|and n         |and .a,n       |.a <- .a & n    |**?1p?00|11100110|E6|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|and r         |and .a,r       |.a <- .a & r    |**?1p?00|10100 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |and .a,p       |.a <- .a & p    |**?1p?00|11011101|DD|2|  | 2|
|              |               |                |        |10100 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |and .a,q       |.a <- .a & q    |**?1p?00|11111101|FD|2|  | 2|
|              |               |                |        |10100 q |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|bit b,(hl)    |bit b,[.hl]    |Z <- ~ [.hl]{b} |?*?1??0.|11001011|CB|2|12| 3|
|(test BIT)    |(test BIT)     |                |        |01 b 110|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|bit b,(ii+d)  |bit b,[ii+d]   |Z <- ~ [ii+d]{b}|?*?1??0.|   ii   |ii|4|20| 5|
|              |               |                |        |11001011|CB| |  |  |
|              |               |                |        |   d    |d | |  |  |
|              |               |                |        |01 b 110|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|bit b,r       |bit b,r        |Z <- ~ r{b}     |?*?1??0.|11001011|CB|2| 8| 2|
|              |               |                |        |01 b  r |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|call nn       |call nn        |[.sp-2] <- .pcl |........|11001101|CD|3|17| 5|
|(CALL)        |(CALL)         |[.sp-1] <- .pch |        |  nnl   |  | |  |  |
|              |               |.sp <- .sp - 2  |        |  nnh   |  | |  |  |
|              |               |.pc <- nn       |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call c,nn     |call c,nn      |if C = 1        |........|11011100|DC|3|  |  |
|(CALL if      |(CALL if Carry)| [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|        Carry)|               | [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|              |               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call m,nn     |call m,nn      |if S = 1        |........|11111100|FC|3|  |  |
|(CALL if      |(CALL if Minus)| [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|        Minus)|               | [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|              |               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call nc,nn    |call nc,nn     |if C = 0        |........|11010100|D4|3|  |  |
|(CALL if      |(CALL if       | [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|    Not Carry)|     Not Carry)| [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|              |               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call nz,nn    |call nz,nn     |if Z = 0        |........|11000100|C4|3|  |  |
|(CALL if Not  |(CALL if       | [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|         Zero)|      Not Zero)| [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|              |               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call p,nn     |call p,nn      |if S = 0        |........|11110100|F4|3|  |  |
|(CALL if Plus)|(CALL if Plus) | [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|              |               | [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|              |               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call pe,nn    |call pe,nn     |if P = 1        |........|11101100|EC|3|  |  |
|(CALL if      |(CALL if Parity| [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|  Parity is   |       is Even)| [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|         Even)|               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call po,nn    |call po,nn     |if P = 0        |........|11100100|E4|3|  |  |
|(CALL if      |(CALL if Parity| [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|Parity is Odd)|        is Odd)| [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|              |               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|call z,nn     |call z,nn      |if Z = 1        |........|11001100|CC|3|  |  |
|(CALL if Zero)|(CALL if Zero) | [.sp-2] <- .pcl|        |  nnl   |  | |17| 5|
|              |               | [.sp-1] <- .pch|        |  nnh   |  | |  |  |
|              |               | .sp <- .sp - 2 |        |        |  | |  |  |
|              |               | .pc <- nn      |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | |10| 3|
+==============+===============+================+========+========+==+=+==+==+
|ccf           |notc           |C <- ~ C        |..??.?0*|00111111|3F|1| 4| 1|
|(Complement   |(NOT Carry)    |                |        |        |  | |  |  |
|   Carry Flag)|               |                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|cp (hl)       |cmp .a,[.hl]   |.a - [.hl]      |**?*o?1*|10111110|BE|1| 7| 2|
|(ComPare)     |(CoMPare)      |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|cp (ii+d)     |cmp .a,[ii+d]  |.a - [ii+d]     |**?*o?1*|   ii   |ii|3|19| 5|
|              |               |                |        |10111110|BE| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|cp n          |cmp .a,n       |.a - n          |**?*o?1*|11111110|FE|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|cp r          |cmp .a,r       |.a - r          |**?*o?1*|10111 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |cmp .a,p       |.a - p          |**?*o?1*|11011101|DD|2|  | 2|
|              |               |                |        |10111 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |cmp .a,q       |.a - q          |**?*o?1*|11111101|FD|2|  | 2|
|              |               |                |        |10111 q |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|cpd           |cmp .a,[.hl--] |.a - [.hl]      |*%?*$?*.|11101101|ED|2|16| 4|
|(ComPare and  |               |.hl <- .hl - 1  |        |10101001|A9| |  |  |
|    Decrement)|               |.bc <- .bc - 1  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|cpdr          |cmpm .a,[.hl--]|repeat          |*%?*$?*.|11101101|ED|2|21| 4|
|(ComPare,     |(CoMPare       |  .a - [.hl]    |        |10111001|B9| |  |  |
|  Decrement   |      Multiple)|  .hl <- .hl - 1|        |        |  | |  |  |
|   and Repeat)|               |  .bc <- .bc - 1|        |        |  | |  |  |
|              |               |until .bc = 0 or|        |        |  | |16| 4|
|              |               |      .a = [.hl]|        |        |  | | *| *|
|              |               |* note: the 1st |        |        |  | |  |  |
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|cpi           |cmp .a,[.hl++] |.a - [.hl]      |*%?*$?*.|11101101|ED|2|16| 4|
|(ComPare and  |               |.hl <- .hl + 1  |        |10100001|A1| |  |  |
|    Increment)|               |.bc <- .bc - 1  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|cpir          |cmpm .a,[.hl++]|repeat          |*%?*$?*.|11101101|ED|2|21| 4|
|(ComPare,     |               |  .a - [.hl]    |        |10110001|B1| |  |  |
|  Increment   |               |  .hl <- .hl + 1|        |        |  | |  |  |
|   and Repeat)|               |  .bc <- .bc - 1|        |        |  | |  |  |
|              |               |until .bc = 0 or|        |        |  | |16| 4|
|              |               |      .a = [.hl]|        |        |  | | *| *|
|              |               |* note: the 1st |        |        |  | |  |  |
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|cpl           |not .a         |.a <- ~ .a      |..?1.?1.|00101111|2F|1| 4| 1|
|(ComPLement   |(NOT)          |                |        |        |  | |  |  |
|  accumulator)|               |                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|daa           |adj .a         |adjust to       |**?*p?.*|00100111|27|1| 4| 1|
|(Decimal      |(ADJust)       |         decimal|        |        |  | |  |  |
|   Adjust     |               |                |        |        |  | |  |  |
|  Accumulator)|               |                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|dec (hl)      |dec [.hl]      |[.hl] <- [.hl]-1|**?*o?0*|00110101|35|1|11| 4|
|(DECrement)   |(DECrement)    |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|dec (ii+d)    |dec [ii+d]     |[ii+d]<-[ii+d]-1|**?*o?0*|   ii   |ii|3|23| 7|
|              |               |                |        |00110101|35| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|dec r         |dec r          |r <- r - 1      |**?*o?0*|00 r 101|  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |dec p          |p <- p - 1      |**?*o?0*|11011101|DD|2|  | 2|
|              |               |                |        |00 p 101|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |dec q          |q <- q - 1      |**?*o?0*|11111101|FD|2|  | 2|
|              |               |                |        |00 q 101|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|dec ss        |dec ss         |ss <- ss - 1    |........|00ss1011|  |1| 6| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|dec ii        |dec ii         |ii <- ii - 1    |........|   ii   |ii|2|10| 2|
|              |               |                |        |00101011|2B| |  |  |
+==============+===============+================+========+========+==+=+==+==+
|di            |di             |IFF <- 0        |........|11110011|F3|1| 4| 2|
|(Disable      |(Disable       |                |        |        |  | |  |  |
| Interruption)|  Interruption)|                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|djnz d        |dbnz d         |.b <- .b - 1    |........|00010000|10|2|  |  |
|(Decrement    |(Decrement     |if .b not zero  |        |   d    |  | |  |  |
| and Jump if  | and Branch if |   pc <- .pc + d|        |        |  | |13| 2|
|     Not Zero)|      Not Zero)|else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 8| 2|
+==============+===============+================+========+========+==+=+==+==+
|ei            |ei             |IFF <- 1        |........|11111011|FB|1| 4| 1|
|(Enable       |(Enable        |                |        |        |  | |  |  |
| Interruption)|  Interruption)|                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|ex (sp),hl    |xch [.sp],.hl  |.l <-> [.sp]    |........|11100011|E3|1|19| 5|
|(EXchange)    |(eXCHange)     |.h <-> [.sp+1]  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ex (sp),ii    |xch [.sp],ii   |iil <-> [.sp]   |........|   ii   |ii|2|23| 6|
|              |               |iih <-> [.sp+1] |        |11100011|E3| |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ex af,af'     |xch .af,.af'   |.af <-> .af'    |........|00001000|08|1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ex de,hl      |xch .de,.hl    |.de <-> .hl     |........|11101011|EB|1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|exx           |xchx           |.bc <-> .bc'    |........|11011001|D9|1| 4| 1|
|(EXchange with|(eXCHange with |.de <-> .de'    |        |        |  | |  |  |
|     auXiliar)|      auXiliar)|.hl <-> .hl'    |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|halt          |halt           |halt processor  |........|01110110|76|1| 4| 2|
|(HALT)        |(HALT)         |                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|im 0          |im 0           |set interruption|........|11101101|ED|2| 8| 3|
|(Interruption |(Interruption  |mode 0          |        |01000110|46| |  |  |
|       Mode 0)|        Mode 0)|                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|im 1          |im 1           |set interruption|........|11101101|ED|2| 8| 3|
|(Interruption |(Interruption  |mode 1          |        |01010110|56| |  |  |
|       Mode 1)|        Mode 1)|                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|im 2          |im 2           |set interruption|........|11101101|ED|2| 8| 3|
|(Interruption |(Interruption  |mode 2          |        |01011110|5E| |  |  |
|       Mode 2)|        Mode 2)|                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|in a,(n)      |in .a,[n]      |.a <- [n]       |........|11011011|DB|2|11| 3|
|(INput)       |(INput)        |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|in r,(c)      |in r,[.c]      |r <- [.c]       |**?0p?0.|11101101|ED|2|12| 3|
|              |               |                |        |01 r 000|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
| *1           |in .f,[.c]     |[.c]            |**?0p?0.|11101101|ED|2|12| 3|
|              |               |* note 1: this  |        |01110000|70| |  |  |
|              |               |instruction has |        |        |  | |  |  |
|              |               |no mnemonic for |        |        |  | |  |  |
|              |               |Z80, so its     |        |        |  | |  |  |
|              |               |op-code must be |        |        |  | |  |  |
|              |               |directly defined|        |        |  | |  |  |
|              |               |when necessary  |        |        |  | |  |  |
|              |               |(in pseudo-code:|        |        |  | |  |  |
|              |               |db 0edh,070h)   |        |        |  | |  |  |
|              |               |* note 2: the   |        |        |  | |  |  |
|              |               |R800 mnemonic   |        |        |  | |  |  |
|              |               |implies, but    |        |        |  | |  |  |
|              |               |doesn't mean,   |        |        |  | |  |  |
|              |               |that the datum  |        |        |  | |  |  |
|              |               |is stored in .f;|        |        |  | |  |  |
|              |               |the mnemonic    |        |        |  | |  |  |
|              |               |only indicates  |        |        |  | |  |  |
|              |               |the instruction |        |        |  | |  |  |
|              |               |affects .f      |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|inc (hl)      |inc [.hl]      |[.hl] <- [.hl]+1|**?*o?0*|00110100|34|1|11| 4|
|(INCrement)   |(INCrement)    |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|inc (ii+d)    |inc [ii+d]     |[ii+d]<-[ii+d]+1|**?*o?0*|   ii   |ii|3|23| 7|
|              |               |                |        |00110100|34| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|inc r         |inc r          |r <- r + 1      |**?*o?0*|00 r 100|  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |inc p          |p <- p + 1      |**?*o?0*|11011101|DD|2|  | 2|
|              |               |                |        |00 p 100|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |inc q          |q <- q + 1      |**?*o?0*|11111101|FD|2|  | 2|
|              |               |                |        |00 q 100|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|inc ss        |inc ss         |ss <- ss + 1    |........|00ss0011|  |1| 6| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|inc ii        |inc ii         |ii <- ii + 1    |........|   ii   |ii|2|10| 2|
|              |               |                |        |00100011|23| |  |  |
+==============+===============+================+========+========+==+=+==+==+
|ind           |in             |[.hl] <- [.c]   |?!????1.|11101101|ED|2|16| 4|
|(INput and    |   [.hl--],[.c]|.b <- .b - 1    |        |10101010|AA| |  |  |
|    Decrement)|(INput)        |.hl <- .hl - 1  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|indr          |inm            |repeat          |?1????1.|11101101|ED|2|21| 4|
|(INput,       |   [.hl--],[.c]| [.hl] <- [.c]  |        |10111010|BA| |  |  |
|Decrement and |(INput         | .b <- .b - 1   |        |        |  | |  |  |
|       Repeat)|      Multiple)| .hl <- .hl - 1 |        |        |  | |  |  |
|              |               |until .b = 0    |        |        |  | |16| 3|
|              |               |* note: the 1st |        |        |  | | *| *|
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ini           |in             |[.hl] <- [.c]   |?!????1.|11101101|ED|2|16| 4|
|(INput and    |   [.hl++],[.c]|.b <- .b - 1    |        |10100010|A2| |  |  |
|    Increment)|(INput)        |.hl <- .hl + 1  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|inir          |inm            |repeat          |?1????1.|11101101|ED|2|21| 4|
|(INput,       |   [.hl++],[.c]| [.hl] <- [.c]  |        |10110010|B2| |  |  |
|Increment and |               | .b <- .b - 1   |        |        |  | |  |  |
|       Repeat)|               | .hl <- .hl + 1 |        |        |  | |  |  |
|              |               |until .b = 0    |        |        |  | |16| 3|
|              |               |* note: the 1st |        |        |  | | *| *|
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|jp (hl)       |br [.hl]       |.pc <- [.hl]    |........|11101001|E9|1| 4| 1|
|(JumP)        |(BRanch)       |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp (ii)       |br [ii]        |.pc <- [ii]     |........|   ii   |ii|2| 8| 2|
|              |               |                |        |11101001|E9| |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp nn         |br nn          |.pc <- nn       |........|11000011|C3|3|10| 3|
|              |               |       .pc <- nn|        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp c,nn       |bc nn          |if C = 1        |........|11011010|DA|3|  |  |
|(JumP if      |(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|        Carry)|         Carry)|                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp m,nn       |bm nn          |if S = 1        |........|11111010|FA|3|  |  |
|(JumP if      |(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|        Minus)|         Minus)|                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp nc,nn      |bnc nn         |if C = 0        |........|11010010|D2|3|  |  |
|(JumP if      |(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|    Not Carry)|     Not Carry)|                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp nz,nn      |bnz nn         |if Z = 0        |........|11000010|C2|3|  |  |
|(JumP if      |(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|     Not Zero)|      Not Zero)|                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp p,nn       |bp nn          |if S = 0        |........|11110010|F2|3|  |  |
|(JumP if Plus)|(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|              |          Plus)|                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp pe,nn      |bpe nn         |if P = 1        |........|11101010|EA|3|  |  |
|(JumP if      |(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|   Parity is  |Parity is Even)|                |        |  nnh   |  | |  |  |
|         Even)|               |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp po,nn      |bpo nn         |if P = 0        |........|11100010|E2|3|  |  |
|(JumP if      |(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|Parity is Odd)| Parity is Odd)|                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jp z,nn       |bz nn          |if Z = 1        |........|11001010|CA|3|  |  |
|(JumP if Zero)|(Branch if     |       .pc <- nn|        |  nnl   |  | |10| 3|
|              |          Zero)|                |        |  nnh   |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|jr d          |short br d     |.pc <- .pc + d  |........|00011000|18|2|12| 3|
|(Jump         |(SHORT BRanch) |                |        |   d    |  | |  |  |
|     Relative)|               |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jr c,d        |short bc d     |if C = 1        |........|00111000|38|2|  |  |
|(Jump         |(SHORT Branch  |  .pc <- .pc + d|        |   d    |  | |12| 3|
| Relative if  |      if Carry)|else            |        |        |  | |  |  |
|        Carry)|               |    no operation|        |        |  | | 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jr nc,d       |short bnc d    |if C = 0        |........|00110000|30|2|  |  |
|(Jump         |(SHORT Branch  |  .pc <- .pc + d|        |   d    |  | |12| 3|
| Relative if  |  if Not Carry)|else            |        |        |  | |  |  |
|    Not Carry)|               |    no operation|        |        |  | | 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jr nz,d       |short bnz d    |if Z = 0        |........|00100000|20|2|  |  |
|(Jump         |(SHORT Branch  |  .pc <- .pc + d|        |   d    |  | |12| 3|
| Relative if  |   if Not Zero)|else            |        |        |  | |  |  |
|     Not Zero)|               |    no operation|        |        |  | | 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|jr z,d        |short bz d     |if Z = 1        |........|00101000|28|2|  |  |
|(Jump         |(SHORT Branch  |  .pc <- .pc + d|        |   d    |  | |12| 3|
| Relative if  |       if Zero)|else            |        |        |  | |  |  |
|         Zero)|               |    no operation|        |        |  | | 7| 2|
+==============+===============+================+========+========+==+=+==+==+
|ld (nn),a     |ld [nn],.a     |[nn] <- .a      |........|00110010|32|3|13| 4|
|(LoaD)        |(LoaD)         |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (nn),ss    |ld [nn],ss     |[nn+1] <- ssh   |........|11101101|ED|4|20| 6|
|              |               |[nn] <- ssl     |        |01ss0011|  | |  |  |
|              |               |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (nn),hl    |ld [nn],.hl    |[nn+1] <- .h    |........|00100010|22|3|16| 5|
|              |               |[nn] <- .l      |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (nn),ii    |ld [nn],ii     |[nn+1] <- iih   |........|   ii   |ii|4|20| 6|
|              |               |[nn] <- iil     |        |00100010|22| |  |  |
|              |               |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (bc),a     |ld [.bc],.a    |[.bc] <- .a     |........|00000010|02|1| 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (de),a     |ld [.de],.a    |[.de] <- .a     |........|00010010|12|1| 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (hl),n     |ld [.hl],n     |[.hl] <- n      |........|00110110|36|2|10| 3|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (hl),r     |ld [.hl],r     |[.hl] <- r      |........|01110 r |  |1| 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (ii+d),n   |ld [ii+d],n    |[ii+d] <- n     |........|   ii   |ii|4|19| 5|
|              |               |                |        |00110110|36| |  |  |
|              |               |                |        |   d    |d | |  |  |
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld (ii+d),r   |ld [ii+d],r    |[ii+d] <- r     |........|   ii   |ii|3|19| 5|
|              |               |                |        |01110 r |  | |  |  |
|              |               |                |        |   d    |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld a,(nn)     |ld .a,[nn]     |.a <- [nn]      |........|00111010|3A|3|13| 4|
|              |               |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld a,(bc)     |ld .a,[.bc]    |.a <- [.bc]     |........|00001010|0A|1| 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld a,(de)     |ld .a,[.de]    |.a <- [.de]     |........|00011010|1A|1| 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld a,i        |ld .a,.i       |.a <- .i        |**?0I?0*|11101101|ED|2| 9| 2|
|              |               |                |        |01010111|57| |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld a,r        |ld .a,.r       |.a <- .r        |**?0I?0*|11101101|ED|2| 9| 2|
|              |               |                |        |01011111|5F| |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld r,(hl)     |ld r,[.hl]     |r <- [.hl]      |........|01 r 110|  |1| 7| 2|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld r,(ii+d)   |ld r,[ii+d]    |r <- [ii+d]     |........|   ii   |ii|3|19| 5|
|              |               |                |        |01 r 110|  | |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld r,n        |ld r,n         |r <- n          |........|00 r 110|  |2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |ld u,n         |u <- n          |........|11011101|DD|3|  | 3|
|              |               |                |        |00 u 110|  | |  |  |
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |ld v,n         |v <- n          |........|11111101|FD|3|  | 3|
|              |               |                |        |00 v 110|  | |  |  |
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld i,a        |ld .i,.a       |.i <- .a        |........|11101101|ED|2| 9| 2|
|              |               |                |        |01000111|47| |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld r1,r2      |ld r1,r2       |r1 <- r2        |........|01 r1 r2|  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |ld u1,u2       |u1 <- u2        |........|11011101|DD|2|  | 2|
|              |               |                |        |01 u1 u2|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |ld v1,v2       |v1 <- v2        |........|11111101|FD|2|  | 2|
|              |               |                |        |01 v1 v2|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld ss,(nn)    |ld ss,[nn]     |ssh <- [nn+1]   |........|11101101|ED|4|20| 6|
|              |               |ssl <- [nn]     |        |01ss1011|  | |  |  |
|              |               |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld ss,nn      |ld ss,nn       |ss <- nn        |........|00ss0001|  |3|10| 3|
|              |               |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld hl,(nn)    |ld .hl,[nn]    |.h <- [nn+1]    |........|00101010|2A|3|16| 5|
|              |               |.l <- [nn]      |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld ii,(nn)    |ld ii,[nn]     |iih <- [nn+1]   |........|   ii   |ii|4|20| 6|
|              |               |iil <- [nn]     |        |00101010|2A| |  |  |
|              |               |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld ii,nn      |ld ii,nn       |ii <- nn        |........|   ii   |ii|4|14| 4|
|              |               |                |        |00100001|21| |  |  |
|              |               |                |        |  nnl   |  | |  |  |
|              |               |                |        |  nnh   |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld r,a        |ld .r,.a       |.r <- .a        |........|11101101|ED|2| 9| 2|
|              |               |                |        |01001111|4F| |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld sp,hl      |ld .sp,.hl     |.sp <- .hl      |........|11111001|F9|1| 6| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ld sp,ii      |ld .sp,ii      |.sp <- ii       |........|   ii   |ii|2|10| 2|
|              |               |                |        |11111001|F9| |  |  |
+==============+===============+================+========+========+==+=+==+==+
|ldd           |move           |[.de] <- [.hl]  |..?0$?0.|11101101|ED|2|16| 4|
|(LoaD and     |[.hl--],[.de--]|.de <- .de - 1  |        |10101000|A8| |  |  |
|    Decrement)|(MOVE)         |.hl <- .hl - 1  |        |        |  | |  |  |
|              |               |.bc <- .bc - 1  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|lddr          |movem          |repeat          |..?00?0.|11101101|ED|2|21| 4|
|(LoaD,        |[.hl--],[.de--]|  [.de] <- [.hl]|        |10111000|B8| |  |  |
|  Decrement   |(MOVE Multiple)|  .de <- .de - 1|        |        |  | |  |  |
|   and Repeat)|               |  .hl <- .hl - 1|        |        |  | |  |  |
|              |               |  .bc <- .bc - 1|        |        |  | |  |  |
|              |               |until .bc = 0   |        |        |  | |16| 4|
|              |               |* note: the 1st |        |        |  | | *| *|
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ldi           |move           |[.de] <- [.hl]  |..?0$?0.|11101101|ED|2|16| 4|
|(LoaD and     |[.hl++],[.de++]|.de <- .de + 1  |        |10100000|A0| |  |  |
|    Increment)|               |.hl <- .hl + 1  |        |        |  | |  |  |
|              |               |.bc <- .bc - 1  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ldir          |movem          |repeat          |..?00?0.|11101101|ED|2|21| 4|
|(LoaD,        |[.hl++],[.de++]|  [.de] <- [.hl]|        |10110000|B0| |  |  |
|  Increment   |               |  .de <- .de + 1|        |        |  | |  |  |
|   and Repeat)|               |  .hl <- .hl + 1|        |        |  | |  |  |
|              |               |  .bc <- .bc - 1|        |        |  | |  |  |
|              |               |until .bc = 0   |        |        |  | |16| 4|
|              |               |* note: the 1st |        |        |  | | *| *|
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|              |mulub .a,r     |.hl <- .a * r   |0*?.0?.*|11101101|ED|2|  |14|
|              |(MULtiply      |* note: using   |        |11 r 001|  | |  |  |
|              | Unsigned Byte)|registers .a, .h|        |   *    |  | |  |  |
|              |               |or .l for r may |        |        |  | |  |  |
|              |               |generate strange|        |        |  | |  |  |
|              |               |results         |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |muluw .hl,ss   |.de:.hl<-.hl*ss |0*?.0?.*|11101101|ED|2|  |36|
|              |(MULtiply      |                |        |11ss0011|  | |  |  |
|              | Unsigned Word)|* note: using   |        |  *     |  | |  |  |
|              |               |registers .de or|        |        |  | |  |  |
|              |               |.hl for ss may  |        |        |  | |  |  |
|              |               |generate strange|        |        |  | |  |  |
|              |               |results         |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|neg           |neg .a         |.a <- (~.a) + 1 |**?*o?1*|11101101|ED|2| 8| 2|
|(NEGative)    |(NEGative)     |                |        |01000100|44| |  |  |
+==============+===============+================+========+========+==+=+==+==+
|nop           |nop            |no operation    |........|00000000|00|1| 4| 1|
|(No OPeration)|(No Operation) |                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|or (hl)       |or .a,[.hl]    |.a <- .a # [.hl]|**?1p?00|10110110|B6|1| 7| 2|
|(OR)          |(OR)           |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|or (ii+d)     |or .a,[ii+d]   |.a<-.a # [ii+d] |**?1p?00|   ii   |ii|3|19| 5|
|              |               |                |        |10110110|B6| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|or n          |or .a,n        |.a <- .a # n    |**?1p?00|11110110|F6|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|or r          |or .a,r        |.a <- .a # r    |**?1p?00|10110 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |or .a,p        |.a <- .a # p    |**?1p?00|11011101|DD|2|  | 2|
|              |               |                |        |10110 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |or .a,q        |.a <- .a # q    |**?1p?00|11111101|FD|2|  | 2|
|              |               |                |        |10110 q |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|otdr          |outm           |repeat          |?1????1.|11101101|ED|2|21| 4|
|(OuTput,      |   [.c],[.hl--]|  [.c] <- [.hl] |        |10111011|BB| |  |  |
|Decrement and |(OUTput        |  .b <- .b - 1  |        |        |  | |  |  |
|       Repeat)|      Multiple)|  .hl <- .hl - 1|        |        |  | |  |  |
|              |               |until .b = 0    |        |        |  | |16| 3|
|              |               |* note: the 1st |        |        |  | | *| *|
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|otir          |outm           |repeat          |?1????1.|11101101|ED|2|21| 4|
|(OuTput,      |   [.c],[.hl++]|  [.c] <- [.hl] |        |10110011|B3| |  |  |
|Increment and |(OUTput        |  .b <- .b - 1  |        |        |  | |  |  |
|       Repeat)|      Multiple)|  .hl <- .hl + 1|        |        |  | |  |  |
|              |               |until .b = 0    |        |        |  | |16| 3|
|              |               |* note: the 1st |        |        |  | | *| *|
|              |               |execution time  |        |        |  | |  |  |
|              |               |is for each loop|        |        |  | |  |  |
|              |               |and the 2nd to  |        |        |  | |  |  |
|              |               |the final loop  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|out (n),a     |out [n],.a     |[n] <- .a       |........|11010011|D3|2|11| 3|
|(OUTput)      |(OUTput)       |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|out (c),r     |out [.c],r     |[.c] <- .a      |........|11101101|ED|2|12| 3|
|              |               |                |        |01 r 001|  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|outd          |out            |[.c] <- [.hl]   |?!????1.|11101101|ED|2|16| 4|
|(OUTput and   |   [.c],[.hl--]|.b <- .b - 1    |        |10101011|AB| |  |  |
|    Decrement)|(OUTput)       |.hl <- .hl - 1  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|outi          |out            |[.c] <- [.hl]   |?!????1.|11101101|ED|2|16| 4|
|(OUTput and   |   [.c],[.hl++]|.b <- .b - 1    |        |10100011|A3| |  |  |
|    Increment)|(OUTput)       |.hl <- .hl + 1  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|pop rr        |pop rr         |rrl <- [.sp]    |........|11rr0001|  |1|10| 3|
|(POP)         |(POP)          |rrh <- [.sp+1]  |        |        |  | |  |  |
|              |               |.sp <- .sp + 2  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|pop ii        |pop ii         |iil <- [.sp]    |........|   ii   |ii|2|14| 4|
|              |               |iih <- [.sp+1]  |        |11100001|E1| |  |  |
|              |               |.sp <- .sp + 2  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|push rr       |push rr        |[.sp-2] <- rrl  |........|11rr0101|  |1|11| 4|
|(PUSH)        |(PUSH)         |[.sp-1] <- rrh  |        |        |  | |  |  |
|              |               |.sp <- .sp - 2  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|push ii       |push ii        |[.sp-2] <- iil  |........|   ii   |ii|2|15| 5|
|              |               |[.sp-1] <- iih  |        |11100101|E5| |  |  |
|              |               |.sp <- .sp - 2  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|res b,(hl)    |clr b,[.hl]    |[.hl]{b} <- 0   |?*?1??0.|11001011|CB|2|15| 5|
|(RESet bit)   |(CLeaR bit)    |                |        |10 b 110|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|res b,(ii+d)  |clr b,[ii+d]   |[ii+d]{b} <- 0  |?*?1??0.|   ii   |ii|4|23| 7|
|              |               |                |        |11001011|CB| |  |  |
|              |               |                |        |   d    |d | |  |  |
|              |               |                |        |10 b 110|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|res b,r       |clr b,r        |r{b} <- 0       |?*?1??0.|11001011|CB|2| 8| 2|
|              |               |                |        |10 b  r |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|ret           |ret            |.pcl <- [.sp]   |........|11001001|C9|1|10| 3|
|(RETurn)      |(RETurn)       |.pch <- [.sp+1] |        |        |  | |  |  |
|              |               |.sp <- .sp + 2  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret c         |ret c          |if C = 1        |........|11011000|D8|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|        Carry)|         Carry)| .pch <- [.sp+1]|        |        |  | |  |  |
|              |               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret m         |ret m          |if S = 1        |........|11111000|F8|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|        Minus)|         Minus)| .pch <- [.sp+1]|        |        |  | |  |  |
|              |               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret nc        |ret nc         |if C = 0        |........|11010000|D0|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|    Not Carry)|     Not Carry)| .pch <- [.sp+1]|        |        |  | |  |  |
|              |               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret nz        |ret nz         |if Z = 0        |........|11000000|C0|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|     Not Zero)|      Not Zero)| .pch <- [.sp+1]|        |        |  | |  |  |
|              |               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret p         |ret p          |if S = 0        |........|11110000|F0|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|         Plus)|          Plus)| .pch <- [.sp+1]|        |        |  | |  |  |
|              |               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret pe        |ret pe         |if P = 1        |........|11101000|E8|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|  Parity is   |Parity is Even)| .pch <- [.sp+1]|        |        |  | |  |  |
|         Even)|               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret po        |ret po         |if P = 0        |........|11100000|E0|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|Parity is Odd)| Parity is Odd)| .pch <- [.sp+1]|        |        |  | |  |  |
|              |               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|ret z         |ret z          |if Z = 1        |........|11001000|C8|1|  |  |
|(RETurn if    |(RETurn if     | .pcl <- [.sp]  |        |        |  | |11| 3|
|         Zero)|          Zero)| .pch <- [.sp+1]|        |        |  | |  |  |
|              |               | .sp <- .sp + 2 |        |        |  | |  |  |
|              |               |else            |        |        |  | |  |  |
|              |               |    no operation|        |        |  | | 5| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|reti          |reti           |?               |........|11101101|ED|2|14| 5|
|(RETurn from  |(RETurn from   |                |        |01001101|4D| |  |  |
| Interruption)|  Interruption)|                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|retn          |retn           |?               |........|11101101|ED|2|14| 5|
|(RETurn from  |(RETurn from   |                |        |01000101|45| |  |  |
| Non-maskable | Non-maskable  |                |        |        |  | |  |  |
| interruption)|  interruption)|                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|rl (hl)       |rolc [.hl]     |tmp <- C        |**?0p?0*|11001011|CB|2|15| 5|
|(Rotate Left  |(ROtate Left   |C <- [.hl]{7}   |        |00010110|16| |  |  |
|through carry)| through Carry)|[.hl] <- [.hl]*2|        |        |  | |  |  |
|              |               |[.hl]{0} <- tmp |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--> Carry >---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-<[|||||||]<--+|        |        |  | |  |  |
|              |               |  {7}[.hl]{0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rl (ii+d)     |rolc [ii+d]    |tmp <- C        |**?0p?0*|   ii   |ii|4|23| 7|
|              |               |C <- [ii+d]{7}  |        |11001011|CB| |  |  |
|              |               |[ii+d]<-[ii+d]*2|        |   d    |d | |  |  |
|              |               |[ii+d]{0} <- tmp|        |00010110|16| |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--> Carry >---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-<[|||||||]<--+|        |        |  | |  |  |
|              |               |  {7}[ii+d]{0}  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rl r          |rolc r         |tmp <- C        |**?0p?0*|11001011|CB|2| 8| 2|
|              |               |C <- r{7}       |        |00010 r |  | |  |  |
|              |               |r <- r * 2      |        |        |  | |  |  |
|              |               |r{0} <- tmp     |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--> Carry >---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-<[|||||||]<--+|        |        |  | |  |  |
|              |               |  {7}  r  {0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rla           |rolca          |tmp <- C        |..?0.?0*|00010111|17|1| 4| 1|
|(Rotate Left  |(ROtate Left   |C <- .a{7}      |        |        |  | |  |  |
|through carry | through Carry |.a <- .a * 2    |        |        |  | |  |  |
|  Accumulator)|   Accumulator)|.a{0} <- tmp    |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--> Carry >---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-<[|||||||]<--+|        |        |  | |  |  |
|              |               |  {7} .a  {0}   |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|rlc (hl)      |rol [.hl]      |C <- [.hl]{7}   |**?0p?0*|11001011|CB|2|15| 5|
|(Rotate Left  |(ROtate Left)  |[.hl] <- [.hl]*2|        |00000110|06| |  |  |
| with branch  |               |[.hl]{0} <- C   |        |        |  | |  |  |
|        Carry)|               |                |        |        |  | |  |  |
|              |               |+--> Carry      |        |        |  | |  |  |
|              |               ||               |        |        |  | |  |  |
|              |               |+------>-------+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-<[|||||||]<--+|        |        |  | |  |  |
|              |               |  {7}[.hl]{0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rlc (ii+d)    |rol [ii+d]     |C <- [ii+d]{7}  |**?0p?0*|   ii   |ii|4|23| 7|
|              |               |[ii+d]<-[ii+d]*2|        |11001011|CB| |  |  |
|              |               |[ii+d]{0} <- C  |        |   d    |d | |  |  |
|              |               |                |        |00000110|06| |  |  |
|              |               |+--> Carry      |        |        |  | |  |  |
|              |               ||               |        |        |  | |  |  |
|              |               |+------>-------+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-<[|||||||]<--+|        |        |  | |  |  |
|              |               |  {7}[ii+d]{0}  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rlc r         |rol r          |C <- r{7}       |**?0p?0*|11001011|CB|2| 8| 2|
|              |               |r <- r * 2      |        |00000 r |  | |  |  |
|              |               |r{0} <- C       |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rlca          |rola           |C <- .a{7}      |..?0.?0*|00000111|07|1| 4| 1|
|(Rotate Left  |(ROtate Left   |.a <- .a * 2    |        |        |  | |  |  |
| with branch  |   Accumulator)|.a{0} <- C      |        |        |  | |  |  |
|     Carry    |               |                |        |        |  | |  |  |
|  Accumulator)|               |+--> Carry      |        |        |  | |  |  |
|              |               ||               |        |        |  | |  |  |
|              |               |+------>-------+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-<[|||||||]<--+|        |        |  | |  |  |
|              |               |  {7} .a  {0}   |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|rld           |rol4 [.hl]     |tmp <- .a{0..3} |..?0.?0*|11101101|ED|2|18| 5|
|(Rotate Left  |(ROtate Left   |.a{0..3} <-     |        |01101111|6F| |  |  |
|      Decimal)|        4 bits)|     [.hl]{4..7}|        |        |  | |  |  |
|              |               |[.hl]{4..7} <-  |        |        |  | |  |  |
|              |               |     [.hl]{0..3}|        |        |  | |  |  |
|              |               |[.hl]{0..3}<-tmp|        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |[7..4|3..0]>---+|        |        |  | |  |  |
|              |               |    .a  ^      ||        |        |  | |  |  |
|              |               |        |      v|        |        |  | |  |  |
|              |               |+--->---+      ||        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+-[7..4|3..0]<-+|        |        |  | |  |  |
|              |               |     [.hl]      |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|rr (hl)       |rorc [.hl]     |tmp <- C        |**?0p?0*|11001011|CB|2|15| 5|
|(Rotate Right |(ROtate Right  |C <- [.hl]{0}   |        |00011110|1E| |  |  |
|through carry)| through Carry)|[.hl] <- [.hl]/2|        |        |  | |  |  |
|              |               |[.hl]{7} <- tmp |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--< Carry <---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[.hl]{0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rr (ii+d)     |rorc [ii+d]    |tmp <- C        |**?0p?0*|   ii   |ii|4|23| 7|
|              |               |C <- [ii+d]{0}  |        |11001011|CB| |  |  |
|              |               |[ii+d]<-[ii+d]/2|        |   d    |d | |  |  |
|              |               |[ii+d]{7} <- tmp|        |00011110|1E| |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--< Carry <---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[ii+d]{0}  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rr r          |rorc r         |tmp <- C        |**?0p?0*|11001011|CB|2| 8| 2|
|              |               |C <- r{0}       |        |00011 r |  | |  |  |
|              |               |r <- r / 2      |        |        |  | |  |  |
|              |               |r{7} <- tmp     |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--< Carry <---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}  r  {0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rra           |rorca          |tmp <- C        |..?0.?0*|00011111|1F|1| 4| 1|
|(Rotate Right |(ROtate Right  |C <- .a{7}      |        |        |  | |  |  |
|through carry | through Carry |.a <- .a * 2    |        |        |  | |  |  |
|  Accumulator)|   Accumulator)|.a{0} <- tmp    |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--< Carry <---+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7} .a  {0}   |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|rrc (hl)      |ror [.hl]      |C <- [.hl]{0}   |**?0p?0*|11001011|CB|2|15| 5|
|(Rotate Right |(ROtate Right) |[.hl] <- [.hl]/2|        |00001110|0E| |  |  |
| with branch  |               |[.hl]{7} <- C   |        |        |  | |  |  |
|        Carry)|               |                |        |        |  | |  |  |
|              |               |     Carry <---+|        |        |  | |  |  |
|              |               |               ||        |        |  | |  |  |
|              |               |+------<-------+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[.hl]{0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rrc (ii+d)    |ror [ii+d]     |C <- [ii+d]{0}  |**?0p?0*|   ii   |ii|4|23| 7|
|              |               |[ii+d]<-[ii+d]/2|        |11001011|CB| |  |  |
|              |               |[ii+d]{7} <- C  |        |   d    |d | |  |  |
|              |               |                |        |00001110|0E| |  |  |
|              |               |     Carry <---+|        |        |  | |  |  |
|              |               |               ||        |        |  | |  |  |
|              |               |+------<-------+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[ii+d]{0}  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rrc r         |ror r          |C <- r{0}       |**?0p?0*|11001011|CB|2| 8| 2|
|              |               |r <- r / 2      |        |00001 r |  | |  |  |
|              |               |r{7} <- C       |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |     Carry <---+|        |        |  | |  |  |
|              |               |               ||        |        |  | |  |  |
|              |               |+------<-------+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}  r  {0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|rrca          |rora           |C <- .a{0}      |..?0.?0*|00001111|0F|1| 4| 1|
|(Rotate Right |(ROtate Right  |.a <- .a / 2    |        |        |  | |  |  |
| with branch  |   Accumulator)|.a{7} <- C      |        |        |  | |  |  |
|     Carry    |               |                |        |        |  | |  |  |
|  Accumulator)|               |     Carry <---+|        |        |  | |  |  |
|              |               |               ||        |        |  | |  |  |
|              |               |+------<-------+|        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7} .a  {0}   |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|rrd           |rol4 [.hl]     |tmp <- .a{0..3} |..?0.?0*|11101101|ED|2|18| 5|
|(Rotate Right |(ROtate Right  |.a{0..3} <-     |        |01100111|67| |  |  |
|      Decimal)|        4 bits)|     [.hl]{0..3}|        |        |  | |  |  |
|              |               |[.hl]{0..3} <-  |        |        |  | |  |  |
|              |               |     [.hl]{4..7}|        |        |  | |  |  |
|              |               |[.hl]{4..7}<-tmp|        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |[7..4|3..0]<---+|        |        |  | |  |  |
|              |               |    .a  v      ||        |        |  | |  |  |
|              |               |        |      ^|        |        |  | |  |  |
|              |               |+---<---+      ||        |        |  | |  |  |
|              |               ||              ||        |        |  | |  |  |
|              |               |+->[7..4|3..0]-+|        |        |  | |  |  |
|              |               |     [.hl]      |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|rst k         |brk k          |[.sp-2] <- .pcl |........|11 k 111|  |1|11| 4|
|(ReSeT)       |(BReaK)        |[.sp-1] <- .pch |        |        |  | |  |  |
|              |               |.sp <- .sp - 2  |        |        |  | |  |  |
|              |               |.pcl <- k       |        |        |  | |  |  |
|              |               |.pch <- 0       |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|sbc a,(hl)    |subc .a,[.hl]  |.a <- .a-[.hl]-C|**?*o?0*|10011110|9E|1| 7| 2|
|(SuBtract with|(SUBtract with |                |        |        |  | |  |  |
|        Carry)|         Carry)|                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sbc a,(ii+d)  |subc .a,[ii+d] |.a<-.a-[ii+d]-C |**?*o?0*|   ii   |ii|3|19| 5|
|              |               |                |        |10011110|9E| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sbc a,n       |subc .a,n      |.a <- .a - n - C|**?*o?0*|11011110|DE|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sbc a,r       |subc .a,r      |.a <- .a - r - C|**?*o?0*|10011 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |subc .a,p      |.a <- .a - p - C|**?*o?0*|11011101|DD|2|  | 2|
|              |               |                |        |10011 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |subc .a,q      |.a <- .a - q - C|**?*o?0*|11111101|FD|2|  | 2|
|              |               |                |        |10011 q |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sbc hl,ss     |subc .hl,ss    |.hl <- .hl-ss-C |**?*o?0*|11101101|ED|2|15| 2|
|              |               |                |        |01ss0010|  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|scf           |setc           |C <- 1          |..?0.?01|00110111|37|1| 4| 1|
|(Set Carry    |(SET Carry)    |                |        |        |  | |  |  |
|         Flag)|               |                |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|set b,(hl)    |set b,[.hl]    |[.hl]{b} <- 1   |?*?1??0.|11001011|CB|2|15| 5|
|(SET bit)     |(SET bit)      |                |        |11 b 110|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|set b,(ii+d)  |set b,[ii+d]   |[ii+d]{b} <- 1  |?*?1??0.|   ii   |ii|4|23| 7|
|              |               |                |        |11001011|CB| |  |  |
|              |               |                |        |   d    |d | |  |  |
|              |               |                |        |11 b 110|  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|set b,r       |set b,r        |r{b} <- 1       |?*?1??0.|11001011|CB|2| 8| 2|
|              |               |                |        |11 b  r |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|sla (hl)      |shl [.hl]      |C <- [.hl]{7}   |**?*o?0*|11001011|CB|2|15| 5|
|(Shift Left   |shla [.hl]     |[.hl] <- [.hl]*2|        |00100110|26| |  |  |
| And clear    |(SHift Left    |                |        |        |  | |  |  |
|    least     | [And clear    |+---> Carry     |        |        |  | |  |  |
|  significant |     least     ||               |        |        |  | |  |  |
|          bit)|   significant |+--<[|||||||]<-0|        |        |  | |  |  |
|              |          bit])|   {7}[.hl]{0}  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sla (ii+d)    |shl [ii+d]     |C <- [ii+d]{7}  |**?*o?0*|   ii   |ii|4|23| 7|
|              |shla [ii+d]    |[ii+d]<-[ii+d]*2|        |11001011|CB| |  |  |
|              |               |                |        |   d    |d | |  |  |
|              |               |+---> Carry     |        |00100110|26| |  |  |
|              |               ||               |        |        |  | |  |  |
|              |               |+--<[|||||||]<-0|        |        |  | |  |  |
|              |               |   {7}[ii+d]{0} |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sla r         |shl r          |C <- r{7}       |**?*o?0*|11001011|CB|2| 8| 2|
|              |shla r         |r <- r * 2      |        |00100 r |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+---> Carry     |        |        |  | |  |  |
|              |               ||               |        |        |  | |  |  |
|              |               |+--<[|||||||]<-0|        |        |  | |  |  |
|              |               |   {7}  r  {0}  |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|sra (hl)      |shra [.hl]     |tmp <- [.hl]{7} |**?*o?0*|11001011|CB|2|15| 5|
|(Shift Right  |(SHift Right   |C <- [.hl]{0}   |        |00101110|2E| |  |  |
| And preserv  | And preserv   |[.hl] <- [.hl]/2|        |        |  | |  |  |
|     most     |     most      |[.hl]{7} <- tmp |        |        |  | |  |  |
|  significant |   significant |                |        |        |  | |  |  |
|         bit) |          bit])|+--+  Carry <--+|        |        |  | |  |  |
|              |               ||  |           ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[.hl]{0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sra (ii+d)    |shra [ii+d]    |tmp <- [ii+d]{7}|**?*o?0*|   ii   |ii|4|23| 7|
|              |               |C <- [ii+d]{0}  |        |11001011|CB| |  |  |
|              |               |[ii+d]<-[ii+d]*2|        |   d    |d | |  |  |
|              |               |[ii+d]{7} <- tmp|        |00101110|2E| |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--+  Carry <--+|        |        |  | |  |  |
|              |               ||  |           ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[ii+d]{0}  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sra r         |shra r         |tmp <- r{7}     |**?*o?0*|11001011|CB|2| 8| 2|
|              |               |C <- r{0}       |        |00101 r |  | |  |  |
|              |               |r <- r / 2      |        |        |  | |  |  |
|              |               |r{7} <- tmp     |        |        |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |+--+  Carry <--+|        |        |  | |  |  |
|              |               ||  |           ||        |        |  | |  |  |
|              |               |+->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}  r  {0}   |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|srl (hl)      |shr [.hl]      |C <- [.hl]{0}   |**?*o?0*|11001011|CB|2|15| 5|
|(Shift Right  |(SHift Right)  |[.hl] <- [.hl]/2|        |00111110|3E| |  |  |
|and cLear most|               |                |        |        |  | |  |  |
|  significant |               |     Carry <---+|        |        |  | |  |  |
|          bit)|               |               ||        |        |  | |  |  |
|              |               |0->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[.hl]{0}   |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|srl (ii+d)    |shr [ii+d]     |C <- [ii+d]{0}  |**?*o?0*|   ii   |ii|4|23| 7|
|              |               |[ii+d]<-[ii+d]/2|        |11001011|CB| |  |  |
|              |               |                |        |   d    |d | |  |  |
|              |               |     Carry <---+|        |00111110|3E| |  |  |
|              |               |               ||        |        |  | |  |  |
|              |               |0->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}[id+d]{0}  |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|srl r         |shr r          |C <- r{0}       |**?*o?0*|11001011|CB|2| 8| 2|
|              |               |r <- r / 2      |        |00111 r |  | |  |  |
|              |               |                |        |        |  | |  |  |
|              |               |     Carry <---+|        |        |  | |  |  |
|              |               |               ||        |        |  | |  |  |
|              |               |0->[|||||||]>--+|        |        |  | |  |  |
|              |               |  {7}  r  {0}   |        |        |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|sub (hl)      |sub .a,[.hl]   |.a <- .a - [.hl]|**?*o?0*|10010110|96|1| 7| 2|
|(SUBtract)    |(SUBtract)     |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sub (ii+d)    |sub .a,[ii+d]  |.a <- .a-[ii+d] |**?*o?0*|   ii   |ii|3|19| 5|
|              |               |                |        |10010110|96| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sub n         |sub .a,n       |.a <- .a - n    |**?*o?0*|11010110|D6|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|sub r         |sub .a,r       |.a <- .a - r    |**?*o?0*|10010 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |sub .a,p       |.a <- .a - p    |**?*o?0*|11011101|DD|2|  | 2|
|              |               |                |        |10010 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |sub .a,q       |.a <- .a - q    |**?*o?0*|11111101|FD|2|  | 2|
|              |               |                |        |10010 q |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
|xor (hl)      |xor .a,[.hl]   |.a <- .a ^ [.hl]|**?1p?00|10101110|AE|1| 7| 2|
|(eXclusive OR)|(eXclusive OR) |                |        |        |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|xor (ii+d)    |xor .a,[ii+d]  |.a <- .a^[ii+d] |**?1p?00|   ii   |ii|3|19| 5|
|              |               |                |        |10101110|AE| |  |  |
|              |               |                |        |   d    |d | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|xor n         |xor .a,n       |.a <- .a ^ n    |**?1p?00|11101110|EE|2| 7| 2|
|              |               |                |        |   n    |n | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|xor r         |xor .a,r       |.a <- .a ^ r    |**?1p?00|10101 r |  |1| 4| 1|
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |xor .a,p       |.a <- .a ^ p    |**?1p?00|11011101|DD|2|  | 2|
|              |               |                |        |10101 p |  | |  |  |
+--------------+---------------+----------------+--------+--------+--+-+--+--+
|              |xor .a,q       |.a <- .a ^ q    |**?1p?00|11111101|FD|2|  | 2|
|              |               |                |        |10101 q |  | |  |  |
+==============+===============+================+========+========+==+=+==+==+
