diff options
Diffstat (limited to 'kate/data/asm-dsp56k.xml')
-rw-r--r-- | kate/data/asm-dsp56k.xml | 329 |
1 files changed, 329 insertions, 0 deletions
diff --git a/kate/data/asm-dsp56k.xml b/kate/data/asm-dsp56k.xml new file mode 100644 index 000000000..e1640d992 --- /dev/null +++ b/kate/data/asm-dsp56k.xml @@ -0,0 +1,329 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd"> + +<language name="Motorola DSP56k" section="Assembler" version="1.00" kateversion="2.4" extensions="*.asm;*.inc;*.ASM;*.INC" author="Miro Kropacek (miro.kropacek@gmail.com)" license="LGPL"> + + <highlighting> + <list name="Data Registers"> + <item>x</item> + <item>x0</item> + <item>x1</item> + <item>y</item> + <item>y0</item> + <item>y1</item> + <item>a2</item> + <item>a1</item> + <item>a0</item> + <item>a</item> + <item>a10</item> + <item>ab</item> + <item>b2</item> + <item>b1</item> + <item>b0</item> + <item>b</item> + <item>b10</item> + <item>ba</item> + </list> + + <list name="Address Registers"> + <item>r0</item> + <item>r1</item> + <item>r2</item> + <item>r3</item> + <item>r4</item> + <item>r5</item> + <item>r6</item> + <item>r7</item> + </list> + + <list name="Offset Registers"> + <item>n0</item> + <item>n1</item> + <item>n2</item> + <item>n3</item> + <item>n4</item> + <item>n5</item> + <item>n6</item> + <item>n7</item> + </list> + + <list name="Modifier Registers"> + <item>m0</item> + <item>m1</item> + <item>m2</item> + <item>m3</item> + <item>m4</item> + <item>m5</item> + <item>m6</item> + <item>m7</item> + </list> + + <list name="Control Registers"> + <item>la</item> + <item>lc</item> + <item>pc</item> + <item>ssh</item> + <item>ssl</item> + <item>omr</item> + <item>sr</item> + <item>sp</item> + <item>mr</item> + <item>ccr</item> + </list> + + <list name="Instructions"> + <item>abs</item> + <item>adc</item> + <item>add</item> + <item>addl</item> + <item>addr</item> + <item>and</item> + <item>andi</item> + <item>asl</item> + <item>asr</item> + <item>bchg</item> + <item>bclr</item> + <item>bset</item> + <item>btst</item> + <item>clr</item> + <item>cmp</item> + <item>cmpm</item> + <item>div</item> + <item>do</item> + <item>enddo</item> + <item>eor</item> + <item>illegal</item> + <item>jcc</item> + <item>jhs</item> + <item>jcs</item> + <item>jls</item> + <item>jec</item> + <item>jeq</item> + <item>jes</item> + <item>jge</item> + <item>jgt</item> + <item>jlc</item> + <item>jle</item> + <item>jls</item> + <item>jlt</item> + <item>jmi</item> + <item>jne</item> + <item>jnr</item> + <item>jpl</item> + <item>jnn</item> + <item>jclr</item> + <item>jmp</item> + <item>jscc</item> + <item>jshs</item> + <item>jscs</item> + <item>jsls</item> + <item>jsec</item> + <item>jseq</item> + <item>jses</item> + <item>jsge</item> + <item>jsgt</item> + <item>jslc</item> + <item>jsle</item> + <item>jsls</item> + <item>jslt</item> + <item>jsmi</item> + <item>jsne</item> + <item>jsnr</item> + <item>jspl</item> + <item>jsnn</item> + <item>jsclr</item> + <item>jset</item> + <item>jsr</item> + <item>jsset</item> + <item>lsl</item> + <item>lsr</item> + <item>lua</item> + <item>mac</item> + <item>macr</item> + <item>move</item> + <item>movec</item> + <item>movem</item> + <item>movep</item> + <item>mpy</item> + <item>mpyr</item> + <item>neg</item> + <item>nop</item> + <item>norm</item> + <item>not</item> + <item>or</item> + <item>ori</item> + <item>rep</item> + <item>reset</item> + <item>rnd</item> + <item>rol</item> + <item>ror</item> + <item>rti</item> + <item>rts</item> + <item>sbc</item> + <item>stop</item> + <item>sub</item> + <item>subl</item> + <item>subr</item> + <item>swi</item> + <item>tcc</item> + <item>ths</item> + <item>tcs</item> + <item>tls</item> + <item>tec</item> + <item>teq</item> + <item>tes</item> + <item>tge</item> + <item>tgt</item> + <item>tlc</item> + <item>tle</item> + <item>tls</item> + <item>tlt</item> + <item>tmi</item> + <item>tne</item> + <item>tnr</item> + <item>tpl</item> + <item>snn</item> + <item>tfr</item> + <item>tst</item> + <item>wait</item> + </list> + + <list name="Directives"> + <item>endif</item> + <item>endc</item> + <item>else</item> + <item>ifne</item> + <item>if</item> + <item>ifeq</item> + <item>ifle</item> + <item>iflt</item> + <item>ifge</item> + <item>ifgt</item> + <item>include</item> + <item>incbin</item> + <item>printval</item> + <item>pass1val</item> + <item>pass2val</item> + <item>fail</item> + <item>endm</item> + <item>end</item> + <item>org</item> + <item>ds</item> + <item>dsm</item> + <item>list</item> + <item>nolist</item> + <item>macro</item> + <item>dc</item> + <item>equ</item> + </list> + + <contexts> + <!-- name = name of context, attribute = name of item data --> + <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" > + <RegExpr attribute="Memory" context="#pop" String="[xylpXYLP]:"/> + <keyword attribute="Data Registers" context="#pop" String="Data Registers"/> + <keyword attribute="Address Registers" context="#pop" String="Address Registers"/> + <keyword attribute="Offset Registers" context="#pop" String="Offset Registers"/> + <keyword attribute="Modifier Registers" context="#pop" String="Modifier Registers"/> + <keyword attribute="Control Registers" context="#pop" String="Control Registers"/> + <keyword attribute="Instructions" context="#pop" String="Instructions"/> + <keyword attribute="Directives" context="#pop" String="Directives"/> + + <RegExpr attribute="Label" context="#pop" String="^[A-Za-z][A-Za-z_.0-9]*:?"/> + <RegExpr attribute="Local label" context="#pop" String="^_[A-Za-z_][A-Za-z_.0-9]*:?"/> + + <DetectChar attribute="Comment" context="Comment" char=";"/> + <DetectChar attribute="Comment" context="Comment" char="*" firstNonSpace="true"/> + <DetectChar attribute="Constant" context="Constant" char="#"/> + <DetectChar attribute="BaseN" context="Number16" char="$"/> + <DetectChar attribute="BaseN" context="Number2" char="%"/> + <DetectChar attribute="BaseN" context="Number8" char="@"/> + <Float attribute="Float" context="#pop"/> + <Int attribute="Number" context="#pop"/> + <RangeDetect attribute="Char" context="#pop" char="'" char1="'"/> + <AnyChar attribute="String" context="String" String=""'"/> + </context> + + <context name="Comment" attribute="Comment" lineEndContext="#pop"/> + + <context name="String" attribute="String" lineEndContext="#pop"> + <AnyChar attribute="String" context="#pop" String=""'"/> + </context> + + <context name="Constant" attribute="Constant" lineEndContext="#pop"> + <RegExpr attribute="Constant" context="Operators" String="[0-9]+"/> + <RegExpr attribute="Constant" context="Operators" String="\$[A-Fa-f0-9]+"/> + <RegExpr attribute="Constant" context="Operators" String="@[0-7]+"/> + <RegExpr attribute="Constant" context="Operators" String="%[01]+"/> + <RegExpr attribute="Label" context="Operators" String="[A-Za-z_][A-Za-z_.0-9]*"/> + <RegExpr attribute="Local label" context="Operators" String="\.[A-Za-z_][A-Za-z_.0-9]*"/> + <RangeDetect attribute="Char" context="#pop" char="'" char1="'"/> + <DetectChar attribute="Normal Text" char="," context="#pop"/> + <DetectSpaces attribute="Normal Text" context="#pop"/> + <DetectChar attribute="Normal Text" char="(" context="#stay"/> + </context> + + <context name="Operators" attribute="Normal Text" lineEndContext="#pop"> + <DetectChar attribute="Normal Text" char="|" context="#pop"/> + <DetectChar attribute="Normal Text" char="&" context="#pop"/> + <DetectChar attribute="Normal Text" char="^" context="#pop"/> + <DetectChar attribute="Normal Text" char="*" context="#pop"/> + <DetectChar attribute="Normal Text" char="(" context="#pop"/> + <DetectChar attribute="Normal Text" char=")" context="#pop"/> + <DetectChar attribute="Normal Text" char="+" context="#pop"/> + <DetectChar attribute="Normal Text" char="-" context="#pop"/> + <DetectChar attribute="Normal Text" char="/" context="#pop"/> + <DetectChar attribute="Normal Text" char="~" context="#pop"/> + <DetectChar attribute="Normal Text" char="!" context="#pop"/> + <DetectChar attribute="Normal Text" char="%" context="#pop"/> + <Detect2Chars attribute="Normal Text" char="<" char1="<" context="#pop"/> + <Detect2Chars attribute="Normal Text" char=">" char1=">" context="#pop"/> + <DetectChar attribute="Normal Text" char="," context="#pop#pop"/> + <DetectSpaces attribute="Normal Text" context="#pop#pop"/> + </context> + + <context name="Number16" attribute="BaseN" lineEndContext="#pop"> + <RegExpr attribute="BaseN" context="#pop" String="[A-Fa-f0-9]+"/> + </context> + + <context name="Number2" attribute="BaseN" lineEndContext="#pop"> + <RegExpr attribute="BaseN" context="#pop" String="[01]+"/> + </context> + + <context name="Number8" attribute="BaseN" lineEndContext="#pop"> + <RegExpr attribute="BaseN" context="#pop" String="[0-7]+"/> + </context> + </contexts> + + <itemDatas> + <!-- keywords --> + <itemData name="Normal Text" defStyleNum="dsNormal"/> + <itemData name="Data Registers" defStyleNum="dsDataType"/> + <itemData name="Address Registers" defStyleNum="dsDataType"/> + <itemData name="Offset Registers" defStyleNum="dsDataType"/> + <itemData name="Modifier Registers" defStyleNum="dsDataType"/> + <itemData name="Control Registers" defStyleNum="dsDataType"/> + <itemData name="Instructions" bold="true" defStyleNum="dsKeyword"/> + <itemData name="Directives" bold="true" defStyleNum="dsOthers"/> + <itemData name="Memory" bold="true" defStyleNum="dsOthers"/> + <!-- defined in contexts --> + <itemData name="Comment" italic="false" defStyleNum="dsComment"/> + <itemData name="Label" defStyleNum="dsFunction"/> + <itemData name="Local label" defStyleNum="dsFunction"/> + <itemData name="Constant" defStyleNum="dsDataType"/> + <itemData name="BaseN" defStyleNum="dsBaseN"/> + <itemData name="Float" defStyleNum="dsFloat"/> + <itemData name="Number" defStyleNum="dsDecVal"/> + <itemData name="Char" defStyleNum="dsChar"/> + <itemData name="String" defStyleNum="dsString"/> + </itemDatas> + </highlighting> + + <general> + <keywords casesensitive="0"/> + <comments> + <comment name="singleLine" start=";"/> + </comments> + </general> + +</language> |