5 encode_thumb32_immediate
:
6 orr
r0, r1, #0x00000000
7 orr
r0, r1, #0x000000a5
8 orr
r0, r1, #0x00a500a5
9 orr
r0, r1, #0xa500a500
10 orr
r0, r1, #0xa5a5a5a5
12 orr
r0, r1, #0xa5 << 31
13 orr
r0, r1, #0xa5 << 30
14 orr
r0, r1, #0xa5 << 29
15 orr
r0, r1, #0xa5 << 28
16 orr
r0, r1, #0xa5 << 27
17 orr
r0, r1, #0xa5 << 26
18 orr
r0, r1, #0xa5 << 25
19 orr
r0, r1, #0xa5 << 24
20 orr
r0, r1, #0xa5 << 23
21 orr
r0, r1, #0xa5 << 22
22 orr
r0, r1, #0xa5 << 21
23 orr
r0, r1, #0xa5 << 20
24 orr
r0, r1, #0xa5 << 19
25 orr
r0, r1, #0xa5 << 18
26 orr
r0, r1, #0xa5 << 17
27 orr
r0, r1, #0xa5 << 16
28 orr
r0, r1, #0xa5 << 15
29 orr
r0, r1, #0xa5 << 14
30 orr
r0, r1, #0xa5 << 13
31 orr
r0, r1, #0xa5 << 12
32 orr
r0, r1, #0xa5 << 11
33 orr
r0, r1, #0xa5 << 10
34 orr
r0, r1, #0xa5 << 9
35 orr
r0, r1, #0xa5 << 8
36 orr
r0, r1, #0xa5 << 7
37 orr
r0, r1, #0xa5 << 6
38 orr
r0, r1, #0xa5 << 5
39 orr
r0, r1, #0xa5 << 4
40 orr
r0, r1, #0xa5 << 3
41 orr
r0, r1, #0xa5 << 2
42 orr
r0, r1, #0xa5 << 1
45 adds
r0, r0, #0 @ format 1
50 adds
r0, #129 @ format 2
54 adds
r0, r0, r0 @ format
3
64 add r8, r0, r0 @
... not this one
69 add r0, pc
, #0 @ format 5
73 add r0, sp
, #0 @ format 6
81 add.w
r0, r0, #0 @ T32 format 1
87 add.w
r0, r0, r0 @ T32 format
2
94 add.w
r8, r9, r10, lsl
#17
95 add.w
r8, r8, r10, lsr
#32
96 add.w
r8, r8, r10, lsr
#17
97 add.w
r8, r9, r10, asr
#32
98 add.w
r8, r9, r10, asr
#17
99 add.w
r8, r9, r10, rrx
100 add.w
r8, r9, r10, ror
#17
102 subs
r0, r0, #0 @ format 1
110 subs
r0, r0, r0 @ format
3
115 sub sp
, #260 @ format 4
118 subs
r8, r0 @ T32 format
2
120 subs
r0, #260 @ T32 format 1
123 .macro arit3 op ops opw opsw
135 \opw
r0, r1, r2, asr
#17
139 arit3 adc adcs adc.w adcs.w
140 arit3
and ands
and.w ands.w
141 arit3 bic bics bic.w bics.w
142 arit3 eor eors eor.w eors.w
143 arit3 orr orrs orr.w orrs.w
144 arit3 rsb rsbs rsb.w rsbs.w
145 arit3 sbc sbcs sbc.w sbcs.w
197 @
bl, blx have no short form.
278 .macro itx opc cond n
343 \op
r1, [r5, #-0x30]!
375 ldrd
r2, [r5, #-0x30]
378 strd
r2, [r5, #-0x30]
381 ldrbt
r1, [r5, #0x30]
383 ldrsbt
r1, [r5, #0x30]
385 ldrht
r1, [r5, #0x30]
387 ldrsht
r1, [r5, #0x30]
402 strexd
r1, r2, r3, [r4]
405 strex
r1, r2, [r4,#516]
408 ldmia
r0!, {r1,r2,r3}
410 ldmia.w
r2, {r0,r1,r2}
412 ldmia
r0, {r7,r8,r10}
413 ldmia
r0!, {r7,r8,r10}
415 stmia
r0!, {r1,r2,r3}
416 stmia
r2!, {r0,r1,r3}
417 stmia.w
r2!, {r0,r1,r3}
419 stmia
r0, {r7,r8,r10}
420 stmia
r0!, {r7,r8,r10}
422 ldmdb
r0, {r7,r8,r10}
423 stmdb
r0, {r7,r8,r10}
433 tst_teq_cmp_cmn_mov_mvn
:
434 .macro mt op ops opw opsw
447 mt tst tsts tst.w tsts.w
448 mt
teq teqs teq.w teqs.w
449 mt
cmp cmps cmp.w cmps.w
450 mt cmn cmns cmn.w cmns.w
451 mt mov movs mov.w movs.w
452 mt mvn mvns mvn.w mvns.w
516 pkhbt
r0, r0, r0, lsl
#0x14
517 pkhbt
r0, r0, r0, lsl
#3
519 pkhtb
r1, r2, r3, asr
#0x11
526 push
{r8,r9,r10,r11,r12}
527 pop
{r8,r9,r10,r11,r12}
586 .macro sh op ops opw opsw
587 \ops
r0, #17 @ 16-bit format 1
591 \ops
r0, r0 @
16-bit format
2
594 \op
r9, #17 @ 32-bit format 1
598 \opw
r0, r0, r0 @
32-bit format
2
606 sh lsl lsls lsl.w lsls.w
607 sh lsr lsrs lsr.w lsrs.w
608 sh asr asrs asr.w asrs.w
609 sh ror rors ror.w rors.w
618 smlabb
r0, r0, r0, r0
619 smlabb
r9, r0, r0, r0
620 smlabb
r0, r9, r0, r0
621 smlabb
r0, r0, r9, r0
622 smlabb
r0, r0, r0, r9
624 smlatb
r0, r0, r0, r0
625 smlabt
r0, r0, r0, r0
626 smlatt
r0, r0, r0, r0
627 smlawb
r0, r0, r0, r0
628 smlawt
r0, r0, r0, r0
630 smladx
r0, r0, r0, r0
632 smlsdx
r0, r0, r0, r0
634 smmlar
r0, r0, r0, r0
636 smmlsr
r0, r0, r0, r0
637 usada8
r0, r0, r0, r0
640 smlalbb
r0, r0, r0, r0
641 smlalbb
r9, r0, r0, r0
642 smlalbb
r0, r9, r0, r0
643 smlalbb
r0, r0, r9, r0
644 smlalbb
r0, r0, r0, r9
646 smlaltb
r0, r0, r0, r0
647 smlalbt
r0, r0, r0, r0
648 smlaltt
r0, r0, r0, r0
649 smlald
r0, r0, r0, r0
650 smlaldx
r0, r0, r0, r0
651 smlsld
r0, r0, r0, r0
652 smlsldx
r0, r0, r0, r0
676 ssat
r0, #1, r0, lsl #0
677 ssat
r0, #1, r0, asr #0
681 ssat
r0, #1, r0, lsl #0x1c
682 ssat
r0, #1, r0, asr #0x03
690 usat
r0, #0, r0, lsl #0
691 usat
r0, #0, r0, asr #0
695 usat
r0, #0, r0, lsl #0x1c
696 usat
r0, #0, r0, asr #0x03
726 sxtab
r0, r0, r0, ror
#0
727 sxtab
r9, r0, r0, ror
#8
728 sxtab
r0, r9, r0, ror
#16
729 sxtab
r0, r0, r9, ror
#24
740 \op
r1, [pc
, #-0x2aa]
741 \op
r1, [pc
, #-0x155]