|
@@ -0,0 +1,429 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!DOCTYPE language SYSTEM "language.dtd">
|
|
|
+<!--
|
|
|
+
|
|
|
+Please feel free to post your comments and suggestions at this address:
|
|
|
+ http://www.yaronet.com/en/posts.php?s=52890
|
|
|
+
|
|
|
+*************************************************************************
|
|
|
+* *
|
|
|
+* Syntax highlighting for the GNU Assembler *
|
|
|
+* Copyright (C) 2002, John Zaitseff *
|
|
|
+* *
|
|
|
+*************************************************************************
|
|
|
+
|
|
|
+Modified: Spectras <spectras@etherdream.org>
|
|
|
+Date: 14th November, 2004
|
|
|
+Version: 1.03.1
|
|
|
+
|
|
|
+Updated: Roland Pabel <roland@pabel.name>
|
|
|
+Date: 15th August, 2002
|
|
|
+Version: 1.01
|
|
|
+
|
|
|
+Author: John Zaitseff <J.Zaitseff@zap.org.au>
|
|
|
+Date: 15th April, 2002
|
|
|
+Version: 1.0
|
|
|
+
|
|
|
+This file contains the XML syntax highlighting description for the GNU
|
|
|
+Assembler, for KATE, the KDE Advanced Editor. Keywords have been taken
|
|
|
+directly from the GNU Assembler source code (read.c).
|
|
|
+
|
|
|
+Recognized assembly instructions are that of Motorola's Programmer
|
|
|
+Reference Manual.
|
|
|
+
|
|
|
+Known problems: Floating point highlighting does not work correctly.
|
|
|
+
|
|
|
+This program, including associated files, is free software. You may
|
|
|
+distribute it and/or modify it under the terms of the GNU General Public
|
|
|
+License as published by the Free Software Foundation; either Version 2 of
|
|
|
+the license, or (at your option) any later version.
|
|
|
+
|
|
|
+This program is distributed in the hope that it will be useful, but
|
|
|
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
|
+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
+for more details.
|
|
|
+
|
|
|
+You should have received a copy of the GNU General Public License along
|
|
|
+with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
+59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
+
|
|
|
+-->
|
|
|
+
|
|
|
+<language name="GNU Assembler 68k" version="1.03.1" kateversion="2.1" section="Sources" extensions="*.s;*.S" mimetype="text/x-asm">
|
|
|
+ <highlighting>
|
|
|
+ <list name="keywords">
|
|
|
+ <item>abort</item>
|
|
|
+ <item>align</item>
|
|
|
+ <item>appfile</item>
|
|
|
+ <item>appline</item>
|
|
|
+ <item>ascii</item>
|
|
|
+ <item>asciz</item>
|
|
|
+ <item>balign</item>
|
|
|
+ <item>balignl</item>
|
|
|
+ <item>balignw</item>
|
|
|
+ <item>byte</item>
|
|
|
+ <item>comm</item>
|
|
|
+ <item>common.s</item>
|
|
|
+ <item>common</item>
|
|
|
+ <item>data</item>
|
|
|
+ <item>dc.b</item>
|
|
|
+ <item>dc.d</item>
|
|
|
+ <item>dc.l</item>
|
|
|
+ <item>dc.s</item>
|
|
|
+ <item>dc.w</item>
|
|
|
+ <item>dc.x</item>
|
|
|
+ <item>dc</item>
|
|
|
+ <item>dcb.b</item>
|
|
|
+ <item>dcb.d</item>
|
|
|
+ <item>dcb.l</item>
|
|
|
+ <item>dcb.s</item>
|
|
|
+ <item>dcb.w</item>
|
|
|
+ <item>dcb.x</item>
|
|
|
+ <item>dcb</item>
|
|
|
+ <item>debug</item>
|
|
|
+ <item>def</item>
|
|
|
+ <item>desc</item>
|
|
|
+ <item>dim</item>
|
|
|
+ <item>double</item>
|
|
|
+ <item>ds.b</item>
|
|
|
+ <item>ds.d</item>
|
|
|
+ <item>ds.l</item>
|
|
|
+ <item>ds.p</item>
|
|
|
+ <item>ds.s</item>
|
|
|
+ <item>ds.w</item>
|
|
|
+ <item>ds.x</item>
|
|
|
+ <item>ds</item>
|
|
|
+ <item>dsect</item>
|
|
|
+ <item>eject</item>
|
|
|
+ <item>else</item>
|
|
|
+ <item>elsec</item>
|
|
|
+ <item>elseif</item>
|
|
|
+ <item>end</item>
|
|
|
+ <item>endc</item>
|
|
|
+ <item>endef</item>
|
|
|
+ <item>endfunc</item>
|
|
|
+ <item>endif</item>
|
|
|
+ <item>endm</item>
|
|
|
+ <item>endr</item>
|
|
|
+ <item>equ</item>
|
|
|
+ <item>equiv</item>
|
|
|
+ <item>err</item>
|
|
|
+ <item>even</item>
|
|
|
+ <item>exitm</item>
|
|
|
+ <item>extend</item>
|
|
|
+ <item>extern</item>
|
|
|
+ <item>fail</item>
|
|
|
+ <item>file</item>
|
|
|
+ <item>fill</item>
|
|
|
+ <item>float</item>
|
|
|
+ <item>format</item>
|
|
|
+ <item>func</item>
|
|
|
+ <item>global</item>
|
|
|
+ <item>globl</item>
|
|
|
+ <item>hidden</item>
|
|
|
+ <item>hword</item>
|
|
|
+ <item>ident</item>
|
|
|
+ <item>if</item>
|
|
|
+ <item>ifc</item>
|
|
|
+ <item>ifdef</item>
|
|
|
+ <item>ifeq</item>
|
|
|
+ <item>ifeqs</item>
|
|
|
+ <item>ifge</item>
|
|
|
+ <item>ifgt</item>
|
|
|
+ <item>ifle</item>
|
|
|
+ <item>iflt</item>
|
|
|
+ <item>ifnc</item>
|
|
|
+ <item>ifndef</item>
|
|
|
+ <item>ifne</item>
|
|
|
+ <item>ifnes</item>
|
|
|
+ <item>ifnotdef</item>
|
|
|
+ <item>include</item>
|
|
|
+ <item>int</item>
|
|
|
+ <item>internal</item>
|
|
|
+ <item>irep</item>
|
|
|
+ <item>irepc</item>
|
|
|
+ <item>irp</item>
|
|
|
+ <item>irpc</item>
|
|
|
+ <item>lcomm</item>
|
|
|
+ <item>lflags</item>
|
|
|
+ <item>line</item>
|
|
|
+ <item>linkonce</item>
|
|
|
+ <item>list</item>
|
|
|
+ <item>llen</item>
|
|
|
+ <item>ln</item>
|
|
|
+ <item>long</item>
|
|
|
+ <item>lsym</item>
|
|
|
+ <item>macro</item>
|
|
|
+ <item>mexit</item>
|
|
|
+ <item>name</item>
|
|
|
+ <item>noformat</item>
|
|
|
+ <item>nolist</item>
|
|
|
+ <item>nopage</item>
|
|
|
+ <item>octa</item>
|
|
|
+ <item>offset</item>
|
|
|
+ <item>org</item>
|
|
|
+ <item>p2align</item>
|
|
|
+ <item>p2alignl</item>
|
|
|
+ <item>p2alignw</item>
|
|
|
+ <item>page</item>
|
|
|
+ <item>plen</item>
|
|
|
+ <item>popsection</item>
|
|
|
+ <item>previous</item>
|
|
|
+ <item>print</item>
|
|
|
+ <item>protected</item>
|
|
|
+ <item>psize</item>
|
|
|
+ <item>purgem</item>
|
|
|
+ <item>pushsection</item>
|
|
|
+ <item>quad</item>
|
|
|
+ <item>rep</item>
|
|
|
+ <item>rept</item>
|
|
|
+ <item>rva</item>
|
|
|
+ <item>sbttl</item>
|
|
|
+ <item>scl</item>
|
|
|
+ <item>sect.s</item>
|
|
|
+ <item>sect</item>
|
|
|
+ <item>section.s</item>
|
|
|
+ <item>section</item>
|
|
|
+ <item>set</item>
|
|
|
+ <item>short</item>
|
|
|
+ <item>single</item>
|
|
|
+ <item>size</item>
|
|
|
+ <item>skip</item>
|
|
|
+ <item>sleb128</item>
|
|
|
+ <item>space</item>
|
|
|
+ <item>spc</item>
|
|
|
+ <item>stabd</item>
|
|
|
+ <item>stabn</item>
|
|
|
+ <item>stabs</item>
|
|
|
+ <item>string</item>
|
|
|
+ <item>struct</item>
|
|
|
+ <item>subsection</item>
|
|
|
+ <item>symver</item>
|
|
|
+ <item>tag</item>
|
|
|
+ <item>text</item>
|
|
|
+ <item>title</item>
|
|
|
+ <item>ttl</item>
|
|
|
+ <item>type</item>
|
|
|
+ <item>uleb128</item>
|
|
|
+ <item>use</item>
|
|
|
+ <item>val</item>
|
|
|
+ <item>version</item>
|
|
|
+ <item>vtable_entry</item>
|
|
|
+ <item>vtable_inherit</item>
|
|
|
+ <item>weak</item>
|
|
|
+ <item>word</item>
|
|
|
+ <item>xcom</item>
|
|
|
+ <item>xdef</item>
|
|
|
+ <item>xref</item>
|
|
|
+ <item>xstabs</item>
|
|
|
+ <item>zero</item>
|
|
|
+ </list>
|
|
|
+ <list name="instructions">
|
|
|
+ <item>abcd</item>
|
|
|
+ <item>add</item>
|
|
|
+ <item>adda</item>
|
|
|
+ <item>addi</item>
|
|
|
+ <item>addq</item>
|
|
|
+ <item>addx</item>
|
|
|
+ <item>and</item>
|
|
|
+ <item>andi</item>
|
|
|
+ <item>asl</item>
|
|
|
+ <item>asr</item>
|
|
|
+ <item>bcc</item>
|
|
|
+ <item>bcs</item>
|
|
|
+ <item>beq</item>
|
|
|
+ <item>bge</item>
|
|
|
+ <item>bgt</item>
|
|
|
+ <item>bhi</item>
|
|
|
+ <item>ble</item>
|
|
|
+ <item>bls</item>
|
|
|
+ <item>blt</item>
|
|
|
+ <item>bmi</item>
|
|
|
+ <item>bne</item>
|
|
|
+ <item>bpl</item>
|
|
|
+ <item>bvc</item>
|
|
|
+ <item>bvs</item>
|
|
|
+ <item>bchg</item>
|
|
|
+ <item>bclr</item>
|
|
|
+ <item>bra</item>
|
|
|
+ <item>bset</item>
|
|
|
+ <item>bsr</item>
|
|
|
+ <item>btst</item>
|
|
|
+ <item>chk</item>
|
|
|
+ <item>clr</item>
|
|
|
+ <item>cmp</item>
|
|
|
+ <item>cmpa</item>
|
|
|
+ <item>cmpi</item>
|
|
|
+ <item>cmpm</item>
|
|
|
+ <item>dbcc</item>
|
|
|
+ <item>dbcs</item>
|
|
|
+ <item>dbeq</item>
|
|
|
+ <item>dbf</item>
|
|
|
+ <item>dbge</item>
|
|
|
+ <item>dbgt</item>
|
|
|
+ <item>dbhi</item>
|
|
|
+ <item>dble</item>
|
|
|
+ <item>dbls</item>
|
|
|
+ <item>dblt</item>
|
|
|
+ <item>dbmi</item>
|
|
|
+ <item>dbne</item>
|
|
|
+ <item>dbpl</item>
|
|
|
+ <item>dbt</item>
|
|
|
+ <item>dbvc</item>
|
|
|
+ <item>dbvs</item>
|
|
|
+ <item>dbra</item>
|
|
|
+ <item>divs</item>
|
|
|
+ <item>divu</item>
|
|
|
+ <item>eor</item>
|
|
|
+ <item>eori</item>
|
|
|
+ <item>exg</item>
|
|
|
+ <item>ext</item>
|
|
|
+ <item>illegal</item>
|
|
|
+ <item>jmp</item>
|
|
|
+ <item>jsr</item>
|
|
|
+ <item>lea</item>
|
|
|
+ <item>link</item>
|
|
|
+ <item>lsl</item>
|
|
|
+ <item>lsr</item>
|
|
|
+ <item>move</item>
|
|
|
+ <item>movea</item>
|
|
|
+ <item>movem</item>
|
|
|
+ <item>movep</item>
|
|
|
+ <item>moveq</item>
|
|
|
+ <item>muls</item>
|
|
|
+ <item>mulu</item>
|
|
|
+ <item>nbcd</item>
|
|
|
+ <item>neg</item>
|
|
|
+ <item>negx</item>
|
|
|
+ <item>nop</item>
|
|
|
+ <item>not</item>
|
|
|
+ <item>or</item>
|
|
|
+ <item>ori</item>
|
|
|
+ <item>pea</item>
|
|
|
+ <item>reset</item>
|
|
|
+ <item>rol</item>
|
|
|
+ <item>ror</item>
|
|
|
+ <item>roxl</item>
|
|
|
+ <item>roxr</item>
|
|
|
+ <item>rte</item>
|
|
|
+ <item>rtr</item>
|
|
|
+ <item>rts</item>
|
|
|
+ <item>sbcd</item>
|
|
|
+ <item>scc</item>
|
|
|
+ <item>scs</item>
|
|
|
+ <item>seq</item>
|
|
|
+ <item>sf</item>
|
|
|
+ <item>sge</item>
|
|
|
+ <item>sgt</item>
|
|
|
+ <item>shi</item>
|
|
|
+ <item>sle</item>
|
|
|
+ <item>sls</item>
|
|
|
+ <item>slt</item>
|
|
|
+ <item>smi</item>
|
|
|
+ <item>sne</item>
|
|
|
+ <item>spi</item>
|
|
|
+ <item>st</item>
|
|
|
+ <item>svc</item>
|
|
|
+ <item>svs</item>
|
|
|
+ <item>stop</item>
|
|
|
+ <item>sub</item>
|
|
|
+ <item>suba</item>
|
|
|
+ <item>subi</item>
|
|
|
+ <item>subq</item>
|
|
|
+ <item>subx</item>
|
|
|
+ <item>swap</item>
|
|
|
+ <item>tas</item>
|
|
|
+ <item>trap</item>
|
|
|
+ <item>trapv</item>
|
|
|
+ <item>tst</item>
|
|
|
+ <item>unlk</item>
|
|
|
+ </list>
|
|
|
+ <list name="registers">
|
|
|
+ <item>%a0</item>
|
|
|
+ <item>%a1</item>
|
|
|
+ <item>%a2</item>
|
|
|
+ <item>%a3</item>
|
|
|
+ <item>%a4</item>
|
|
|
+ <item>%a5</item>
|
|
|
+ <item>%a6</item>
|
|
|
+ <item>%a7</item>
|
|
|
+ <item>%d0</item>
|
|
|
+ <item>%d1</item>
|
|
|
+ <item>%d2</item>
|
|
|
+ <item>%d3</item>
|
|
|
+ <item>%d4</item>
|
|
|
+ <item>%d5</item>
|
|
|
+ <item>%d6</item>
|
|
|
+ <item>%d7</item>
|
|
|
+ <item>%sr</item>
|
|
|
+ <item>%ccr</item>
|
|
|
+ <item>%usp</item>
|
|
|
+ <item>%pc</item>
|
|
|
+ </list>
|
|
|
+
|
|
|
+ <contexts>
|
|
|
+ <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
|
|
+ <RegExpr attribute="Label" context="#stay" String="^\s*[A-Za-z0-9_$][A-Za-z0-9_.$]*:" />
|
|
|
+ <RegExpr attribute="Normal Text" context="KeywordStart" String="^\s*\." />
|
|
|
+ <keyword attribute="Instruction" context="Instruction" String="instructions" />
|
|
|
+ <keyword attribute="Register" context="#stay" String="registers" />
|
|
|
+ <RegExpr attribute="Octal" context="#stay" String="#?0[0-7]+" />
|
|
|
+ <RegExpr attribute="Hex" context="#stay" String="#?0[xX][0-9a-fA-F]+" />
|
|
|
+ <RegExpr attribute="Binary" context="#stay" String="#?0[bB][01]+" />
|
|
|
+ <RegExpr attribute="Decimal" context="#stay" String="#?[-+]?[1-9][0-9]*" />
|
|
|
+ <RegExpr attribute="Float" context="#stay" String="0[fFeEdD][-+]?[0-9]*\.?[0-9]*[eE]?[-+]?[0-9]+" />
|
|
|
+ <RegExpr attribute="Normal Text" context="#stay" String="[A-Za-z_.$][A-Za-z0-9_.$]*" />
|
|
|
+ <RegExpr attribute="Char" context="#stay" String="'(\\x[0-9a-fA-F][0-9a-fA-F]?|\\[0-7]?[0-7]?[0-7]?|\\.|.)" />
|
|
|
+ <DetectChar attribute="String" context="String" char=""" />
|
|
|
+ <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="*" />
|
|
|
+ <DetectChar attribute="Comment" context="Commentar 2" char="|" />
|
|
|
+ <AnyChar attribute="Symbol" context="#stay" String="!#%&*()+,-<=>?/:[]^{@}~" />
|
|
|
+ <RegExpr attribute="Preprocessor" context="Preprocessor" String="^#" />
|
|
|
+ </context>
|
|
|
+ <context attribute="Comment" lineEndContext="#stay" name="Commentar 1">
|
|
|
+ <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
|
|
|
+ </context>
|
|
|
+ <context attribute="Comment" lineEndContext="#pop" name="Commentar 2" />
|
|
|
+ <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor" />
|
|
|
+ <context attribute="String" lineEndContext="#pop" name="String">
|
|
|
+ <LineContinue attribute="String" context="Some Context" />
|
|
|
+ <HlCStringChar attribute="String Char" context="#stay" />
|
|
|
+ <DetectChar attribute="String" context="#pop" char=""" />
|
|
|
+ </context>
|
|
|
+ <context attribute="Normal" lineEndContext="#pop" name="KeywordStart">
|
|
|
+ <keyword attribute="Keyword" context="#pop" String="keywords" />
|
|
|
+ </context>
|
|
|
+ <context attribute="Instruction" lineEndContext="#pop" name="Instruction">
|
|
|
+ <RegExpr attribute="Instruction" context="#pop" String="(\.[lwbs])|[^a-zA-Z]" />
|
|
|
+ </context>
|
|
|
+ <context attribute="Normal Text" lineEndContext="#pop" name="Some Context" />
|
|
|
+ </contexts>
|
|
|
+
|
|
|
+ <itemDatas>
|
|
|
+ <itemData name="Normal Text" defStyleNum="dsNormal" />
|
|
|
+ <itemData name="Label" defStyleNum="dsNormal" />
|
|
|
+ <itemData name="Keyword" defStyleNum="dsKeyword" />
|
|
|
+ <itemData name="Decimal" defStyleNum="dsDecVal" />
|
|
|
+ <itemData name="Octal" defStyleNum="dsBaseN" />
|
|
|
+ <itemData name="Hex" defStyleNum="dsBaseN" />
|
|
|
+ <itemData name="Binary" defStyleNum="dsBaseN" />
|
|
|
+ <itemData name="Float" defStyleNum="dsFloat" />
|
|
|
+ <itemData name="Char" defStyleNum="dsChar" />
|
|
|
+ <itemData name="String" defStyleNum="dsString" />
|
|
|
+ <itemData name="String Char" defStyleNum="dsChar" />
|
|
|
+ <itemData name="Symbol" defStyleNum="dsNormal" />
|
|
|
+ <itemData name="Comment" defStyleNum="dsComment" />
|
|
|
+ <itemData name="Preprocessor" defStyleNum="dsOthers" />
|
|
|
+ <itemData name="Instruction" defStyleNum="dsNormal" />
|
|
|
+ <itemData name="Register" defStyleNum="dsNormal" />
|
|
|
+ </itemDatas>
|
|
|
+ </highlighting>
|
|
|
+
|
|
|
+ <general>
|
|
|
+ <comments>
|
|
|
+ <comment name="singleLine" start="|" />
|
|
|
+ <comment name="multiLine" start="/*" end="*/" />
|
|
|
+ </comments>
|
|
|
+ <keywords casesensitive="1" weakDeliminator="_$%" additionalDeliminator="@" />
|
|
|
+ </general>
|
|
|
+</language>
|