Implement 386 instruction table, improve 8086/186/286 instruction table
[multi_emu.git] / instr_mips.txt
1 opcodes
2 00010000        SLL     $zero, $at, 0x0000
3 04010000        BGEZ    $zero, 0x00000004
4 08010000        J       0x00000000
5 0c010000        JAL     0x00000000
6 10010000        BEQ     $zero, $at, 0x00000004
7 14010000        BNE     $zero, $at, 0x00000004
8 18010000        BLEZ    $zero, $at, 0x00000004
9 1c010000        BGTZ    $zero, $at, 0x00000004
10 20010000        ADDI    $at, $zero, 0x0000
11 24010000        ADDIU   $at, $zero, 0x0000
12 28010000        SLTI    $at, $zero, 0x0000
13 2c010000        SLTIU   $at, $zero, 0x0000
14 30010000        ANDI    $at, $zero, 0x0000
15 34010000        ORI     $at, $zero, 0x0000
16 38010000        XORI    $at, $zero, 0x0000
17 3c010000        LUI     $at, 0x0000
18 40010000        MFC0    $at, $Index, 0x0000
19 44010000        Invalid instr (OP)
20 48010000        Invalid instr (OP)
21 4c010000        Invalid instr (OP)
22 50010000        BEQL    $zero, $at, 0x00000004
23 54010000        BNEL    $zero, $at, 0x00000004
24 58010000        BLEZL   $zero, $at, 0x00000004
25 5c010000        BGTZL   $zero, $at, 0x00000004
26 60010000        Invalid instr (OP)
27 64010000        Invalid instr (OP)
28 68010000        Invalid instr (OP)
29 6c010000        Invalid instr (OP)
30 70010000        MADD    $zero, $at
31 74010000        Invalid instr (OP)
32 78010000        Invalid instr (OP)
33 7c010000        Invalid instr (OP)
34 80010000        LB      $at, 0x0000($zero)
35 84010000        LH      $at, 0x0000($zero)
36 88010000        LWL     $at, 0x0000($zero)
37 8c010000        LW      $at, 0x0000($zero)
38 90010000        LBU     $at, 0x0000($zero)
39 94010000        LHU     $at, 0x0000($zero)
40 98010000        LWR     $at, 0x0000($zero)
41 9c010000        Invalid instr (OP)
42 a0010000        SB      $at, 0x0000($zero)
43 a4010000        SH      $at, 0x0000($zero)
44 a8010000        SWL     $at, 0x0000($zero)
45 ac010000        SW      $at, 0x0000($zero)
46 b0010000        Invalid instr (OP)
47 b4010000        Invalid instr (OP)
48 b8010000        SWR     $at, 0x0000($zero)
49 bc010000        CACHE   $at, 0x0000($zero)
50 c0010000        LL      $at, 0x0000($zero)
51 c4010000        LWC1    $at, 0x0000($zero)
52 c8010000        LWC2    $at, 0x0000($zero)
53 cc010000        PREF    $at, 0x0000($zero)
54 d0010000        Invalid instr (OP)
55 d4010000        LDC1    $at, 0x0000($zero)
56 d8010000        LDC2    $at, 0x0000($zero)
57 dc010000        Invalid instr (OP)
58 e0010000        SC      $at, 0x0000($zero)
59 e4010000        SWC1    $at, 0x0000($zero)
60 e8010000        SWC2    $at, 0x0000($zero)
61 ec010000        Invalid instr (OP)
62 f0010000        Invalid instr (OP)
63 f4010000        SDC1    $at, 0x0000($zero)
64 f8010000        SDC2    $at, 0x0000($zero)
65 fc010000        Invalid instr (OP)
66
67 opcodes 00
68 00011000        SLL     $v0, $at, 0x0000
69 00011001        MOVC1
70 00011002        SRL     $v0, $at, 0x0000
71 00011003        SRA     $v0, $at, 0x0000
72 00011004        SLLV    $v0, $at, $zero
73 00011005        Invalid instr (SPEC)
74 00011006        SRLV    $v0, $at, $zero
75 00011007        SRAV    $v0, $at, $zero
76 00011008        JR      $zero
77 00011009        JALR    $v0, $zero
78 0001100a        MOVZ    $v0, $zero, $at
79 0001100b        MOVN    $v0, $zero, $at
80 0001100c        SYSCALL
81 0001100d        BREAK
82 0001100e        Invalid instr (SPEC)
83 0001100f        SYNC
84 00011010        MFHI    $v0
85 00011011        MTHI    $zero
86 00011012        MFLO    $v0
87 00011013        MTLO    $zero
88 00011014        Invalid instr (SPEC)
89 00011015        Invalid instr (SPEC)
90 00011016        Invalid instr (SPEC)
91 00011017        Invalid instr (SPEC)
92 00011018        MULT    $zero, $at
93 00011019        MULTU   $zero, $at
94 0001101a        DIV     $zero, $at
95 0001101b        DIVU    $zero, $at
96 0001101c        Invalid instr (SPEC)
97 0001101d        Invalid instr (SPEC)
98 0001101e        Invalid instr (SPEC)
99 0001101f        Invalid instr (SPEC)
100 00011020        ADD     $v0, $zero, $at
101 00011021        ADDU    $v0, $zero, $at
102 00011022        SUB     $v0, $zero, $at
103 00011023        SUBU    $v0, $zero, $at
104 00011024        AND     $v0, $zero, $at
105 00011025        OR      $v0, $zero, $at
106 00011026        XOR     $v0, $zero, $at
107 00011027        NOR     $v0, $zero, $at
108 00011028        Invalid instr (SPEC)
109 00011029        Invalid instr (SPEC)
110 0001102a        SLT     $v0, $zero, $at
111 0001102b        SLTU    $v0, $zero, $at
112 0001102c        Invalid instr (SPEC)
113 0001102d        Invalid instr (SPEC)
114 0001102e        Invalid instr (SPEC)
115 0001102f        Invalid instr (SPEC)
116 00011030        TGE     $zero, $at
117 00011031        TGEU    $zero, $at
118 00011032        TLT     $zero, $at
119 00011033        TLTU    $zero, $at
120 00011034        TEQ     $zero, $at
121 00011035        Invalid instr (SPEC)
122 00011036        TNE     $zero, $at
123 00011037        Invalid instr (SPEC)
124 00011038        Invalid instr (SPEC)
125 00011039        Invalid instr (SPEC)
126 0001103a        Invalid instr (SPEC)
127 0001103b        Invalid instr (SPEC)
128 0001103c        Invalid instr (SPEC)
129 0001103d        Invalid instr (SPEC)
130 0001103e        Invalid instr (SPEC)
131 0001103f        Invalid instr (SPEC)
132
133 opcodes 04
134 04600000        BLTZ    $v1, 0x00000004
135 04610000        BGEZ    $v1, 0x00000004
136 04620000        BLTZL   $v1, 0x00000004
137 04630000        BGEZL   $v1, 0x00000004
138 04640000        Invalid instr (REGIMM)
139 04650000        Invalid instr (REGIMM)
140 04660000        Invalid instr (REGIMM)
141 04670000        Invalid instr (REGIMM)
142 04680000        TGEI    $v1, 0x0000
143 04690000        TGEIU   $v1, 0x0000
144 046a0000        TLTI    $v1, 0x0000
145 046b0000        TLTIU   $v1, 0x0000
146 046c0000        TEQI    $v1, 0x0000
147 046d0000        Invalid instr (REGIMM)
148 046e0000        TNEI    $v1, 0x0000
149 046f0000        Invalid instr (REGIMM)
150 04700000        BLTZAL  $v1, 0x00000004
151 04710000        BGEZAL  $v1, 0x00000004
152 04720000        BLTZALL $v1, 0x00000004
153 04730000        BGEZALL $v1, 0x00000004
154 04740000        Invalid instr (REGIMM)
155 04750000        Invalid instr (REGIMM)
156 04760000        Invalid instr (REGIMM)
157 04770000        Invalid instr (REGIMM)
158 04780000        Invalid instr (REGIMM)
159 04790000        Invalid instr (REGIMM)
160 047a0000        Invalid instr (REGIMM)
161 047b0000        Invalid instr (REGIMM)
162 047c0000        Invalid instr (REGIMM)
163 047d0000        Invalid instr (REGIMM)
164 047e0000        Invalid instr (REGIMM)
165 047f0000        Invalid instr (REGIMM)
166
167 opcodes 40
168 40010000        MFC0    $at, $Index, 0x0000
169 40210000        Invalid instr (COP0)
170 40410000        Invalid instr (COP0)
171 40610000        Invalid instr (COP0)
172 40810000        MTC0    $at, $Index, 0x0000
173 40a10000        Invalid instr (COP0)
174 40c10000        Invalid instr (COP0)
175 40e10000        Invalid instr (COP0)
176 41010000        Invalid instr (COP0)
177 41210000        Invalid instr (COP0)
178 41410000        Invalid instr (COP0)
179 41610000        Invalid instr (COP0)
180 41810000        Invalid instr (COP0)
181 41a10000        Invalid instr (COP0)
182 41c10000        Invalid instr (COP0)
183 41e10000        Invalid instr (COP0)
184
185 opcodes 42
186 42011000        Invalid instr (COP0)
187 42011001        TLBR
188 42011002        TLBWI
189 42011003        Invalid instr (COP0)
190 42011004        Invalid instr (COP0)
191 42011005        Invalid instr (COP0)
192 42011006        TLBWR
193 42011007        Invalid instr (COP0)
194 42011008        TLBP
195 42011009        Invalid instr (COP0)
196 4201100a        Invalid instr (COP0)
197 4201100b        Invalid instr (COP0)
198 4201100c        Invalid instr (COP0)
199 4201100d        Invalid instr (COP0)
200 4201100e        Invalid instr (COP0)
201 4201100f        Invalid instr (COP0)
202 42011010        Invalid instr (COP0)
203 42011011        Invalid instr (COP0)
204 42011012        Invalid instr (COP0)
205 42011013        Invalid instr (COP0)
206 42011014        Invalid instr (COP0)
207 42011015        Invalid instr (COP0)
208 42011016        Invalid instr (COP0)
209 42011017        Invalid instr (COP0)
210 42011018        ERET
211 42011019        Invalid instr (COP0)
212 4201101a        Invalid instr (COP0)
213 4201101b        Invalid instr (COP0)
214 4201101c        Invalid instr (COP0)
215 4201101d        Invalid instr (COP0)
216 4201101e        Invalid instr (COP0)
217 4201101f        Invalid instr (COP0)
218 42011020        WAIT
219 42011021        Invalid instr (COP0)
220 42011022        Invalid instr (COP0)
221 42011023        Invalid instr (COP0)
222 42011024        Invalid instr (COP0)
223 42011025        Invalid instr (COP0)
224 42011026        Invalid instr (COP0)
225 42011027        Invalid instr (COP0)
226 42011028        Invalid instr (COP0)
227 42011029        Invalid instr (COP0)
228 4201102a        Invalid instr (COP0)
229 4201102b        Invalid instr (COP0)
230 4201102c        Invalid instr (COP0)
231 4201102d        Invalid instr (COP0)
232 4201102e        Invalid instr (COP0)
233 4201102f        Invalid instr (COP0)
234 42011030        Invalid instr (COP0)
235 42011031        Invalid instr (COP0)
236 42011032        Invalid instr (COP0)
237 42011033        Invalid instr (COP0)
238 42011034        Invalid instr (COP0)
239 42011035        Invalid instr (COP0)
240 42011036        Invalid instr (COP0)
241 42011037        Invalid instr (COP0)
242 42011038        Invalid instr (COP0)
243 42011039        Invalid instr (COP0)
244 4201103a        Invalid instr (COP0)
245 4201103b        Invalid instr (COP0)
246 4201103c        Invalid instr (COP0)
247 4201103d        Invalid instr (COP0)
248 4201103e        Invalid instr (COP0)
249 4201103f        Invalid instr (COP0)
250
251 opcodes 70
252 70011000        MADD    $zero, $at
253 70011001        MADDU   $zero, $at
254 70011002        MUL     $v0, $zero, $at
255 70011003        Invalid instr (SPEC2)
256 70011004        MSUB    $zero, $at
257 70011005        MSUBU   $zero, $at
258 70011006        Invalid instr (SPEC2)
259 70011007        Invalid instr (SPEC2)
260 70011008        Invalid instr (SPEC2)
261 70011009        Invalid instr (SPEC2)
262 7001100a        Invalid instr (SPEC2)
263 7001100b        Invalid instr (SPEC2)
264 7001100c        Invalid instr (SPEC2)
265 7001100d        Invalid instr (SPEC2)
266 7001100e        Invalid instr (SPEC2)
267 7001100f        Invalid instr (SPEC2)
268 70011010        Invalid instr (SPEC2)
269 70011011        Invalid instr (SPEC2)
270 70011012        Invalid instr (SPEC2)
271 70011013        Invalid instr (SPEC2)
272 70011014        Invalid instr (SPEC2)
273 70011015        Invalid instr (SPEC2)
274 70011016        Invalid instr (SPEC2)
275 70011017        Invalid instr (SPEC2)
276 70011018        Invalid instr (SPEC2)
277 70011019        Invalid instr (SPEC2)
278 7001101a        Invalid instr (SPEC2)
279 7001101b        Invalid instr (SPEC2)
280 7001101c        Invalid instr (SPEC2)
281 7001101d        Invalid instr (SPEC2)
282 7001101e        Invalid instr (SPEC2)
283 7001101f        Invalid instr (SPEC2)
284 70011020        CLZ     $v0, $zero
285 70011021        CLO     $v0, $zero
286 70011022        Invalid instr (SPEC2)
287 70011023        Invalid instr (SPEC2)
288 70011024        Invalid instr (SPEC2)
289 70011025        Invalid instr (SPEC2)
290 70011026        Invalid instr (SPEC2)
291 70011027        Invalid instr (SPEC2)
292 70011028        Invalid instr (SPEC2)
293 70011029        Invalid instr (SPEC2)
294 7001102a        Invalid instr (SPEC2)
295 7001102b        Invalid instr (SPEC2)
296 7001102c        Invalid instr (SPEC2)
297 7001102d        Invalid instr (SPEC2)
298 7001102e        Invalid instr (SPEC2)
299 7001102f        Invalid instr (SPEC2)
300 70011030        Invalid instr (SPEC2)
301 70011031        Invalid instr (SPEC2)
302 70011032        Invalid instr (SPEC2)
303 70011033        Invalid instr (SPEC2)
304 70011034        Invalid instr (SPEC2)
305 70011035        Invalid instr (SPEC2)
306 70011036        Invalid instr (SPEC2)
307 70011037        Invalid instr (SPEC2)
308 70011038        Invalid instr (SPEC2)
309 70011039        Invalid instr (SPEC2)
310 7001103a        Invalid instr (SPEC2)
311 7001103b        Invalid instr (SPEC2)
312 7001103c        Invalid instr (SPEC2)
313 7001103d        Invalid instr (SPEC2)
314 7001103e        Invalid instr (SPEC2)
315 7001103f        Invalid instr (SPEC2)
316