avra.vim (2683B)
1 " Vim syntax file 2 " Language: AVR Assembler (AVRA) 3 " AVRA Home: http://avra.sourceforge.net/index.html 4 " AVRA Version: 1.3.0 5 " Last Update: 2016 Oct 7 6 " Maintainer: Marius Ghita <mhitza@gmail.com> 7 8 let s:cpo_save = &cpo 9 set cpo&vim 10 11 syn case ignore 12 13 syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 14 syn keyword avraRegister r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 15 syn keyword avraRegister r28 r29 r30 r31 16 17 syn keyword avraInstr add adc adiw sub subi sbc sbci sbiw and andi or ori eor 18 syn keyword avraInstr com neg sbr cbr inc dec tst clr ser mul muls mulsu fmul 19 syn keyword avraInstr fmuls fmulsu des rjmp ijmp eijmp jmp rcall icall eicall 20 syn keyword avraInstr call ret reti cpse cp cpc cpi sbrc sbrs sbic sbis brbs 21 syn keyword avraInstr brbc breq brne brcs brcc brsh brlo brmi brpl brge brlt 22 syn keyword avraInstr brhs brhc brts brtc brvs brvc brie brid mov movw ldi lds 23 syn keyword avraInstr ld ldd sts st std lpm elpm spm in out push pop xch las 24 syn keyword avraInstr lac lat lsl lsr rol ror asr swap bset bclr sbi cbi bst bld 25 syn keyword avraInstr sec clc sen cln sez clz sei cli ses cls sev clv set clt 26 syn keyword avraInstr seh clh break nop sleep wdr 27 28 syn keyword avraDirective .byte .cseg .db .def .device .dseg .dw .endmacro .equ 29 syn keyword avraDirective .eseg .exit .include .list .listmac .macro .nolist 30 syn keyword avraDirective .org .set .define .undef .ifdef .ifndef .if .else 31 syn keyword avraDirective .elif .elseif .warning 32 33 syn keyword avraOperator low high byte2 byte3 byte4 lwrd hwrd page exp2 log2 34 35 syn match avraNumericOperator "[-*/+]" 36 syn match avraUnaryOperator "!" 37 syn match avraBinaryOperator "<<\|>>\|<\|<=\|>\|>=\|==\|!=" 38 syn match avraBitwiseOperator "[~&^|]\|&&\|||" 39 40 syn match avraBinaryNumber "\<0[bB][0-1]*\>" 41 syn match avraHexNumber "\<0[xX][0-9a-fA-F]\+\>" 42 syn match avraDecNumber "\<\(0\|[1-9]\d*\)\>" 43 44 syn region avraComment start=";" end="$" 45 syn region avraString start="\"" end="\"\|$" 46 47 syn match avraLabel "^\s*[^; \t]\+:" 48 49 hi def link avraBinaryNumber avraNumber 50 hi def link avraHexNumber avraNumber 51 hi def link avraDecNumber avraNumber 52 53 hi def link avraNumericOperator avraOperator 54 hi def link avraUnaryOperator avraOperator 55 hi def link avraBinaryOperator avraOperator 56 hi def link avraBitwiseOperator avraOperator 57 58 59 hi def link avraOperator operator 60 hi def link avraComment comment 61 hi def link avraDirective preproc 62 hi def link avraRegister type 63 hi def link avraNumber constant 64 hi def link avraString String 65 hi def link avraInstr keyword 66 hi def link avraLabel label 67 68 let b:current_syntax = "avra" 69 70 let &cpo = s:cpo_save 71 unlet s:cpo_save