pic.vim (3333B)
1 " Vim syntax file 2 " Language: PIC16F84 Assembler (Microchip's microcontroller) 3 " Maintainer: Aleksandar Veselinovic <aleksa@cs.cmu.com> 4 " Last Change: 2003 May 11 5 " URL: http://galeb.etf.bg.ac.yu/~alexa/vim/syntax/pic.vim 6 " Revision: 1.01 7 8 " quit when a syntax file was already loaded 9 if exists("b:current_syntax") 10 finish 11 endif 12 13 syn case match 14 syn keyword picTodo NOTE TODO XXX contained 15 16 syn case ignore 17 18 syn match picIdentifier "[a-z_$][a-z0-9_$]*" 19 syn match picLabel "^[A-Z_$][A-Z0-9_$]*" 20 syn match picLabel "^[A-Z_$][A-Z0-9_$]*:"me=e-1 21 22 syn match picASCII "A\='.'" 23 syn match picBinary "B'[0-1]\+'" 24 syn match picDecimal "D'\d\+'" 25 syn match picDecimal "\d\+" 26 syn match picHexadecimal "0x\x\+" 27 syn match picHexadecimal "H'\x\+'" 28 syn match picHexadecimal "[0-9]\x*h" 29 syn match picOctal "O'[0-7]\o*'" 30 31 32 syn match picComment ";.*" contains=picTodo 33 34 syn region picString start=+"+ end=+"+ 35 36 syn keyword picRegister INDF TMR0 PCL STATUS FSR PORTA PORTB 37 syn keyword picRegister EEDATA EEADR PCLATH INTCON INDF OPTION_REG PCL 38 syn keyword picRegister FSR TRISA TRISB EECON1 EECON2 INTCON OPTION 39 40 41 " Register --- bits 42 43 " STATUS 44 syn keyword picRegisterPart IRP RP1 RP0 TO PD Z DC C 45 46 " PORTA 47 syn keyword picRegisterPart T0CKI 48 syn match picRegisterPart "RA[0-4]" 49 50 " PORTB 51 syn keyword picRegisterPart INT 52 syn match picRegisterPart "RB[0-7]" 53 54 " INTCON 55 syn keyword picRegisterPart GIE EEIE T0IE INTE RBIE T0IF INTF RBIF 56 57 " OPTION 58 syn keyword picRegisterPart RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 59 60 " EECON2 61 syn keyword picRegisterPart EEIF WRERR WREN WR RD 62 63 " INTCON 64 syn keyword picRegisterPart GIE EEIE T0IE INTE RBIE T0IF INTF RBIF 65 66 67 " OpCodes... 68 syn keyword picOpcode ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ 69 syn keyword picOpcode IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF 70 syn keyword picOpcode BCF BSF BTFSC BTFSS 71 syn keyword picOpcode ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE 72 syn keyword picOpcode RETLW RETURN SLEEP SUBLW XORLW 73 syn keyword picOpcode GOTO 74 75 76 " Directives 77 syn keyword picDirective __BADRAM BANKISEL BANKSEL CBLOCK CODE __CONFIG 78 syn keyword picDirective CONSTANT DATA DB DE DT DW ELSE END ENDC 79 syn keyword picDirective ENDIF ENDM ENDW EQU ERROR ERRORLEVEL EXITM EXPAND 80 syn keyword picDirective EXTERN FILL GLOBAL IDATA __IDLOCS IF IFDEF IFNDEF 81 syn keyword picDirective INCLUDE LIST LOCAL MACRO __MAXRAM MESSG NOEXPAND 82 syn keyword picDirective NOLIST ORG PAGE PAGESEL PROCESSOR RADIX RES SET 83 syn keyword picDirective SPACE SUBTITLE TITLE UDATA UDATA_OVR UDATA_SHR 84 syn keyword picDirective VARIABLE WHILE INCLUDE 85 syn match picDirective "#\=UNDEFINE" 86 syn match picDirective "#\=INCLUDE" 87 syn match picDirective "#\=DEFINE" 88 89 90 " Define the default highlighting. 91 " Only when an item doesn't have highlighting yet 92 93 hi def link picTodo Todo 94 hi def link picComment Comment 95 hi def link picDirective Statement 96 hi def link picLabel Label 97 hi def link picString String 98 99 "hi def link picOpcode Keyword 100 "hi def link picRegister Structure 101 "hi def link picRegisterPart Special 102 103 hi def link picASCII String 104 hi def link picBinary Number 105 hi def link picDecimal Number 106 hi def link picHexadecimal Number 107 hi def link picOctal Number 108 109 hi def link picIdentifier Identifier 110 111 112 let b:current_syntax = "pic" 113 114 " vim: ts=8