opcodes_ppc.h Source File

Back to the index.

opcodes_ppc.h
Go to the documentation of this file.
1 #ifndef OPCODES_PPC_H
2 #define OPCODES_PPC_H
3 
4 /*
5  * Copyright (C) 2005-2010 Anders Gavare. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * 3. The name of the author may not be used to endorse or promote products
16  * derived from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28  * SUCH DAMAGE.
29  *
30  *
31  * POWER and PowerPC opcodes. These are gathered from various sources.
32  *
33  * Note: The define uses the PowerPC name, not the POWER name, when they
34  * differ.
35  */
36 
37 #define PPC_HI6_MULLI 0x07
38 #define PPC_HI6_SUBFIC 0x08
39 
40 #define PPC_HI6_CMPLI 0x0a
41 #define PPC_HI6_CMPI 0x0b
42 #define PPC_HI6_ADDIC 0x0c
43 #define PPC_HI6_ADDIC_DOT 0x0d
44 #define PPC_HI6_ADDI 0x0e
45 #define PPC_HI6_ADDIS 0x0f
46 #define PPC_HI6_BC 0x10
47 #define PPC_HI6_SC 0x11
48 #define PPC_HI6_B 0x12
49 #define PPC_HI6_19 0x13
50 #define PPC_19_MCRF 0
51 #define PPC_19_BCLR 16
52 #define PPC_19_RFID 18
53 #define PPC_19_CRNOR 33
54 #define PPC_19_RFI 50
55 #define PPC_19_RFSVC 82
56 #define PPC_19_CRANDC 129
57 #define PPC_19_ISYNC 150
58 #define PPC_19_CRXOR 193
59 #define PPC_19_CRNAND 225
60 #define PPC_19_CRAND 257
61 #define PPC_19_CREQV 289
62 #define PPC_19_CRORC 417
63 #define PPC_19_CROR 449
64 #define PPC_19_BCCTR 528
65 #define PPC_HI6_RLWIMI 0x14
66 #define PPC_HI6_RLWINM 0x15
67 
68 #define PPC_HI6_RLWNM 0x17
69 #define PPC_HI6_ORI 0x18
70 #define PPC_HI6_ORIS 0x19
71 #define PPC_HI6_XORI 0x1a
72 #define PPC_HI6_XORIS 0x1b
73 #define PPC_HI6_ANDI_DOT 0x1c
74 #define PPC_HI6_ANDIS_DOT 0x1d
75 #define PPC_HI6_30 0x1e
76 #define PPC_30_RLDICL 0x0
77 #define PPC_30_RLDICR 0x1
78 #define PPC_30_RLDIMI 0x3
79 #define PPC_HI6_31 0x1f
80 #define PPC_31_CMP 0
81 #define PPC_31_TW 4
82 #define PPC_31_SUBFC 8
83 #define PPC_31_ADDC 10
84 #define PPC_31_MULHWU 11
85 #define PPC_31_MFCR 19
86 #define PPC_31_LWARX 20
87 #define PPC_31_LWZX 23
88 #define PPC_31_SLW 24
89 #define PPC_31_CNTLZW 26
90 #define PPC_31_SLD 27
91 #define PPC_31_AND 28
92 #define PPC_31_CMPL 32
93 #define PPC_31_SUBF 40
94 #define PPC_31_DCBST 54
95 #define PPC_31_LWZUX 55
96 #define PPC_31_ANDC 60
97 #define PPC_31_TD 68
98 #define PPC_31_MULHW 75
99 #define PPC_31_MFMSR 83
100 #define PPC_31_LDARX 84
101 #define PPC_31_DCBF 86
102 #define PPC_31_LBZX 87
103 #define PPC_31_LVX 103
104 #define PPC_31_NEG 104
105 #define PPC_31_CLF 118
106 #define PPC_31_LBZUX 119
107 #define PPC_31_NOR 124
108 #define PPC_31_SUBFE 136
109 #define PPC_31_ADDE 138
110 #define PPC_31_MTCRF 144
111 #define PPC_31_MTMSR 146
112 #define PPC_31_STDX 149
113 #define PPC_31_STWCX_DOT 150
114 #define PPC_31_STWX 151
115 #define PPC_31_WRTEEI 163
116 #define PPC_31_MTMSRD 178
117 #define PPC_31_STDUX 181
118 #define PPC_31_STWUX 183
119 #define PPC_31_SUBFZE 200
120 #define PPC_31_ADDZE 202
121 #define PPC_31_MTSR 210
122 #define PPC_31_STDCX_DOT 214
123 #define PPC_31_STBX 215
124 #define PPC_31_STVX 231
125 #define PPC_31_SUBFME 232
126 #define PPC_31_ADDME 234
127 #define PPC_31_MULLW 235
128 #define PPC_31_MTSRIN 242
129 #define PPC_31_DCBTST 246
130 #define PPC_31_STBUX 247
131 #define PPC_31_ADD 266
132 #define PPC_31_DCBT 278
133 #define PPC_31_LHZX 279
134 #define PPC_31_EQV 284
135 #define PPC_31_TLBIE 306
136 #define PPC_31_LHZUX 311
137 #define PPC_31_XOR 316
138 #define PPC_31_MFSPR 339
139 #define PPC_31_LHAX 343
140 #define PPC_31_LVXL 359
141 #define PPC_31_TLBIA 370
142 #define PPC_31_MFTB 371
143 #define PPC_31_LHAUX 375
144 #define PPC_31_STHX 407
145 #define PPC_31_ORC 412
146 #define PPC_31_SLBIE 434
147 #define PPC_31_STHUX 439
148 #define PPC_31_OR 444
149 #define PPC_31_DCCCI 454
150 #define PPC_31_DIVWU 459
151 #define PPC_31_MTSPR 467
152 #define PPC_31_DCBI 470
153 #define PPC_31_NAND 476
154 #define PPC_31_STVXL 487
155 #define PPC_31_DIVW 491
156 #define PPC_31_SLBIA 498
157 #define PPC_31_CLI 502
158 #define PPC_31_SUBFCO 520
159 #define PPC_31_ADDCO 522
160 #define PPC_31_LWBRX 534
161 #define PPC_31_LFSX 535
162 #define PPC_31_SRW 536
163 #define PPC_31_SUBFO 552
164 #define PPC_31_TLBSYNC 566
165 #define PPC_31_MFSR 595
166 #define PPC_31_LSWI 597
167 #define PPC_31_SYNC 598
168 #define PPC_31_LFDX 599
169 #define PPC_31_NEGO 616
170 #define PPC_31_DCLST 630
171 #define PPC_31_SUBFEO 648
172 #define PPC_31_ADDEO 650
173 #define PPC_31_MFSRIN 659
174 #define PPC_31_STWBRX 662
175 #define PPC_31_STFSX 663
176 #define PPC_31_SUBFZEO 712
177 #define PPC_31_ADDZEO 714
178 #define PPC_31_STSWI 725
179 #define PPC_31_STFDX 727
180 #define PPC_31_SUBFMEO 744
181 #define PPC_31_ADDMEO 746
182 #define PPC_31_MULLWO 747
183 #define PPC_31_ADDO 778
184 #define PPC_31_LHBRX 790
185 #define PPC_31_SRAW 792
186 #define PPC_31_DSSALL 822
187 #define PPC_31_SRAWI 824
188 #define PPC_31_EIEIO 854
189 #define PPC_31_TLBSX_DOT 914
190 #define PPC_31_STHBRX 918
191 #define PPC_31_EXTSH 922
192 #define PPC_31_EXTSB 954
193 #define PPC_31_ICCCI 966
194 #define PPC_31_DIVWUO 971
195 #define PPC_31_TLBLD 978
196 #define PPC_31_ICBI 982
197 #define PPC_31_EXTSW 986
198 #define PPC_31_DIVWO 1003
199 #define PPC_31_TLBLI 1010
200 #define PPC_31_DCBZ 1014
201 #define PPC_HI6_LWZ 0x20
202 #define PPC_HI6_LWZU 0x21
203 #define PPC_HI6_LBZ 0x22
204 #define PPC_HI6_LBZU 0x23
205 #define PPC_HI6_STW 0x24
206 #define PPC_HI6_STWU 0x25
207 #define PPC_HI6_STB 0x26
208 #define PPC_HI6_STBU 0x27
209 #define PPC_HI6_LHZ 0x28
210 #define PPC_HI6_LHZU 0x29
211 #define PPC_HI6_LHA 0x2a
212 #define PPC_HI6_LHAU 0x2b
213 #define PPC_HI6_STH 0x2c
214 #define PPC_HI6_STHU 0x2d
215 #define PPC_HI6_LMW 0x2e
216 #define PPC_HI6_STMW 0x2f
217 #define PPC_HI6_LFS 0x30
218 
219 #define PPC_HI6_LFD 0x32
220 
221 #define PPC_HI6_STFS 0x34
222 
223 #define PPC_HI6_STFD 0x36
224 
225 #define PPC_HI6_LD 0x3a
226 #define PPC_HI6_59 0x3b
227 #define PPC_59_FDIVS 18
228 #define PPC_59_FSUBS 20
229 #define PPC_59_FADDS 21
230 #define PPC_59_FMULS 25
231 #define PPC_59_FMADDS 29
232 
233 #define PPC_HI6_STD 0x3e
234 #define PPC_HI6_63 0x3f
235 #define PPC_63_FCMPU 0
236 #define PPC_63_FRSP 12
237 #define PPC_63_FCTIWZ 15
238 #define PPC_63_FDIV 18
239 #define PPC_63_FSUB 20
240 #define PPC_63_FADD 21
241 #define PPC_63_FMUL 25
242 #define PPC_63_FMSUB 28
243 #define PPC_63_FMADD 29
244 #define PPC_63_FNEG 40
245 #define PPC_63_FMR 72
246 #define PPC_63_FNABS 136
247 #define PPC_63_FABS 264
248 #define PPC_63_MFFS 583
249 #define PPC_63_MTFSF 711
250 
251 #endif /* OPCODES_PPC_H */

Generated on Sun Sep 30 2018 16:05:18 for GXemul by doxygen 1.8.13