@@ -9,112 +9,125 @@ Disassembly of section .text:
99 trap
1010
1111<Reset>:
12+ push {r7, lr}
13+ mov r7, sp
1214 movw r1, #0x0
1315 movw r0, #0x0
1416 movt r1, #0x2000
1517 movt r0, #0x2000
1618 subs r1, r1, r0
17- bl #0xe2
19+ bl #0x34
1820 movw r1, #0x0
1921 movw r0, #0x0
2022 movt r1, #0x2000
2123 movt r0, #0x2000
2224 subs r2, r1, r0
23- movw r1, #0x142
25+ movw r1, #0x16c
2426 movt r1, #0x0
2527 bl #0x8
26- bl #-0x3c
28+ bl #-0x40
2729 trap
2830
29- DefaultExceptionHandler :
30- b #-0x4 <DefaultExceptionHandler >
31+ <UsageFault> :
32+ b #-0x4 <UsageFault >
3133
32- UsageFault :
33- blo .w #0x2756a <_sidata+ 0x274ab >
34+ <__aeabi_memcpy> :
35+ b .w #0x10 <memcpy >
3436
35- __aeabi_memcpy:
37+ <__aeabi_memset>:
38+ mov r3, r1
39+ mov r1, r2
40+ mov r2, r3
41+ b.w #0x84 <memset>
42+
43+ <__aeabi_memclr>:
44+ movs r2, #0x0
45+ b.w #-0x10 <__aeabi_memset>
46+
47+ <memcpy>:
3648 push {r4, r5, r6, r7, lr}
37- cbz r2, #0x60
49+ add r7, sp, #0xc
50+ str r8, [sp, #-4 ]!
51+ cbz r2, #0x10
3852 subs r3, r2, #0x1
3953 and r12, r2, #0x3
4054 cmp r3, #0x3
41- bhs #0x8 <__aeabi_memcpy+ 0x18 >
55+ bhs #0xc <memcpy+ 0x22 >
4256 movs r2, #0x0
4357 cmp.w r12, #0x0
44- bne #0x32 <__aeabi_memcpy+0x4a >
45- b #0x4c <__aeabi_memcpy+0x66 >
46- sub.w lr, r12, r2
47- adds r3, r1, #0x1
48- adds r4, r0, #0x1
58+ bne #0x3e <memcpy+0x5c >
59+ ldr r8, [sp], #4
60+ pop {r4, r5, r6, r7, pc}
61+ bic r2, r2, #0x3
62+ add.w lr, r0, #0x1
63+ rsbs r4, r2, #0
64+ add.w r8, r1, #0x1
4965 mvn r2, #0x3
50- adds r6, r3, r2
51- adds r5, r4, r2
52- adds r2, #0x4
53- ldrb r7, [r6, #0x3 ]
54- strb r7, [r5, #0x3 ]
55- ldrb r7, [r6, #0x4 ]
56- strb r7, [r5, #0x4 ]
57- ldrb r7, [r6, #0x5 ]
58- strb r7, [r5, #0x5 ]
59- ldrb r6, [r6, #0x6 ]
60- strb r6, [r5, #0x6 ]
66+ add.w r6, r8, r2
6167 add.w r5, lr, r2
62- adds r5, #0x4
63- bne #-0x20 <__aeabi_memcpy+0x24 >
68+ adds r2, #0x4
69+ ldrb r3, [r6, #0x3 ]
70+ strb r3, [r5, #0x3 ]
71+ ldrb r3, [r6, #0x4 ]
72+ strb r3, [r5, #0x4 ]
73+ ldrb r3, [r6, #0x5 ]
74+ strb r3, [r5, #0x5 ]
75+ ldrb r3, [r6, #0x6 ]
76+ strb r3, [r5, #0x6 ]
77+ adds r3, r4, r2
78+ adds r3, #0x4
79+ bne #-0x22 <memcpy+0x34 >
6480 adds r2, #0x4
6581 cmp.w r12, #0x0
66- beq #0x1a <__aeabi_memcpy+ 0x66 >
82+ beq #- 0x42 <memcpy+ 0x1c >
6783 ldrb r3, [r1, r2]
6884 cmp.w r12, #0x1
6985 strb r3, [r0, r2]
70- beq #0x10 <__aeabi_memcpy+ 0x66 >
86+ beq #- 0x4c <memcpy+ 0x1c >
7187 adds r3, r2, #0x1
7288 cmp.w r12, #0x2
73- ldrb r7 , [r1, r3]
74- strb r7 , [r0, r3]
75- beq #0x4 <__aeabi_memcpy+ 0x66 >
89+ ldrb r6 , [r1, r3]
90+ strb r6 , [r0, r3]
91+ beq #- 0x58 <memcpy+ 0x1c >
7692 adds r2, #0x2
7793 ldrb r1, [r1, r2]
7894 strb r1, [r0, r2]
95+ ldr r8, [sp], #4
7996 pop {r4, r5, r6, r7, pc}
8097
81- __aeabi_memset:
82- push {r4, lr}
83- cmp r1, #0x0
84- it eq
85- popeq {r4, pc}
86- subs r3, r1, #0x1
87- and r12, r1, #0x3
98+ <memset>:
99+ push {r4, r6, r7, lr}
100+ add r7, sp, #0x8
101+ cbz r2, #0x3e
102+ subs r3, r2, #0x1
103+ and r12, r2, #0x3
88104 cmp r3, #0x3
89- bhs #0x2 <__aeabi_memset+0x16 >
90- movs r1, #0x0
91- b #0x1e <__aeabi_memset+0x36 >
92- sub.w lr, r12, r1
93- adds r1, r0, #0x1
94- mvn r3, #0x3
95- adds r4, r1, r3
96- adds r3, #0x4
97- strb r2, [r4, #0x6 ]
98- strb r2, [r4, #0x5 ]
99- strb r2, [r4, #0x4 ]
100- strb r2, [r4, #0x3 ]
101- add.w r4, lr, r3
105+ bhs #0x2 <memset+0x14 >
106+ movs r2, #0x0
107+ b #0x22 <memset+0x38 >
108+ bic r2, r2, #0x3
109+ add.w lr, r0, #0x1
110+ rsbs r3, r2, #0
111+ mvn r2, #0x3
112+ add.w r4, lr, r2
113+ adds r2, #0x4
114+ strb r1, [r4, #0x6 ]
115+ strb r1, [r4, #0x5 ]
116+ strb r1, [r4, #0x4 ]
117+ strb r1, [r4, #0x3 ]
118+ adds r4, r3, r2
102119 adds r4, #0x4
103- bne #-0x16 <__aeabi_memset+ 0x20 >
104- adds r1, r3 , #0x4
120+ bne #-0x16 <memset+ 0x22 >
121+ adds r2 , #0x4
105122 cmp.w r12, #0x0
106123 itt ne
107- strbne r2 , [r0, r1 ]
124+ strbne r1 , [r0, r2 ]
108125 cmpne.w r12, #0x1
109- bne #0x0 <__aeabi_memset+ 0x46 >
110- pop {r4, pc}
111- add r0, r1
126+ bne #0x0 <memset+ 0x48 >
127+ pop {r4, r6, r7, pc}
128+ add r2, r0
112129 cmp.w r12, #0x2
113- strb r2 , [r0 , #0x1 ]
130+ strb r1 , [r2 , #0x1 ]
114131 it ne
115- strbne r2, [r0, #0x2 ]
116- pop {r4, pc}
117-
118- __aeabi_memclr:
119- movs r2, #0x0
120- b.w #-0x5a <__aeabi_memset>
132+ strbne r1, [r2, #0x2 ]
133+ pop {r4, r6, r7, pc}
0 commit comments