home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / geos / programming / source / geosMac.cvt (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  1998-01-13  |  4.0 KB  |  193 lines

  1. GEOSmAC
  2. prg FORMATTED geos FILE v1.0
  3. wRITE iMAGE v1.1
  4. GEOwRITE    v1.1
  5. geoprogrammer SAMPLE FILE.
  6. .MACRO lOADb DEST,VALUE
  7.  LDA #VALUE
  8.  STA DEST
  9. .ENDM
  10. .MACRO lOADw DEST,VALUE
  11.  LDA #](VALUE)
  12.  STA DEST+1
  13.  LDA #[(VALUE)
  14.  STA DEST+0
  15. .ENDM
  16. .MACRO mOVEb SOURCE,DEST
  17.  LDA SOURCE
  18.  STA DEST
  19. .ENDM
  20. .MACRO mOVEw SOURCE,DEST
  21.  LDA SOURCE+1
  22.  STA DEST+1
  23.  LDA SOURCE+0
  24.  STA DEST+0
  25. .ENDM
  26. .MACRO ADD SOURCE
  27.  ADC SOURCE
  28. .ENDM
  29. .MACRO aDDb SOURCE,DEST
  30.  LDA SOURCE
  31.  ADC DEST
  32.  STA DEST
  33. .ENDM
  34. .MACRO aDDw SOURCE,DEST
  35.  LDA SOURCE
  36.  ADC DEST+0
  37.  STA DEST+0
  38.  LDA SOURCE+1
  39.  ADC DEST+1
  40.  STA DEST+1
  41. .ENDM
  42. .MACRO aDDvb VALUE,DEST
  43.  LDA DEST
  44.  ADC #VALUE
  45.  STA DEST
  46. .ENDM
  47. .MACRO aDDvw VALUE,DEST
  48.  LDA #[(VALUE)
  49.  ADC DEST+0
  50.  STA DEST+0
  51. .IF (VALUE >= 0) && (VALUE <= 255)
  52.  BCC NOiNC
  53.  INC DEST+1
  54. NOiNC:
  55. .ELSE
  56.  LDA #](VALUE)
  57.  ADC DEST+1
  58.  STA DEST+1
  59. .ENDIF
  60. .ENDM
  61. .MACRO SUB SOURCE
  62.  SBC SOURCE
  63. .ENDM
  64. .MACRO sUBb SOURCE,DEST
  65.  LDA DEST
  66.  SBC SOURCE
  67.  STA DEST
  68. .ENDM
  69. .MACRO sUBw SOURCE,DEST
  70.  LDA DEST+0
  71.  SBC SOURCE+0
  72.  STA DEST+0
  73.  LDA DEST+1
  74.  SBC SOURCE+1
  75.  STA DEST+1
  76. .ENDM
  77. .MACRO cMPb SOURCE,DEST
  78.  LDA SOURCE
  79.  CMP DEST
  80. .ENDM
  81. .MACRO cMPbi SOURCE,IMMED
  82.  LDA SOURCE
  83.  CMP #IMMED
  84. .ENDM
  85. .MACRO cMPw SOURCE,DEST
  86.  LDA SOURCE+1
  87.  CMP DEST+1
  88.  BNE DONE
  89.  LDA SOURCE+0
  90.  CMP DEST+0
  91. DONE:
  92. .ENDM
  93. .MACRO cMPwi SOURCE,IMMED
  94.  LDA SOURCE+1
  95.  CMP #](IMMED)
  96.  BNE DONE
  97.  LDA SOURCE+0
  98.  CMP #[(IMMED)
  99. DONE:
  100. .ENDM
  101. .MACRO pUSHb SOURCE
  102.  LDA SOURCE
  103. .ENDM
  104. .MACRO pUSHw SOURCE
  105.  LDA SOURCE+1
  106.  LDA SOURCE+0
  107. .ENDM
  108. .MACRO pOPb DEST
  109.  STA DEST
  110. .ENDM
  111. .MACRO pOPw DEST
  112.  STA DEST+0
  113.  STA DEST+1
  114. .ENDM
  115. .MACRO BRA ADDR
  116.  BVC ADDR
  117. .ENDM
  118. .MACRO BGE ADDR
  119.  BCS ADDR
  120. .ENDM
  121. .MACRO BLT ADDR
  122.  BCC ADDR
  123. .ENDM
  124. .MACRO BGT ADDR
  125.  BEQ SKIP
  126.  BCS ADDR
  127. SKIP:
  128. .ENDM
  129. .MACRO BLE ADDR
  130.  BCC ADDR
  131.  BEQ ADDR
  132. .ENDM
  133. .MACRO SMB BITnUMBER,DEST
  134.  LDA #(1 << BITnUMBER)
  135.  ORA DEST
  136.  STA DEST
  137. .ENDM
  138. .MACRO SMBF BITnUMBER,DEST
  139.  LDA #(1 << BITnUMBER)
  140.  ORA DEST
  141.  STA DEST
  142. .ENDM
  143. .MACRO RMB BITnUMBER,DEST
  144.  LDA #[{$7e}(1 << BITnUMBER)
  145.  AND DEST
  146.  STA DEST
  147. .ENDM
  148. .MACRO RMBF BITnUMBER,DEST
  149.  LDA #[{$7e}(1 << BITnUMBER)
  150.  AND DEST
  151.  STA DEST
  152. .ENDM
  153. .MACRO BBS BITnUMBER,SOURCE,ADDR
  154.  LDA SOURCE
  155.  AND #(1 << BITnUMBER)
  156.  BEQ NOBRANCH
  157.  BRA ADDR
  158. NOBRANCH:
  159. .ENDM
  160. .MACRO BBSF BITnUMBER,SOURCE,ADDR
  161. .IF (BITnUMBER = 7)
  162.  BIT SOURCE
  163.  BMI ADDR
  164. .ELIF (BITnUMBER = 6)
  165.  BIT SOURCE
  166.  BVS ADDR
  167. .ELSE
  168.  LDA SOURCE
  169.  AND #(1 << BITnUMBER)
  170.  BNE ADDR
  171. .ENDIF
  172. .ENDM
  173. .MACRO BBR BITnUMBER,SOURCE,ADDR
  174.  LDA SOURCE
  175.  AND #(1 << BITnUMBER)
  176.  BNE NOBRANCH
  177.  BRA ADDR
  178. NOBRANCH:
  179. .ENDM
  180. .MACRO BBRF BITnUMBER,SOURCE,ADDR
  181. .IF (BITnUMBER = 7)
  182.  BIT SOURCE
  183.  BPL ADDR
  184. .ELIF (BITnUMBER = 6)
  185.  BIT SOURCE
  186.  BVC ADDR
  187. .ELSE
  188.  LDA SOURCE
  189.  AND #(1 << BITnUMBER)
  190.  BEQ ADDR
  191. .ENDIF
  192. .ENDM
  193.