mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			128 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:     PIC16F84 Assembler (Microchip's microcontroller)
 | 
						|
" Maintainer:   Aleksandar Veselinovic <aleksa@cs.cmu.com>
 | 
						|
" Last Change:  2003 May 11
 | 
						|
" URL:		http://galeb.etf.bg.ac.yu/~alexa/vim/syntax/pic.vim
 | 
						|
" Revision:     1.01
 | 
						|
 | 
						|
" For version 5.x: Clear all syntax items
 | 
						|
" For version 6.x: Quit when a syntax file was already loaded
 | 
						|
if version < 600
 | 
						|
  syntax clear
 | 
						|
elseif exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
syn case match
 | 
						|
syn keyword picTodo NOTE TODO XXX contained
 | 
						|
 | 
						|
syn case ignore
 | 
						|
 | 
						|
syn match picIdentifier "[a-z_$][a-z0-9_$]*"
 | 
						|
syn match picLabel      "^[A-Z_$][A-Z0-9_$]*"
 | 
						|
syn match picLabel      "^[A-Z_$][A-Z0-9_$]*:"me=e-1
 | 
						|
 | 
						|
syn match picASCII      "A\='.'"
 | 
						|
syn match picBinary     "B'[0-1]\+'"
 | 
						|
syn match picDecimal    "D'\d\+'"
 | 
						|
syn match picDecimal    "\d\+"
 | 
						|
syn match picHexadecimal "0x\x\+"
 | 
						|
syn match picHexadecimal "H'\x\+'"
 | 
						|
syn match picHexadecimal "[0-9]\x*h"
 | 
						|
syn match picOctal      "O'[0-7]\o*'"
 | 
						|
 | 
						|
 | 
						|
syn match picComment    ";.*" contains=picTodo
 | 
						|
 | 
						|
syn region picString    start=+"+ end=+"+
 | 
						|
 | 
						|
syn keyword picRegister		INDF TMR0 PCL STATUS FSR PORTA PORTB
 | 
						|
syn keyword picRegister		EEDATA EEADR PCLATH INTCON INDF OPTION_REG PCL
 | 
						|
syn keyword picRegister		FSR TRISA TRISB EECON1 EECON2 INTCON OPTION
 | 
						|
 | 
						|
 | 
						|
" Register --- bits
 | 
						|
 | 
						|
" STATUS
 | 
						|
syn keyword picRegisterPart     IRP RP1 RP0 TO PD Z DC C
 | 
						|
 | 
						|
" PORTA
 | 
						|
syn keyword picRegisterPart     T0CKI
 | 
						|
syn match   picRegisterPart     "RA[0-4]"
 | 
						|
 | 
						|
" PORTB
 | 
						|
syn keyword picRegisterPart     INT
 | 
						|
syn match   picRegisterPart     "RB[0-7]"
 | 
						|
 | 
						|
" INTCON
 | 
						|
syn keyword picRegisterPart     GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
 | 
						|
 | 
						|
" OPTION
 | 
						|
syn keyword picRegisterPart     RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
 | 
						|
 | 
						|
" EECON2
 | 
						|
syn keyword picRegisterPart     EEIF WRERR WREN WR RD
 | 
						|
 | 
						|
" INTCON
 | 
						|
syn keyword picRegisterPart     GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
 | 
						|
 | 
						|
 | 
						|
" OpCodes...
 | 
						|
syn keyword picOpcode  ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ
 | 
						|
syn keyword picOpcode  IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF
 | 
						|
syn keyword picOpcode  BCF BSF BTFSC BTFSS
 | 
						|
syn keyword picOpcode  ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE
 | 
						|
syn keyword picOpcode  RETLW RETURN SLEEP SUBLW XORLW
 | 
						|
syn keyword picOpcode  GOTO
 | 
						|
 | 
						|
 | 
						|
" Directives
 | 
						|
syn keyword picDirective __BADRAM BANKISEL BANKSEL CBLOCK CODE __CONFIG
 | 
						|
syn keyword picDirective CONSTANT DATA DB DE DT DW ELSE END ENDC
 | 
						|
syn keyword picDirective ENDIF ENDM ENDW EQU ERROR ERRORLEVEL EXITM EXPAND
 | 
						|
syn keyword picDirective EXTERN FILL GLOBAL IDATA __IDLOCS IF IFDEF IFNDEF
 | 
						|
syn keyword picDirective INCLUDE LIST LOCAL MACRO __MAXRAM MESSG NOEXPAND
 | 
						|
syn keyword picDirective NOLIST ORG PAGE PAGESEL PROCESSOR RADIX RES SET
 | 
						|
syn keyword picDirective SPACE SUBTITLE TITLE UDATA UDATA_OVR UDATA_SHR
 | 
						|
syn keyword picDirective VARIABLE WHILE INCLUDE
 | 
						|
syn match picDirective   "#\=UNDEFINE"
 | 
						|
syn match picDirective   "#\=INCLUDE"
 | 
						|
syn match picDirective   "#\=DEFINE"
 | 
						|
 | 
						|
 | 
						|
" Define the default highlighting.
 | 
						|
" For version 5.7 and earlier: only when not done already
 | 
						|
" For version 5.8 and later: only when an item doesn't have highlighting yet
 | 
						|
if version >= 508 || !exists("did_pic16f84_syntax_inits")
 | 
						|
  if version < 508
 | 
						|
    let did_pic16f84_syntax_inits = 1
 | 
						|
    command -nargs=+ HiLink hi link <args>
 | 
						|
  else
 | 
						|
    command -nargs=+ HiLink hi def link <args>
 | 
						|
  endif
 | 
						|
 | 
						|
  HiLink picTodo		Todo
 | 
						|
  HiLink picComment		Comment
 | 
						|
  HiLink picDirective		Statement
 | 
						|
  HiLink picLabel		Label
 | 
						|
  HiLink picString		String
 | 
						|
 | 
						|
 "HiLink picOpcode		Keyword
 | 
						|
 "HiLink picRegister		Structure
 | 
						|
 "HiLink picRegisterPart	Special
 | 
						|
 | 
						|
  HiLink picASCII		String
 | 
						|
  HiLink picBinary		Number
 | 
						|
  HiLink picDecimal		Number
 | 
						|
  HiLink picHexadecimal		Number
 | 
						|
  HiLink picOctal		Number
 | 
						|
 | 
						|
  HiLink picIdentifier		Identifier
 | 
						|
 | 
						|
  delcommand HiLink
 | 
						|
endif
 | 
						|
 | 
						|
let b:current_syntax = "pic"
 | 
						|
 | 
						|
" vim: ts=8
 |