unicorn-engine 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ext/extconf.rb +8 -0
- data/ext/types.h +33 -0
- data/ext/unicorn.c +589 -0
- data/ext/unicorn.h +36 -0
- data/lib/unicorn_engine/arm64_const.rb +283 -0
- data/lib/unicorn_engine/arm_const.rb +131 -0
- data/lib/unicorn_engine/m68k_const.rb +27 -0
- data/lib/unicorn_engine/mips_const.rb +198 -0
- data/lib/unicorn_engine/sparc_const.rb +99 -0
- data/lib/unicorn_engine/unicorn_const.rb +106 -0
- data/lib/unicorn_engine/version.rb +3 -0
- data/lib/unicorn_engine/x86_const.rb +1599 -0
- metadata +86 -0
data/ext/unicorn.h
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
Ruby bindings for the Unicorn Emulator Engine
|
4
|
+
|
5
|
+
Copyright(c) 2016 Sascha Schirra
|
6
|
+
|
7
|
+
This program is free software; you can redistribute it and/or
|
8
|
+
modify it under the terms of the GNU General Public License
|
9
|
+
version 2 as published by the Free Software Foundation.
|
10
|
+
|
11
|
+
This program is distributed in the hope that it will be useful,
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
GNU General Public License for more details.
|
15
|
+
|
16
|
+
You should have received a copy of the GNU General Public License
|
17
|
+
along with this program; if not, write to the Free Software
|
18
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
19
|
+
|
20
|
+
*/
|
21
|
+
VALUE m_uc_initialize(VALUE self, VALUE arch, VALUE mode);
|
22
|
+
VALUE m_uc_emu_start(int argc, VALUE* argv, VALUE self);
|
23
|
+
VALUE m_uc_emu_stop(VALUE self);
|
24
|
+
VALUE m_uc_reg_read(VALUE self, VALUE reg_id);
|
25
|
+
VALUE m_uc_reg_write(VALUE self, VALUE reg_id, VALUE reg_value);
|
26
|
+
VALUE m_uc_mem_read(VALUE self, VALUE address, VALUE size);
|
27
|
+
VALUE m_uc_mem_write(VALUE self, VALUE address, VALUE bytes);
|
28
|
+
VALUE m_uc_mem_map(int argc, VALUE* argv, VALUE self);
|
29
|
+
VALUE m_uc_mem_unmap(VALUE self, VALUE address, VALUE size);
|
30
|
+
VALUE m_uc_mem_protect(VALUE self, VALUE address, VALUE size, VALUE perms);
|
31
|
+
VALUE m_uc_hook_add(int argc, VALUE* argv, VALUE self);
|
32
|
+
VALUE m_uc_hook_del(VALUE self, VALUE hook);
|
33
|
+
VALUE m_uc_query(VALUE self, VALUE query_mode);
|
34
|
+
VALUE m_uc_context_save(VALUE self);
|
35
|
+
VALUE m_uc_context_update(VALUE self, VALUE context);
|
36
|
+
VALUE m_uc_context_restore(VALUE self, VALUE context);
|
@@ -0,0 +1,283 @@
|
|
1
|
+
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm64_const.rb]
|
2
|
+
|
3
|
+
module UnicornEngine
|
4
|
+
|
5
|
+
# ARM64 registers
|
6
|
+
|
7
|
+
UC_ARM64_REG_INVALID = 0
|
8
|
+
UC_ARM64_REG_X29 = 1
|
9
|
+
UC_ARM64_REG_X30 = 2
|
10
|
+
UC_ARM64_REG_NZCV = 3
|
11
|
+
UC_ARM64_REG_SP = 4
|
12
|
+
UC_ARM64_REG_WSP = 5
|
13
|
+
UC_ARM64_REG_WZR = 6
|
14
|
+
UC_ARM64_REG_XZR = 7
|
15
|
+
UC_ARM64_REG_B0 = 8
|
16
|
+
UC_ARM64_REG_B1 = 9
|
17
|
+
UC_ARM64_REG_B2 = 10
|
18
|
+
UC_ARM64_REG_B3 = 11
|
19
|
+
UC_ARM64_REG_B4 = 12
|
20
|
+
UC_ARM64_REG_B5 = 13
|
21
|
+
UC_ARM64_REG_B6 = 14
|
22
|
+
UC_ARM64_REG_B7 = 15
|
23
|
+
UC_ARM64_REG_B8 = 16
|
24
|
+
UC_ARM64_REG_B9 = 17
|
25
|
+
UC_ARM64_REG_B10 = 18
|
26
|
+
UC_ARM64_REG_B11 = 19
|
27
|
+
UC_ARM64_REG_B12 = 20
|
28
|
+
UC_ARM64_REG_B13 = 21
|
29
|
+
UC_ARM64_REG_B14 = 22
|
30
|
+
UC_ARM64_REG_B15 = 23
|
31
|
+
UC_ARM64_REG_B16 = 24
|
32
|
+
UC_ARM64_REG_B17 = 25
|
33
|
+
UC_ARM64_REG_B18 = 26
|
34
|
+
UC_ARM64_REG_B19 = 27
|
35
|
+
UC_ARM64_REG_B20 = 28
|
36
|
+
UC_ARM64_REG_B21 = 29
|
37
|
+
UC_ARM64_REG_B22 = 30
|
38
|
+
UC_ARM64_REG_B23 = 31
|
39
|
+
UC_ARM64_REG_B24 = 32
|
40
|
+
UC_ARM64_REG_B25 = 33
|
41
|
+
UC_ARM64_REG_B26 = 34
|
42
|
+
UC_ARM64_REG_B27 = 35
|
43
|
+
UC_ARM64_REG_B28 = 36
|
44
|
+
UC_ARM64_REG_B29 = 37
|
45
|
+
UC_ARM64_REG_B30 = 38
|
46
|
+
UC_ARM64_REG_B31 = 39
|
47
|
+
UC_ARM64_REG_D0 = 40
|
48
|
+
UC_ARM64_REG_D1 = 41
|
49
|
+
UC_ARM64_REG_D2 = 42
|
50
|
+
UC_ARM64_REG_D3 = 43
|
51
|
+
UC_ARM64_REG_D4 = 44
|
52
|
+
UC_ARM64_REG_D5 = 45
|
53
|
+
UC_ARM64_REG_D6 = 46
|
54
|
+
UC_ARM64_REG_D7 = 47
|
55
|
+
UC_ARM64_REG_D8 = 48
|
56
|
+
UC_ARM64_REG_D9 = 49
|
57
|
+
UC_ARM64_REG_D10 = 50
|
58
|
+
UC_ARM64_REG_D11 = 51
|
59
|
+
UC_ARM64_REG_D12 = 52
|
60
|
+
UC_ARM64_REG_D13 = 53
|
61
|
+
UC_ARM64_REG_D14 = 54
|
62
|
+
UC_ARM64_REG_D15 = 55
|
63
|
+
UC_ARM64_REG_D16 = 56
|
64
|
+
UC_ARM64_REG_D17 = 57
|
65
|
+
UC_ARM64_REG_D18 = 58
|
66
|
+
UC_ARM64_REG_D19 = 59
|
67
|
+
UC_ARM64_REG_D20 = 60
|
68
|
+
UC_ARM64_REG_D21 = 61
|
69
|
+
UC_ARM64_REG_D22 = 62
|
70
|
+
UC_ARM64_REG_D23 = 63
|
71
|
+
UC_ARM64_REG_D24 = 64
|
72
|
+
UC_ARM64_REG_D25 = 65
|
73
|
+
UC_ARM64_REG_D26 = 66
|
74
|
+
UC_ARM64_REG_D27 = 67
|
75
|
+
UC_ARM64_REG_D28 = 68
|
76
|
+
UC_ARM64_REG_D29 = 69
|
77
|
+
UC_ARM64_REG_D30 = 70
|
78
|
+
UC_ARM64_REG_D31 = 71
|
79
|
+
UC_ARM64_REG_H0 = 72
|
80
|
+
UC_ARM64_REG_H1 = 73
|
81
|
+
UC_ARM64_REG_H2 = 74
|
82
|
+
UC_ARM64_REG_H3 = 75
|
83
|
+
UC_ARM64_REG_H4 = 76
|
84
|
+
UC_ARM64_REG_H5 = 77
|
85
|
+
UC_ARM64_REG_H6 = 78
|
86
|
+
UC_ARM64_REG_H7 = 79
|
87
|
+
UC_ARM64_REG_H8 = 80
|
88
|
+
UC_ARM64_REG_H9 = 81
|
89
|
+
UC_ARM64_REG_H10 = 82
|
90
|
+
UC_ARM64_REG_H11 = 83
|
91
|
+
UC_ARM64_REG_H12 = 84
|
92
|
+
UC_ARM64_REG_H13 = 85
|
93
|
+
UC_ARM64_REG_H14 = 86
|
94
|
+
UC_ARM64_REG_H15 = 87
|
95
|
+
UC_ARM64_REG_H16 = 88
|
96
|
+
UC_ARM64_REG_H17 = 89
|
97
|
+
UC_ARM64_REG_H18 = 90
|
98
|
+
UC_ARM64_REG_H19 = 91
|
99
|
+
UC_ARM64_REG_H20 = 92
|
100
|
+
UC_ARM64_REG_H21 = 93
|
101
|
+
UC_ARM64_REG_H22 = 94
|
102
|
+
UC_ARM64_REG_H23 = 95
|
103
|
+
UC_ARM64_REG_H24 = 96
|
104
|
+
UC_ARM64_REG_H25 = 97
|
105
|
+
UC_ARM64_REG_H26 = 98
|
106
|
+
UC_ARM64_REG_H27 = 99
|
107
|
+
UC_ARM64_REG_H28 = 100
|
108
|
+
UC_ARM64_REG_H29 = 101
|
109
|
+
UC_ARM64_REG_H30 = 102
|
110
|
+
UC_ARM64_REG_H31 = 103
|
111
|
+
UC_ARM64_REG_Q0 = 104
|
112
|
+
UC_ARM64_REG_Q1 = 105
|
113
|
+
UC_ARM64_REG_Q2 = 106
|
114
|
+
UC_ARM64_REG_Q3 = 107
|
115
|
+
UC_ARM64_REG_Q4 = 108
|
116
|
+
UC_ARM64_REG_Q5 = 109
|
117
|
+
UC_ARM64_REG_Q6 = 110
|
118
|
+
UC_ARM64_REG_Q7 = 111
|
119
|
+
UC_ARM64_REG_Q8 = 112
|
120
|
+
UC_ARM64_REG_Q9 = 113
|
121
|
+
UC_ARM64_REG_Q10 = 114
|
122
|
+
UC_ARM64_REG_Q11 = 115
|
123
|
+
UC_ARM64_REG_Q12 = 116
|
124
|
+
UC_ARM64_REG_Q13 = 117
|
125
|
+
UC_ARM64_REG_Q14 = 118
|
126
|
+
UC_ARM64_REG_Q15 = 119
|
127
|
+
UC_ARM64_REG_Q16 = 120
|
128
|
+
UC_ARM64_REG_Q17 = 121
|
129
|
+
UC_ARM64_REG_Q18 = 122
|
130
|
+
UC_ARM64_REG_Q19 = 123
|
131
|
+
UC_ARM64_REG_Q20 = 124
|
132
|
+
UC_ARM64_REG_Q21 = 125
|
133
|
+
UC_ARM64_REG_Q22 = 126
|
134
|
+
UC_ARM64_REG_Q23 = 127
|
135
|
+
UC_ARM64_REG_Q24 = 128
|
136
|
+
UC_ARM64_REG_Q25 = 129
|
137
|
+
UC_ARM64_REG_Q26 = 130
|
138
|
+
UC_ARM64_REG_Q27 = 131
|
139
|
+
UC_ARM64_REG_Q28 = 132
|
140
|
+
UC_ARM64_REG_Q29 = 133
|
141
|
+
UC_ARM64_REG_Q30 = 134
|
142
|
+
UC_ARM64_REG_Q31 = 135
|
143
|
+
UC_ARM64_REG_S0 = 136
|
144
|
+
UC_ARM64_REG_S1 = 137
|
145
|
+
UC_ARM64_REG_S2 = 138
|
146
|
+
UC_ARM64_REG_S3 = 139
|
147
|
+
UC_ARM64_REG_S4 = 140
|
148
|
+
UC_ARM64_REG_S5 = 141
|
149
|
+
UC_ARM64_REG_S6 = 142
|
150
|
+
UC_ARM64_REG_S7 = 143
|
151
|
+
UC_ARM64_REG_S8 = 144
|
152
|
+
UC_ARM64_REG_S9 = 145
|
153
|
+
UC_ARM64_REG_S10 = 146
|
154
|
+
UC_ARM64_REG_S11 = 147
|
155
|
+
UC_ARM64_REG_S12 = 148
|
156
|
+
UC_ARM64_REG_S13 = 149
|
157
|
+
UC_ARM64_REG_S14 = 150
|
158
|
+
UC_ARM64_REG_S15 = 151
|
159
|
+
UC_ARM64_REG_S16 = 152
|
160
|
+
UC_ARM64_REG_S17 = 153
|
161
|
+
UC_ARM64_REG_S18 = 154
|
162
|
+
UC_ARM64_REG_S19 = 155
|
163
|
+
UC_ARM64_REG_S20 = 156
|
164
|
+
UC_ARM64_REG_S21 = 157
|
165
|
+
UC_ARM64_REG_S22 = 158
|
166
|
+
UC_ARM64_REG_S23 = 159
|
167
|
+
UC_ARM64_REG_S24 = 160
|
168
|
+
UC_ARM64_REG_S25 = 161
|
169
|
+
UC_ARM64_REG_S26 = 162
|
170
|
+
UC_ARM64_REG_S27 = 163
|
171
|
+
UC_ARM64_REG_S28 = 164
|
172
|
+
UC_ARM64_REG_S29 = 165
|
173
|
+
UC_ARM64_REG_S30 = 166
|
174
|
+
UC_ARM64_REG_S31 = 167
|
175
|
+
UC_ARM64_REG_W0 = 168
|
176
|
+
UC_ARM64_REG_W1 = 169
|
177
|
+
UC_ARM64_REG_W2 = 170
|
178
|
+
UC_ARM64_REG_W3 = 171
|
179
|
+
UC_ARM64_REG_W4 = 172
|
180
|
+
UC_ARM64_REG_W5 = 173
|
181
|
+
UC_ARM64_REG_W6 = 174
|
182
|
+
UC_ARM64_REG_W7 = 175
|
183
|
+
UC_ARM64_REG_W8 = 176
|
184
|
+
UC_ARM64_REG_W9 = 177
|
185
|
+
UC_ARM64_REG_W10 = 178
|
186
|
+
UC_ARM64_REG_W11 = 179
|
187
|
+
UC_ARM64_REG_W12 = 180
|
188
|
+
UC_ARM64_REG_W13 = 181
|
189
|
+
UC_ARM64_REG_W14 = 182
|
190
|
+
UC_ARM64_REG_W15 = 183
|
191
|
+
UC_ARM64_REG_W16 = 184
|
192
|
+
UC_ARM64_REG_W17 = 185
|
193
|
+
UC_ARM64_REG_W18 = 186
|
194
|
+
UC_ARM64_REG_W19 = 187
|
195
|
+
UC_ARM64_REG_W20 = 188
|
196
|
+
UC_ARM64_REG_W21 = 189
|
197
|
+
UC_ARM64_REG_W22 = 190
|
198
|
+
UC_ARM64_REG_W23 = 191
|
199
|
+
UC_ARM64_REG_W24 = 192
|
200
|
+
UC_ARM64_REG_W25 = 193
|
201
|
+
UC_ARM64_REG_W26 = 194
|
202
|
+
UC_ARM64_REG_W27 = 195
|
203
|
+
UC_ARM64_REG_W28 = 196
|
204
|
+
UC_ARM64_REG_W29 = 197
|
205
|
+
UC_ARM64_REG_W30 = 198
|
206
|
+
UC_ARM64_REG_X0 = 199
|
207
|
+
UC_ARM64_REG_X1 = 200
|
208
|
+
UC_ARM64_REG_X2 = 201
|
209
|
+
UC_ARM64_REG_X3 = 202
|
210
|
+
UC_ARM64_REG_X4 = 203
|
211
|
+
UC_ARM64_REG_X5 = 204
|
212
|
+
UC_ARM64_REG_X6 = 205
|
213
|
+
UC_ARM64_REG_X7 = 206
|
214
|
+
UC_ARM64_REG_X8 = 207
|
215
|
+
UC_ARM64_REG_X9 = 208
|
216
|
+
UC_ARM64_REG_X10 = 209
|
217
|
+
UC_ARM64_REG_X11 = 210
|
218
|
+
UC_ARM64_REG_X12 = 211
|
219
|
+
UC_ARM64_REG_X13 = 212
|
220
|
+
UC_ARM64_REG_X14 = 213
|
221
|
+
UC_ARM64_REG_X15 = 214
|
222
|
+
UC_ARM64_REG_X16 = 215
|
223
|
+
UC_ARM64_REG_X17 = 216
|
224
|
+
UC_ARM64_REG_X18 = 217
|
225
|
+
UC_ARM64_REG_X19 = 218
|
226
|
+
UC_ARM64_REG_X20 = 219
|
227
|
+
UC_ARM64_REG_X21 = 220
|
228
|
+
UC_ARM64_REG_X22 = 221
|
229
|
+
UC_ARM64_REG_X23 = 222
|
230
|
+
UC_ARM64_REG_X24 = 223
|
231
|
+
UC_ARM64_REG_X25 = 224
|
232
|
+
UC_ARM64_REG_X26 = 225
|
233
|
+
UC_ARM64_REG_X27 = 226
|
234
|
+
UC_ARM64_REG_X28 = 227
|
235
|
+
UC_ARM64_REG_V0 = 228
|
236
|
+
UC_ARM64_REG_V1 = 229
|
237
|
+
UC_ARM64_REG_V2 = 230
|
238
|
+
UC_ARM64_REG_V3 = 231
|
239
|
+
UC_ARM64_REG_V4 = 232
|
240
|
+
UC_ARM64_REG_V5 = 233
|
241
|
+
UC_ARM64_REG_V6 = 234
|
242
|
+
UC_ARM64_REG_V7 = 235
|
243
|
+
UC_ARM64_REG_V8 = 236
|
244
|
+
UC_ARM64_REG_V9 = 237
|
245
|
+
UC_ARM64_REG_V10 = 238
|
246
|
+
UC_ARM64_REG_V11 = 239
|
247
|
+
UC_ARM64_REG_V12 = 240
|
248
|
+
UC_ARM64_REG_V13 = 241
|
249
|
+
UC_ARM64_REG_V14 = 242
|
250
|
+
UC_ARM64_REG_V15 = 243
|
251
|
+
UC_ARM64_REG_V16 = 244
|
252
|
+
UC_ARM64_REG_V17 = 245
|
253
|
+
UC_ARM64_REG_V18 = 246
|
254
|
+
UC_ARM64_REG_V19 = 247
|
255
|
+
UC_ARM64_REG_V20 = 248
|
256
|
+
UC_ARM64_REG_V21 = 249
|
257
|
+
UC_ARM64_REG_V22 = 250
|
258
|
+
UC_ARM64_REG_V23 = 251
|
259
|
+
UC_ARM64_REG_V24 = 252
|
260
|
+
UC_ARM64_REG_V25 = 253
|
261
|
+
UC_ARM64_REG_V26 = 254
|
262
|
+
UC_ARM64_REG_V27 = 255
|
263
|
+
UC_ARM64_REG_V28 = 256
|
264
|
+
UC_ARM64_REG_V29 = 257
|
265
|
+
UC_ARM64_REG_V30 = 258
|
266
|
+
UC_ARM64_REG_V31 = 259
|
267
|
+
|
268
|
+
# pseudo registers
|
269
|
+
UC_ARM64_REG_PC = 260
|
270
|
+
UC_ARM64_REG_CPACR_EL1 = 261
|
271
|
+
|
272
|
+
# thread registers
|
273
|
+
UC_ARM64_REG_TPIDR_EL0 = 262
|
274
|
+
UC_ARM64_REG_TPIDRRO_EL0 = 263
|
275
|
+
UC_ARM64_REG_TPIDR_EL1 = 264
|
276
|
+
UC_ARM64_REG_ENDING = 265
|
277
|
+
|
278
|
+
# alias registers
|
279
|
+
UC_ARM64_REG_IP1 = 215
|
280
|
+
UC_ARM64_REG_IP0 = 216
|
281
|
+
UC_ARM64_REG_FP = 1
|
282
|
+
UC_ARM64_REG_LR = 2
|
283
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm_const.rb]
|
2
|
+
|
3
|
+
module UnicornEngine
|
4
|
+
|
5
|
+
# ARM registers
|
6
|
+
|
7
|
+
UC_ARM_REG_INVALID = 0
|
8
|
+
UC_ARM_REG_APSR = 1
|
9
|
+
UC_ARM_REG_APSR_NZCV = 2
|
10
|
+
UC_ARM_REG_CPSR = 3
|
11
|
+
UC_ARM_REG_FPEXC = 4
|
12
|
+
UC_ARM_REG_FPINST = 5
|
13
|
+
UC_ARM_REG_FPSCR = 6
|
14
|
+
UC_ARM_REG_FPSCR_NZCV = 7
|
15
|
+
UC_ARM_REG_FPSID = 8
|
16
|
+
UC_ARM_REG_ITSTATE = 9
|
17
|
+
UC_ARM_REG_LR = 10
|
18
|
+
UC_ARM_REG_PC = 11
|
19
|
+
UC_ARM_REG_SP = 12
|
20
|
+
UC_ARM_REG_SPSR = 13
|
21
|
+
UC_ARM_REG_D0 = 14
|
22
|
+
UC_ARM_REG_D1 = 15
|
23
|
+
UC_ARM_REG_D2 = 16
|
24
|
+
UC_ARM_REG_D3 = 17
|
25
|
+
UC_ARM_REG_D4 = 18
|
26
|
+
UC_ARM_REG_D5 = 19
|
27
|
+
UC_ARM_REG_D6 = 20
|
28
|
+
UC_ARM_REG_D7 = 21
|
29
|
+
UC_ARM_REG_D8 = 22
|
30
|
+
UC_ARM_REG_D9 = 23
|
31
|
+
UC_ARM_REG_D10 = 24
|
32
|
+
UC_ARM_REG_D11 = 25
|
33
|
+
UC_ARM_REG_D12 = 26
|
34
|
+
UC_ARM_REG_D13 = 27
|
35
|
+
UC_ARM_REG_D14 = 28
|
36
|
+
UC_ARM_REG_D15 = 29
|
37
|
+
UC_ARM_REG_D16 = 30
|
38
|
+
UC_ARM_REG_D17 = 31
|
39
|
+
UC_ARM_REG_D18 = 32
|
40
|
+
UC_ARM_REG_D19 = 33
|
41
|
+
UC_ARM_REG_D20 = 34
|
42
|
+
UC_ARM_REG_D21 = 35
|
43
|
+
UC_ARM_REG_D22 = 36
|
44
|
+
UC_ARM_REG_D23 = 37
|
45
|
+
UC_ARM_REG_D24 = 38
|
46
|
+
UC_ARM_REG_D25 = 39
|
47
|
+
UC_ARM_REG_D26 = 40
|
48
|
+
UC_ARM_REG_D27 = 41
|
49
|
+
UC_ARM_REG_D28 = 42
|
50
|
+
UC_ARM_REG_D29 = 43
|
51
|
+
UC_ARM_REG_D30 = 44
|
52
|
+
UC_ARM_REG_D31 = 45
|
53
|
+
UC_ARM_REG_FPINST2 = 46
|
54
|
+
UC_ARM_REG_MVFR0 = 47
|
55
|
+
UC_ARM_REG_MVFR1 = 48
|
56
|
+
UC_ARM_REG_MVFR2 = 49
|
57
|
+
UC_ARM_REG_Q0 = 50
|
58
|
+
UC_ARM_REG_Q1 = 51
|
59
|
+
UC_ARM_REG_Q2 = 52
|
60
|
+
UC_ARM_REG_Q3 = 53
|
61
|
+
UC_ARM_REG_Q4 = 54
|
62
|
+
UC_ARM_REG_Q5 = 55
|
63
|
+
UC_ARM_REG_Q6 = 56
|
64
|
+
UC_ARM_REG_Q7 = 57
|
65
|
+
UC_ARM_REG_Q8 = 58
|
66
|
+
UC_ARM_REG_Q9 = 59
|
67
|
+
UC_ARM_REG_Q10 = 60
|
68
|
+
UC_ARM_REG_Q11 = 61
|
69
|
+
UC_ARM_REG_Q12 = 62
|
70
|
+
UC_ARM_REG_Q13 = 63
|
71
|
+
UC_ARM_REG_Q14 = 64
|
72
|
+
UC_ARM_REG_Q15 = 65
|
73
|
+
UC_ARM_REG_R0 = 66
|
74
|
+
UC_ARM_REG_R1 = 67
|
75
|
+
UC_ARM_REG_R2 = 68
|
76
|
+
UC_ARM_REG_R3 = 69
|
77
|
+
UC_ARM_REG_R4 = 70
|
78
|
+
UC_ARM_REG_R5 = 71
|
79
|
+
UC_ARM_REG_R6 = 72
|
80
|
+
UC_ARM_REG_R7 = 73
|
81
|
+
UC_ARM_REG_R8 = 74
|
82
|
+
UC_ARM_REG_R9 = 75
|
83
|
+
UC_ARM_REG_R10 = 76
|
84
|
+
UC_ARM_REG_R11 = 77
|
85
|
+
UC_ARM_REG_R12 = 78
|
86
|
+
UC_ARM_REG_S0 = 79
|
87
|
+
UC_ARM_REG_S1 = 80
|
88
|
+
UC_ARM_REG_S2 = 81
|
89
|
+
UC_ARM_REG_S3 = 82
|
90
|
+
UC_ARM_REG_S4 = 83
|
91
|
+
UC_ARM_REG_S5 = 84
|
92
|
+
UC_ARM_REG_S6 = 85
|
93
|
+
UC_ARM_REG_S7 = 86
|
94
|
+
UC_ARM_REG_S8 = 87
|
95
|
+
UC_ARM_REG_S9 = 88
|
96
|
+
UC_ARM_REG_S10 = 89
|
97
|
+
UC_ARM_REG_S11 = 90
|
98
|
+
UC_ARM_REG_S12 = 91
|
99
|
+
UC_ARM_REG_S13 = 92
|
100
|
+
UC_ARM_REG_S14 = 93
|
101
|
+
UC_ARM_REG_S15 = 94
|
102
|
+
UC_ARM_REG_S16 = 95
|
103
|
+
UC_ARM_REG_S17 = 96
|
104
|
+
UC_ARM_REG_S18 = 97
|
105
|
+
UC_ARM_REG_S19 = 98
|
106
|
+
UC_ARM_REG_S20 = 99
|
107
|
+
UC_ARM_REG_S21 = 100
|
108
|
+
UC_ARM_REG_S22 = 101
|
109
|
+
UC_ARM_REG_S23 = 102
|
110
|
+
UC_ARM_REG_S24 = 103
|
111
|
+
UC_ARM_REG_S25 = 104
|
112
|
+
UC_ARM_REG_S26 = 105
|
113
|
+
UC_ARM_REG_S27 = 106
|
114
|
+
UC_ARM_REG_S28 = 107
|
115
|
+
UC_ARM_REG_S29 = 108
|
116
|
+
UC_ARM_REG_S30 = 109
|
117
|
+
UC_ARM_REG_S31 = 110
|
118
|
+
UC_ARM_REG_C1_C0_2 = 111
|
119
|
+
UC_ARM_REG_C13_C0_2 = 112
|
120
|
+
UC_ARM_REG_C13_C0_3 = 113
|
121
|
+
UC_ARM_REG_ENDING = 114
|
122
|
+
|
123
|
+
# alias registers
|
124
|
+
UC_ARM_REG_R13 = 12
|
125
|
+
UC_ARM_REG_R14 = 10
|
126
|
+
UC_ARM_REG_R15 = 11
|
127
|
+
UC_ARM_REG_SB = 75
|
128
|
+
UC_ARM_REG_SL = 76
|
129
|
+
UC_ARM_REG_FP = 77
|
130
|
+
UC_ARM_REG_IP = 78
|
131
|
+
end
|