home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / a65.vim < prev    next >
Encoding:
Text File  |  2003-05-03  |  6.6 KB  |  167 lines

  1. " Vim syntax file
  2. " Language:    xa 6502 cross assembler
  3. " Maintainer:    Clemens Kirchgatterer <clemens@thf.ath.cx>
  4. " Last Change:    2003 May 03
  5.  
  6. " For version 5.x: Clear all syntax items
  7. " For version 6.x: Quit when a syntax file was already loaded
  8. if version < 600
  9.   syntax clear
  10. elseif exists("b:current_syntax")
  11.   finish
  12. endif
  13.  
  14. syn case ignore
  15.  
  16. " Opcodes
  17. syn match a65Opcode    "\<PHP\($\|\s\)" nextgroup=a65Address
  18. syn match a65Opcode    "\<PLA\($\|\s\)" nextgroup=a65Address
  19. syn match a65Opcode    "\<PLX\($\|\s\)" nextgroup=a65Address
  20. syn match a65Opcode    "\<PLY\($\|\s\)" nextgroup=a65Address
  21. syn match a65Opcode    "\<SEC\($\|\s\)" nextgroup=a65Address
  22. syn match a65Opcode    "\<CLD\($\|\s\)" nextgroup=a65Address
  23. syn match a65Opcode    "\<SED\($\|\s\)" nextgroup=a65Address
  24. syn match a65Opcode    "\<CLI\($\|\s\)" nextgroup=a65Address
  25. syn match a65Opcode    "\<BVC\($\|\s\)" nextgroup=a65Address
  26. syn match a65Opcode    "\<BVS\($\|\s\)" nextgroup=a65Address
  27. syn match a65Opcode    "\<BCS\($\|\s\)" nextgroup=a65Address
  28. syn match a65Opcode    "\<BCC\($\|\s\)" nextgroup=a65Address
  29. syn match a65Opcode    "\<DEY\($\|\s\)" nextgroup=a65Address
  30. syn match a65Opcode    "\<DEC\($\|\s\)" nextgroup=a65Address
  31. syn match a65Opcode    "\<CMP\($\|\s\)" nextgroup=a65Address
  32. syn match a65Opcode    "\<CPX\($\|\s\)" nextgroup=a65Address
  33. syn match a65Opcode    "\<BIT\($\|\s\)" nextgroup=a65Address
  34. syn match a65Opcode    "\<ROL\($\|\s\)" nextgroup=a65Address
  35. syn match a65Opcode    "\<ROR\($\|\s\)" nextgroup=a65Address
  36. syn match a65Opcode    "\<ASL\($\|\s\)" nextgroup=a65Address
  37. syn match a65Opcode    "\<TXA\($\|\s\)" nextgroup=a65Address
  38. syn match a65Opcode    "\<TYA\($\|\s\)" nextgroup=a65Address
  39. syn match a65Opcode    "\<TSX\($\|\s\)" nextgroup=a65Address
  40. syn match a65Opcode    "\<TXS\($\|\s\)" nextgroup=a65Address
  41. syn match a65Opcode    "\<LDA\($\|\s\)" nextgroup=a65Address
  42. syn match a65Opcode    "\<LDX\($\|\s\)" nextgroup=a65Address
  43. syn match a65Opcode    "\<LDY\($\|\s\)" nextgroup=a65Address
  44. syn match a65Opcode    "\<STA\($\|\s\)" nextgroup=a65Address
  45. syn match a65Opcode    "\<PLP\($\|\s\)" nextgroup=a65Address
  46. syn match a65Opcode    "\<BRK\($\|\s\)" nextgroup=a65Address
  47. syn match a65Opcode    "\<RTI\($\|\s\)" nextgroup=a65Address
  48. syn match a65Opcode    "\<NOP\($\|\s\)" nextgroup=a65Address
  49. syn match a65Opcode    "\<SEI\($\|\s\)" nextgroup=a65Address
  50. syn match a65Opcode    "\<CLV\($\|\s\)" nextgroup=a65Address
  51. syn match a65Opcode    "\<PHA\($\|\s\)" nextgroup=a65Address
  52. syn match a65Opcode    "\<PHX\($\|\s\)" nextgroup=a65Address
  53. syn match a65Opcode    "\<BRA\($\|\s\)" nextgroup=a65Address
  54. syn match a65Opcode    "\<JMP\($\|\s\)" nextgroup=a65Address
  55. syn match a65Opcode    "\<JSR\($\|\s\)" nextgroup=a65Address
  56. syn match a65Opcode    "\<RTS\($\|\s\)" nextgroup=a65Address
  57. syn match a65Opcode    "\<CPY\($\|\s\)" nextgroup=a65Address
  58. syn match a65Opcode    "\<BNE\($\|\s\)" nextgroup=a65Address
  59. syn match a65Opcode    "\<BEQ\($\|\s\)" nextgroup=a65Address
  60. syn match a65Opcode    "\<BMI\($\|\s\)" nextgroup=a65Address
  61. syn match a65Opcode    "\<LSR\($\|\s\)" nextgroup=a65Address
  62. syn match a65Opcode    "\<INX\($\|\s\)" nextgroup=a65Address
  63. syn match a65Opcode    "\<INY\($\|\s\)" nextgroup=a65Address
  64. syn match a65Opcode    "\<INC\($\|\s\)" nextgroup=a65Address
  65. syn match a65Opcode    "\<ADC\($\|\s\)" nextgroup=a65Address
  66. syn match a65Opcode    "\<SBC\($\|\s\)" nextgroup=a65Address
  67. syn match a65Opcode    "\<AND\($\|\s\)" nextgroup=a65Address
  68. syn match a65Opcode    "\<ORA\($\|\s\)" nextgroup=a65Address
  69. syn match a65Opcode    "\<STX\($\|\s\)" nextgroup=a65Address
  70. syn match a65Opcode    "\<STY\($\|\s\)" nextgroup=a65Address
  71. syn match a65Opcode    "\<STZ\($\|\s\)" nextgroup=a65Address
  72. syn match a65Opcode    "\<EOR\($\|\s\)" nextgroup=a65Address
  73. syn match a65Opcode    "\<DEX\($\|\s\)" nextgroup=a65Address
  74. syn match a65Opcode    "\<BPL\($\|\s\)" nextgroup=a65Address
  75. syn match a65Opcode    "\<CLC\($\|\s\)" nextgroup=a65Address
  76. syn match a65Opcode    "\<PHY\($\|\s\)" nextgroup=a65Address
  77. syn match a65Opcode    "\<TRB\($\|\s\)" nextgroup=a65Address
  78. syn match a65Opcode    "\<BBR\($\|\s\)" nextgroup=a65Address
  79. syn match a65Opcode    "\<BBS\($\|\s\)" nextgroup=a65Address
  80. syn match a65Opcode    "\<RMB\($\|\s\)" nextgroup=a65Address
  81. syn match a65Opcode    "\<SMB\($\|\s\)" nextgroup=a65Address
  82. syn match a65Opcode    "\<TAY\($\|\s\)" nextgroup=a65Address
  83. syn match a65Opcode    "\<TAX\($\|\s\)" nextgroup=a65Address
  84.  
  85. " Addresses
  86. syn match a65Address    "\s*!\=$[0-9A-F]\{2}\($\|\s\)"
  87. syn match a65Address    "\s*!\=$[0-9A-F]\{4}\($\|\s\)"
  88. syn match a65Address    "\s*!\=$[0-9A-F]\{2},X\($\|\s\)"
  89. syn match a65Address    "\s*!\=$[0-9A-F]\{4},X\($\|\s\)"
  90. syn match a65Address    "\s*!\=$[0-9A-F]\{2},Y\($\|\s\)"
  91. syn match a65Address    "\s*!\=$[0-9A-F]\{4},Y\($\|\s\)"
  92. syn match a65Address    "\s*($[0-9A-F]\{2})\($\|\s\)"
  93. syn match a65Address    "\s*($[0-9A-F]\{4})\($\|\s\)"
  94. syn match a65Address    "\s*($[0-9A-F]\{2},X)\($\|\s\)"
  95. syn match a65Address    "\s*($[0-9A-F]\{2}),Y\($\|\s\)"
  96.  
  97. " Numbers
  98. syn match a65Number    "#\=[0-9]*\>"
  99. syn match a65Number    "#\=$[0-9A-F]*\>"
  100. syn match a65Number    "#\=&[0-7]*\>"
  101. syn match a65Number    "#\=%[01]*\>"
  102.  
  103. syn case match
  104.  
  105. " Types
  106. syn match a65Type    "\(^\|\s\)\.byt\($\|\s\)"
  107. syn match a65Type    "\(^\|\s\)\.word\($\|\s\)"
  108. syn match a65Type    "\(^\|\s\)\.asc\($\|\s\)"
  109. syn match a65Type    "\(^\|\s\)\.dsb\($\|\s\)"
  110. syn match a65Type    "\(^\|\s\)\.fopt\($\|\s\)"
  111. syn match a65Type    "\(^\|\s\)\.text\($\|\s\)"
  112. syn match a65Type    "\(^\|\s\)\.data\($\|\s\)"
  113. syn match a65Type    "\(^\|\s\)\.bss\($\|\s\)"
  114. syn match a65Type    "\(^\|\s\)\.zero\($\|\s\)"
  115. syn match a65Type    "\(^\|\s\)\.align\($\|\s\)"
  116.  
  117. " Blocks
  118. syn match a65Section    "\(^\|\s\)\.(\($\|\s\)"
  119. syn match a65Section    "\(^\|\s\)\.)\($\|\s\)"
  120.  
  121. " Strings
  122. syn match a65String    "\".*\""
  123.  
  124. " Programm Counter
  125. syn region a65PC    start="\*=" end="\>" keepend
  126.  
  127. " HI/LO Byte
  128. syn region a65HiLo    start="#[<>]" end="$\|\s" contains=a65Comment keepend
  129.  
  130. " Comments
  131. syn keyword a65Todo    TODO XXX FIXME BUG contained
  132. syn match   a65Comment    ";.*"hs=s+1 contains=a65Todo
  133. syn region  a65Comment    start="/\*" end="\*/" contains=a65Todo,a65Comment
  134.  
  135. " Preprocessor
  136. syn region a65PreProc    start="^#" end="$" contains=a65Comment,a65Continue
  137. syn match  a65End            excludenl /end$/ contained
  138. syn match  a65Continue    "\\$" contained
  139.  
  140. " Define the default highlighting.
  141. " For version 5.7 and earlier: only when not done already
  142. " For version 5.8 and later: only when an item doesn't have highlighting yet
  143. if version >= 508 || !exists("did_a65_syntax_inits")
  144.   if version < 508
  145.     let did_a65_syntax_inits = 1
  146.     command -nargs=+ HiLink hi link <args>
  147.   else
  148.     command -nargs=+ HiLink hi def link <args>
  149.   endif
  150.  
  151.   HiLink a65Section    Special
  152.   HiLink a65Address    Special
  153.   HiLink a65Comment    Comment
  154.   HiLink a65PreProc    PreProc
  155.   HiLink a65Number    Number
  156.   HiLink a65String    String
  157.   HiLink a65Type    Statement
  158.   HiLink a65Opcode    Type
  159.   HiLink a65PC        Error
  160.   HiLink a65Todo    Todo
  161.   HiLink a65HiLo    Number
  162.  
  163.   delcommand HiLink
  164. endif
  165.  
  166. let b:current_syntax = "a65"
  167.