home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / emulaton / utilities / magicasm / pce_code / inc / macro < prev    next >
Encoding:
Text File  |  1998-04-14  |  2.6 KB  |  274 lines

  1.  
  2. map    .macro
  3.      lda   #bank(\1)
  4.      tam   #page(\1)
  5.     .endm
  6.  
  7. vreg    .macro
  8.      lda    \1
  9.      sta    <_vreg
  10.      sta    $0000
  11.     .endm
  12.  
  13. ;-------------------------------
  14.  
  15. stwz    .macro
  16.      stz    \1
  17.      stz    \1+1
  18.     .endm
  19.  
  20. stwi    .macro
  21.      lda    #low(\1)
  22.      sta    \2
  23.      lda    #high(\1)
  24.      sta    \2+1
  25.     .endm
  26.  
  27. addwi    .macro
  28.      clc
  29.      lda    \2
  30.      adc    #low(\1)
  31.      sta    \2
  32.      lda    \2+1
  33.      adc    #high(\1)
  34.      sta    \2+1
  35.     .endm
  36.  
  37. subwi    .macro
  38.      sec
  39.      lda    \2
  40.      sbc    #low(\1)
  41.      sta    \2
  42.      lda    \2+1
  43.      sbc    #high(\1)
  44.      sta    \2+1
  45.     .endm
  46.  
  47. cmpwi    .macro
  48.      lda    \2+1
  49.      cmp    #high(\1)
  50.      bne    .x_\@
  51.      lda    \2
  52.      cmp    #low(\1)
  53. .x_\@:
  54.     .endm
  55.  
  56. movw    .macro
  57.      lda    \1
  58.      sta    \2
  59.      lda    \1+1
  60.      sta    \2+1
  61.     .endm
  62.  
  63. incw    .macro
  64.      inc    \1
  65.      bne    .x_\@
  66.      inc    \1+1
  67. .x_\@:
  68.     .endm
  69.  
  70. decw    .macro
  71.      sec
  72.      lda    \1
  73.      sbc    #1
  74.      sta    \1
  75.      lda    \1+1
  76.      sbc    #0
  77.      sta    \1+1
  78.     .endm
  79.  
  80. addw    .macro
  81.      clc
  82.      lda    \2
  83.      adc    \1
  84.      sta    \2
  85.      lda    \2+1
  86.      adc    \1+1
  87.      sta    \2+1
  88.     .endm
  89.  
  90. subw    .macro
  91.      sec
  92.      lda    \2
  93.      sbc    \1
  94.      sta    \2
  95.      lda    \2+1
  96.      sbc    \1+1
  97.      sta    \2+1
  98.     .endm
  99.  
  100. cmpw    .macro
  101.      lda    \2+1
  102.      cmp    \1+1
  103.      bne    .x_\@
  104.      lda    \2
  105.      cmp    \1
  106. .x_\@:
  107.     .endm
  108.  
  109. rolw    .macro
  110.      rol    \1
  111.      rol    \1+1
  112.     .endm
  113.  
  114. aslw    .macro
  115.      asl    \1
  116.      rol    \1+1
  117.     .endm
  118.  
  119. lsrw    .macro
  120.      lsr    \1+1
  121.      ror    \1
  122.     .endm
  123.  
  124. rorw    .macro
  125.      ror    \1+1
  126.      ror    \1
  127.     .endm
  128.  
  129. negw    .macro
  130.      lda    \1
  131.      eor    #$FF
  132.      sta    \1
  133.      lda    \1+1
  134.      eor    #$FF
  135.      sta    \1+1
  136.      inc    \1
  137.      bne    .x\@
  138.      inc    \1+1
  139. .x\@:
  140.     .endm
  141.  
  142. neg    .macro
  143.      eor    #$ff
  144.      inc    A
  145.     .endm
  146.  
  147. add    .macro
  148.      clc
  149.      adc    \1
  150.     .endm
  151.  
  152. sub    .macro
  153.      sec
  154.      sbc    \1
  155.     .endm
  156.  
  157. blo    .macro
  158.      bcc    \1
  159.     .endm
  160.  
  161. bhs    .macro
  162.      bcs    \1
  163.     .endm
  164.  
  165. ;-------------------------------
  166.  
  167. _stwi    .macro
  168.      pha
  169.      lda    #low(\1)
  170.      sta    \2
  171.      lda    #high(\1)
  172.      sta    \2+1
  173.      pla
  174.     .endm
  175.  
  176. _addwi    .macro
  177.      pha
  178.      clc
  179.      lda    \2
  180.      adc    #low(\1)
  181.      sta    \2
  182.      lda    \2+1
  183.      adc    #high(\1)
  184.      sta    \2+1
  185.      pla
  186.     .endm
  187.  
  188. _subwi    .macro
  189.      pha
  190.      sec
  191.      lda    \2
  192.      sbc    #low(\1)
  193.      sta    \2
  194.      lda    \2+1
  195.      sbc    #high(\1)
  196.      sta    \2+1
  197.      pla
  198.     endm
  199.  
  200. _cmpwi    .macro
  201.      pha
  202.      lda    \2+1
  203.      cmp    #high(\1)
  204.      bne    .x_\@
  205.      lda    \2
  206.      cmp    #low(\1)
  207. .x_\@:
  208.      pla
  209.     .endm
  210.  
  211. _movw    .macro
  212.      pha
  213.      lda    \1
  214.      sta    \2
  215.      lda    \1+1
  216.      sta    \2+1
  217.      pla
  218.     .endm
  219.  
  220. _incw    .macro
  221.      inc    \1
  222.      bne    .x_\@
  223.      inc    \1+1
  224. .x_\@:
  225.     .endm
  226.  
  227. _decw    .macro
  228.      pha
  229.      sec
  230.      lda    \1
  231.      sbc    #1
  232.      sta    \1
  233.      lda    \1+1
  234.      sbc    #0
  235.      sta    \1+1
  236.      pla
  237.     .endm
  238.  
  239. _addw    .macro
  240.      pha
  241.      clc
  242.      lda    \2
  243.      adc    \1
  244.      sta    \2
  245.      lda    \2+1
  246.      adc    \1+1
  247.      sta    \2+1
  248.      pla
  249.     .endm
  250.  
  251. _subw    .macro
  252.      pha
  253.      sec
  254.      lda    \2
  255.      sbc    \1
  256.      sta    \2
  257.      lda    \2+1
  258.      sbc    \1+1
  259.      sta    \2+1
  260.      pla
  261.     .endm
  262.  
  263. _cmpw    .macro
  264.      pha
  265.      lda    \2+1
  266.      cmp    \1+1
  267.      bne    .x_\@
  268.      lda    \2
  269.      cmp    \1
  270. .x_\@:
  271.      pla
  272.     .endm
  273.  
  274.