]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/assembly-r2000.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / assembly-r2000.xml
1 <?xml version="1.0"?>
2
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5 <!-- MIPS/SPIM Assembly Mode from
6         Marc Rummel marc.rummel@stud.uni-karlsruhe.de
7         SIPM Homepage: http://www.cs.wisc.edu/~larus/spim.html
8 -->
9
10 <MODE>
11
12         <PROPS>
13                 <PROPERTY NAME="blockComment" VALUE="#" />
14                 <PROPERTY NAME="wordBreakChars" VALUE=",()" />
15                 <PROPERTY NAME="contextInsensitive" VALUE="true"/>
16         </PROPS>
17
18         <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">
19                 <!-- Comment -->
20                 <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
21
22                 <!-- Strings -->
23                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
24                         <BEGIN>'</BEGIN>
25                         <END>'</END>
26                 </SPAN>
27
28                 <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
29                         <BEGIN>"</BEGIN>
30                         <END>"</END>
31                 </SPAN>
32
33                 <!-- Labels -->
34                 <MARK_PREVIOUS TYPE="LABEL" AT_LINE_START="TRUE">:</MARK_PREVIOUS>
35
36                 <!-- Assembler directives -->
37                 <KEYWORDS>
38                         <KEYWORD1>.align</KEYWORD1>
39                         <KEYWORD1>.ascii</KEYWORD1>
40                         <KEYWORD1>.asciiz</KEYWORD1>
41                         <KEYWORD1>.byte</KEYWORD1>
42                         <KEYWORD1>.data</KEYWORD1>
43                         <KEYWORD1>.double</KEYWORD1>
44                         <KEYWORD1>.extern</KEYWORD1>
45                         <KEYWORD1>.float</KEYWORD1>
46                         <KEYWORD1>.globl</KEYWORD1>
47                         <KEYWORD1>.half</KEYWORD1>
48                         <KEYWORD1>.kdata</KEYWORD1>
49                         <KEYWORD1>.ktext</KEYWORD1>
50                         <KEYWORD1>.space</KEYWORD1>
51                         <KEYWORD1>.text</KEYWORD1>
52                         <KEYWORD1>.word</KEYWORD1>
53
54                 <!-- MIPS/SPIM Operations -->
55                         <FUNCTION>add</FUNCTION>
56                         <FUNCTION>addi</FUNCTION>
57                         <FUNCTION>addu</FUNCTION>
58                         <FUNCTION>addiu</FUNCTION>
59                         <FUNCTION>and</FUNCTION>
60                         <FUNCTION>andi</FUNCTION>
61                         <FUNCTION>div</FUNCTION>
62                         <FUNCTION>divu</FUNCTION>
63                         <FUNCTION>mul</FUNCTION>
64                         <FUNCTION>mulo</FUNCTION>
65                         <FUNCTION>mulou</FUNCTION>
66                         <FUNCTION>mult</FUNCTION>
67                         <FUNCTION>multu</FUNCTION>
68                         <FUNCTION>neg</FUNCTION>
69                         <FUNCTION>negu</FUNCTION>
70                         <FUNCTION>nor</FUNCTION>
71                         <FUNCTION>not</FUNCTION>
72                         <FUNCTION>or</FUNCTION>
73                         <FUNCTION>ori</FUNCTION>
74                         <FUNCTION>rem</FUNCTION>
75                         <FUNCTION>remu</FUNCTION>
76                         <FUNCTION>rol</FUNCTION>
77                         <FUNCTION>ror</FUNCTION>
78                         <FUNCTION>sll</FUNCTION>
79                         <FUNCTION>sllv</FUNCTION>
80                         <FUNCTION>sra</FUNCTION>
81                         <FUNCTION>srav</FUNCTION>
82                         <FUNCTION>srl</FUNCTION>
83                         <FUNCTION>srlv</FUNCTION>
84                         <FUNCTION>sub</FUNCTION>
85                         <FUNCTION>subu</FUNCTION>
86                         <FUNCTION>xor</FUNCTION>
87                         <FUNCTION>xori</FUNCTION>
88                         <FUNCTION>li</FUNCTION>
89                         <FUNCTION>lui</FUNCTION>
90                         <FUNCTION>seq</FUNCTION>
91                         <FUNCTION>sge</FUNCTION>
92                         <FUNCTION>sgt</FUNCTION>
93                         <FUNCTION>sgtu</FUNCTION>
94                         <FUNCTION>sle</FUNCTION>
95                         <FUNCTION>sleu</FUNCTION>
96                         <FUNCTION>slt</FUNCTION>
97                         <FUNCTION>slti</FUNCTION>
98                         <FUNCTION>sltu</FUNCTION>
99                         <FUNCTION>sltiu</FUNCTION>
100                         <FUNCTION>sne</FUNCTION>
101                         <FUNCTION>b</FUNCTION>
102                         <FUNCTION>bczt</FUNCTION>
103                         <FUNCTION>bczf</FUNCTION>
104                         <FUNCTION>beq</FUNCTION>
105                         <FUNCTION>beqz</FUNCTION>
106                         <FUNCTION>bge</FUNCTION>
107                         <FUNCTION>bgeu</FUNCTION>
108                         <FUNCTION>bgez</FUNCTION>
109                         <FUNCTION>bgezal</FUNCTION>
110                         <FUNCTION>bgt</FUNCTION>
111                         <FUNCTION>bgtu</FUNCTION>
112                         <FUNCTION>bgtz</FUNCTION>
113                         <FUNCTION>ble</FUNCTION>
114                         <FUNCTION>bleu</FUNCTION>
115                         <FUNCTION>blez</FUNCTION>
116                         <FUNCTION>bgezal</FUNCTION>
117                         <FUNCTION>bltzal</FUNCTION>
118                         <FUNCTION>blt</FUNCTION>
119                         <FUNCTION>bltu</FUNCTION>
120                         <FUNCTION>bltz</FUNCTION>
121                         <FUNCTION>bne</FUNCTION>
122                         <FUNCTION>bnez</FUNCTION>
123                         <FUNCTION>j</FUNCTION>
124                         <FUNCTION>jal</FUNCTION>
125                         <FUNCTION>jalr</FUNCTION>
126                         <FUNCTION>jr</FUNCTION>
127                         <FUNCTION>la</FUNCTION>
128                         <FUNCTION>lb</FUNCTION>
129                         <FUNCTION>blu</FUNCTION>
130                         <FUNCTION>lh</FUNCTION>
131                         <FUNCTION>lhu</FUNCTION>
132                         <FUNCTION>lw</FUNCTION>
133                         <FUNCTION>lwcz</FUNCTION>
134                         <FUNCTION>lwl</FUNCTION>
135                         <FUNCTION>lwr</FUNCTION>
136                         <FUNCTION>ulh</FUNCTION>
137                         <FUNCTION>ulhu</FUNCTION>
138                         <FUNCTION>ulw</FUNCTION>
139                         <FUNCTION>sb</FUNCTION>
140                         <FUNCTION>sd</FUNCTION>
141                         <FUNCTION>sh</FUNCTION>
142                         <FUNCTION>sw</FUNCTION>
143                         <FUNCTION>swcz</FUNCTION>
144                         <FUNCTION>swl</FUNCTION>
145                         <FUNCTION>swr</FUNCTION>
146                         <FUNCTION>ush</FUNCTION>
147                         <FUNCTION>usw</FUNCTION>
148                         <FUNCTION>move</FUNCTION>
149                         <FUNCTION>mfhi</FUNCTION>
150                         <FUNCTION>mflo</FUNCTION>
151                         <FUNCTION>mthi</FUNCTION>
152                         <FUNCTION>mtlo</FUNCTION>
153                         <FUNCTION>mfcz</FUNCTION>
154                         <FUNCTION>mfc1.d</FUNCTION>
155                         <FUNCTION>mtcz</FUNCTION>
156                         <FUNCTION>abs.d</FUNCTION>
157                         <FUNCTION>abs.s</FUNCTION>
158                         <FUNCTION>add.d</FUNCTION>
159                         <FUNCTION>add.s</FUNCTION>
160                         <FUNCTION>c.eq.d</FUNCTION>
161                         <FUNCTION>c.eq.s</FUNCTION>
162                         <FUNCTION>c.le.d</FUNCTION>
163                         <FUNCTION>c.le.s</FUNCTION>
164                         <FUNCTION>c.lt.d</FUNCTION>
165                         <FUNCTION>c.lt.s</FUNCTION>
166                         <FUNCTION>cvt.d.s</FUNCTION>
167                         <FUNCTION>cbt.d.w</FUNCTION>
168                         <FUNCTION>cvt.s.d</FUNCTION>
169                         <FUNCTION>cvt.s.w</FUNCTION>
170                         <FUNCTION>cvt.w.d</FUNCTION>
171                         <FUNCTION>cvt.w.s</FUNCTION>
172                         <FUNCTION>div.d</FUNCTION>
173                         <FUNCTION>div.s</FUNCTION>
174                         <FUNCTION>l.d</FUNCTION>
175                         <FUNCTION>l.s</FUNCTION>
176                         <FUNCTION>mov.d</FUNCTION>
177                         <FUNCTION>mov.s</FUNCTION>
178                         <FUNCTION>mul.d</FUNCTION>
179                         <FUNCTION>mul.s</FUNCTION>
180                         <FUNCTION>neg.d</FUNCTION>
181                         <FUNCTION>neg.s</FUNCTION>
182                         <FUNCTION>s.d</FUNCTION>
183                         <FUNCTION>s.s</FUNCTION>
184                         <FUNCTION>sub.d</FUNCTION>
185                         <FUNCTION>sub.s</FUNCTION>
186                         <FUNCTION>rfe</FUNCTION>
187                         <FUNCTION>syscall</FUNCTION>
188                         <FUNCTION>break</FUNCTION>
189                         <FUNCTION>nop</FUNCTION>
190
191                 <!-- Integer Registers -->
192                         <KEYWORD2>$zero</KEYWORD2>
193                         <KEYWORD2>$at</KEYWORD2>
194                         <KEYWORD2>$v0</KEYWORD2>
195                         <KEYWORD2>$v1</KEYWORD2>
196                         <KEYWORD2>$a0</KEYWORD2>
197                         <KEYWORD2>$a1</KEYWORD2>
198                         <KEYWORD2>$a2</KEYWORD2>
199                         <KEYWORD2>$a3</KEYWORD2>
200             <KEYWORD2>$t0</KEYWORD2>
201                         <KEYWORD2>$t1</KEYWORD2>
202                         <KEYWORD2>$t2</KEYWORD2>
203                         <KEYWORD2>$t3</KEYWORD2>
204                         <KEYWORD2>$t4</KEYWORD2>
205                         <KEYWORD2>$t5</KEYWORD2>
206                         <KEYWORD2>$t6</KEYWORD2>
207                         <KEYWORD2>$t7</KEYWORD2>
208                         <KEYWORD2>$s0</KEYWORD2>
209                         <KEYWORD2>$s1</KEYWORD2>
210                         <KEYWORD2>$s2</KEYWORD2>
211                         <KEYWORD2>$s3</KEYWORD2>
212                         <KEYWORD2>$s4</KEYWORD2>
213                         <KEYWORD2>$s5</KEYWORD2>
214                         <KEYWORD2>$s6</KEYWORD2>
215                         <KEYWORD2>$s7</KEYWORD2>
216                         <KEYWORD2>$t8</KEYWORD2>
217                         <KEYWORD2>$t9</KEYWORD2>
218                         <KEYWORD2>$k0</KEYWORD2>
219                         <KEYWORD2>$k1</KEYWORD2>
220             <KEYWORD2>$gp</KEYWORD2>
221                         <KEYWORD2>$sp</KEYWORD2>
222                         <KEYWORD2>$fp</KEYWORD2>
223                         <KEYWORD2>$ra</KEYWORD2>
224
225                 <!-- Floating Point Registers -->
226                         <KEYWORD3>$f0</KEYWORD3>
227                         <KEYWORD3>$f1</KEYWORD3>
228                         <KEYWORD3>$f2</KEYWORD3>
229                         <KEYWORD3>$f3</KEYWORD3>
230                         <KEYWORD3>$f4</KEYWORD3>
231                         <KEYWORD3>$f5</KEYWORD3>
232                         <KEYWORD3>$f6</KEYWORD3>
233                         <KEYWORD3>$f7</KEYWORD3>
234                         <KEYWORD3>$f8</KEYWORD3>
235                         <KEYWORD3>$f9</KEYWORD3>
236                         <KEYWORD3>$f10</KEYWORD3>
237                         <KEYWORD3>$f11</KEYWORD3>
238                         <KEYWORD3>$f12</KEYWORD3>
239                         <KEYWORD3>$f13</KEYWORD3>
240                         <KEYWORD3>$f14</KEYWORD3>
241                         <KEYWORD3>$f15</KEYWORD3>
242                         <KEYWORD3>$f16</KEYWORD3>
243                         <KEYWORD3>$f17</KEYWORD3>
244                         <KEYWORD3>$f18</KEYWORD3>
245                         <KEYWORD3>$f19</KEYWORD3>
246                         <KEYWORD3>$f20</KEYWORD3>
247                         <KEYWORD3>$f21</KEYWORD3>
248                         <KEYWORD3>$f22</KEYWORD3>
249                         <KEYWORD3>$f23</KEYWORD3>
250                         <KEYWORD3>$f24</KEYWORD3>
251                         <KEYWORD3>$f25</KEYWORD3>
252                         <KEYWORD3>$f26</KEYWORD3>
253                         <KEYWORD3>$f27</KEYWORD3>
254                         <KEYWORD3>$f28</KEYWORD3>
255                         <KEYWORD3>$f29</KEYWORD3>
256                         <KEYWORD3>$f30</KEYWORD3>
257                         <KEYWORD3>$f31</KEYWORD3>
258                 </KEYWORDS>
259         </RULES>
260 </MODE>