opcodes_mips.h Source File
Back to the index.
Go to the documentation of this file.
61 "special", "regimm", "j", "jal", "beq", "bne", "blez", "bgtz", \
62 "addi", "addiu", "slti", "sltiu", "andi", "ori", "xori", "lui", \
63 "cop0", "cop1", "cop2", "cop3", "beql", "bnel", "blezl", "bgtzl", \
64 "daddi", "daddiu", "ldl", "ldr", "special2", "hi6_1d","lq" , "sq" , \
65 "lb", "lh", "lwl", "lw", "lbu", "lhu", "lwr", "lwu", \
66 "sb", "sh", "swl", "sw", "sdl", "sdr", "swr", "cache", \
67 "ll", "lwc1", "lwc2", "lwc3", "lld", "ldc1", "ldc2", "ld", \
68 "sc", "swc1", "swc2", "swc3", "scd", "sdc1", "sdc2", "sd" }
70 #define REGIMM_NAMES { \
71 "bltz", "bgez", "bltzl", "bgezl", "regimm_04", "regimm_05", "regimm_06", "regimm_07", \
72 "tgei", "tgeiu", "tlti", "tltiu", "teqi", "regimm_0d", "tnei", "regimm_0f", \
73 "bltzal", "bgezal", "bltzall", "bgezall", "regimm_14", "regimm_15", "regimm_16", "regimm_17", \
74 "mtsab", "mtsah", "regimm_1a", "regimm_1b", "regimm_1c", "regimm_1d", "regimm_1e", "synci" }
76 #define SPECIAL_NAMES { \
77 "sll", "special_01", "srl", "sra", "sllv", "special_05", "srlv", "srav", \
78 "jr", "jalr", "movz", "movn", "syscall","break", "special_0e", "sync", \
79 "mfhi", "mthi", "mflo", "mtlo", "dsllv", "special_15", "dsrlv", "dsrav", \
80 "mult", "multu", "div", "divu", "dmult", "dmultu", "ddiv", "ddivu", \
81 "add", "addu", "sub", "subu", "and", "or", "xor", "nor", \
82 "special_28","special_29","slt", "sltu", "dadd", "daddu", "dsub", "dsubu", \
83 "tge", "tgeu", "tlt", "tltu", "teq", "special_35", "tne", "special_37", \
84 "dsll", "special_39", "dsrl", "dsra", "dsll32", "special_3d", "dsrl32", "dsra32" }
87 #define SPECIAL_ROT_NAMES { \
88 "rot_00", "rot_01", "ror", "rot_03", "rot_04", "rot_05", "rorv", "rot_07", \
89 "rot_08", "rot_09", "rot_0a", "rot_0b", "rot_0c", "rot_0d", "rot_0e", "rot_0f", \
90 "rot_10", "rot_11", "rot_12", "rot_13", "rot_14", "rot_15", "drorv", "rot_17", \
91 "rot_18", "rot_19", "rot_1a", "rot_1b", "rot_1c", "rot_1d", "rot_1e", "rot_1f", \
92 "rot_20", "rot_21", "rot_22", "rot_23", "rot_24", "rot_25", "rot_26", "rot_27", \
93 "rot_28", "rot_29", "rot_2a", "rot_2b", "rot_2c", "rot_2d", "rot_2e", "rot_2f", \
94 "rot_30", "rot_31", "rot_32", "rot_33", "rot_34", "rot_35", "rot_36", "rot_37", \
95 "rot_38", "rot_39", "dror", "rot_3b", "rot_3c", "rot_3d", "dror32", "rot_3f" }
97 #define SPECIAL2_NAMES { \
98 "madd", "maddu", "mul", "special2_03", "msub", "msubu", "special2_06", "special2_07", \
99 "special2_08", "special2_09", "special2_0a", "special2_0b", "special2_0c", "special2_0d", "special2_0e", "special2_0f", \
100 "special2_10", "special2_11", "special2_12", "special2_13", "special2_14", "special2_15", "special2_16", "special2_17", \
101 "special2_18", "special2_19", "special2_1a", "special2_1b", "special2_1c", "special2_1d", "special2_1e", "special2_1f", \
102 "clz", "clo", "special2_22", "special2_23", "dclz", "dclo", "special2_26", "special2_27", \
103 "special2_28", "special2_29", "special2_2a", "special2_2b", "special2_2c", "special2_2d", "special2_2e", "special2_2f", \
104 "special2_30", "special2_31", "special2_32", "special2_33", "special2_34", "special2_35", "special2_36", "special2_37", \
105 "special2_38", "special2_39", "special2_3a", "special2_3b", "special2_3c", "special2_3d", "special2_3e", "sdbbp" }
108 #define MMI_NAMES { \
109 "madd", "maddu", "mmi_02", "mmi_03", "plzcw", "mmi_05", "mmi_06", "mmi_07", \
110 "mmi0", "mmi2", "mmi_0a", "mmi_0b", "mmi_0c", "mmi_0d", "mmi_0e", "mmi_0f", \
111 "mfhi1", "mthi1", "mflo1", "mtlo1", "mmi_14", "mmi_15", "mmi_16", "mmi_17", \
112 "mult1", "multu1", "div1", "divu1", "mmi_1c", "mmi_1d", "mmi_1e", "mmi_1f", \
113 "madd1", "maddu1", "mmi_22", "mmi_23", "mmi_24", "mmi_25", "mmi_26", "mmi_27", \
114 "mmi1", "mmi3", "mmi_2a", "mmi_2b", "mmi_2c", "mmi_2d", "mmi_2e", "mmi_2f", \
115 "pmfhl", "pmthl", "mmi_32", "mmi_33", "psllh", "mmi_35", "psrlh", "psrah", \
116 "mmi_38", "mmi_39", "mmi_3a", "mmi_3b", "psllw", "mmi_3d", "psrlw", "psraw" }
118 #define MMI0_NAMES { \
119 "paddw", "psubw", "pcgtw", "pmaxw", \
120 "paddh", "psubh", "pcgth", "pmaxh", \
121 "paddb", "psubb", "pcgtb", "mmi0_0b", \
122 "mmi0_0c", "mmi0_0d", "mmi0_0e", "mmi0_0f", \
123 "paddsw", "psubsw", "pextlw", "ppacw", \
124 "paddsh", "psubsh", "pextlh", "ppach", \
125 "paddsb", "psubsb", "pextlb", "ppacb", \
126 "mmi0_1c", "mmi0_1d", "pext5", "ppac5" }
128 #define MMI1_NAMES { \
129 "mmi1_00", "pabsw", "pceqw", "pminw", \
130 "padsbh", "pabsh", "pceqh", "pminh", \
131 "mmi1_08", "mmi1_09", "pceqb", "mmi1_0b", \
132 "mmi1_0c", "mmi1_0d", "mmi1_0e", "mmi1_0f", \
133 "padduw", "psubuw", "pextuw", "mmi1_13", \
134 "padduh", "psubuh", "pextuh", "mmi1_17", \
135 "paddub", "psubub", "pextub", "qfsrv", \
136 "mmi1_1c", "mmi1_1d", "mmi1_1e", "mmi1_1f" }
138 #define MMI2_NAMES { \
139 "pmaddw", "mmi2_01", "psllvw", "psrlvw", \
140 "pmsubw", "mmi2_05", "mmi2_06", "mmi2_07", \
141 "pmfhi", "pmflo", "pinth", "mmi2_0b", \
142 "pmultw", "pdivw", "pcpyld" , "mmi2_0f", \
143 "pmaddh", "phmadh", "pand", "pxor", \
144 "pmsubh", "phmsbh", "mmi2_16", "mmi2_17", \
145 "mmi2_18", "mmi2_19", "pexeh", "prevh", \
146 "pmulth", "pdivbw", "pexew", "prot3w" }
148 #define MMI3_NAMES { \
149 "pmadduw", "mmi3_01", "mmi3_02", "psravw", \
150 "mmi3_04", "mmi3_05", "mmi3_06", "mmi3_07", \
151 "pmthi", "pmtlo", "pinteh", "mmi3_0b", \
152 "pmultuw", "pdivuw", "pcpyud" , "mmi3_0f", \
153 "mmi3_10", "mmi3_11", "por", "pnor", \
154 "mmi3_14", "mmi3_15", "mmi3_16", "mmi3_17", \
155 "mmi3_18", "mmi3_19", "pexch", "pcpyh", \
156 "mmi3_1c", "mmi3_1d", "pexcw", "mmi3_1f" }
158 #define SPECIAL3_NAMES { \
159 "ext", "dextm", "dextu", "dext", "ins", "dinsm", "dinsu", "dins", \
160 "special3_08", "special3_09", "special3_0a", "special3_0b", "special3_0c", "special3_0d", "special3_0e", "special3_0f", \
161 "special3_10", "special3_11", "special3_12", "special3_13", "special3_14", "special3_15", "special3_16", "special3_17", \
162 "special3_18", "special3_19", "special3_1a", "special3_1b", "special3_1c", "special3_1d", "special3_1e", "special3_1f", \
163 "bshfl", "special3_21", "special3_22", "special3_23", "dbshfl", "special3_25", "special3_26", "special3_27", \
164 "special3_28", "special3_29", "special3_2a", "special3_2b", "special3_2c", "special3_2d", "special3_2e", "special3_2f", \
165 "special3_30", "special3_31", "special3_32", "special3_33", "special3_34", "special3_35", "special3_36", "special3_37", \
166 "special3_38", "special3_39", "special3_3a", "rdhwr", "special3_3c", "special3_3d", "special3_3e", "special3_3f" }
168 #define HI6_SPECIAL 0x00
169 #define SPECIAL_SLL 0x00
171 #define SPECIAL_SRL 0x02
172 #define SPECIAL_SRA 0x03
173 #define SPECIAL_SLLV 0x04
175 #define SPECIAL_SRLV 0x06
176 #define SPECIAL_SRAV 0x07
177 #define SPECIAL_JR 0x08
178 #define SPECIAL_JALR 0x09
179 #define SPECIAL_MOVZ 0x0a
180 #define SPECIAL_MOVN 0x0b
181 #define SPECIAL_SYSCALL 0x0c
182 #define SPECIAL_BREAK 0x0d
184 #define SPECIAL_SYNC 0x0f
185 #define SPECIAL_MFHI 0x10
186 #define SPECIAL_MTHI 0x11
187 #define SPECIAL_MFLO 0x12
188 #define SPECIAL_MTLO 0x13
189 #define SPECIAL_DSLLV 0x14
191 #define SPECIAL_DSRLV 0x16
192 #define SPECIAL_DSRAV 0x17
193 #define SPECIAL_MULT 0x18
194 #define SPECIAL_MULTU 0x19
195 #define SPECIAL_DIV 0x1a
196 #define SPECIAL_DIVU 0x1b
197 #define SPECIAL_DMULT 0x1c
198 #define SPECIAL_DMULTU 0x1d
199 #define SPECIAL_DDIV 0x1e
200 #define SPECIAL_DDIVU 0x1f
201 #define SPECIAL_ADD 0x20
202 #define SPECIAL_ADDU 0x21
203 #define SPECIAL_SUB 0x22
204 #define SPECIAL_SUBU 0x23
205 #define SPECIAL_AND 0x24
206 #define SPECIAL_OR 0x25
207 #define SPECIAL_XOR 0x26
208 #define SPECIAL_NOR 0x27
209 #define SPECIAL_MFSA 0x28
210 #define SPECIAL_MTSA 0x29
211 #define SPECIAL_SLT 0x2a
212 #define SPECIAL_SLTU 0x2b
213 #define SPECIAL_DADD 0x2c
214 #define SPECIAL_DADDU 0x2d
215 #define SPECIAL_DSUB 0x2e
216 #define SPECIAL_DSUBU 0x2f
217 #define SPECIAL_TGE 0x30
218 #define SPECIAL_TGEU 0x31
219 #define SPECIAL_TLT 0x32
220 #define SPECIAL_TLTU 0x33
221 #define SPECIAL_TEQ 0x34
223 #define SPECIAL_TNE 0x36
225 #define SPECIAL_DSLL 0x38
227 #define SPECIAL_DSRL 0x3a
228 #define SPECIAL_DSRA 0x3b
229 #define SPECIAL_DSLL32 0x3c
231 #define SPECIAL_DSRL32 0x3e
232 #define SPECIAL_DSRA32 0x3f
234 #define HI6_REGIMM 0x01
235 #define REGIMM_BLTZ 0x00
236 #define REGIMM_BGEZ 0x01
237 #define REGIMM_BLTZL 0x02
238 #define REGIMM_BGEZL 0x03
239 #define REGIMM_TGEI 0x08
240 #define REGIMM_TGEIU 0x09
241 #define REGIMM_TLTI 0x0a
242 #define REGIMM_TLTIU 0x0b
243 #define REGIMM_TEQI 0x0c
244 #define REGIMM_TNEI 0x0e
245 #define REGIMM_BLTZAL 0x10
246 #define REGIMM_BGEZAL 0x11
247 #define REGIMM_BLTZALL 0x12
248 #define REGIMM_BGEZALL 0x13
249 #define REGIMM_MTSAB 0x18
250 #define REGIMM_MTSAH 0x19
251 #define REGIMM_SYNCI 0x1f
258 #define HI6_BLEZ 0x06
259 #define HI6_BGTZ 0x07
260 #define HI6_ADDI 0x08
261 #define HI6_ADDIU 0x09
262 #define HI6_SLTI 0x0a
263 #define HI6_SLTIU 0x0b
264 #define HI6_ANDI 0x0c
266 #define HI6_XORI 0x0e
268 #define HI6_COP0 0x10
269 #define COPz_MFCz 0x00
270 #define COPz_DMFCz 0x01
271 #define COPz_MTCz 0x04
272 #define COPz_DMTCz 0x05
279 #define COPz_CFCz 0x02
280 #define COPz_CTCz 0x06
281 #define COPz_BCzc 0x08
282 #define COPz_MFMCz 0x0b
283 #define COP1_FMT_S 0x10
284 #define COP1_FMT_D 0x11
285 #define COP1_FMT_W 0x14
286 #define COP1_FMT_L 0x15
287 #define COP1_FMT_PS 0x16
289 #define COP0_TLBR 0x01
290 #define COP0_TLBWI 0x02
291 #define COP0_TLBWR 0x06
292 #define COP0_TLBP 0x08
293 #define COP0_RFE 0x10
294 #define COP0_ERET 0x18
295 #define COP0_DERET 0x1f
296 #define COP0_WAIT 0x20
297 #define COP0_STANDBY 0x21
298 #define COP0_SUSPEND 0x22
299 #define COP0_HIBERNATE 0x23
302 #define HI6_COP1 0x11
303 #define HI6_COP2 0x12
304 #define HI6_COP3 0x13
305 #define HI6_BEQL 0x14
306 #define HI6_BNEL 0x15
307 #define HI6_BLEZL 0x16
308 #define HI6_BGTZL 0x17
309 #define HI6_DADDI 0x18
310 #define HI6_DADDIU 0x19
313 #define HI6_SPECIAL2 0x1c
314 #define SPECIAL2_MADD 0x00
315 #define SPECIAL2_MADDU 0x01
316 #define SPECIAL2_MUL 0x02
317 #define SPECIAL2_MSUB 0x04
318 #define SPECIAL2_MSUBU 0x05
319 #define SPECIAL2_CLZ 0x20
320 #define SPECIAL2_CLO 0x21
321 #define SPECIAL2_DCLZ 0x24
322 #define SPECIAL2_DCLO 0x25
323 #define SPECIAL2_SDBBP 0x3f
325 #define MMI_MADD 0x00
326 #define MMI_MADDU 0x01
327 #define MMI_PLZCW 0x04
328 #define MMI_MMI0 0x08
329 #define MMI0_PADDW 0x00
330 #define MMI0_PSUBW 0x01
331 #define MMI0_PCGTW 0x02
332 #define MMI0_PMAXW 0x03
333 #define MMI0_PADDH 0x04
334 #define MMI0_PSUBH 0x05
335 #define MMI0_PCGTH 0x06
336 #define MMI0_PMAXH 0x07
337 #define MMI0_PADDB 0x08
338 #define MMI0_PSUBB 0x09
339 #define MMI0_PCGTB 0x0a
340 #define MMI0_PADDSW 0x10
341 #define MMI0_PSUBSW 0x11
342 #define MMI0_PEXTLW 0x12
343 #define MMI0_PPACW 0x13
344 #define MMI0_PADDSH 0x14
345 #define MMI0_PSUBSH 0x15
346 #define MMI0_PEXTLH 0x16
347 #define MMI0_PPACH 0x17
348 #define MMI0_PADDSB 0x18
349 #define MMI0_PSUBSB 0x19
350 #define MMI0_PEXTLB 0x1a
351 #define MMI0_PPACB 0x1b
352 #define MMI0_PEXT5 0x1e
353 #define MMI0_PPAC5 0x1f
354 #define MMI_MMI2 0x09
355 #define MMI2_PMADDW 0x00
356 #define MMI2_PSLLVW 0x02
357 #define MMI2_PSRLVW 0x03
358 #define MMI2_PMSUBW 0x04
359 #define MMI2_PMFHI 0x08
360 #define MMI2_PMFLO 0x09
361 #define MMI2_PINTH 0x0a
362 #define MMI2_PMULTW 0x0c
363 #define MMI2_PDIVW 0x0d
364 #define MMI2_PCPYLD 0x0e
365 #define MMI2_PMADDH 0x10
366 #define MMI2_PHMADH 0x11
367 #define MMI2_PAND 0x12
368 #define MMI2_PXOR 0x13
369 #define MMI2_PMSUBH 0x14
370 #define MMI2_PHMSBH 0x15
371 #define MMI2_PEXEH 0x1a
372 #define MMI2_PREVH 0x1b
373 #define MMI2_PMULTH 0x1c
374 #define MMI2_PDIVBW 0x1d
375 #define MMI2_PEXEW 0x1e
376 #define MMI2_PROT3W 0x1f
377 #define MMI_MFHI1 0x10
378 #define MMI_MTHI1 0x11
379 #define MMI_MFLO1 0x12
380 #define MMI_MTLO1 0x13
381 #define MMI_MULT1 0x18
382 #define MMI_MULTU1 0x19
383 #define MMI_DIV1 0x1a
384 #define MMI_DIVU1 0x1b
385 #define MMI_MADD1 0x20
386 #define MMI_MADDU1 0x21
387 #define MMI_MMI1 0x28
388 #define MMI1_PABSW 0x01
389 #define MMI1_PCEQW 0x02
390 #define MMI1_PMINW 0x03
391 #define MMI1_PADSBH 0x04
392 #define MMI1_PABSH 0x05
393 #define MMI1_PCEQH 0x06
394 #define MMI1_PMINH 0x07
395 #define MMI1_PCEQB 0x0a
396 #define MMI1_PADDUW 0x10
397 #define MMI1_PSUBUW 0x11
398 #define MMI1_PEXTUW 0x12
399 #define MMI1_PADDUH 0x14
400 #define MMI1_PSUBUH 0x15
401 #define MMI1_PEXTUH 0x16
402 #define MMI1_PADDUB 0x18
403 #define MMI1_PSUBUB 0x19
404 #define MMI1_PEXTUB 0x1a
405 #define MMI1_QFSRV 0x1b
406 #define MMI_MMI3 0x29
407 #define MMI3_PMADDUW 0x00
408 #define MMI3_PSRAVW 0x03
409 #define MMI3_PMTHI 0x08
410 #define MMI3_PMTLO 0x09
411 #define MMI3_PINTEH 0x0a
412 #define MMI3_PMULTUW 0x0c
413 #define MMI3_PDIVUW 0x0d
414 #define MMI3_PCPYUD 0x0e
415 #define MMI3_POR 0x12
416 #define MMI3_PNOR 0x13
417 #define MMI3_PEXCH 0x1a
418 #define MMI3_PCPYH 0x1b
419 #define MMI3_PEXCW 0x1e
420 #define MMI_PMFHL 0x30
421 #define MMI_PMTHL 0x31
422 #define MMI_PSLLH 0x34
423 #define MMI_PSRLH 0x36
424 #define MMI_PSRAH 0x37
425 #define MMI_PSLLW 0x3c
426 #define MMI_PSRLW 0x3e
427 #define MMI_PSRAW 0x3f
429 #define HI6_LQ_MDMX 0x1e
431 #define HI6_SQ_SPECIAL3 0x1f
432 #define SPECIAL3_EXT 0x00
433 #define SPECIAL3_DEXTM 0x01
434 #define SPECIAL3_DEXTU 0x02
435 #define SPECIAL3_DEXT 0x03
436 #define SPECIAL3_INS 0x04
437 #define SPECIAL3_DINSM 0x05
438 #define SPECIAL3_DINSU 0x06
439 #define SPECIAL3_DINS 0x07
440 #define SPECIAL3_BSHFL 0x20
441 #define BSHFL_WSBH 0x002
442 #define BSHFL_SEB 0x010
443 #define BSHFL_SEH 0x018
444 #define SPECIAL3_DBSHFL 0x24
445 #define BSHFL_DSBH 0x002
446 #define BSHFL_DSHD 0x005
447 #define SPECIAL3_RDHWR 0x3b
463 #define HI6_CACHE 0x2f
465 #define HI6_LWC1 0x31
466 #define HI6_LWC2 0x32
467 #define HI6_LWC3 0x33
469 #define HI6_LDC1 0x35
470 #define HI6_LDC2 0x36
473 #define HI6_SWC1 0x39
474 #define HI6_SWC2 0x3a
475 #define HI6_SWC3 0x3b
477 #define HI6_SDC1 0x3d
478 #define HI6_SDC2 0x3e
Generated on Tue Mar 24 2020 14:04:48 for GXemul by
1.8.17