home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / S / Z80ASM24.ZIP / Z80.LIB < prev    next >
Text File  |  1991-10-06  |  6KB  |  443 lines

  1. ;    @chk macro used for checking 8 bit displacments
  2. ;
  3. @chk     macro    ?dd        ; ; used for checking range of 8-bit disp.s
  4.      if    (?dd gt    7fh) and (?dd lt 0ff80h)
  5.     'displacement range error - z80 lib'
  6.      endif
  7.      endm
  8. ldx     macro    ?r,?d
  9.     @chk    ?d
  10.     db    0ddh,?r*8+46h,?d
  11.      endm
  12. ldy     macro    ?r,?d
  13.     @chk    ?d
  14.     db    0fdh,?r*8+46h,?d
  15.      endm
  16. stx     macro    ?r,?d
  17.     @chk    ?d
  18.     db    0ddh,70h+?r,?d
  19.      endm
  20. sty     macro    ?r,?d
  21.     @chk    ?d
  22.     db    0fdh,70h+?r,?d
  23.      endm
  24. mvix     macro    ?n,?d
  25.     @chk    ?d
  26.     db    0ddh,36h,?d,?n
  27.      endm
  28. mviy     macro    ?n,?d
  29.     @chk    ?d
  30.     db    0fdh,36h,?d,?n
  31.      endm
  32. ldai     macro
  33.     db    0edh,57h
  34.      endm
  35. ldar     macro
  36.     db    0edh,5fh
  37.      endm
  38. stai     macro
  39.     db    0edh,47h
  40.      endm
  41. star     macro
  42.     db    0edh,4fh
  43.      endm
  44. lxix     macro    ?nnnn
  45.     db    0ddh,21h
  46.     dw    ?nnnn
  47.      endm
  48. lxiy     macro    ?nnnn
  49.     db    0fdh,21h
  50.     dw    ?nnnn
  51.      endm
  52. lded     macro    ?nnnn
  53.     db    0edh,5bh
  54.     dw    ?nnnn
  55.      endm
  56. lbcd     macro    ?nnnn
  57.     db    0edh,4bh
  58.     dw    ?nnnn
  59.      endm
  60. lspd     macro    ?nnnn
  61.     db    0edh,07bh
  62.     dw    ?nnnn
  63.      endm
  64. lixd     macro    ?nnnn
  65.     db    0ddh,2ah
  66.     dw    ?nnnn
  67.      endm
  68. liyd     macro    ?nnnn
  69.     db    0fdh,2ah
  70.     dw    ?nnnn
  71.      endm
  72. sbcd     macro    ?nnnn
  73.     db    0edh,43h
  74.     dw    ?nnnn
  75.      endm
  76. sded     macro    ?nnnn
  77.     db    0edh,53h
  78.     dw    ?nnnn
  79.      endm
  80. sspd     macro    ?nnnn
  81.     db    0edh,73h
  82.     dw    ?nnnn
  83.      endm
  84. sixd     macro    ?nnnn
  85.     db    0ddh,22h
  86.     dw    ?nnnn
  87.      endm
  88. siyd     macro    ?nnnn
  89.     db    0fdh,22h
  90.     dw    ?nnnn
  91.      endm
  92. spix     macro
  93.     db    0ddh,0f9h
  94.      endm
  95. spiy     macro
  96.     db    0fdh,0f9h
  97.      endm
  98. pushix     macro
  99.     db    0ddh,0e5h
  100.      endm
  101. pushiy     macro
  102.     db    0fdh,0e5h
  103.      endm
  104. popix     macro
  105.     db    0ddh,0e1h
  106.      endm
  107. popiy     macro
  108.     db    0fdh,0e1h
  109.      endm
  110. exaf     macro
  111.     db    08h
  112.      endm
  113. exx     macro
  114.     db    0d9h
  115.      endm
  116. xtix     macro
  117.     db    0ddh,0e3h
  118.      endm
  119. xtiy     macro
  120.     db    0fdh,0e3h
  121.      endm
  122. ldi     macro
  123.     db    0edh,0a0h
  124.      endm
  125. ldir     macro
  126.     db    0edh,0b0h
  127.      endm
  128. ldd     macro
  129.     db    0edh,0a8h
  130.      endm
  131. lddr     macro
  132.     db    0edh,0b8h
  133.      endm
  134. cci     macro
  135.     db    0edh,0a1h
  136.      endm
  137. ccir     macro
  138.     db    0edh,0b1h
  139.      endm
  140. ccd     macro
  141.     db    0edh,0a9h
  142.      endm
  143. ccdr     macro
  144.     db    0edh,0b9h
  145.      endm
  146. addx     macro    ?d
  147.     @chk    ?d
  148.     db    0ddh,86h,?d
  149.      endm
  150. addy     macro    ?d
  151.     @chk    ?d
  152.     db    0fdh,86h,?d
  153.      endm
  154. adcx     macro    ?d
  155.     @chk    ?d
  156.     db    0ddh,8eh,?d
  157.      endm
  158. adcy     macro    ?d
  159.     @chk    ?d
  160.     db    0fdh,8eh,?d
  161.      endm
  162. subx     macro    ?d
  163.     @chk    ?d
  164.     db    0ddh,96h,?d
  165.      endm
  166. suby     macro    ?d
  167.     @chk    ?d
  168.     db    0fdh,96h,?d
  169.      endm
  170. sbcx     macro    ?d
  171.     @chk    ?d
  172.     db    0ddh,9eh,?d
  173.      endm
  174. sbcy     macro    ?d
  175.     @chk    ?d
  176.     db    0fdh,9eh,?d
  177.      endm
  178. andx     macro    ?d
  179.     @chk    ?d
  180.     db    0ddh,0a6h,?d
  181.      endm
  182. andy     macro    ?d
  183.     @chk    ?d
  184.     db    0fdh,0a6h,?d
  185.      endm
  186. xorx     macro    ?d
  187.     @chk    ?d
  188.     db    0ddh,0aeh,?d
  189.      endm
  190. xory     macro    ?d
  191.     @chk    ?d
  192.     db    0fdh,0aeh,?d
  193.      endm
  194. orx     macro    ?d
  195.     @chk    ?d
  196.     db    0ddh,0b6h,?d
  197.      endm
  198. ory     macro    ?d
  199.     @chk    ?d
  200.     db    0fdh,0b6h,?d
  201.      endm
  202. cmpx     macro    ?d
  203.     @chk    ?d
  204.     db    0ddh,0beh,?d
  205.      endm
  206. cmpy     macro    ?d
  207.     @chk    ?d
  208.     db    0fdh,0beh,?d
  209.      endm
  210. inrx     macro    ?d
  211.     @chk    ?d
  212.     db    0ddh,34h,?d
  213.      endm
  214. inry     macro    ?d
  215.     @chk    ?d
  216.     db    0fdh,34h,?d
  217.      endm
  218. dcrx     macro    ?d
  219.     @chk    ?d
  220.     db    0ddh,035h,?d
  221.      endm
  222. dcry     macro    ?d
  223.     @chk    ?d
  224.     db    0fdh,35h,?d
  225.      endm
  226. neg     macro
  227.     db    0edh,44h
  228.      endm
  229. im0     macro
  230.     db    0edh,46h
  231.      endm
  232. im1     macro
  233.     db    0edh,56h
  234.      endm
  235. im2     macro
  236.     db    0edh,5eh
  237.      endm
  238. bc    equ    0
  239. de    equ    2
  240. hl    equ    4
  241. ix    equ    4
  242. iy    equ    4
  243. dadc     macro    ?r
  244.     db    0edh,?r*8+4ah
  245.      endm
  246. dsbc     macro    ?r
  247.     db    0edh,?r*8+42h
  248.      endm
  249. dadx     macro    ?r
  250.     db    0ddh,?r*8+09h
  251.      endm
  252. dady     macro    ?r
  253.     db    0fdh,?r*8+09h
  254.      endm
  255. inxix     macro
  256.     db    0ddh,23h
  257.      endm
  258. inxiy     macro
  259.     db    0fdh,23h
  260.      endm
  261. dcxix     macro
  262.     db    0ddh,2bh
  263.      endm
  264. dcxiy     macro
  265.     db    0fdh,2bh
  266.      endm
  267. bit     macro    ?n,?r
  268.     db    0cbh,?n*8+?r+40h
  269.      endm
  270. setb     macro    ?n,?r
  271.     db    0cbh,?n*8+?r+0c0h
  272.      endm
  273. res     macro    ?n,?r
  274.     db    0cbh,?n*8+?r+80h
  275.      endm
  276. bitx     macro    ?n,?d
  277.     @chk    ?d
  278.     db    0ddh,0cbh,?d,?n*8+46h
  279.      endm
  280. bity     macro    ?n,?d
  281.     @chk    ?d
  282.     db    0fdh,0cbh,?d,?n*8+46h
  283.      endm
  284. setx     macro    ?n,?d
  285.     @chk    ?d
  286.     db    0ddh,0cbh,?d,?n*8+0c6h
  287.      endm
  288. sety     macro    ?n,?d
  289.     @chk    ?d
  290.     db    0fdh,0cbh,?d,?n*8+0c6h
  291.      endm
  292. resx     macro    ?n,?d
  293.     @chk    ?d
  294.     db    0ddh,0cbh,?d,?n*8+86h
  295.      endm
  296. resy     macro    ?n,?d
  297.     @chk    ?d
  298.     db    0fdh,0cbh,?d,?n*8+86h
  299.      endm
  300. jr     macro    ?n
  301.     db    18h,?n-$-1
  302.      endm
  303. jrc     macro    ?n
  304.     db    38h,?n-$-1
  305.      endm
  306. jrnc     macro    ?n
  307.     db    30h,?n-$-1
  308.      endm
  309. jrz     macro    ?n
  310.     db    28h,?n-$-1
  311.      endm
  312. jrnz     macro    ?n
  313.     db    20h,?n-$-1
  314.      endm
  315. djnz     macro    ?n
  316.     db    10h,?n-$-1
  317.      endm
  318. pcix     macro
  319.     db    0ddh,0e9h
  320.      endm
  321. pciy     macro
  322.     db    0fdh,0e9h
  323.      endm
  324. reti     macro
  325.     db    0edh,4dh
  326.      endm
  327. retn     macro
  328.     db    0edh,45h
  329.      endm
  330. inp     macro    ?r
  331.     db    0edh,?r*8+40h
  332.      endm
  333. outp     macro    ?r
  334.     db    0edh,?r*8+41h
  335.      endm
  336. ini     macro
  337.     db    0edh,0a2h
  338.      endm
  339. inir     macro
  340.     db    0edh,0b2h
  341.      endm
  342. ind     macro
  343.     db    0edh,0aah
  344.      endm
  345. indr     macro
  346.     db    0edh,0bah
  347.      endm
  348. outi     macro
  349.     db    0edh,0a3h
  350.      endm
  351. outir     macro
  352.     db    0edh,0b3h
  353.      endm
  354. outd     macro
  355.     db    0edh,0abh
  356.      endm
  357. outdr     macro
  358.     db    0edh,0bbh
  359.      endm
  360. rlcr     macro    ?r
  361.     db    0cbh, 00h + ?r
  362.      endm
  363. rlcx     macro    ?d
  364.     @chk    ?d
  365.     db    0ddh, 0cbh, ?d,    06h
  366.      endm
  367. rlcy     macro    ?d
  368.     @chk    ?d
  369.     db    0fdh, 0cbh, ?d,    06h
  370.      endm
  371. ralr     macro    ?r
  372.     db    0cbh, 10h+?r
  373.      endm
  374. ralx     macro    ?d
  375.     @chk    ?d
  376.     db    0ddh, 0cbh, ?d,    16h
  377.      endm
  378. raly     macro    ?d
  379.     @chk    ?d
  380.     db    0fdh, 0cbh, ?d,    16h
  381.      endm
  382. rrcr     macro    ?r
  383.     db    0cbh, 08h + ?r
  384.      endm
  385. rrcx     macro    ?d
  386.     @chk    ?d
  387.     db    0ddh, 0cbh, ?d,    0eh
  388.      endm
  389. rrcy     macro    ?d
  390.     @chk    ?d
  391.     db    0fdh, 0cbh, ?d,    0eh
  392.      endm
  393. rarr     macro    ?r
  394.     db    0cbh, 18h + ?r
  395.      endm
  396. rarx     macro    ?d
  397.     @chk    ?d
  398.     db    0ddh, 0cbh, ?d,    1eh
  399.      endm
  400. rary     macro    ?d
  401.     @chk    ?d
  402.     db    0fdh, 0cbh, ?d,    1eh
  403.      endm
  404. slar     macro    ?r
  405.     db    0cbh, 20h + ?r
  406.      endm
  407. slax     macro    ?d
  408.     @chk    ?d
  409.     db    0ddh, 0cbh, ?d,    26h
  410.      endm
  411. slay     macro    ?d
  412.     @chk    ?d
  413.     db    0fdh, 0cbh, ?d,    26h
  414.      endm
  415. srar     macro    ?r
  416.     db    0cbh, 28h+?r
  417.      endm
  418. srax     macro    ?d
  419.     @chk    ?d
  420.     db    0ddh, 0cbh, ?d,    2eh
  421.      endm
  422. sray     macro    ?d
  423.     @chk    ?d
  424.     db    0fdh, 0cbh, ?d,    2eh
  425.      endm
  426. srlr     macro    ?r
  427.     db    0cbh, 38h + ?r
  428.      endm
  429. srlx     macro    ?d
  430.     @chk    ?d
  431.     db    0ddh, 0cbh, ?d,    3eh
  432.      endm
  433. srly     macro    ?d
  434.     @chk    ?d
  435.     db    0fdh, 0cbh, ?d,    3eh
  436.      endm
  437. rld     macro
  438.     db    0edh, 6fh
  439.      endm
  440. rrd     macro
  441.     db    0edh, 67h
  442.      endm
  443.