home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / debug / ddtz27.ark / OPTYPE.Z80 < prev    next >
Text File  |  1986-01-12  |  8KB  |  816 lines

  1. ; Z80 opcodes, numerical order, from Zilog manual, Zilog mnems.
  2. ; Prefixed follow 0ffh = rst 7
  3.  
  4. ; NOTE 1
  5. ; Some assemblers accept "a," for these opcodes, notably SLR's Z80ASM.
  6.  
  7. ; definitions for sll macro
  8. b    equ    0
  9. c    equ    1
  10. d    equ    2
  11. e    equ    3
  12. h    equ    4
  13. l    equ    5
  14. m    equ    6
  15. a    equ    7
  16.  
  17. ; useless, but valid opcode. Most assemblers do not generate
  18. sll    macro    reg
  19.     db    0cbh,030h+reg
  20.     endm
  21. ;
  22. ind    equ    5
  23. n    equ    20h
  24. ;
  25.     nop
  26.     ld    bc,nn
  27.     ld    (bc),a
  28.     inc    bc
  29.     inc    b
  30.     dec    b
  31.     ld    b,n
  32.     rlca
  33.     ex    af,af'
  34.     add    hl,bc
  35.     ld    a,(bc)
  36.     dec    bc
  37.     inc    c
  38.     dec    c
  39.     ld    c,n
  40.     rrca
  41.     djnz    dis
  42.     ld    de,nn
  43.     ld    (de),a
  44.     inc    de
  45.     inc    d
  46.     dec    d
  47.     ld    d,n
  48.     rla
  49.     jr    dis
  50.     add    hl,de
  51.     ld    a,(de)
  52.     dec    de
  53.     inc    e
  54.     dec    e
  55.     ld    e,n
  56.     rra
  57.     jr    nz,dis
  58.     ld    hl,nn
  59.     ld    (nn),hl
  60.     inc    hl
  61.     inc    h
  62. dis:    dec    h
  63.     ld    h,n
  64.     daa
  65.     jr    z,dis
  66.     add    hl,hl
  67.     ld    hl,(nn)
  68.     dec    hl
  69.     inc    l
  70.     dec    l
  71.     ld    l,n
  72.     cpl
  73.     jr    nc,dis
  74.     ld    sp,nn
  75.     ld    (nn),a
  76.     inc    sp
  77.     inc    (hl)
  78.     dec    (hl)
  79.     ld    (hl),n
  80.     scf
  81.     jr    c,dis
  82.     add    hl,sp
  83.     ld    a,(nn)
  84.     dec    sp
  85.     inc    a
  86.     dec    a
  87.     ld    a,n
  88.     ccf
  89.     ld    b,b
  90.     ld    b,c
  91.     ld    b,d
  92.     ld    b,e
  93.     ld    b,h
  94.     ld    b,l
  95.     ld    b,(hl)
  96.     ld    b,a
  97.  
  98.     ld    c,b
  99.     ld    c,c
  100.     ld    c,d
  101.     ld    c,e
  102.     ld    c,h
  103.     ld    c,l
  104.     ld    c,(hl)
  105.     ld    c,a
  106.  
  107.     ld    d,b
  108.     ld    d,c
  109.     ld    d,d
  110.     ld    d,e
  111.     ld    d,h
  112.     ld    d,l
  113.     ld    d,(hl)
  114.     ld    d,a
  115.  
  116.     ld    e,b
  117.     ld    e,c
  118.     ld    e,d
  119.     ld    e,e
  120.     ld    e,h
  121.     ld    e,l
  122.     ld    e,(hl)
  123.     ld    e,a
  124.  
  125.     ld    h,b
  126.     ld    h,c
  127.     ld    h,d
  128.     ld    h,e
  129.     ld    h,h
  130.     ld    h,l
  131.     ld    h,(hl)
  132.     ld    h,a
  133.  
  134.     ld    l,b
  135.     ld    l,c
  136.     ld    l,d
  137.     ld    l,e
  138.     ld    l,h
  139.     ld    l,l
  140.     ld    l,(hl)
  141.     ld    l,a
  142.  
  143.     ld    (hl),b
  144.     ld    (hl),c
  145.     ld    (hl),d
  146.     ld    (hl),e
  147.     ld    (hl),h
  148.     ld    (hl),l
  149.     halt
  150.     ld    (hl),a
  151.  
  152.     ld    a,b
  153.     ld    a,c
  154.     ld    a,d
  155.     ld    a,e
  156.     ld    a,h
  157.     ld    a,l
  158.     ld    a,(hl)
  159.     ld    a,a
  160.  
  161.     add    a,b
  162.     add    a,c
  163.     add    a,d
  164.     add    a,e
  165.     add    a,h
  166.     add    a,l
  167.     add    a,(hl)
  168.     add    a,a
  169.  
  170.     adc    a,b
  171.     adc    a,c
  172.     adc    a,d
  173.     adc    a,e
  174.     adc    a,h
  175.     adc    a,l
  176.     adc    a,(hl)
  177.     adc    a,a
  178.  
  179.     sub    b;        note 1
  180.     sub    c
  181.     sub    d
  182.     sub    e
  183.     sub    h
  184.     sub    l
  185.     sub    (hl)
  186.     sub    a
  187.  
  188.     sbc    a,b
  189.     sbc    a,c
  190.     sbc    a,d
  191.     sbc    a,e
  192.     sbc    a,h
  193.     sbc    a,l
  194.     sbc    a,(hl)
  195.     sbc    a,a
  196.  
  197.     and    b;        note 1
  198.     and    c
  199.     and    d
  200.     and    e
  201.     and    h
  202.     and    l
  203.     and    (hl)
  204.     and    a
  205.  
  206.     xor    b;        note 1
  207.     xor    c
  208.     xor    d
  209.     xor    e
  210.     xor    h
  211.     xor    l
  212.     xor    (hl)
  213.     xor    a
  214.  
  215.     or    b;        note 1
  216.     or    c
  217.     or    d
  218.     or    e
  219.     or    h
  220.     or    l
  221.     or    (hl)
  222.     or    a
  223.  
  224.     cp    b;        note 1
  225.     cp    c
  226.     cp    d
  227.     cp    e
  228.     cp    h
  229.     cp    l
  230.     cp    (hl)
  231.     cp    a
  232.  
  233.     ret    nz
  234.     pop    bc
  235.     jp    nz,nn
  236.     jp    nn
  237.     call    nz,nn
  238.     push    bc
  239.     add    a,n
  240.     rst    0
  241.  
  242.     ret    z
  243.     ret
  244.     jp    z,nn
  245.     call    z,nn
  246.     call    nn
  247.     adc    a,n
  248.     rst    8
  249.  
  250.     ret    nc
  251.     pop    de
  252.     jp    nc,nn
  253.     out    (n),a
  254.     call    nc,nn
  255.     push    de
  256.     sub    n
  257.     rst    10h
  258.  
  259.     ret    c
  260.     exx
  261.     jp    c,nn
  262.     in    a,(n)
  263.     call    c,nn
  264.     sbc    a,n
  265.     rst    18h
  266.  
  267.     ret    po
  268.     pop    hl
  269.     jp    po,nn
  270.     ex    (sp),hl
  271.     call    po,nn
  272.     push    hl
  273.     and    n
  274.     rst    20h
  275.  
  276.     ret    pe
  277.     jp    (hl)
  278.     jp    pe,nn
  279.     ex    de,hl
  280.     call    pe,nn
  281.     xor    n
  282.     rst    28h
  283.  
  284.     ret    p
  285.     pop    af
  286.     jp    p,nn
  287.     di
  288.     call    p,nn
  289.     push    af
  290.     or    n
  291.     rst    30h
  292.  
  293.     ret    m
  294.     ld    sp,hl
  295.     jp    m,nn
  296.     ei
  297.     call    m,nn
  298.     cp    n
  299.     rst    38h
  300.  
  301.     rlc    b
  302.     rlc    c
  303.     rlc    d
  304.     rlc    e
  305.     rlc    h
  306.     rlc    l
  307.     rlc    (hl)
  308.     rlc    a
  309.  
  310.     rrc    b
  311.     rrc    c
  312.     rrc    d
  313.     rrc    e
  314.     rrc    h
  315.     rrc    l
  316.     rrc    (hl)
  317.     rrc    a
  318.  
  319.     rl    b
  320.     rl    c
  321.     rl    d
  322.     rl    e
  323.     rl    h
  324.     rl    l
  325.     rl    (hl)
  326.     rl    a
  327.  
  328.     rr    b
  329.     rr    c
  330.     rr    d
  331.     rr    e
  332.     rr    h
  333.     rr    l
  334.     rr    (hl)
  335.     rr    a
  336.  
  337.     sla    b
  338.     sla    c
  339.     sla    d
  340.     sla    e
  341.     sla    h
  342.     sla    l
  343.     sla    (hl)
  344.     sla    a
  345.  
  346.     sra    b
  347.     sra    c
  348.     sra    d
  349.     sra    e
  350.     sra    h
  351.     sra    l
  352.     sra    (hl)
  353.     sra    a
  354.  
  355.     sll    b;    omitted from most assemblers
  356.     sll    c;    valid, but redundant
  357.     sll    d
  358.     sll    e
  359.     sll    h
  360.     sll    l
  361.     sll    m
  362.     sll    a
  363.  
  364.     srl    b
  365.     srl    c
  366.     srl    d
  367.     srl    e
  368.     srl    h
  369.     srl    l
  370.     srl    (hl)
  371.     srl    a
  372.  
  373.     bit    0,b
  374.     bit    0,c
  375.     bit    0,d
  376.     bit    0,e
  377.     bit    0,h
  378.     bit    0,l
  379.     bit    0,(hl)
  380.     bit    0,a
  381.  
  382.     bit    1,b
  383.     bit    1,c
  384.     bit    1,d
  385.     bit    1,e
  386.     bit    1,h
  387.     bit    1,l
  388.     bit    1,(hl)
  389.     bit    1,a
  390.  
  391.     bit    2,b
  392.     bit    2,c
  393.     bit    2,d
  394.     bit    2,e
  395.     bit    2,h
  396.     bit    2,l
  397.     bit    2,(hl)
  398.     bit    2,a
  399.  
  400.     bit    3,b
  401.     bit    3,c
  402.     bit    3,d
  403.     bit    3,e
  404.     bit    3,h
  405.     bit    3,l
  406.     bit    3,(hl)
  407.     bit    3,a
  408.  
  409.     bit    4,b
  410.     bit    4,c
  411.     bit    4,d
  412.     bit    4,e
  413.     bit    4,h
  414.     bit    4,l
  415.     bit    4,(hl)
  416.     bit    4,a
  417.  
  418.     bit    5,b
  419.     bit    5,c
  420.     bit    5,d
  421.     bit    5,e
  422.     bit    5,h
  423.     bit    5,l
  424.     bit    5,(hl)
  425.     bit    5,a
  426.  
  427.     bit    6,b
  428.     bit    6,c
  429.     bit    6,d
  430.     bit    6,e
  431.     bit    6,h
  432.     bit    6,l
  433.     bit    6,(hl)
  434.     bit    6,a
  435.  
  436.     bit    7,b
  437.     bit    7,c
  438.     bit    7,d
  439.     bit    7,e
  440.     bit    7,h
  441.     bit    7,l
  442.     bit    7,(hl)
  443.     bit    7,a
  444.  
  445.     res    0,b
  446.     res    0,c
  447.     res    0,d
  448.     res    0,e
  449.     res    0,h
  450.     res    0,l
  451.     res    0,(hl)
  452.     res    0,a
  453.  
  454.     res    1,b
  455.     res    1,c
  456.     res    1,d
  457.     res    1,e
  458.     res    1,h
  459.     res    1,l
  460.     res    1,(hl)
  461.     res    1,a
  462.  
  463.     res    2,b
  464.     res    2,c
  465.     res    2,d
  466.     res    2,e
  467.     res    2,h
  468.     res    2,l
  469.     res    2,(hl)
  470.     res    2,a
  471.  
  472.     res    3,b
  473.     res    3,c
  474.     res    3,d
  475.     res    3,e
  476.     res    3,h
  477.     res    3,l
  478.     res    3,(hl)
  479.     res    3,a
  480.  
  481.     res    4,b
  482.     res    4,c
  483.     res    4,d
  484.     res    4,e
  485.     res    4,h
  486.     res    4,l
  487.     res    4,(hl)
  488.     res    4,a
  489.  
  490.     res    5,b
  491.     res    5,c
  492.     res    5,d
  493.     res    5,e
  494.     res    5,h
  495.     res    5,l
  496.     res    5,(hl)
  497.     res    5,a
  498.  
  499.     res    6,b
  500.     res    6,c
  501.     res    6,d
  502.     res    6,e
  503.     res    6,h
  504.     res    6,l
  505.     res    6,(hl)
  506.     res    6,a
  507.  
  508.     res    7,b
  509.     res    7,c
  510.     res    7,d
  511.     res    7,e
  512.     res    7,h
  513.     res    7,l
  514.     res    7,(hl)
  515.     res    7,a
  516.  
  517.     set    0,b
  518.     set    0,c
  519.     set    0,d
  520.     set    0,e
  521.     set    0,h
  522.     set    0,l
  523.     set    0,(hl)
  524.     set    0,a
  525.  
  526.     set    1,b
  527.     set    1,c
  528.     set    1,d
  529.     set    1,e
  530.     set    1,h
  531.     set    1,l
  532.     set    1,(hl)
  533.     set    1,a
  534.  
  535.     set    2,b
  536.     set    2,c
  537.     set    2,d
  538.     set    2,e
  539.     set    2,h
  540.     set    2,l
  541.     set    2,(hl)
  542.     set    2,a
  543.  
  544.     set    3,b
  545.     set    3,c
  546.     set    3,d
  547.     set    3,e
  548.     set    3,h
  549.     set    3,l
  550.     set    3,(hl)
  551.     set    3,a
  552.  
  553.     set    4,b
  554.     set    4,c
  555.     set    4,d
  556.     set    4,e
  557.     set    4,h
  558.     set    4,l
  559.     set    4,(hl)
  560.     set    4,a
  561.  
  562.     set    5,b
  563.     set    5,c
  564.     set    5,d
  565.     set    5,e
  566.     set    5,h
  567.     set    5,l
  568.     set    5,(hl)
  569.     set    5,a
  570.  
  571.     set    6,b
  572.     set    6,c
  573.     set    6,d
  574.     set    6,e
  575.     set    6,h
  576.     set    6,l
  577.     set    6,(hl)
  578.     set    6,a
  579.  
  580.     set    7,b
  581.     set    7,c
  582.     set    7,d
  583.     set    7,e
  584.     set    7,h
  585.     set    7,l
  586.     set    7,(hl)
  587.     set    7,a
  588.  
  589.     add    ix,bc
  590.     add    ix,de
  591.     ld    ix,nn
  592.     ld    (nn),ix
  593.     inc    ix
  594.     add    ix,ix
  595.     ld    ix,(nn)
  596.     dec    ix
  597.  
  598.     inc    [ix+ind]
  599.     dec    [ix+ind]
  600.     ld    [ix+ind],n
  601.     add    ix,sp
  602.  
  603.     ld    b,[ix+ind]
  604.     ld    c,[ix+ind]
  605.     ld    d,[ix+ind]
  606.     ld    e,[ix+ind]
  607.     ld    h,[ix+ind]
  608.     ld    l,[ix+ind]
  609.  
  610.     ld    [ix+ind],b
  611.     ld    [ix+ind],c
  612.     ld    [ix+ind],d
  613.     ld    [ix+ind],e
  614.     ld    [ix+ind],h
  615.     ld    [ix+ind],l
  616.     ld    [ix+ind],a
  617.  
  618.     ld    a,[ix+ind]
  619.  
  620.     add    a,[ix+ind]
  621.     adc    a,[ix+ind]
  622.     sub    [ix+ind];        Note 1
  623.     sbc    a,[ix+ind]
  624.     and    [ix+ind]
  625.     xor    [ix+ind]
  626.     or    [ix+ind]
  627.     cp    [ix+ind]
  628.  
  629.     pop    ix
  630.     ex    (sp),ix
  631.     push    ix
  632.     jp    (ix)
  633.     ld    sp,ix
  634.  
  635.     rlc    [ix+ind]
  636.     rrc    [ix+ind]
  637.     rl    [ix+ind]
  638.     rr    [ix+ind]
  639.     sla    [ix+ind]
  640.     sra    [ix+ind]
  641. ;    sll    [ix+ind]
  642.     srl    [ix+ind]
  643.  
  644.     bit    0,[ix+ind]
  645.     bit    1,[ix+ind]
  646.     bit    2,[ix+ind]
  647.     bit    3,[ix+ind]
  648.     bit    4,[ix+ind]
  649.     bit    5,[ix+ind]
  650.     bit    6,[ix+ind]
  651.     bit    7,[ix+ind]
  652.  
  653.     res    0,[ix+ind]
  654.     res    1,[ix+ind]
  655.     res    2,[ix+ind]
  656.     res    3,[ix+ind]
  657.     res    4,[ix+ind]
  658.     res    5,[ix+ind]
  659.     res    6,[ix+ind]
  660.     res    7,[ix+ind]
  661.  
  662.     set    0,[ix+ind]
  663.     set    1,[ix+ind]
  664.     set    2,[ix+ind]
  665.     set    3,[ix+ind]
  666.     set    4,[ix+ind]
  667.     set    5,[ix+ind]
  668.     set    6,[ix+ind]
  669.     set    7,[ix+ind]
  670.  
  671.     in    b,(c)
  672.     out    (c),b
  673.     sbc    hl,bc
  674.     ld    (nn),bc
  675.     neg
  676.     retn
  677.     im    0
  678.     ld    i,a
  679.     in    c,(c)
  680.     out    (c),c
  681.     adc    hl,bc
  682.     ld    bc,(nn)
  683.     reti
  684.     ld    r,a
  685.     in    d,(c)
  686.     out    (c),d
  687.     sbc    hl,de
  688.     ld    (nn),de
  689.     im    1
  690.     ld    a,i
  691.     in    e,(c)
  692.     out    (c),e
  693.     adc    hl,de
  694.     ld    de,(nn)
  695.     im    2
  696.     ld    a,r
  697.     in    h,(c)
  698.     out    (c),h
  699.     sbc    hl,hl
  700.     defw    063Edh,nn;    LD (NN),HL (useless)
  701.     rrd
  702.     in    l,(c)
  703.     out    (c),l
  704.     adc    hl,hl
  705.     defw    06bedh,nn;    LD HL,(NN) (useless)
  706.     rld
  707.     in    (hl),(c)
  708.     out    (c),(hl)
  709.     sbc    hl,sp
  710.     ld    (nn),sp
  711.     in    a,(c)
  712.     out    (c),a
  713.     adc    hl,sp
  714.     ld    sp,(nn)
  715.     ldi
  716.     cpi
  717.     ini
  718.     outi
  719.     ldd
  720.     cpd
  721.     ind
  722.     outd
  723.     ldir
  724.     cpir
  725.     inir
  726.     otir
  727.     lddr
  728.     cpdr
  729.     indr
  730.     otdr
  731.  
  732.     add    iy,bc
  733.     add    iy,de
  734.     ld    iy,nn
  735.     ld    (nn),iy
  736.     inc    iy
  737.     add    iy,iy
  738.     ld    iy,(nn)
  739.     dec    iy
  740.  
  741.     inc    [iy+ind]
  742.     dec    [iy+ind]
  743.     ld    [iy+ind],n
  744.     add    iy,sp
  745.  
  746.     ld    b,[iy+ind]
  747.     ld    c,[iy+ind]
  748.     ld    d,[iy+ind]
  749.     ld    e,[iy+ind]
  750.     ld    h,[iy+ind]
  751.     ld    l,[iy+ind]
  752.  
  753.     ld    [iy+ind],b
  754.     ld    [iy+ind],c
  755.     ld    [iy+ind],d
  756.     ld    [iy+ind],e
  757.     ld    [iy+ind],h
  758.     ld    [iy+ind],l
  759.     ld    [iy+ind],a
  760.  
  761.     ld    a,[iy+ind]
  762.  
  763.     add    a,[iy+ind]
  764.     adc    a,[iy+ind]
  765.     sub    [iy+ind];        note 1
  766.     sbc    a,[iy+ind]
  767.     and    [iy+ind]
  768.     xor    [iy+ind]
  769.     or    [iy+ind]
  770.     cp    [iy+ind]
  771.  
  772.     pop    iy
  773.     ex    (sp),iy
  774.     push    iy
  775.     jp    (iy)
  776.     ld    sp,iy
  777.  
  778.     rlc    [iy+ind]
  779.     rrc    [iy+ind]
  780.     rl    [iy+ind]
  781.     rr    [iy+ind]
  782.     sla    [iy+ind]
  783.     sra    [iy+ind]
  784. ;    sll    [iy+ind]
  785.     srl    [iy+ind]
  786.  
  787.     bit    0,[iy+ind]
  788.     bit    1,[iy+ind]
  789.     bit    2,[iy+ind]
  790.     bit    3,[iy+ind]
  791.     bit    4,[iy+ind]
  792.     bit    5,[iy+ind]
  793.     bit    6,[iy+ind]
  794.     bit    7,[iy+ind]
  795.  
  796.     res    0,[iy+ind]
  797.     res    1,[iy+ind]
  798.     res    2,[iy+ind]
  799.     res    3,[iy+ind]
  800.     res    4,[iy+ind]
  801.     res    5,[iy+ind]
  802.     res    6,[iy+ind]
  803.     res    7,[iy+ind]
  804.  
  805.     set    0,[iy+ind]
  806.     set    1,[iy+ind]
  807.     set    2,[iy+ind]
  808.     set    3,[iy+ind]
  809.     set    4,[iy+ind]
  810.     set    5,[iy+ind]
  811.     set    6,[iy+ind]
  812.     set    7,[iy+ind]
  813.  
  814. nn:    defs    2
  815.     end
  816. PS