xref: /vim-8.2.3635/runtime/syntax/asmh8300.vim (revision 3132cddd)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:		Hitachi H-8300h specific syntax for GNU Assembler
3*3132cdddSBram Moolenaar" Maintainer:		Doug Kearns <[email protected]>
4*3132cdddSBram Moolenaar" Previous Maintainer:	Kevin Dahlhausen <[email protected]>
5*3132cdddSBram Moolenaar" Last Change:		2020 Oct 31
6071d4279SBram Moolenaar
789bcfda6SBram Moolenaarif exists("b:current_syntax")
8071d4279SBram Moolenaar  finish
9071d4279SBram Moolenaarendif
10071d4279SBram Moolenaar
11*3132cdddSBram Moolenaarruntime! syntax/asm.vim
12*3132cdddSBram Moolenaar
13071d4279SBram Moolenaarsyn case ignore
14071d4279SBram Moolenaar
15*3132cdddSBram Moolenaarsyn match asmDirective	"\.h8300[hs]n\="
16071d4279SBram Moolenaar
17071d4279SBram Moolenaar"h8300[h] registers
18*3132cdddSBram Moolenaarsyn match asmRegister	"e\=r\o[lh]\="
19071d4279SBram Moolenaar
20071d4279SBram Moolenaar"h8300[h] opcodes - order is important!
21071d4279SBram Moolenaarsyn match asmOpcode "add\.[lbw]"
22071d4279SBram Moolenaarsyn match asmOpcode "add[sx :]"
23071d4279SBram Moolenaarsyn match asmOpcode "and\.[lbw]"
24071d4279SBram Moolenaarsyn match asmOpcode "bl[deots]"
25071d4279SBram Moolenaarsyn match asmOpcode "cmp\.[lbw]"
26071d4279SBram Moolenaarsyn match asmOpcode "dec\.[lbw]"
27071d4279SBram Moolenaarsyn match asmOpcode "divx[us].[bw]"
28071d4279SBram Moolenaarsyn match asmOpcode "ext[su]\.[lw]"
29071d4279SBram Moolenaarsyn match asmOpcode "inc\.[lw]"
30071d4279SBram Moolenaarsyn match asmOpcode "mov\.[lbw]"
31071d4279SBram Moolenaarsyn match asmOpcode "mulx[su]\.[bw]"
32071d4279SBram Moolenaarsyn match asmOpcode "neg\.[lbw]"
33071d4279SBram Moolenaarsyn match asmOpcode "not\.[lbw]"
34071d4279SBram Moolenaarsyn match asmOpcode "or\.[lbw]"
35071d4279SBram Moolenaarsyn match asmOpcode "pop\.[wl]"
36071d4279SBram Moolenaarsyn match asmOpcode "push\.[wl]"
37071d4279SBram Moolenaarsyn match asmOpcode "rotx\=[lr]\.[lbw]"
38071d4279SBram Moolenaarsyn match asmOpcode "sha[lr]\.[lbw]"
39071d4279SBram Moolenaarsyn match asmOpcode "shl[lr]\.[lbw]"
40071d4279SBram Moolenaarsyn match asmOpcode "sub\.[lbw]"
41071d4279SBram Moolenaarsyn match asmOpcode "xor\.[lbw]"
42*3132cdddSBram Moolenaar
43*3132cdddSBram Moolenaarsyn keyword asmOpcode andc band bcc bclr bcs beq bf bge bgt
44*3132cdddSBram Moolenaarsyn keyword asmOpcode bhi bhs biand bild bior bist bixor bmi
45*3132cdddSBram Moolenaarsyn keyword asmOpcode bne bnot bnp bor bpl bpt bra brn bset
46*3132cdddSBram Moolenaarsyn keyword asmOpcode bsr btst bst bt bvc bvs bxor cmp daa
47*3132cdddSBram Moolenaarsyn keyword asmOpcode das eepmov eepmovw inc jmp jsr ldc movfpe
48*3132cdddSBram Moolenaarsyn keyword asmOpcode movtpe mov nop orc rte rts sleep stc
49*3132cdddSBram Moolenaarsyn keyword asmOpcode sub trapa xorc
50071d4279SBram Moolenaar
51071d4279SBram Moolenaarsyn case match
52071d4279SBram Moolenaar
53f37506f6SBram Moolenaarhi def link asmOpcode	Statement
54f37506f6SBram Moolenaarhi def link asmRegister	Identifier
55071d4279SBram Moolenaar
56071d4279SBram Moolenaarlet b:current_syntax = "asmh8300"
57071d4279SBram Moolenaar
58*3132cdddSBram Moolenaar" vim: nowrap sw=2 sts=2 ts=8 noet
59