home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / debug / ddtz27.ark / XTDOPS.LIB < prev    next >
Text File  |  1988-05-29  |  2KB  |  147 lines

  1. ;
  2. ; Macros for the undocumented Z80 opcode set, names kept to 4 char
  3. ; for compatibility with various assemblers, especially DDTZ
  4. ; All references to h,l refer to xh,xl (or yh,yl), portions of X reg.
  5. ; References to a,b,c,d,e registers are normal
  6. ; EXCEPTION:
  7. ;    mvix op1, value  refers    to xh,xl if op1 is h,l
  8. ;                to [x+op1] for other op1
  9. ;     (and similarly for mviy)
  10. ;
  11. ; For example,     "adxr b" will be effectively "add b", BUT
  12. ;        "adxr h" will create "add xh"
  13. ;
  14. ; An operand should be either h or l, else these are pointless.
  15. ;
  16. inrx    macro    r
  17.     db    0ddh
  18.     inr    r
  19.     endm
  20. dcrx    macro    r
  21.     db    0ddh
  22.     dcr    r
  23.     endm
  24. adxr    macro    r
  25.     db    0ddh
  26.     add    r
  27.     endm
  28. acxr    macro    r
  29.     db    0ddh
  30.     adc    r
  31.     endm
  32. suxr    macro    r
  33.     db    0ddh
  34.     sub    r
  35.     endm
  36. sbxr    macro    r
  37.     db    0ddh
  38.     sbb    r
  39.     endm
  40. ndxr    macro    r
  41.     db    0ddh
  42.     ana    r
  43.     endm
  44. orxr    macro    r
  45.     db    0ddh
  46.     ora    r
  47.     endm
  48. xrxr    macro    r
  49.     db    0ddh
  50.     xra    r
  51.     endm
  52. cpxr    macro    r
  53.     db    0ddh
  54.     cmp    r
  55.     endm
  56. movx    macro    r1,r2
  57.     db    0ddh
  58.     mov    r1,r2
  59.     endm
  60. mvix    macro    r,n
  61.     db    0ddh
  62.     ifidn    <r>,<h>
  63.      mvi    h,n
  64.     else
  65.      ifidn    <r>,<H>
  66.       mvi    h,n
  67.      else
  68.       ifidn    <r>,<l>
  69.        mvi    l,n
  70.       else
  71.        ifidn <r>,<L>
  72.         mvi    l,n
  73.        else
  74.         mvi    m,r;;        displacement here
  75.         db    n
  76.        endif
  77.       endif
  78.      endif
  79.     endif
  80.     endm
  81.  
  82. inry    macro    r
  83.     db    0fdh
  84.     inr    r
  85.     endm
  86. dcry    macro    r
  87.     db    0fdh
  88.     dcr    r
  89.     endm
  90. adyr    macro    r
  91.     db    0fdh
  92.     add    r
  93.     endm
  94. acyr    macro    r
  95.     db    0fdh
  96.     adc    r
  97.     endm
  98. suyr    macro    r
  99.     db    0fdh
  100.     sub    r
  101.     endm
  102. sbyr    macro    r
  103.     db    0fdh
  104.     sbb    r
  105.     endm
  106. ndyr    macro    r
  107.     db    0fdh
  108.     ana    r
  109.     endm
  110. oryr    macro    r
  111.     db    0fdh
  112.     ora    r
  113.     endm
  114. xryr    macro    r
  115.     db    0fdh
  116.     xra    r
  117.     endm
  118. cpyr    macro    r
  119.     db    0fdh
  120.     cmp    r
  121.     endm
  122. movy    macro    r1,r2
  123.     db    0fdh
  124.     mov    r1,r2
  125.     endm
  126. mviy    macro    r,n
  127.     db    0fdh
  128.     ifidn    <r>,<h>
  129.      mvi    h,n
  130.     else
  131.      ifidn    <r>,<H>
  132.       mvi    h,n
  133.      else
  134.       ifidn    <r>,<l>
  135.        mvi    l,n
  136.       else
  137.        ifidn <r>,<L>
  138.         mvi    l,n
  139.        else
  140.         mvi    m,r;;        displacement here
  141.          db    n
  142.        endif
  143.       endif
  144.      endif
  145.     endif
  146.     endm
  147. f