1 EE001510 // mcr 5, 0, r1, c0, c0
2 E59E0000 // ldr r0, [r14]
3 E02DE190 // mla r13, r0, r1, r14 -- r13 := r0*r1 + r14
4 E1800001 // orr r0, r0, r1
6 E0012011 // and r2, r1, r1, lsl r0
7 E0013038 // and r3, r1, r8, lsr r0
8 E0014058 // and r4, r1, r8, asr r0
9 // test rotate vs shift
10 E0015031 // and r5, r1, r1, lsr r0
11 E0016071 // and r6, r1, r1, ror r0
12 // test arithmetic vs logical
13 E0012138 // and r2, r1, r8, lsr r1
14 E0013158 // and r3, r1, r8, lsr r1
16 E0014008 // and r4, r1, r8, lsl #0
17 E0015028 // and r5, r1, r8, lsr #32
18 E0016048 // and r6, r1, r8, asr #32
19 E0017068 // and r7, r1, r8, ror #32
20 // test constant rotate
21 E00120E1 // and r2, r1, r1, ror #1
22 E0013161 // and r3, r1, r1, ror #2
23 E00141E1 // and r4, r1, r1, ror #3
24 E0015261 // and r5, r1, r1, ror #4
25 E00162E1 // and r6, r1, r1, ror #5
26 E0017361 // and r7, r1, r1, ror #6
30 EA000001 // jump forward
31 EE001510 // mcr 5, 0, r1, c0, c0
32 EAFFFFFD // whirrr, skipped the first time