charm 0.0.1

ARM assembler & disassembler generated from the ARM exploration tools.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
//! Instruction decoding, encoding, and formatting implementations.

pub mod adc_i;
pub mod adc_r;
pub mod adc_rr;
pub mod add_adr;
pub mod add_i;
pub mod add_r;
pub mod add_rr;
pub mod add_sp_i;
pub mod add_sp_r;
pub mod adr;
pub mod and_i;
pub mod and_r;
pub mod and_rr;
pub mod asr_mov_r;
pub mod asr_mov_rr;
pub mod asrs_mov_r;
pub mod asrs_mov_rr;
pub mod b;
pub mod bfc;
pub mod bfi;
pub mod bic_i;
pub mod bic_r;
pub mod bic_rr;
pub mod bkpt;
pub mod bl_i;
pub mod blx_r;
pub mod bx;
pub mod bxj;
pub mod clrbhb;
pub mod clrex;
pub mod clz;
pub mod cmn_i;
pub mod cmn_r;
pub mod cmn_rr;
pub mod cmp_i;
pub mod cmp_r;
pub mod cmp_rr;
pub mod cps;
pub mod crc32;
pub mod crc32c;
pub mod csdb;
pub mod dbg;
pub mod dmb;
pub mod dsb;
pub mod eor_i;
pub mod eor_r;
pub mod eor_rr;
pub mod eret;
pub mod esb;
pub mod hlt;
pub mod hvc;
pub mod isb;
pub mod lda;
pub mod ldab;
pub mod ldaex;
pub mod ldaexb;
pub mod ldaexd;
pub mod ldaexh;
pub mod ldah;
pub mod ldc_i;
pub mod ldc_l;
pub mod ldm;
pub mod ldm_e;
pub mod ldm_u;
pub mod ldmda;
pub mod ldmdb;
pub mod ldmib;
pub mod ldr_i;
pub mod ldr_l;
pub mod ldr_r;
pub mod ldrb_i;
pub mod ldrb_l;
pub mod ldrb_r;
pub mod ldrbt;
pub mod ldrd_i;
pub mod ldrd_l;
pub mod ldrd_r;
pub mod ldrex;
pub mod ldrexb;
pub mod ldrexd;
pub mod ldrexh;
pub mod ldrh_i;
pub mod ldrh_l;
pub mod ldrh_r;
pub mod ldrht;
pub mod ldrsb_i;
pub mod ldrsb_l;
pub mod ldrsb_r;
pub mod ldrsbt;
pub mod ldrsh_i;
pub mod ldrsh_l;
pub mod ldrsh_r;
pub mod ldrsht;
pub mod ldrt;
pub mod lsl_mov_r;
pub mod lsl_mov_rr;
pub mod lsls_mov_r;
pub mod lsls_mov_rr;
pub mod lsr_mov_r;
pub mod lsr_mov_rr;
pub mod lsrs_mov_r;
pub mod lsrs_mov_rr;
pub mod mcr;
pub mod mcrr;
pub mod mla;
pub mod mls;
pub mod mov_i;
pub mod mov_r;
pub mod mov_rr;
pub mod movt;
pub mod mrc;
pub mod mrrc;
pub mod mrs;
pub mod mrs_br;
pub mod msr_br;
pub mod msr_i;
pub mod msr_r;
pub mod mul;
pub mod mvn_i;
pub mod mvn_r;
pub mod mvn_rr;
pub mod nop;
pub mod orr_i;
pub mod orr_r;
pub mod orr_rr;
pub mod pkh;
pub mod pld_i;
pub mod pld_l;
pub mod pld_r;
pub mod pli_i;
pub mod pli_r;
pub mod pop_ldm;
pub mod pop_ldr_i;
pub mod pssbb;
pub mod push_stmdb;
pub mod push_str_i;
pub mod qadd;
pub mod qadd16;
pub mod qadd8;
pub mod qasx;
pub mod qdadd;
pub mod qdsub;
pub mod qsax;
pub mod qsub;
pub mod qsub16;
pub mod qsub8;
pub mod rbit;
pub mod rev;
pub mod rev16;
pub mod revsh;
pub mod rfe;
pub mod ror_mov_r;
pub mod ror_mov_rr;
pub mod rors_mov_r;
pub mod rors_mov_rr;
pub mod rrx_mov_r;
pub mod rrxs_mov_r;
pub mod rsb_i;
pub mod rsb_r;
pub mod rsb_rr;
pub mod rsc_i;
pub mod rsc_r;
pub mod rsc_rr;
pub mod sadd16;
pub mod sadd8;
pub mod sasx;
pub mod sb;
pub mod sbc_i;
pub mod sbc_r;
pub mod sbc_rr;
pub mod sbfx;
pub mod sdiv;
pub mod sel;
pub mod setend;
pub mod setpan;
pub mod sev;
pub mod sevl;
pub mod shadd16;
pub mod shadd8;
pub mod shasx;
pub mod shsax;
pub mod shsub16;
pub mod shsub8;
pub mod smc;
pub mod smlabb;
pub mod smlad;
pub mod smlal;
pub mod smlalbb;
pub mod smlald;
pub mod smlawb;
pub mod smlsd;
pub mod smlsld;
pub mod smmla;
pub mod smmls;
pub mod smmul;
pub mod smuad;
pub mod smulbb;
pub mod smull;
pub mod smulwb;
pub mod smusd;
pub mod srs;
pub mod ssat;
pub mod ssat16;
pub mod ssax;
pub mod ssbb;
pub mod ssub16;
pub mod ssub8;
pub mod stc;
pub mod stl;
pub mod stlb;
pub mod stlex;
pub mod stlexb;
pub mod stlexd;
pub mod stlexh;
pub mod stlh;
pub mod stm;
pub mod stm_u;
pub mod stmda;
pub mod stmdb;
pub mod stmib;
pub mod str_i;
pub mod str_r;
pub mod strb_i;
pub mod strb_r;
pub mod strbt;
pub mod strd_i;
pub mod strd_r;
pub mod strex;
pub mod strexb;
pub mod strexd;
pub mod strexh;
pub mod strh_i;
pub mod strh_r;
pub mod strht;
pub mod strt;
pub mod sub_adr;
pub mod sub_i;
pub mod sub_r;
pub mod sub_rr;
pub mod sub_sp_i;
pub mod sub_sp_r;
pub mod svc;
pub mod sxtab;
pub mod sxtab16;
pub mod sxtah;
pub mod sxtb;
pub mod sxtb16;
pub mod sxth;
pub mod teq_i;
pub mod teq_r;
pub mod teq_rr;
pub mod tsb;
pub mod tst_i;
pub mod tst_r;
pub mod tst_rr;
pub mod uadd16;
pub mod uadd8;
pub mod uasx;
pub mod ubfx;
pub mod udf;
pub mod udiv;
pub mod uhadd16;
pub mod uhadd8;
pub mod uhasx;
pub mod uhsax;
pub mod uhsub16;
pub mod uhsub8;
pub mod umaal;
pub mod umlal;
pub mod umull;
pub mod uqadd16;
pub mod uqadd8;
pub mod uqasx;
pub mod uqsax;
pub mod uqsub16;
pub mod uqsub8;
pub mod usad8;
pub mod usada8;
pub mod usat;
pub mod usat16;
pub mod usax;
pub mod usub16;
pub mod usub8;
pub mod uxtab;
pub mod uxtab16;
pub mod uxtah;
pub mod uxtb;
pub mod uxtb16;
pub mod uxth;
pub mod wfe;
pub mod wfi;
pub mod r#yield;

