You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
filetype: 65xx asm
|
|
|
|
detect:
|
|
filename: "\\.(A|a|)$"
|
|
|
|
rules:
|
|
# This file is made for ACME assembly
|
|
|
|
## Instructions
|
|
# 65xx
|
|
- statement: "\\b(?i)(adc|and|asl|bcc|bcs|beq|bmi|bne|bpl|bvc|bvs|bit|brk|clc)(?-i)\\b"
|
|
- statement: "\\b(?i)(cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp)(?-i)\\b"
|
|
- statement: "\\b(?i)(jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti)(?-i)\\b"
|
|
- statement: "\\b(?i)(rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)(?-i)\\b"
|
|
## Constants
|
|
# Number - it doesn't work
|
|
- constant.number: "\\b[0-9 a-f A-F]+\\b"
|
|
- constant.number: "(\\#|\\$|%)"
|
|
|
|
## Other
|
|
- identifier: "[a-z A-Z 0-9 _]+:"
|
|
- preproc: "\\*\\="
|
|
- preproc: "![a-z A-Z]+(.*, [0-9 a-z A-Z]+|)"
|
|
|
|
- constant.string:
|
|
start: "\""
|
|
end: "\""
|
|
skip: "\\\\."
|
|
rules:
|
|
- constant.specialChar: "\\\\."
|
|
|
|
- constant.string:
|
|
start: "'"
|
|
end: "'"
|
|
skip: "\\\\."
|
|
rules:
|
|
- constant.specialChar: "\\\\."
|
|
|
|
- comment:
|
|
start: ";"
|
|
end: "$"
|
|
rules:
|
|
- todo: "(TODO|XXX|FIXME):?"
|
|
|
|
|
|
|