home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / debug / ddtz27.ark / 64180.MAC < prev    next >
Encoding:
Text File  |  1988-05-28  |  1.5 KB  |  121 lines

  1. ;
  2. ; Macros to execute extra 64180 instructions via SLRMAC
  3. ; NOTE - requires lowercase register arguments!!
  4. ;
  5. rgnum    macro    rg
  6.     ifidn    <rg>,<b>
  7. rgval     set    0
  8.     else
  9.     ifidn    <rg>,<c>
  10. rgval     set    1
  11.     else
  12.     ifidn    <rg>,<d>
  13. rgval     set    2
  14.     else
  15.     ifidn    <rg>,<e>
  16. rgval     set    3
  17.     else
  18.     ifidn    <rg>,<h>
  19. rgval     set    4
  20.     else
  21.     ifidn    <rg>,<l>
  22. rgval     set    5
  23.     else
  24.     ifidn    <rg>,<m>
  25. rgval     set    6
  26.     else
  27.     ifidn    <rg>,<a>
  28. rgval     set    7
  29.     else
  30.      +++ error - illegal register +++
  31.     endif
  32.     endif
  33.     endif
  34.     endif
  35.     endif
  36.     endif
  37.     endif
  38.     endif
  39.     endm
  40. ;
  41. tst    macro    rg
  42.     rgnum    rg
  43.     db    0edh
  44.     db    (rgval shl 3) + 4
  45.     endm
  46. ;
  47. tsti    macro    val
  48.     db    0edh,064h,val
  49.     endm
  50. ;
  51. tstio    macro    val
  52.     db    0edh,074h,val
  53.     endm
  54. ;
  55. in0    macro    rg,pt
  56.     rgnum    rg
  57.     if    rgval eq 6
  58.      +++ error +++ bad reg
  59.     else
  60.      if    rgval lt 8
  61.       db    0edh
  62.       db    rgval shl 3
  63.       db    pt
  64.      endif
  65.     endif
  66.     endm
  67. ;
  68. out0    macro    pt,rg
  69.     rgnum    rg
  70.     if    rgval eq 6
  71.      +++ error +++ bad reg
  72.     else
  73.      if    rgval lt 8
  74.       db    0edh
  75.       db    rgval shl 3 + 1
  76.       db    pt
  77.      endif
  78.     endif
  79.     endm
  80. ;
  81. otimr    macro
  82.     db    0edh,093h
  83.     endm
  84. ;
  85. otim    macro
  86.     db    0edh,083h
  87.     endm
  88. ;
  89. otdmr    macro
  90.     db    0edh,09bh
  91.     endm
  92. ;
  93. otdm    macro
  94.     db    0edh,08bh
  95.     endm
  96. ;
  97. slp    macro
  98.     db    0edh,076h
  99.     endm
  100. ;
  101. mlt    macro    rg
  102.     ifidn    <rg>,<bc>
  103.      db    0edh,04ch
  104.     else
  105.     ifidn    <rg>,<de>
  106.      db    0edh,05ch
  107.     else
  108.     ifidn    <rg>,<hl>
  109.      db    0edh,06ch
  110.     else
  111.     ifidn    <rg>,<sp>
  112.      db    0edh,07ch
  113.     else
  114.      +++ error - bad register +++
  115.     endif
  116.     endif
  117.     endif
  118.     endif
  119.     endm
  120. ;
  121. ÇJ