home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / GEOSApps / LOC128SRCB.SFX / newfmac (.txt) < prev    next >
GEOS ConVerT  |  1990-02-12  |  4KB  |  204 lines

  1. NewFmac
  2. PRG formatted GEOS file V1.0
  3. StarNX-1000C
  4. NewFsym
  5. NEWF.SRC
  6. LOCATE128.DOC
  7. ReadMeFirst
  8. Write Image V2.1
  9. geoWrite    V1.1
  10. GEOPROGRAMMER sample file. macros for Locate128
  11. .macro    LoadB    dest,value
  12.     lda    #value
  13.     sta    dest
  14. .endm
  15. .macro    LoadW    dest,value
  16.     lda    #](value)
  17.     sta    dest+1
  18.     lda    #[(value)
  19.     sta    dest+0
  20. .endm
  21. .macro    MoveB    source,dest
  22.     lda    source
  23.     sta    dest
  24. .endm
  25. .macro    MoveW    source,dest
  26.     lda    source+1
  27.     sta    dest+1
  28.     lda    source+0
  29.     sta    dest+0
  30. .endm
  31. .macro    add    source
  32.     adc source
  33. .endm
  34. .macro    AddB    source,dest
  35.     lda    source
  36.     adc    dest
  37.     sta    dest
  38. .endm
  39. .macro    AddW    source,dest
  40.     lda    source
  41.     adc    dest+0
  42.     sta    dest+0
  43.     lda    source+1
  44.     adc    dest+1
  45.     sta    dest+1
  46. .endm
  47. .macro AddVB value,dest
  48.  lda dest
  49.  adc #value
  50.  sta dest
  51. .endm
  52. .macro AddVW value,dest
  53.  lda #[(value)
  54.  adc dest+0
  55.  sta dest+0
  56. .if (value >= 0) && (value <= 255)
  57.  bcc noInc
  58.  inc dest+1
  59. noInc:
  60. .macro AddVW value,dest
  61.  lda #[(value)
  62.  adc dest+0
  63.  sta dest+0
  64. .if (value >= 0) && (value <= 255)
  65.  bcc noInc
  66.  inc dest+1
  67. noInc:
  68. .else
  69.  lda #](value)
  70.  adc dest+1
  71.  sta dest+1
  72. .endif
  73. .endm
  74. .macro sub source
  75.  sbc source
  76. .endm
  77. .macro SubB source,dest
  78.  lda dest
  79.  sbc source
  80.  sta dest
  81. .endm
  82. .macro SubW source,dest
  83.  lda dest+0
  84.  sbc source+0
  85.  sta dest+0
  86.  lda dest+1
  87.  sbc source+1
  88.  sta dest+1
  89. .endm
  90. .macro CmpB source,dest
  91.  lda source
  92.  cmp dest
  93. .endm
  94. .macro CmpBI source,immed
  95.  lda source
  96.  cmp #immed
  97. .endm
  98. .macro CmpW source,dest
  99.  lda source+1
  100.  cmp dest+1
  101.  bne done
  102.  lda source+0
  103.  cmp dest+0
  104. done:
  105. .endm
  106. .macro CmpWI source,immed
  107.  lda source+1
  108.  cmp #](immed)
  109.  bne done
  110.  lda source+0
  111. .macro CmpWI source,immed
  112.  lda source+1
  113.  cmp #](immed)
  114.  bne done
  115.  lda source+0
  116.  cmp #[(immed)
  117. done:
  118. .endm
  119. .macro PushB source
  120.  lda source
  121. .endm
  122. .macro PushW source
  123.  lda source+1
  124.  lda source+0
  125. .endm
  126. .macro PopB dest
  127.  sta dest
  128. .endm
  129. .macro PopW dest
  130.  sta dest+0
  131.  sta dest+1
  132. .endm
  133. .macro bra addr
  134.  bvc addr
  135. .endm
  136. .macro smb bitNumber,dest
  137.  lda #(1 << bitNumber)
  138.  ora dest
  139.  sta dest
  140. .endm
  141. .macro smbf bitNumber,dest
  142.  lda #(1 << bitNumber)
  143.  ora dest
  144.  sta dest
  145. .endm
  146. .macro rmb bitNumber,dest
  147.  lda #[~(1 << bitNumber)
  148.  and dest
  149.  sta dest
  150. .endm
  151. .macro rmbf bitNumber,dest
  152.  lda #[~(1 << bitNumber)
  153.  and dest
  154.  sta dest
  155. .endm
  156.     inc    dest+1
  157. done:
  158. .macro blt addr
  159.   bcc addr
  160. .endm
  161. .macro    SubVW    value,dest
  162.     lda    dest+0
  163.     sbc    #[(value)
  164.     sta    dest+0
  165. .if (value >= 0) && (value <= 255)
  166.     bcs    noInc
  167.     dec    dest+1
  168. noInc:
  169. .else
  170.     lda    dest+1
  171.     sbc    #](value)
  172.     sta    dest+1
  173. .endif
  174. .endm
  175. .macro    IncW    addr
  176.  inc addr
  177.  bne done
  178.  inc addr+1
  179. done:
  180. .endm
  181.  dest+1
  182. .endm
  183. .macro bra addr
  184.  bvc addr
  185. .endm
  186. .macro smb bitNumber,dest
  187.  lda #(1 << bitNumber)
  188.  ora dest
  189.  sta dest
  190. .endm
  191. .macro smbf bitNumber,dest
  192.  lda #(1 << bitNumbe
  193. Appendix Z
  194. 128 DUALTOP Macros
  195. _______________________________________________________________________
  196. acro    MoveB    source,dest
  197.     lda    source
  198.     sta    dest
  199. .endm
  200. .macro    MoveW    source,dest
  201.     lda    s
  202. _______________________________________________________________________
  203. Page Z-PAGE
  204.