Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.         page    0
  2.         cpu     8008
  3.  
  4.         z80syntax exclusive
  5.  
  6. ;-----------------------------------
  7. ; CPU Control Group
  8.  
  9.         halt
  10.         expect  1506
  11.         hlt
  12.         endexpect
  13.  
  14. ;-----------------------------------
  15. ; Input and Output Group
  16.  
  17.         expect  1506
  18.         inp     5
  19.         endexpect
  20.         in      a,5
  21.  
  22.         expect  1110
  23.         out     13h
  24.         endexpect
  25.         out     13h,a
  26.  
  27. ;-----------------------------------
  28. ; Jump Group
  29.  
  30.         ; in exclusive Z80 mode, JP with one
  31.         ; argument is interpreted as unconditional jump
  32.         ; J is an alias for JP, to make porting among
  33.         ; 8008, 8080 an Z80 simpler
  34.  
  35.         expect  1506
  36.         jmp     1234h
  37.         endexpect
  38.         jp      1234h
  39.         j       1234h
  40.  
  41.         expect  1506
  42.         jfc     1234h
  43.         endexpect
  44.         jp      nc,1234h
  45.         j       nc,1234h
  46.         expect  1506
  47.         jfz     1234h
  48.         endexpect
  49.         jp      nz,1234h
  50.         j       nz,1234h
  51.         expect  1506
  52.         jfs     1234h
  53.         endexpect
  54.         jp      p,1234h
  55.         j       p,1234h
  56.         expect  1506
  57.         jfp     1234h
  58.         endexpect
  59.         jp      po,1234h
  60.         j       po,1234h
  61.         expect  1506
  62.         jc      1234h
  63.         endexpect
  64.         jp      c,1234h
  65.         j       c,1234h
  66.         expect  1506
  67.         jz      1234h
  68.         endexpect
  69.         jp      z,1234h
  70.         j       z,1234h
  71.         expect  1506
  72.         js      1234h
  73.         endexpect
  74.         jp      m,1234h
  75.         j       m,1234h
  76.         jp      1234h
  77.         jp      pe,1234h
  78.         j       pe,1234h
  79.  
  80. ;-----------------------------------
  81. ; Call and Return Group
  82.  
  83.         expect  1506
  84.         cal     1234h
  85.         endexpect
  86.         call    1234h
  87.  
  88.         expect  1506
  89.         cfc     1234h
  90.         endexpect
  91.         call    nc,1234h
  92.         expect  1506
  93.         cfz     1234h
  94.         endexpect
  95.         call    nz,1234h
  96.         expect  1506
  97.         cfs     1234h
  98.         endexpect
  99.         call    p,1234h
  100.         expect  1506
  101.         cfp     1234h
  102.         endexpect
  103.         call    po,1234h
  104.         expect  1506
  105.         cc      1234h
  106.         endexpect
  107.         call    c,1234h
  108.         expect  1506
  109.         cz      1234h
  110.         endexpect
  111.         call    z,1234h
  112.         expect  1506
  113.         cs      1234h
  114.         endexpect
  115.         call    m,1234h
  116.         expect  1320            ; is treated as compare -> 8 bit value overflow
  117.         cp      1234h
  118.         endexpect
  119.         call    p,1234h
  120.  
  121.         ret
  122.  
  123.         expect  1506
  124.         rfc
  125.         endexpect
  126.         ret     nc
  127.         expect  1506
  128.         rfz
  129.         endexpect
  130.         ret     nz
  131.         expect  1506
  132.         rfs
  133.         endexpect
  134.         ret     p
  135.         expect  1506
  136.         rfp
  137.         endexpect
  138.         ret     po
  139.         expect  1506
  140.         rc
  141.         endexpect
  142.         ret     c
  143.         expect  1506
  144.         rz
  145.         endexpect
  146.         ret     z
  147.         expect  1506
  148.         rs
  149.         endexpect
  150.         ret     m
  151.         expect  1506
  152.         rp
  153.         endexpect
  154.         ret     pe
  155.  
  156.         rst     38h
  157.  
  158. ;-----------------------------------
  159. ; Load Group
  160.  
  161.         expect  1506
  162.         laa
  163.         endexpect
  164.         ld      a,a
  165.         expect  1506
  166.         lab
  167.         endexpect
  168.         ld      a,b
  169.         expect  1506
  170.         lac
  171.         endexpect
  172.         ld      a,c
  173.         expect  1506
  174.         lad
  175.         endexpect
  176.         ld      a,d
  177.         expect  1506
  178.         lae
  179.         endexpect
  180.         ld      a,e
  181.         expect  1506
  182.         lah
  183.         endexpect
  184.         ld      a,h
  185.         expect  1506
  186.         lal
  187.         endexpect
  188.         ld      a,l
  189.         expect  1506
  190.         lba
  191.         endexpect
  192.         ld      b,a
  193.         expect  1506
  194.         lbb
  195.         endexpect
  196.         ld      b,b
  197.         expect  1506
  198.         lbc
  199.         endexpect
  200.         ld      b,c
  201.         expect  1506
  202.         lbd
  203.         endexpect
  204.         ld      b,d
  205.         expect  1506
  206.         lbe
  207.         endexpect
  208.         ld      b,e
  209.         expect  1506
  210.         lbh
  211.         endexpect
  212.         ld      b,h
  213.         expect  1506
  214.         lbl
  215.         endexpect
  216.         ld      b,l
  217.         expect  1506
  218.         lca
  219.         endexpect
  220.         ld      c,a
  221.         expect  1506
  222.         lcb
  223.         endexpect
  224.         ld      c,b
  225.         expect  1506
  226.         lcc
  227.         endexpect
  228.         ld      c,c
  229.         expect  1506
  230.         lcd
  231.         endexpect
  232.         ld      c,d
  233.         expect  1506
  234.         lce
  235.         endexpect
  236.         ld      c,e
  237.         expect  1506
  238.         lch
  239.         endexpect
  240.         ld      c,h
  241.         expect  1506
  242.         lcl
  243.         endexpect
  244.         ld      c,l
  245.         expect  1506
  246.         lda
  247.         endexpect
  248.         ld      d,a
  249.         expect  1506
  250.         ldb
  251.         endexpect
  252.         ld      d,b
  253.         expect  1506
  254.         ldc
  255.         endexpect
  256.         ld      d,c
  257.         expect  1506
  258.         ldd
  259.         endexpect
  260.         ld      d,d
  261.         expect  1506
  262.         lde
  263.         endexpect
  264.         ld      d,e
  265.         expect  1506
  266.         ldh
  267.         endexpect
  268.         ld      d,h
  269.         expect  1506
  270.         ldl
  271.         endexpect
  272.         ld      d,l
  273.         expect  1506
  274.         lea
  275.         endexpect
  276.         ld      e,a
  277.         expect  1506
  278.         leb
  279.         endexpect
  280.         ld      e,b
  281.         expect  1506
  282.         lec
  283.         endexpect
  284.         ld      e,c
  285.         expect  1506
  286.         led
  287.         endexpect
  288.         ld      e,d
  289.         expect  1506
  290.         lee
  291.         endexpect
  292.         ld      e,e
  293.         expect  1506
  294.         leh
  295.         endexpect
  296.         ld      e,h
  297.         expect  1506
  298.         lel
  299.         endexpect
  300.         ld      e,l
  301.         expect  1506
  302.         lha
  303.         endexpect
  304.         ld      h,a
  305.         expect  1506
  306.         lhb
  307.         endexpect
  308.         ld      h,b
  309.         expect  1506
  310.         lhc
  311.         endexpect
  312.         ld      h,c
  313.         expect  1506
  314.         lhd
  315.         endexpect
  316.         ld      h,d
  317.         expect  1506
  318.         lhe
  319.         endexpect
  320.         ld      h,e
  321.         expect  1506
  322.         lhh
  323.         endexpect
  324.         ld      h,h
  325.         expect  1506
  326.         lhl
  327.         endexpect
  328.         ld      h,l
  329.         expect  1506
  330.         lla
  331.         endexpect
  332.         ld      l,a
  333.         expect  1506
  334.         llb
  335.         endexpect
  336.         ld      l,b
  337.         expect  1506
  338.         llc
  339.         endexpect
  340.         ld      l,c
  341.         expect  1506
  342.         lld
  343.         endexpect
  344.         ld      l,d
  345.         expect  1506
  346.         lle
  347.         endexpect
  348.         ld      l,e
  349.         expect  1506
  350.         llh
  351.         endexpect
  352.         ld      l,h
  353.         expect  1506
  354.         lll
  355.         endexpect
  356.         ld      l,l
  357.  
  358.         expect  1506
  359.         lam
  360.         endexpect
  361.         ld      a,(hl)
  362.         expect  1506
  363.         lbm
  364.         endexpect
  365.         ld      b,(hl)
  366.         expect  1506
  367.         lcm
  368.         endexpect
  369.         ld      c,(hl)
  370.         expect  1506
  371.         ldm
  372.         endexpect
  373.         ld      d,(hl)
  374.         expect  1506
  375.         lem
  376.         endexpect
  377.         ld      e,(hl)
  378.         expect  1506
  379.         lhm
  380.         endexpect
  381.         ld      h,(hl)
  382.         expect  1506
  383.         llm
  384.         endexpect
  385.         ld      l,(hl)
  386.  
  387.         expect  1506
  388.         lma
  389.         endexpect
  390.         ld      (hl),a
  391.         expect  1506
  392.         lmb
  393.         endexpect
  394.         ld      (hl),b
  395.         expect  1506
  396.         lmc
  397.         endexpect
  398.         ld      (hl),c
  399.         expect  1506
  400.         lmd
  401.         endexpect
  402.         ld      (hl),d
  403.         expect  1506
  404.         lme
  405.         endexpect
  406.         ld      (hl),e
  407.         expect  1506
  408.         lmh
  409.         endexpect
  410.         ld      (hl),h
  411.         expect  1506
  412.         lml
  413.         endexpect
  414.         ld      (hl),l
  415.  
  416.         expect  1506
  417.         lai     55h
  418.         endexpect
  419.         ld      a,55h
  420.         expect  1506
  421.         lbi     55h
  422.         endexpect
  423.         ld      b,55h
  424.         expect  1506
  425.         lci     55h
  426.         endexpect
  427.         ld      c,55h
  428.         expect  1506
  429.         ldi     55h
  430.         endexpect
  431.         ld      d,55h
  432.         expect  1506
  433.         lei     55h
  434.         endexpect
  435.         ld      e,55h
  436.         expect  1506
  437.         lhi     55h
  438.         endexpect
  439.         ld      h,55h
  440.         expect  1506
  441.         lli     55h
  442.         endexpect
  443.         ld      l,55h
  444.  
  445.         expect  1506
  446.         lmi     55h
  447.         endexpect
  448.         ld      (hl),55h
  449.  
  450. ;-----------------------------------
  451. ; Arithmetic Group
  452.  
  453.         expect  1506
  454.         ada
  455.         endexpect
  456.         add     a,a
  457.         expect  1506
  458.         adb
  459.         endexpect
  460.         add     a,b
  461.         expect  1110
  462.         adc
  463.         endexpect
  464.         add     a,c
  465.         expect  1110
  466.         add
  467.         endexpect
  468.         add     a,d
  469.         expect  1506
  470.         ade
  471.         endexpect
  472.         add     a,e
  473.         expect  1506
  474.         adh
  475.         endexpect
  476.         add     a,h
  477.         expect  1506
  478.         adl
  479.         endexpect
  480.         add     a,l
  481.         expect  1506
  482.         adm
  483.         endexpect
  484.         add     a,(hl)
  485.         expect  1506
  486.         adi     55h
  487.         endexpect
  488.         add     a,55h
  489.  
  490.         expect  1506
  491.         aca
  492.         endexpect
  493.         adc     a,a
  494.         expect  1506
  495.         acb
  496.         endexpect
  497.         adc     a,b
  498.         expect  1506
  499.         acc
  500.         endexpect
  501.         adc     a,c
  502.         expect  1506
  503.         acd
  504.         endexpect
  505.         adc     a,d
  506.         expect  1506
  507.         ace
  508.         endexpect
  509.         adc     a,e
  510.         expect  1506
  511.         ach
  512.         endexpect
  513.         adc     a,h
  514.         expect  1506
  515.         acl
  516.         endexpect
  517.         adc     a,l
  518.         expect  1506
  519.         acm
  520.         endexpect
  521.         adc     a,(hl)
  522.         expect  1506
  523.         aci     55h
  524.         endexpect
  525.         adc     a,55h
  526.  
  527.         expect  1506
  528.         sua
  529.         endexpect
  530.         sub     a,a
  531.         expect  1110
  532.         sub
  533.         endexpect
  534.         sub     a,b
  535.         expect  1506
  536.         suc
  537.         endexpect
  538.         sub     a,c
  539.         expect  1506
  540.         sud
  541.         endexpect
  542.         sub     a,d
  543.         expect  1506
  544.         sue
  545.         endexpect
  546.         sub     a,e
  547.         expect  1506
  548.         suh
  549.         endexpect
  550.         sub     a,h
  551.         expect  1506
  552.         sul
  553.         endexpect
  554.         sub     a,l
  555.         expect  1506
  556.         sum
  557.         endexpect
  558.         sub     a,(hl)
  559.         expect  1506
  560.         sui     55h
  561.         endexpect
  562.         sub     a,55h
  563.  
  564.         expect  1506
  565.         sba
  566.         endexpect
  567.         sbc     a,a
  568.         expect  1506
  569.         sbb
  570.         endexpect
  571.         sbc     a,b
  572.         expect  1110
  573.         sbc
  574.         endexpect
  575.         sbc     a,c
  576.         expect  1506
  577.         sbd
  578.         endexpect
  579.         sbc     a,d
  580.         expect  1506
  581.         sbe
  582.         endexpect
  583.         sbc     a,e
  584.         expect  1506
  585.         sbh
  586.         endexpect
  587.         sbc     a,h
  588.         expect  1506
  589.         sbl
  590.         endexpect
  591.         sbc     a,l
  592.         expect  1506
  593.         sbm
  594.         endexpect
  595.         sbc     a,(hl)
  596.         expect  1506
  597.         sbi     55h
  598.         endexpect
  599.         sbc     a,55h
  600.  
  601.         expect  1506
  602.         nda
  603.         endexpect
  604.         and     a
  605.         expect  1506
  606.         ndb
  607.         endexpect
  608.         and     b
  609.         expect  1506
  610.         ndc
  611.         endexpect
  612.         and     c
  613.         expect  1506
  614.         ndd
  615.         endexpect
  616.         and     d
  617.         expect  1506
  618.         nde
  619.         endexpect
  620.         and     e
  621.         expect  1506
  622.         ndh
  623.         endexpect
  624.         and     h
  625.         expect  1506
  626.         ndl
  627.         endexpect
  628.         and     l
  629.         expect  1506
  630.         ndm
  631.         endexpect
  632.         and     (hl)
  633.         expect  1506
  634.         ndi     55h
  635.         endexpect
  636.         and     55h
  637.  
  638.         expect  1506
  639.         xra
  640.         endexpect
  641.         xor     a
  642.         expect  1506
  643.         xrb
  644.         endexpect
  645.         xor     b
  646.         expect  1506
  647.         xrc
  648.         endexpect
  649.         xor     c
  650.         expect  1506
  651.         xrd
  652.         endexpect
  653.         xor     d
  654.         expect  1506
  655.         xre
  656.         endexpect
  657.         xor     e
  658.         expect  1506
  659.         xrh
  660.         endexpect
  661.         xor     h
  662.         expect  1506
  663.         xrl
  664.         endexpect
  665.         xor     l
  666.         expect  1506
  667.         xrm
  668.         endexpect
  669.         xor     (hl)
  670.         expect  1506
  671.         xri     55h
  672.         endexpect
  673.         xor     55h
  674.  
  675.         expect  1506
  676.         ora
  677.         endexpect
  678.         or      a
  679.         expect  1506
  680.         orb
  681.         endexpect
  682.         or      b
  683.         expect  1506
  684.         orc
  685.         endexpect
  686.         or      c
  687.         expect  1506
  688.         ord
  689.         endexpect
  690.         or      d
  691.         expect  1506
  692.         ore
  693.         endexpect
  694.         or      e
  695.         expect  1506
  696.         orh
  697.         endexpect
  698.         or      h
  699.         expect  1506
  700.         orl
  701.         endexpect
  702.         or      l
  703.         expect  1506
  704.         orm
  705.         endexpect
  706.         or      (hl)
  707.         expect  1506
  708.         ori     55h
  709.         endexpect
  710.         or      55h
  711.  
  712.         expect  1506
  713.         cpa
  714.         endexpect
  715.         cp      a
  716.         expect  1506
  717.         cpb
  718.         endexpect
  719.         cp      b
  720.         expect  1506
  721.         cpc
  722.         endexpect
  723.         cp      c
  724.         expect  1506
  725.         cpd
  726.         endexpect
  727.         cp      d
  728.         expect  1506
  729.         cpe
  730.         endexpect
  731.         cp      e
  732.         expect  1506
  733.         cph
  734.         endexpect
  735.         cp      h
  736.         expect  1506
  737.         cpl
  738.         endexpect
  739.         cp      l
  740.         expect  1506
  741.         cpm
  742.         endexpect
  743.         cp      (hl)
  744.         expect  1506
  745.         cpi     55h
  746.         endexpect
  747.         cp      55h
  748.  
  749.         expect  1506
  750.         inb
  751.         endexpect
  752.         inc     b
  753.         expect  1110
  754.         inc
  755.         endexpect
  756.         inc     c
  757.         expect  1506
  758.         ind
  759.         endexpect
  760.         inc     d
  761.         expect  1506
  762.         ine
  763.         endexpect
  764.         inc     e
  765.         expect  1506
  766.         inh
  767.         endexpect
  768.         inc     h
  769.         expect  1506
  770.         inl
  771.         endexpect
  772.         inc     l
  773.  
  774.         expect  1506
  775.         dcb
  776.         endexpect
  777.         dec     b
  778.         expect  1506
  779.         dcc
  780.         endexpect
  781.         dec     c
  782.         expect  1506
  783.         dcd
  784.         endexpect
  785.         dec     d
  786.         expect  1506
  787.         dce
  788.         endexpect
  789.         dec     e
  790.         expect  1506
  791.         dch
  792.         endexpect
  793.         dec     h
  794.         expect  1506
  795.         dcl
  796.         endexpect
  797.         dec     l
  798.  
  799. ;-----------------------------------
  800. ; Rotate Group
  801.  
  802.         rlca
  803.         rrca
  804.         rla
  805.         rra
  806.         expect  1506,1506,1506,1506
  807.         rlc
  808.         rrc
  809.         ral
  810.         rar
  811.         endexpect
  812.  
  813. ;===================================
  814. ; we repeat only the instructions different in new 8008 syntax
  815.  
  816.         cpu     8008new
  817.  
  818.         z80syntax exclusive
  819.  
  820. ;-----------------------------------
  821. ; Input and Output Group
  822.  
  823.         expect  1110
  824.         in      5
  825.         endexpect
  826.         in      a,5
  827.  
  828. ;-----------------------------------
  829. ; Jump Group
  830.  
  831.         ; in exclusive Z80 mode, JP with one
  832.         ; argument is interpreted as unconditional jump
  833.         ; J is an alias for JP, to make porting among
  834.         ; 8008, 8080 an Z80 simpler
  835.  
  836.         expect  1506
  837.         jmp     1234h
  838.         endexpect
  839.         jp      1234h
  840.         j       1234h
  841.  
  842.         expect  1506
  843.         jnc     1234h
  844.         endexpect
  845.         jp      nc,1234h
  846.         j       nc,1234h
  847.         expect  1506
  848.         jnz     1234h
  849.         endexpect
  850.         jp      nz,1234h
  851.         j       nz,1234h
  852.         jp      1234h
  853.         jp      p,1234h
  854.         j       p,1234h
  855.         expect  1506
  856.         jpo     1234h
  857.         endexpect
  858.         jp      po,1234h
  859.         j       po,1234h
  860.         expect  1506
  861.         jc      1234h
  862.         endexpect
  863.         jp      c,1234h
  864.         j       c,1234h
  865.         expect  1506
  866.         jz      1234h
  867.         endexpect
  868.         jp      z,1234h
  869.         j       z,1234h
  870.         expect  1506
  871.         jm      1234h
  872.         endexpect
  873.         jp      m,1234h
  874.         j       m,1234h
  875.         expect  1506
  876.         jpe     1234h
  877.         endexpect
  878.         jp      pe,1234h
  879.         j       pe,1234h
  880.  
  881. ;-----------------------------------
  882. ; Call and Return Group
  883.  
  884.         call    1234h
  885.  
  886.         expect  1506
  887.         cnc     1234h
  888.         endexpect
  889.         call    nc,1234h
  890.         expect  1506
  891.         cnz     1234h
  892.         endexpect
  893.         call    nz,1234h
  894.         expect  1320            ; is treated as compare in pure Z80 mode -> 8 bit range overflow
  895.         cp      1234h
  896.         endexpect
  897.         call    p,1234h
  898.         expect  1506
  899.         cpo     1234h
  900.         endexpect
  901.         call    po,1234h
  902.         expect  1506
  903.         cc      1234h
  904.         endexpect
  905.         call    c,1234h
  906.         expect  1506
  907.         cz      1234h
  908.         endexpect
  909.         call    z,1234h
  910.         expect  1506
  911.         cm      1234h
  912.         endexpect
  913.         call    m,1234h
  914.         expect  1506
  915.         cpe     1234h
  916.         endexpect
  917.         call    pe,1234h
  918.  
  919.         ret
  920.  
  921.         expect  1506
  922.         rnc
  923.         endexpect
  924.         ret     nc
  925.         expect  1506
  926.         rnz
  927.         endexpect
  928.         ret     nz
  929.         expect  1506
  930.         rp
  931.         endexpect
  932.         ret     p
  933.         expect  1506
  934.         rpo
  935.         endexpect
  936.         ret     po
  937.         expect  1506
  938.         rc
  939.         endexpect
  940.         ret     c
  941.         expect  1506
  942.         rz
  943.         endexpect
  944.         ret     z
  945.         expect  1506
  946.         rm
  947.         endexpect
  948.         ret     m
  949.         expect  1506
  950.         rpe
  951.         endexpect
  952.         ret     pe
  953.  
  954.         rst     38h
  955.  
  956. ;-----------------------------------
  957. ; Load Group
  958.  
  959.         expect  1506
  960.         mov     a,a
  961.         endexpect
  962.         ld      a,a
  963.         expect  1506
  964.         mov     a,b
  965.         endexpect
  966.         ld      a,b
  967.         expect  1506
  968.         mov     a,c
  969.         endexpect
  970.         ld      a,c
  971.         expect  1506
  972.         mov     a,d
  973.         endexpect
  974.         ld      a,d
  975.         expect  1506
  976.         mov     a,e
  977.         endexpect
  978.         ld      a,e
  979.         expect  1506
  980.         mov     a,h
  981.         endexpect
  982.         ld      a,h
  983.         expect  1506
  984.         mov     a,l
  985.         endexpect
  986.         ld      a,l
  987.         expect  1506
  988.         mov     b,a
  989.         endexpect
  990.         ld      b,a
  991.         expect  1506
  992.         mov     b,b
  993.         endexpect
  994.         ld      b,b
  995.         expect  1506
  996.         mov     b,c
  997.         endexpect
  998.         ld      b,c
  999.         expect  1506
  1000.         mov     b,d
  1001.         endexpect
  1002.         ld      b,d
  1003.         expect  1506
  1004.         mov     b,e
  1005.         endexpect
  1006.         ld      b,e
  1007.         expect  1506
  1008.         mov     b,h
  1009.         endexpect
  1010.         ld      b,h
  1011.         expect  1506
  1012.         mov     b,l
  1013.         endexpect
  1014.         ld      b,l
  1015.         expect  1506
  1016.         mov     c,a
  1017.         endexpect
  1018.         ld      c,a
  1019.         expect  1506
  1020.         mov     c,b
  1021.         endexpect
  1022.         ld      c,b
  1023.         expect  1506
  1024.         mov     c,c
  1025.         endexpect
  1026.         ld      c,c
  1027.         expect  1506
  1028.         mov     c,d
  1029.         endexpect
  1030.         ld      c,d
  1031.         expect  1506
  1032.         mov     c,e
  1033.         endexpect
  1034.         ld      c,e
  1035.         expect  1506
  1036.         mov     c,h
  1037.         endexpect
  1038.         ld      c,h
  1039.         expect  1506
  1040.         mov     c,l
  1041.         endexpect
  1042.         ld      c,l
  1043.         expect  1506
  1044.         mov     d,a
  1045.         endexpect
  1046.         ld      d,a
  1047.         expect  1506
  1048.         mov     d,b
  1049.         endexpect
  1050.         ld      d,b
  1051.         expect  1506
  1052.         mov     d,c
  1053.         endexpect
  1054.         ld      d,c
  1055.         expect  1506
  1056.         mov     d,d
  1057.         endexpect
  1058.         ld      d,d
  1059.         expect  1506
  1060.         mov     d,e
  1061.         endexpect
  1062.         ld      d,e
  1063.         expect  1506
  1064.         mov     d,h
  1065.         endexpect
  1066.         ld      d,h
  1067.         expect  1506
  1068.         mov     d,l
  1069.         endexpect
  1070.         ld      d,l
  1071.         expect  1506
  1072.         mov     e,a
  1073.         endexpect
  1074.         ld      e,a
  1075.         expect  1506
  1076.         mov     e,b
  1077.         endexpect
  1078.         ld      e,b
  1079.         expect  1506
  1080.         mov     e,c
  1081.         endexpect
  1082.         ld      e,c
  1083.         expect  1506
  1084.         mov     e,d
  1085.         endexpect
  1086.         ld      e,d
  1087.         expect  1506
  1088.         mov     e,e
  1089.         endexpect
  1090.         ld      e,e
  1091.         expect  1506
  1092.         mov     e,h
  1093.         endexpect
  1094.         ld      e,h
  1095.         expect  1506
  1096.         mov     e,l
  1097.         endexpect
  1098.         ld      e,l
  1099.         expect  1506
  1100.         mov     h,a
  1101.         endexpect
  1102.         ld      h,a
  1103.         expect  1506
  1104.         mov     h,b
  1105.         endexpect
  1106.         ld      h,b
  1107.         expect  1506
  1108.         mov     h,c
  1109.         endexpect
  1110.         ld      h,c
  1111.         expect  1506
  1112.         mov     h,d
  1113.         endexpect
  1114.         ld      h,d
  1115.         expect  1506
  1116.         mov     h,e
  1117.         endexpect
  1118.         ld      h,e
  1119.         expect  1506
  1120.         mov     h,h
  1121.         endexpect
  1122.         ld      h,h
  1123.         expect  1506
  1124.         mov     h,l
  1125.         endexpect
  1126.         ld      h,l
  1127.         expect  1506
  1128.         mov     l,a
  1129.         endexpect
  1130.         ld      l,a
  1131.         expect  1506
  1132.         mov     l,b
  1133.         endexpect
  1134.         ld      l,b
  1135.         expect  1506
  1136.         mov     l,c
  1137.         endexpect
  1138.         ld      l,c
  1139.         expect  1506
  1140.         mov     l,d
  1141.         endexpect
  1142.         ld      l,d
  1143.         expect  1506
  1144.         mov     l,e
  1145.         endexpect
  1146.         ld      l,e
  1147.         expect  1506
  1148.         mov     l,h
  1149.         endexpect
  1150.         ld      l,h
  1151.         expect  1506
  1152.         mov     l,l
  1153.         endexpect
  1154.         ld      l,l
  1155.  
  1156.         expect  1506
  1157.         mov     a,m
  1158.         endexpect
  1159.         ld      a,(hl)
  1160.         expect  1506
  1161.         mov     b,m
  1162.         endexpect
  1163.         ld      b,(hl)
  1164.         expect  1506
  1165.         mov     c,m
  1166.         endexpect
  1167.         ld      c,(hl)
  1168.         expect  1506
  1169.         mov     d,m
  1170.         endexpect
  1171.         ld      d,(hl)
  1172.         expect  1506
  1173.         mov     e,m
  1174.         endexpect
  1175.         ld      e,(hl)
  1176.         expect  1506
  1177.         mov     h,m
  1178.         endexpect
  1179.         ld      h,(hl)
  1180.         expect  1506
  1181.         mov     l,m
  1182.         endexpect
  1183.         ld      l,(hl)
  1184.  
  1185.         expect  1506
  1186.         mov     m,a
  1187.         endexpect
  1188.         ld      (hl),a
  1189.         expect  1506
  1190.         mov     m,b
  1191.         endexpect
  1192.         ld      (hl),b
  1193.         expect  1506
  1194.         mov     m,c
  1195.         endexpect
  1196.         ld      (hl),c
  1197.         expect  1506
  1198.         mov     m,d
  1199.         endexpect
  1200.         ld      (hl),d
  1201.         expect  1506
  1202.         mov     m,e
  1203.         endexpect
  1204.         ld      (hl),e
  1205.         expect  1506
  1206.         mov     m,h
  1207.         endexpect
  1208.         ld      (hl),h
  1209.         expect  1506
  1210.         mov     m,l
  1211.         endexpect
  1212.         ld      (hl),l
  1213.  
  1214.         expect  1506
  1215.         mvi     a,55h
  1216.         endexpect
  1217.         ld      a,55h
  1218.         expect  1506
  1219.         mvi     b,55h
  1220.         endexpect
  1221.         ld      b,55h
  1222.         expect  1506
  1223.         mvi     c,55h
  1224.         endexpect
  1225.         ld      c,55h
  1226.         expect  1506
  1227.         mvi     d,55h
  1228.         endexpect
  1229.         ld      d,55h
  1230.         expect  1506
  1231.         mvi     e,55h
  1232.         endexpect
  1233.         ld      e,55h
  1234.         expect  1506
  1235.         mvi     h,55h
  1236.         endexpect
  1237.         ld      h,55h
  1238.         expect  1506
  1239.         mvi     l,55h
  1240.         endexpect
  1241.         ld      l,55h
  1242.  
  1243.         expect  1506
  1244.         mvi     m,55h
  1245.         endexpect
  1246.         ld      (hl),55h
  1247.  
  1248.         expect  1506
  1249.         lxi     b,1234h         ; convenience built-in macro:
  1250.         endexpect
  1251.         ld      bc,1234h
  1252.         expect  1506
  1253.         lxi     d,1234h         ; LXI is assembled as 2 x MVI
  1254.         endexpect
  1255.         ld      de,1234h
  1256.         expect  1506
  1257.         lxi     h,1234h
  1258.         endexpect
  1259.         ld      hl,1234h
  1260.  
  1261. ;-----------------------------------
  1262. ; Arithmetic Group
  1263.  
  1264.         expect  1110
  1265.         add     a
  1266.         endexpect
  1267.         add     a,a
  1268.         expect  1110
  1269.         add     b
  1270.         endexpect
  1271.         add     a,b
  1272.         expect  1110
  1273.         add     c
  1274.         endexpect
  1275.         add     a,c
  1276.         expect  1110
  1277.         add     d
  1278.         endexpect
  1279.         add     a,d
  1280.         expect  1110
  1281.         add     e
  1282.         endexpect
  1283.         add     a,e
  1284.         expect  1110
  1285.         add     h
  1286.         endexpect
  1287.         add     a,h
  1288.         expect  1110
  1289.         add     l
  1290.         endexpect
  1291.         add     a,l
  1292.         expect  1110
  1293.         add     m
  1294.         endexpect
  1295.         add     a,(hl)
  1296.         expect  1506
  1297.         adi     55h
  1298.         endexpect
  1299.         add     a,55h
  1300.  
  1301.         expect  1110
  1302.         adc     a
  1303.         endexpect
  1304.         adc     a,a
  1305.         expect  1110
  1306.         adc     b
  1307.         endexpect
  1308.         adc     a,b
  1309.         expect  1110
  1310.         adc     c
  1311.         endexpect
  1312.         adc     a,c
  1313.         expect  1110
  1314.         adc     d
  1315.         endexpect
  1316.         adc     a,d
  1317.         expect  1110
  1318.         adc     e
  1319.         endexpect
  1320.         adc     a,e
  1321.         expect  1110
  1322.         adc     h
  1323.         endexpect
  1324.         adc     a,h
  1325.         expect  1110
  1326.         adc     l
  1327.         endexpect
  1328.         adc     a,l
  1329.         expect  1110
  1330.         adc     m
  1331.         endexpect
  1332.         adc     a,(hl)
  1333.         expect  1506
  1334.         aci     55h
  1335.         endexpect
  1336.         adc     a,55h
  1337.  
  1338.         ; note that A as destination is optional in Z80 syntax,
  1339.         ; since Z80 cannot use anything else as dest for SUB.
  1340.         ; However, M as source or SUI remains unallowed in
  1341.         ; pure Z80 mode.  The 'unknown symbol' error for M will
  1342.         ; not occur in pass 1:
  1343.  
  1344.         sub     a
  1345.         sub     a,a
  1346.         sub     b
  1347.         sub     a,b
  1348.         sub     c
  1349.         sub     a,c
  1350.         sub     d
  1351.         sub     a,d
  1352.         sub     e
  1353.         sub     a,e
  1354.         sub     h
  1355.         sub     a,h
  1356.         sub     l
  1357.         sub     a,l
  1358.         if      mompass>1
  1359.         expect  1010
  1360.         endif
  1361.         sub     m
  1362.         if      mompass>1
  1363.         endexpect
  1364.         endif
  1365.         sub     (hl)
  1366.         sub     a,(hl)
  1367.         expect  1506
  1368.         sui     55h
  1369.         endexpect
  1370.         sub     a,55h
  1371.  
  1372.         expect  1506
  1373.         sbb     a
  1374.         endexpect
  1375.         sbc     a,a
  1376.         expect  1506
  1377.         sbb     b
  1378.         endexpect
  1379.         sbc     a,b
  1380.         expect  1506
  1381.         sbb     c
  1382.         endexpect
  1383.         sbc     a,c
  1384.         expect  1506
  1385.         sbb     d
  1386.         endexpect
  1387.         sbc     a,d
  1388.         expect  1506
  1389.         sbb     e
  1390.         endexpect
  1391.         sbc     a,e
  1392.         expect  1506
  1393.         sbb     h
  1394.         endexpect
  1395.         sbc     a,h
  1396.         expect  1506
  1397.         sbb     l
  1398.         endexpect
  1399.         sbc     a,l
  1400.         expect  1506
  1401.         sbb     m
  1402.         endexpect
  1403.         sbc     a,(hl)
  1404.         expect  1506
  1405.         sbi     55h
  1406.         endexpect
  1407.         sbc     a,55h
  1408.  
  1409.         expect  1506
  1410.         ana     a
  1411.         endexpect
  1412.         and     a,a
  1413.         expect  1506
  1414.         ana     b
  1415.         endexpect
  1416.         and     a,b
  1417.         expect  1506
  1418.         ana     c
  1419.         endexpect
  1420.         and     a,c
  1421.         expect  1506
  1422.         ana     d
  1423.         endexpect
  1424.         and     a,d
  1425.         expect  1506
  1426.         ana     e
  1427.         endexpect
  1428.         and     a,e
  1429.         expect  1506
  1430.         ana     h
  1431.         endexpect
  1432.         and     a,h
  1433.         expect  1506
  1434.         ana     l
  1435.         endexpect
  1436.         and     a,l
  1437.         expect  1506
  1438.         ana     m
  1439.         endexpect
  1440.         and     a,(hl)
  1441.         expect  1506
  1442.         ani     55h
  1443.         endexpect
  1444.         and     a,55h
  1445.  
  1446.         expect  1506
  1447.         xra     a
  1448.         endexpect
  1449.         xor     a,a
  1450.         expect  1506
  1451.         xra     b
  1452.         endexpect
  1453.         xor     a,b
  1454.         expect  1506
  1455.         xra     c
  1456.         endexpect
  1457.         xor     a,c
  1458.         expect  1506
  1459.         xra     d
  1460.         endexpect
  1461.         xor     a,d
  1462.         expect  1506
  1463.         xra     e
  1464.         endexpect
  1465.         xor     a,e
  1466.         expect  1506
  1467.         xra     h
  1468.         endexpect
  1469.         xor     a,h
  1470.         expect  1506
  1471.         xra     l
  1472.         endexpect
  1473.         xor     a,l
  1474.         expect  1506
  1475.         xra     m
  1476.         endexpect
  1477.         xor     a,(hl)
  1478.         expect  1506
  1479.         xri     55h
  1480.         endexpect
  1481.         xor     a,55h
  1482.  
  1483.         expect  1506
  1484.         ora     a
  1485.         endexpect
  1486.         or      a,a
  1487.         expect  1506
  1488.         ora     b
  1489.         endexpect
  1490.         or      a,b
  1491.         expect  1506
  1492.         ora     c
  1493.         endexpect
  1494.         or      a,c
  1495.         expect  1506
  1496.         ora     d
  1497.         endexpect
  1498.         or      a,d
  1499.         expect  1506
  1500.         ora     e
  1501.         endexpect
  1502.         or      a,e
  1503.         expect  1506
  1504.         ora     h
  1505.         endexpect
  1506.         or      a,h
  1507.         expect  1506
  1508.         ora     l
  1509.         endexpect
  1510.         or      a,l
  1511.         expect  1506
  1512.         ora     m
  1513.         endexpect
  1514.         or      a,(hl)
  1515.         expect  1506
  1516.         ori     55h
  1517.         endexpect
  1518.         or      a,55h
  1519.  
  1520.         expect  1506
  1521.         cmp     a
  1522.         endexpect
  1523.         cp      a,a
  1524.         expect  1506
  1525.         cmp     b
  1526.         endexpect
  1527.         cp      a,b
  1528.         expect  1506
  1529.         cmp     c
  1530.         endexpect
  1531.         cp      a,c
  1532.         expect  1506
  1533.         cmp     d
  1534.         endexpect
  1535.         cp      a,d
  1536.         expect  1506
  1537.         cmp     e
  1538.         endexpect
  1539.         cp      a,e
  1540.         expect  1506
  1541.         cmp     h
  1542.         endexpect
  1543.         cp      a,h
  1544.         expect  1506
  1545.         cmp     l
  1546.         endexpect
  1547.         cp      a,l
  1548.         expect  1506
  1549.         cmp     m
  1550.         endexpect
  1551.         cp      a,(hl)
  1552.         expect  1506
  1553.         cpi     55h
  1554.         endexpect
  1555.         cp      a,55h
  1556.  
  1557.         expect  1506
  1558.         inr     b
  1559.         endexpect
  1560.         inc     b
  1561.         expect  1506
  1562.         inr     c
  1563.         endexpect
  1564.         inc     c
  1565.         expect  1506
  1566.         inr     d
  1567.         endexpect
  1568.         inc     d
  1569.         expect  1506
  1570.         inr     e
  1571.         endexpect
  1572.         inc     e
  1573.         expect  1506
  1574.         inr     h
  1575.         endexpect
  1576.         inc     h
  1577.         expect  1506
  1578.         inr     l
  1579.         endexpect
  1580.         inc     l
  1581.  
  1582.         expect  1506
  1583.         dcr     b
  1584.         endexpect
  1585.         dec     b
  1586.         expect  1506
  1587.         dcr     c
  1588.         endexpect
  1589.         dec     c
  1590.         expect  1506
  1591.         dcr     d
  1592.         endexpect
  1593.         dec     d
  1594.         expect  1506
  1595.         dcr     e
  1596.         endexpect
  1597.         dec     e
  1598.         expect  1506
  1599.         dcr     h
  1600.         endexpect
  1601.         dec     h
  1602.         expect  1506
  1603.         dcr     l
  1604.         endexpect
  1605.         dec     l
  1606.  
  1607.