pub use adc_i::*;
pub use adc_r::*;
pub use adc_rr::*;
pub use add_adr::*;
pub use add_i::*;
pub use add_r::*;
pub use add_rr::*;
pub use add_sp_i::*;
pub use add_sp_r::*;
pub use adr::*;
pub use and_i::*;
pub use and_r::*;
pub use and_rr::*;
pub use asr_mov_r::*;
pub use asr_mov_rr::*;
pub use asrs_mov_r::*;
pub use asrs_mov_rr::*;
pub use b::*;
pub use bfc::*;
pub use bfi::*;
pub use bic_i::*;
pub use bic_r::*;
pub use bic_rr::*;
pub use bkpt::*;
pub use bl_i::*;
pub use blx_r::*;
pub use bx::*;
pub use bxj::*;
pub use clrbhb::*;
pub use clrex::*;
pub use clz::*;
pub use cmn_i::*;
pub use cmn_r::*;
pub use cmn_rr::*;
pub use cmp_i::*;
pub use cmp_r::*;
pub use cmp_rr::*;
pub use cps::*;
pub use crc32::*;
pub use crc32c::*;
pub use csdb::*;
pub use dbg::*;
pub use dmb::*;
pub use dsb::*;
pub use eor_i::*;
pub use eor_r::*;
pub use eor_rr::*;
pub use eret::*;
pub use esb::*;
pub use hlt::*;
pub use hvc::*;
pub use isb::*;
pub use lda::*;
pub use ldab::*;
pub use ldaex::*;
pub use ldaexb::*;
pub use ldaexd::*;
pub use ldaexh::*;
pub use ldah::*;
pub use ldc_i::*;
pub use ldc_l::*;
pub use ldm::*;
pub use ldm_e::*;
pub use ldm_u::*;
pub use ldmda::*;
pub use ldmdb::*;
pub use ldmib::*;
pub use ldr_i::*;
pub use ldr_l::*;
pub use ldr_r::*;
pub use ldrb_i::*;
pub use ldrb_l::*;
pub use ldrb_r::*;
pub use ldrbt::*;
pub use ldrd_i::*;
pub use ldrd_l::*;
pub use ldrd_r::*;
pub use ldrex::*;
pub use ldrexb::*;
pub use ldrexd::*;
pub use ldrexh::*;
pub use ldrh_i::*;
pub use ldrh_l::*;
pub use ldrh_r::*;
pub use ldrht::*;
pub use ldrsb_i::*;
pub use ldrsb_l::*;
pub use ldrsb_r::*;
pub use ldrsbt::*;
pub use ldrsh_i::*;
pub use ldrsh_l::*;
pub use ldrsh_r::*;
pub use ldrsht::*;
pub use ldrt::*;
pub use lsl_mov_r::*;
pub use lsl_mov_rr::*;
pub use lsls_mov_r::*;
pub use lsls_mov_rr::*;
pub use lsr_mov_r::*;
pub use lsr_mov_rr::*;
pub use lsrs_mov_r::*;
pub use lsrs_mov_rr::*;
pub use mcr::*;
pub use mcrr::*;
pub use mla::*;
pub use mls::*;
pub use mov_i::*;
pub use mov_r::*;
pub use mov_rr::*;
pub use movt::*;
pub use mrc::*;
pub use mrrc::*;
pub use mrs::*;
pub use mrs_br::*;
pub use msr_br::*;
pub use msr_i::*;
pub use msr_r::*;
pub use mul::*;
pub use mvn_i::*;
pub use mvn_r::*;
pub use mvn_rr::*;
pub use nop::*;
pub use orr_i::*;
pub use orr_r::*;
pub use orr_rr::*;
pub use pkh::*;
pub use pld_i::*;
pub use pld_l::*;
pub use pld_r::*;
pub use pli_i::*;
pub use pli_r::*;
pub use pop_ldm::*;
pub use pop_ldr_i::*;
pub use pssbb::*;
pub use push_stmdb::*;
pub use push_str_i::*;
pub use qadd::*;
pub use qadd16::*;
pub use qadd8::*;
pub use qasx::*;
pub use qdadd::*;
pub use qdsub::*;
pub use qsax::*;
pub use qsub::*;
pub use qsub16::*;
pub use qsub8::*;
pub use rbit::*;
pub use rev::*;
pub use rev16::*;
pub use revsh::*;
pub use rfe::*;
pub use ror_mov_r::*;
pub use ror_mov_rr::*;
pub use rors_mov_r::*;
pub use rors_mov_rr::*;
pub use rrx_mov_r::*;
pub use rrxs_mov_r::*;
pub use rsb_i::*;
pub use rsb_r::*;
pub use rsb_rr::*;
pub use rsc_i::*;
pub use rsc_r::*;
pub use rsc_rr::*;
pub use sadd16::*;
pub use sadd8::*;
pub use sasx::*;
pub use sb::*;
pub use sbc_i::*;
pub use sbc_r::*;
pub use sbc_rr::*;
pub use sbfx::*;
pub use sdiv::*;
pub use sel::*;
pub use setend::*;
pub use setpan::*;
pub use sev::*;
pub use sevl::*;
pub use shadd16::*;
pub use shadd8::*;
pub use shasx::*;
pub use shsax::*;
pub use shsub16::*;
pub use shsub8::*;
pub use smc::*;
pub use smlabb::*;
pub use smlad::*;
pub use smlal::*;
pub use smlalbb::*;
pub use smlald::*;
pub use smlawb::*;
pub use smlsd::*;
pub use smlsld::*;
pub use smmla::*;
pub use smmls::*;
pub use smmul::*;
pub use smuad::*;
pub use smulbb::*;
pub use smull::*;
pub use smulwb::*;
pub use smusd::*;
pub use srs::*;
pub use ssat::*;
pub use ssat16::*;
pub use ssax::*;
pub use ssbb::*;
pub use ssub16::*;
pub use ssub8::*;
pub use stc::*;
pub use stl::*;
pub use stlb::*;
pub use stlex::*;
pub use stlexb::*;
pub use stlexd::*;
pub use stlexh::*;
pub use stlh::*;
pub use stm::*;
pub use stm_u::*;
pub use stmda::*;
pub use stmdb::*;
pub use stmib::*;
pub use str_i::*;
pub use str_r::*;
pub use strb_i::*;
pub use strb_r::*;
pub use strbt::*;
pub use strd_i::*;
pub use strd_r::*;
pub use strex::*;
pub use strexb::*;
pub use strexd::*;
pub use strexh::*;
pub use strh_i::*;
pub use strh_r::*;
pub use strht::*;
pub use strt::*;
pub use sub_adr::*;
pub use sub_i::*;
pub use sub_r::*;
pub use sub_rr::*;
pub use sub_sp_i::*;
pub use sub_sp_r::*;
pub use svc::*;
pub use sxtab::*;
pub use sxtab16::*;
pub use sxtah::*;
pub use sxtb::*;
pub use sxtb16::*;
pub use sxth::*;
pub use teq_i::*;
pub use teq_r::*;
pub use teq_rr::*;
pub use tsb::*;
pub use tst_i::*;
pub use tst_r::*;
pub use tst_rr::*;
pub use uadd16::*;
pub use uadd8::*;
pub use uasx::*;
pub use ubfx::*;
pub use udf::*;
pub use udiv::*;
pub use uhadd16::*;
pub use uhadd8::*;
pub use uhasx::*;
pub use uhsax::*;
pub use uhsub16::*;
pub use uhsub8::*;
pub use umaal::*;
pub use umlal::*;
pub use umull::*;
pub use uqadd16::*;
pub use uqadd8::*;
pub use uqasx::*;
pub use uqsax::*;
pub use uqsub16::*;
pub use uqsub8::*;
pub use usad8::*;
pub use usada8::*;
pub use usat::*;
pub use usat16::*;
pub use usax::*;
pub use usub16::*;
pub use usub8::*;
pub use uxtab::*;
pub use uxtab16::*;
pub use uxtah::*;
pub use uxtb::*;
pub use uxtb16::*;
pub use uxth::*;
pub use wfe::*;
pub use wfi::*;
pub use r#yield::*;