Skip to content

Instantly share code, notes, and snippets.

@Sanqui
Created November 28, 2016 09:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sanqui/7dab9996d3753ac23b27469df9d22556 to your computer and use it in GitHub Desktop.
Save Sanqui/7dab9996d3753ac23b27469df9d22556 to your computer and use it in GitHub Desktop.
dlx asm syntax highlighting for gedit. sudo cp dlxasm.lang /usr/share/gtksourceview-3.0/language-specs/
<?xml version="1.0" encoding="UTF-8"?>
<!--
Author: Sanqui
License: Public domain
-->
<language id="dlxasm" _name="dlxasm" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-dlxasm</property>
<property name="line-comment-start">;</property>
</metadata>
<styles>
<style id="instruction" _name="instruction" map-to="def:statement"/>
<style id="keyword" _name="keyword" map-to="def:function"/>
<style id="comment" _name="comment" map-to="def:comment"/>
<style id="string" _name="string" map-to="def:string"/>
<style id="num" _name="num" map-to="def:base-n-integer"/>
<style id="meta" _name="meta" map-to="def:keyword"/>
<style id="label" _name="label" map-to="def:constant"/>
</styles>
<definitions>
<context id="dlxasm">
<include>
<context id="comment" style-ref="comment">
<start>;</start>
<end>$</end>
</context>
<context id="string" end-at-line-end="true" style-ref="string">
<start>"</start>
<end>"</end>
</context>
<context id="binary" style-ref="num">
<match extended="true">
(?&lt;![\w\.]) 0b[01]+ (?![\w\.])
</match>
</context>
<context id="hexadecimal" style-ref="num">
<match extended="true">
(?&lt;![\w\.]) 0x[0-9a-fA-F]+ (?![\w\.])
</match>
</context>
<context id="decimal" style-ref="num">
<match extended="true">
(?&lt;![\w\.]) \#?[0-9]+ (?![\w\.])
</match>
</context>
<context id="instructions" style-ref="instruction">
<keyword>lb</keyword>
<keyword>lbu</keyword>
<keyword>lh</keyword>
<keyword>lhu</keyword>
<keyword>lw</keyword>
<keyword>lf</keyword>
<keyword>ld</keyword>
<keyword>sb</keyword>
<keyword>sh</keyword>
<keyword>sw</keyword>
<keyword>sf</keyword>
<keyword>sd</keyword>
<keyword>movi2fp</keyword>
<keyword>movi2fp</keyword>
<keyword>movf</keyword>
<keyword>movd</keyword>
<keyword>movi2s</keyword>
<keyword>movs2i</keyword>
<keyword>add</keyword>
<keyword>addi</keyword>
<keyword>addu</keyword>
<keyword>addui</keyword>
<keyword>sub</keyword>
<keyword>subi</keyword>
<keyword>subu</keyword>
<keyword>subui</keyword>
<keyword>mult</keyword>
<keyword>multu</keyword>
<keyword>div</keyword>
<keyword>divu</keyword>
<keyword>and</keyword>
<keyword>andi</keyword>
<keyword>or</keyword>
<keyword>ori</keyword>
<keyword>xor</keyword>
<keyword>ri</keyword>
<keyword>lhi</keyword>
<keyword>sll</keyword>
<keyword>srl</keyword>
<keyword>sra</keyword>
<keyword>slli</keyword>
<keyword>srli</keyword>
<keyword>srai</keyword>
<keyword>nop</keyword>
<keyword>beqz</keyword>
<keyword>bnez</keyword>
<keyword>bfpt</keyword>
<keyword>bfpf</keyword>
<keyword>j</keyword>
<keyword>jr</keyword>
<keyword>jal</keyword>
<keyword>jalr</keyword>
<keyword>trap</keyword>
<keyword>rfe</keyword>
<keyword>addd</keyword>
<keyword>addf</keyword>
<keyword>subd</keyword>
<keyword>subf</keyword>
<keyword>multd</keyword>
<keyword>multf</keyword>
<keyword>divd</keyword>
<keyword>divf</keyword>
<keyword>cvtf2d</keyword>
<keyword>cvtd2f</keyword>
<keyword>cvtf2i</keyword>
<keyword>cvti2f</keyword>
<keyword>cvtd2i</keyword>
<keyword>cvti2d</keyword>
<keyword>seq</keyword>
<keyword>seqi</keyword>
<keyword>sequ</keyword>
<keyword>sequi</keyword>
<keyword>eqd</keyword>
<keyword>eqf</keyword>
<keyword>sne</keyword>
<keyword>snei</keyword>
<keyword>sneu</keyword>
<keyword>sneui</keyword>
<keyword>ned</keyword>
<keyword>nef</keyword>
<keyword>slt</keyword>
<keyword>slti</keyword>
<keyword>sltu</keyword>
<keyword>sltui</keyword>
<keyword>ltd</keyword>
<keyword>ltf</keyword>
<keyword>sgt</keyword>
<keyword>sgti</keyword>
<keyword>sgtu</keyword>
<keyword>sgtui</keyword>
<keyword>gtd</keyword>
<keyword>gtf</keyword>
<keyword>sle</keyword>
<keyword>slei</keyword>
<keyword>sleu</keyword>
<keyword>sleui</keyword>
<keyword>led</keyword>
<keyword>lef</keyword>
<keyword>sge</keyword>
<keyword>sgei</keyword>
<keyword>sgeu</keyword>
<keyword>sgeui</keyword>
<keyword>ged</keyword>
<keyword>gef</keyword>
</context>
<context id="registers" style-ref="keyword">
<keyword>r0</keyword>
<keyword>r1</keyword>
<keyword>r2</keyword>
<keyword>r3</keyword>
<keyword>r4</keyword>
<keyword>r5</keyword>
<keyword>r6</keyword>
<keyword>r7</keyword>
<keyword>r8</keyword>
<keyword>r9</keyword>
<keyword>r10</keyword>
<keyword>r11</keyword>
<keyword>r12</keyword>
<keyword>r13</keyword>
<keyword>r14</keyword>
<keyword>r15</keyword>
<keyword>r16</keyword>
<keyword>r17</keyword>
<keyword>r18</keyword>
<keyword>r19</keyword>
<keyword>r20</keyword>
<keyword>r21</keyword>
<keyword>r22</keyword>
<keyword>r23</keyword>
<keyword>r24</keyword>
<keyword>r25</keyword>
<keyword>r26</keyword>
<keyword>r27</keyword>
<keyword>r28</keyword>
<keyword>r29</keyword>
<keyword>r30</keyword>
<keyword>r31</keyword>
<keyword>f0</keyword>
<keyword>f1</keyword>
<keyword>f2</keyword>
<keyword>f3</keyword>
<keyword>f4</keyword>
<keyword>f5</keyword>
<keyword>f6</keyword>
<keyword>f7</keyword>
<keyword>f8</keyword>
<keyword>f9</keyword>
<keyword>f10</keyword>
<keyword>f11</keyword>
<keyword>f12</keyword>
<keyword>f13</keyword>
<keyword>f14</keyword>
<keyword>f15</keyword>
<keyword>f16</keyword>
<keyword>f17</keyword>
<keyword>f18</keyword>
<keyword>f19</keyword>
<keyword>f20</keyword>
<keyword>f21</keyword>
<keyword>f22</keyword>
<keyword>f23</keyword>
<keyword>f24</keyword>
<keyword>f25</keyword>
<keyword>f26</keyword>
<keyword>f27</keyword>
<keyword>f28</keyword>
<keyword>f29</keyword>
<keyword>f30</keyword>
<keyword>f31</keyword>
</context>
<context id="meta" style-ref="meta">
<match extended="true">
\.(text|data|align|space)
</match>
</context>
<context id="data" style-ref="instruction">
<match extended="true">
\.(word|float)
</match>
</context>
<!-- anything else is a label. not very smart, but works. -->
<context id="label" style-ref="label">
<match extended="true">
(?&lt;![\w\.]) [a-zA-Z#_][0-9a-zA-Z@#_]*: (?![\w\.])
</match>
</context>
</include>
</context>
</definitions>
</language>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment