KXStudio Website https://kx.studio/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
4.8KB

  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.11
  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. $language_data = array (
  40. 'LANG_NAME' => 'PIC16',
  41. 'COMMENT_SINGLE' => array(1 => ';'),
  42. 'COMMENT_MULTI' => array(),
  43. 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  44. 'QUOTEMARKS' => array("'", '"'),
  45. 'ESCAPE_CHAR' => '\\',
  46. 'KEYWORDS' => array(
  47. /*Instructions*/
  48. 1 => array(
  49. 'addcf','adddcf','addlw','addwf','andlw','andwf','bc','bcf','bdc',
  50. 'bnc','bndc','bnz','bsf','btfsc','btfss','bz','call','clrc','clrdc',
  51. 'clrf','clrw','clrwdt','clrz','comf','decf','goto','incf','incfsz',
  52. 'iorlw','iorwf','lcall','lgoto','movf','movfw','movlw','movwf',
  53. 'option','negf','nop','retfie','retlw','return','rlf','rrf','setc',
  54. 'setdc','setz','skpc','skpdc','skpnc','skpndc','skpnz','skpz',
  55. 'sleep','subcf','subdcf','sublw','subwf','swapf','tris','tstf',
  56. 'xorlw','xorwf'
  57. ),
  58. /*Registers*/
  59. 2 => array(
  60. 'INDF','TMR0','OPTION','PCL','STATUS','FSR','PORTA','PORTB','PORTC',
  61. 'PORTD','PORTE','PORTF','TRISA','TRISB','TRISC','TRISD','TRISE',
  62. 'TRISF','PCLATH','INTCON','PIR1','PIE1','PCON','CMCON','VRCON',
  63. 'F','W'
  64. ),
  65. /*Directives*/
  66. 3 => array(
  67. '_BADRAM','BANKISEL','BANKSEL','CBLOCK','CODE','_CONFIG','CONSTANT',
  68. 'DA','DATA','DB','DE','#DEFINE','DT','DW','ELSE','END','ENDC',
  69. 'ENDIF','ENDM','ENDW','EQU','ERROR','ERRORLEVEL','EXITM','EXPAND',
  70. 'EXTERN','FILL','GLOBAL','IDATA','_IDLOCS','IF','IFDEF','IFNDEF',
  71. 'INCLUDE','#INCLUDE','LIST','LOCAL','MACRO','_MAXRAM','MESSG',
  72. 'NOEXPAND','NOLIST','ORG','PAGE','PAGESEL','PROCESSOR','RADIX',
  73. 'RES','SET','SPACE','SUBTITLE','TITLE','UDATA','UDATA_ACS',
  74. 'UDATA_OVR','UDATA_SHR','#UNDEFINE','VARIABLE','WHILE',
  75. 'D','H','O','B','A'
  76. ),
  77. ),
  78. 'SYMBOLS' => array('=','.',',',':'),
  79. 'CASE_SENSITIVE' => array(
  80. GESHI_COMMENTS => false,
  81. 1 => false,
  82. 2 => false,
  83. 3 => false
  84. ),
  85. 'STYLES' => array(
  86. 'KEYWORDS' => array(
  87. 1 => 'color: #0000a0; font-weight: bold;',
  88. 2 => 'color: #aa3300; font-weight: bold;',
  89. 3 => 'color: #0000ff;',
  90. ),
  91. 'COMMENTS' => array(
  92. 1 => 'color: #00a000;'
  93. ),
  94. 'ESCAPE_CHAR' => array(
  95. 0 => 'color: #ff0000;'
  96. ),
  97. 'BRACKETS' => array(
  98. 0 => 'color: #0000ff;'
  99. ),
  100. 'STRINGS' => array(
  101. 0 => 'color: #ff7700;'
  102. ),
  103. 'NUMBERS' => array(
  104. 0 => 'color: #ff7700;'
  105. ),
  106. 'METHODS' => array(
  107. ),
  108. 'SYMBOLS' => array(
  109. 0 => 'color: #7777ff;'
  110. ),
  111. 'REGEXPS' => array(),
  112. 'SCRIPT' => array()
  113. ),
  114. 'URLS' => array(
  115. 1 => '',
  116. 2 => '',
  117. 3 => ''
  118. ),
  119. 'OOLANG' => false,
  120. 'OBJECT_SPLITTERS' => array(),
  121. 'NUMBERS' =>
  122. GESHI_NUMBER_INT_BASIC |
  123. GESHI_NUMBER_BIN_SUFFIX |
  124. GESHI_NUMBER_HEX_PREFIX |
  125. GESHI_NUMBER_HEX_SUFFIX,
  126. 'REGEXPS' => array(
  127. ),
  128. 'STRICT_MODE_APPLIES' => GESHI_NEVER,
  129. 'SCRIPT_DELIMITERS' => array(),
  130. 'HIGHLIGHT_STRICT_BLOCK' => array(),
  131. 'TAB_WIDTH' => 4,
  132. 'PARSER_CONTROL' => array(
  133. 'KEYWORDS' => array(
  134. 'DISALLOWED_BEFORE' => "a-zA-Z0-9\$_\|\#>|^",
  135. 'DISALLOWED_AFTER' => "a-zA-Z0-9_<\|%"
  136. )
  137. )
  138. );
  139. ?>