1<?php 2/************************************************************************************* 3 * pic16.php 4 * ------- 5 * Author: Phil Mattison (mattison@ohmikron.com) 6 * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/) 7 * Release Version: 1.0.8.3 8 * Date Started: 2008/07/30 9 * 10 * PIC16 Assembler language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 2008/07/30 (1.0.8) 15 * - First Release 16 * 17 * TODO (updated 2008/07/30) 18 * ------------------------- 19 * 20 ************************************************************************************* 21 * 22 * This file is part of GeSHi. 23 * 24 * GeSHi is free software; you can redistribute it and/or modify 25 * it under the terms of the GNU General Public License as published by 26 * the Free Software Foundation; either version 2 of the License, or 27 * (at your option) any later version. 28 * 29 * GeSHi is distributed in the hope that it will be useful, 30 * but WITHOUT ANY WARRANTY; without even the implied warranty of 31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 32 * GNU General Public License for more details. 33 * 34 * You should have received a copy of the GNU General Public License 35 * along with GeSHi; if not, write to the Free Software 36 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 37 * 38 ************************************************************************************/ 39 40$language_data = array ( 41 'LANG_NAME' => 'PIC16', 42 'COMMENT_SINGLE' => array(1 => ';'), 43 'COMMENT_MULTI' => array(), 44 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 45 'QUOTEMARKS' => array("'", '"'), 46 'ESCAPE_CHAR' => '\\', 47 'KEYWORDS' => array( 48 /*Instructions*/ 49 1 => array( 50 'addcf','adddcf','addlw','addwf','andlw','andwf','bc','bcf','bdc', 51 'bnc','bndc','bnz','bsf','btfsc','btfss','bz','call','clrc','clrdc', 52 'clrf','clrw','clrwdt','clrz','comf','decf','goto','incf','incfsz', 53 'iorlw','iorwf','lcall','lgoto','movf','movfw','movlw','movwf', 54 'option','negf','nop','retfie','retlw','return','rlf','rrf','setc', 55 'setdc','setz','skpc','skpdc','skpnc','skpndc','skpnz','skpz', 56 'sleep','subcf','subdcf','sublw','subwf','swapf','tris','tstf', 57 'xorlw','xorwf' 58 ), 59 /*Registers*/ 60 2 => array( 61 'INDF','TMR0','OPTION','PCL','STATUS','FSR','PORTA','PORTB','PORTC', 62 'PORTD','PORTE','PORTF','TRISA','TRISB','TRISC','TRISD','TRISE', 63 'TRISF','PCLATH','INTCON','PIR1','PIE1','PCON','CMCON','VRCON', 64 'F','W' 65 ), 66 /*Directives*/ 67 3 => array( 68 '_BADRAM','BANKISEL','BANKSEL','CBLOCK','CODE','_CONFIG','CONSTANT', 69 'DA','DATA','DB','DE','#DEFINE','DT','DW','ELSE','END','ENDC', 70 'ENDIF','ENDM','ENDW','EQU','ERROR','ERRORLEVEL','EXITM','EXPAND', 71 'EXTERN','FILL','GLOBAL','IDATA','_IDLOCS','IF','IFDEF','IFNDEF', 72 'INCLUDE','#INCLUDE','LIST','LOCAL','MACRO','_MAXRAM','MESSG', 73 'NOEXPAND','NOLIST','ORG','PAGE','PAGESEL','PROCESSOR','RADIX', 74 'RES','SET','SPACE','SUBTITLE','TITLE','UDATA','UDATA_ACS', 75 'UDATA_OVR','UDATA_SHR','#UNDEFINE','VARIABLE','WHILE', 76 'D','H','O','B','A' 77 ), 78 ), 79 'SYMBOLS' => array('=','.',',',':'), 80 'CASE_SENSITIVE' => array( 81 GESHI_COMMENTS => false, 82 1 => false, 83 2 => false, 84 3 => false 85 ), 86 'STYLES' => array( 87 'KEYWORDS' => array( 88 1 => 'color: #0000a0; font-weight: bold;', 89 2 => 'color: #aa3300; font-weight: bold;', 90 3 => 'color: #0000ff;', 91 ), 92 'COMMENTS' => array( 93 1 => 'color: #00a000;' 94 ), 95 'ESCAPE_CHAR' => array( 96 0 => 'color: #ff0000;' 97 ), 98 'BRACKETS' => array( 99 0 => 'color: #0000ff;' 100 ), 101 'STRINGS' => array( 102 0 => 'color: #ff7700;' 103 ), 104 'NUMBERS' => array( 105 0 => 'color: #ff7700;' 106 ), 107 'METHODS' => array( 108 ), 109 'SYMBOLS' => array( 110 0 => 'color: #7777ff;' 111 ), 112 'REGEXPS' => array(), 113 'SCRIPT' => array() 114 ), 115 'URLS' => array( 116 1 => '', 117 2 => '', 118 3 => '' 119 ), 120 'OOLANG' => false, 121 'OBJECT_SPLITTERS' => array(), 122 'NUMBERS' => 123 GESHI_NUMBER_INT_BASIC | 124 GESHI_NUMBER_BIN_SUFFIX | 125 GESHI_NUMBER_HEX_PREFIX | 126 GESHI_NUMBER_HEX_SUFFIX, 127 'REGEXPS' => array( 128 ), 129 'STRICT_MODE_APPLIES' => GESHI_NEVER, 130 'SCRIPT_DELIMITERS' => array(), 131 'HIGHLIGHT_STRICT_BLOCK' => array(), 132 'TAB_WIDTH' => 4, 133 'PARSER_CONTROL' => array( 134 'KEYWORDS' => array( 135 'DISALLOWED_BEFORE' => "a-zA-Z0-9\$_\|\#>|^", 136 'DISALLOWED_AFTER' => "a-zA-Z0-9_<\|%" 137 ) 138 ) 139); 140 141?> 142