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