1 <?php 2 /************************************************************************************* 3 * z80.php 4 * ------- 5 * Author: Benny Baumann (BenBE (at) omorphia.de) 6 * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/) 7 * Release Version: 1.0.8.3 8 * Date Started: 2007/02/06 9 * 10 * ZiLOG Z80 Assembler language file for GeSHi. 11 * Syntax definition as commonly used with table assembler TASM32 12 * This file will contain some undocumented opcodes. 13 * 14 * CHANGES 15 * ------- 16 * 2008/05/23 (1.0.7.22) 17 * - Added description of extra language features (SF#1970248) 18 * 2007/06/03 (1.0.1) 19 * - Fixed two typos in the language file 20 * 2007/02/06 (1.0.0) 21 * - First Release 22 * 23 * TODO (updated 2007/02/06) 24 * ------------------------- 25 * 26 ************************************************************************************* 27 * 28 * This file is part of GeSHi. 29 * 30 * GeSHi is free software; you can redistribute it and/or modify 31 * it under the terms of the GNU General Public License as published by 32 * the Free Software Foundation; either version 2 of the License, or 33 * (at your option) any later version. 34 * 35 * GeSHi is distributed in the hope that it will be useful, 36 * but WITHOUT ANY WARRANTY; without even the implied warranty of 37 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 38 * GNU General Public License for more details. 39 * 40 * You should have received a copy of the GNU General Public License 41 * along with GeSHi; if not, write to the Free Software 42 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 43 * 44 ************************************************************************************/ 45 46 $language_data = array ( 47 'LANG_NAME' => 'ZiLOG Z80 Assembler', 48 'COMMENT_SINGLE' => array(1 => ';'), 49 'COMMENT_MULTI' => array(), 50 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 51 'QUOTEMARKS' => array("'", '"'), 52 'ESCAPE_CHAR' => '', 53 'KEYWORDS' => array( 54 /*CPU*/ 55 1 => array( 56 'adc','add','and','bit','call','ccf','cp','cpd','cpdr','cpir','cpi', 57 'cpl','daa','dec','di','djnz','ei','ex','exx','halt','im','in', 58 'in0','inc','ind','indr','inir','ini','jp','jr','ld','ldd','lddr', 59 'ldir','ldi','mlt','neg','nop','or','otdm','otdmr','otdr','otim', 60 'otimr','otir','out','out0','outd','outi','pop','push','res','ret', 61 'reti','retn','rl','rla','rlc','rlca','rld','rr','rra','rrc','rrca', 62 'rrd','rst','sbc','scf','set','sla','sl1','sll','slp','sra','srl', 63 'sub','tst','tstio','xor' 64 ), 65 /*registers*/ 66 2 => array( 67 'a','b','c','d','e','h','l', 68 'af','bc','de','hl','ix','iy','sp', 69 'af\'','ixh','ixl','iyh','iyl' 70 ), 71 /*Directive*/ 72 3 => array( 73 '#define','#endif','#else','#ifdef','#ifndef','#include','#undef', 74 '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ' 75 ), 76 ), 77 'SYMBOLS' => array( 78 '[', ']', '(', ')', '?', '+', '-', '*', '/', '%', '$' 79 ), 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: #0000ff; font-weight:bold;', 89 2 => 'color: #0000ff;', 90 3 => 'color: #46aa03; font-weight:bold;' 91 ), 92 'COMMENTS' => array( 93 1 => 'color: #adadad; font-style: italic;', 94 ), 95 'ESCAPE_CHAR' => array( 96 0 => 'color: #000099; font-weight: bold;' 97 ), 98 'BRACKETS' => array( 99 0 => 'color: #0000ff;' 100 ), 101 'STRINGS' => array( 102 0 => 'color: #7f007f;' 103 ), 104 'NUMBERS' => array( 105 0 => 'color: #dd22dd;' 106 ), 107 'METHODS' => array( 108 ), 109 'SYMBOLS' => array( 110 0 => 'color: #008000;' 111 ), 112 'REGEXPS' => array( 113 0 => 'color: #22bbff;', 114 1 => 'color: #22bbff;', 115 2 => 'color: #993333;' 116 ), 117 'SCRIPT' => array( 118 ) 119 ), 120 'URLS' => array( 121 1 => '', 122 2 => '', 123 3 => '' 124 ), 125 'OOLANG' => false, 126 'OBJECT_SPLITTERS' => array( 127 ), 128 'REGEXPS' => array( 129 //Hex numbers 130 0 => '0[0-9a-fA-F]{1,32}[hH]', 131 //Binary numbers 132 1 => '\%[01]{1,64}|[01]{1,64}[bB]?', 133 //Labels 134 2 => '^[_a-zA-Z][_a-zA-Z0-9]?\:' 135 ), 136 'STRICT_MODE_APPLIES' => GESHI_NEVER, 137 'SCRIPT_DELIMITERS' => array( 138 ), 139 'HIGHLIGHT_STRICT_BLOCK' => array( 140 ), 141 'TAB_WIDTH' => 8 142 ); 143 144 ?> 145