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