0
|
1
|
|
2 _init: file format elf32-littlearm
|
|
3
|
|
4
|
|
5 Disassembly of section .text:
|
|
6
|
|
7 00000000 <main>:
|
|
8
|
|
9 char *argv[] = { "sh", 0 };
|
|
10
|
|
11 int
|
|
12 main(void)
|
|
13 {
|
|
14 0: e92d4800 push {fp, lr}
|
|
15 4: e1a0b00d mov fp, sp
|
|
16 8: e24dd038 sub sp, sp, #56 ; 0x38
|
|
17 c: e3a00000 mov r0, #0
|
|
18 10: e50b0004 str r0, [fp, #-4]
|
|
19 int pid, wpid;
|
|
20
|
|
21 if(open("console", O_RDWR) < 0){
|
|
22 14: e59f0138 ldr r0, [pc, #312] ; 154 <main+0x154>
|
|
23 18: e3a01002 mov r1, #2
|
|
24 1c: eb000214 bl 874 <open>
|
|
25 20: e3500000 cmp r0, #0
|
|
26 24: aa00000d bge 60 <main+0x60>
|
|
27 28: eaffffff b 2c <main+0x2c>
|
|
28 mknod("console", 1, 1);
|
|
29 2c: e59f0120 ldr r0, [pc, #288] ; 154 <main+0x154>
|
|
30 30: e3a01001 mov r1, #1
|
|
31 34: e50b0010 str r0, [fp, #-16]
|
|
32 38: e50b1014 str r1, [fp, #-20] ; 0xffffffec
|
|
33 3c: e51b2014 ldr r2, [fp, #-20] ; 0xffffffec
|
|
34 40: eb000214 bl 898 <mknod>
|
|
35 open("console", O_RDWR);
|
|
36 44: e3a01002 mov r1, #2
|
|
37 48: e51b2010 ldr r2, [fp, #-16]
|
|
38 4c: e50b0018 str r0, [fp, #-24] ; 0xffffffe8
|
|
39 50: e1a00002 mov r0, r2
|
|
40 54: eb000206 bl 874 <open>
|
|
41 }
|
|
42 58: e58d001c str r0, [sp, #28]
|
|
43 5c: eaffffff b 60 <main+0x60>
|
|
44 dup(0); // stdout
|
|
45 60: e3a00000 mov r0, #0
|
|
46 64: e58d0018 str r0, [sp, #24]
|
|
47 68: eb000240 bl 970 <dup>
|
|
48 dup(0); // stderr
|
|
49 6c: e59de018 ldr lr, [sp, #24]
|
|
50 70: e58d0014 str r0, [sp, #20]
|
|
51 74: e1a0000e mov r0, lr
|
|
52 78: eb00023c bl 970 <dup>
|
|
53
|
|
54 for(;;){
|
|
55 7c: e58d0010 str r0, [sp, #16]
|
|
56 80: eaffffff b 84 <main+0x84>
|
|
57 printf(1, "init: starting sh\n");
|
|
58 84: e59f10cc ldr r1, [pc, #204] ; 158 <main+0x158>
|
|
59 88: e3a00001 mov r0, #1
|
|
60 8c: eb000264 bl a24 <printf>
|
|
61 pid = fork();
|
|
62 90: eb0001a6 bl 730 <fork>
|
|
63 94: e50b0008 str r0, [fp, #-8]
|
|
64 if(pid < 0){
|
|
65 98: e51b0008 ldr r0, [fp, #-8]
|
|
66 9c: e3500000 cmp r0, #0
|
|
67 a0: aa000005 bge bc <main+0xbc>
|
|
68 a4: eaffffff b a8 <main+0xa8>
|
|
69 printf(1, "init: fork failed\n");
|
|
70 a8: e59f10bc ldr r1, [pc, #188] ; 16c <main+0x16c>
|
|
71 ac: e3a00001 mov r0, #1
|
|
72 b0: eb00025b bl a24 <printf>
|
|
73 exit();
|
|
74 b4: eb0001a6 bl 754 <exit>
|
|
75 b8: e58d000c str r0, [sp, #12]
|
|
76 }
|
|
77 if(pid == 0){
|
|
78 bc: e51b0008 ldr r0, [fp, #-8]
|
|
79 c0: e3500000 cmp r0, #0
|
|
80 c4: 1a00000a bne f4 <main+0xf4>
|
|
81 c8: eaffffff b cc <main+0xcc>
|
|
82 exec("sh", argv);
|
|
83 cc: e59f008c ldr r0, [pc, #140] ; 160 <main+0x160>
|
|
84 d0: e59f108c ldr r1, [pc, #140] ; 164 <main+0x164>
|
|
85 d4: eb0001dd bl 850 <exec>
|
|
86 printf(1, "init: exec sh failed\n");
|
|
87 d8: e59f1088 ldr r1, [pc, #136] ; 168 <main+0x168>
|
|
88 dc: e3a0e001 mov lr, #1
|
|
89 e0: e58d0008 str r0, [sp, #8]
|
|
90 e4: e1a0000e mov r0, lr
|
|
91 e8: eb00024d bl a24 <printf>
|
|
92 exit();
|
|
93 ec: eb000198 bl 754 <exit>
|
|
94 f0: e58d0004 str r0, [sp, #4]
|
|
95 }
|
|
96 while((wpid=wait()) >= 0 && wpid != pid)
|
|
97 f4: eaffffff b f8 <main+0xf8>
|
|
98 f8: eb00019e bl 778 <wait>
|
|
99 fc: e50b000c str r0, [fp, #-12]
|
|
100 100: e3a0e000 mov lr, #0
|
|
101 104: e3500000 cmp r0, #0
|
|
102 108: e58de000 str lr, [sp]
|
|
103 10c: ba000007 blt 130 <main+0x130>
|
|
104 110: eaffffff b 114 <main+0x114>
|
|
105 114: e51b000c ldr r0, [fp, #-12]
|
|
106 118: e51b1008 ldr r1, [fp, #-8]
|
|
107 11c: e3a02000 mov r2, #0
|
|
108 120: e1500001 cmp r0, r1
|
|
109 124: 13a02001 movne r2, #1
|
|
110 128: e58d2000 str r2, [sp]
|
|
111 12c: eaffffff b 130 <main+0x130>
|
|
112 130: e59d0000 ldr r0, [sp]
|
|
113 134: e3100001 tst r0, #1
|
|
114 138: 0a000004 beq 150 <main+0x150>
|
|
115 13c: eaffffff b 140 <main+0x140>
|
|
116 printf(1, "zombie!\n");
|
|
117 140: e59f1014 ldr r1, [pc, #20] ; 15c <main+0x15c>
|
|
118 144: e3a00001 mov r0, #1
|
|
119 148: eb000235 bl a24 <printf>
|
|
120 while((wpid=wait()) >= 0 && wpid != pid)
|
|
121 14c: eaffffe9 b f8 <main+0xf8>
|
|
122 for(;;){
|
|
123 150: eaffffcb b 84 <main+0x84>
|
|
124 154: 000012ef .word 0x000012ef
|
|
125 158: 000012f7 .word 0x000012f7
|
|
126 15c: 00001333 .word 0x00001333
|
|
127 160: 000012ec .word 0x000012ec
|
|
128 164: 0000134c .word 0x0000134c
|
|
129 168: 0000131d .word 0x0000131d
|
|
130 16c: 0000130a .word 0x0000130a
|
|
131
|
|
132 00000170 <strcpy>:
|
|
133 #include "fcntl.h"
|
|
134 #include "user.h"
|
|
135
|
|
136 char*
|
|
137 strcpy(char *s, char *t)
|
|
138 {
|
|
139 170: e24dd014 sub sp, sp, #20
|
|
140 174: e1a02001 mov r2, r1
|
|
141 178: e1a03000 mov r3, r0
|
|
142 17c: e58d0010 str r0, [sp, #16]
|
|
143 180: e58d100c str r1, [sp, #12]
|
|
144 184: e59d0010 ldr r0, [sp, #16]
|
|
145 188: e58d0008 str r0, [sp, #8]
|
|
146 18c: e58d2004 str r2, [sp, #4]
|
|
147 190: e58d3000 str r3, [sp]
|
|
148 194: eaffffff b 198 <strcpy+0x28>
|
|
149 198: e59d000c ldr r0, [sp, #12]
|
|
150 19c: e2801001 add r1, r0, #1
|
|
151 1a0: e58d100c str r1, [sp, #12]
|
|
152 1a4: e5d00000 ldrb r0, [r0]
|
|
153 1a8: e59d1010 ldr r1, [sp, #16]
|
|
154 1ac: e2812001 add r2, r1, #1
|
|
155 1b0: e58d2010 str r2, [sp, #16]
|
|
156 1b4: e5c10000 strb r0, [r1]
|
|
157 1b8: e3500000 cmp r0, #0
|
|
158 1bc: 0a000001 beq 1c8 <strcpy+0x58>
|
|
159 1c0: eaffffff b 1c4 <strcpy+0x54>
|
|
160 1c4: eafffff3 b 198 <strcpy+0x28>
|
|
161 1c8: e59d0008 ldr r0, [sp, #8]
|
|
162 1cc: e28dd014 add sp, sp, #20
|
|
163 1d0: e12fff1e bx lr
|
|
164
|
|
165 000001d4 <strcmp>:
|
|
166 1d4: e24dd014 sub sp, sp, #20
|
|
167 1d8: e1a02001 mov r2, r1
|
|
168 1dc: e1a03000 mov r3, r0
|
|
169 1e0: e58d0010 str r0, [sp, #16]
|
|
170 1e4: e58d100c str r1, [sp, #12]
|
|
171 1e8: e58d2008 str r2, [sp, #8]
|
|
172 1ec: e58d3004 str r3, [sp, #4]
|
|
173 1f0: eaffffff b 1f4 <strcmp+0x20>
|
|
174 1f4: e59d0010 ldr r0, [sp, #16]
|
|
175 1f8: e5d00000 ldrb r0, [r0]
|
|
176 1fc: e3a01000 mov r1, #0
|
|
177 200: e3500000 cmp r0, #0
|
|
178 204: e58d1000 str r1, [sp]
|
|
179 208: 0a000009 beq 234 <strcmp+0x60>
|
|
180 20c: eaffffff b 210 <strcmp+0x3c>
|
|
181 210: e59d0010 ldr r0, [sp, #16]
|
|
182 214: e5d00000 ldrb r0, [r0]
|
|
183 218: e59d100c ldr r1, [sp, #12]
|
|
184 21c: e5d11000 ldrb r1, [r1]
|
|
185 220: e3a02000 mov r2, #0
|
|
186 224: e1500001 cmp r0, r1
|
|
187 228: 03a02001 moveq r2, #1
|
|
188 22c: e58d2000 str r2, [sp]
|
|
189 230: eaffffff b 234 <strcmp+0x60>
|
|
190 234: e59d0000 ldr r0, [sp]
|
|
191 238: e3100001 tst r0, #1
|
|
192 23c: 0a000007 beq 260 <strcmp+0x8c>
|
|
193 240: eaffffff b 244 <strcmp+0x70>
|
|
194 244: e59d0010 ldr r0, [sp, #16]
|
|
195 248: e2800001 add r0, r0, #1
|
|
196 24c: e58d0010 str r0, [sp, #16]
|
|
197 250: e59d000c ldr r0, [sp, #12]
|
|
198 254: e2800001 add r0, r0, #1
|
|
199 258: e58d000c str r0, [sp, #12]
|
|
200 25c: eaffffe4 b 1f4 <strcmp+0x20>
|
|
201 260: e59d0010 ldr r0, [sp, #16]
|
|
202 264: e5d00000 ldrb r0, [r0]
|
|
203 268: e59d100c ldr r1, [sp, #12]
|
|
204 26c: e5d11000 ldrb r1, [r1]
|
|
205 270: e0400001 sub r0, r0, r1
|
|
206 274: e28dd014 add sp, sp, #20
|
|
207 278: e12fff1e bx lr
|
|
208
|
|
209 0000027c <strlen>:
|
|
210 27c: e24dd00c sub sp, sp, #12
|
|
211 280: e1a01000 mov r1, r0
|
|
212 284: e58d0008 str r0, [sp, #8]
|
|
213 288: e3a00000 mov r0, #0
|
|
214 28c: e58d0004 str r0, [sp, #4]
|
|
215 290: e58d1000 str r1, [sp]
|
|
216 294: eaffffff b 298 <strlen+0x1c>
|
|
217 298: e59d0008 ldr r0, [sp, #8]
|
|
218 29c: e59d1004 ldr r1, [sp, #4]
|
|
219 2a0: e7d00001 ldrb r0, [r0, r1]
|
|
220 2a4: e3500000 cmp r0, #0
|
|
221 2a8: 0a000005 beq 2c4 <strlen+0x48>
|
|
222 2ac: eaffffff b 2b0 <strlen+0x34>
|
|
223 2b0: eaffffff b 2b4 <strlen+0x38>
|
|
224 2b4: e59d0004 ldr r0, [sp, #4]
|
|
225 2b8: e2800001 add r0, r0, #1
|
|
226 2bc: e58d0004 str r0, [sp, #4]
|
|
227 2c0: eafffff4 b 298 <strlen+0x1c>
|
|
228 2c4: e59d0004 ldr r0, [sp, #4]
|
|
229 2c8: e28dd00c add sp, sp, #12
|
|
230 2cc: e12fff1e bx lr
|
|
231
|
|
232 000002d0 <memset>:
|
|
233 2d0: e92d4800 push {fp, lr}
|
|
234 2d4: e1a0b00d mov fp, sp
|
|
235 2d8: e24dd02c sub sp, sp, #44 ; 0x2c
|
|
236 2dc: e1a03002 mov r3, r2
|
|
237 2e0: e1a0c001 mov ip, r1
|
|
238 2e4: e1a0e000 mov lr, r0
|
|
239 2e8: e50b0004 str r0, [fp, #-4]
|
|
240 2ec: e50b1008 str r1, [fp, #-8]
|
|
241 2f0: e50b200c str r2, [fp, #-12]
|
|
242 2f4: e51b0004 ldr r0, [fp, #-4]
|
|
243 2f8: e50b0010 str r0, [fp, #-16]
|
|
244 2fc: e51b0008 ldr r0, [fp, #-8]
|
|
245 300: e54b0011 strb r0, [fp, #-17] ; 0xffffffef
|
|
246 304: e55b0011 ldrb r0, [fp, #-17] ; 0xffffffef
|
|
247 308: e1a01c00 lsl r1, r0, #24
|
|
248 30c: e1811800 orr r1, r1, r0, lsl #16
|
|
249 310: e1811400 orr r1, r1, r0, lsl #8
|
|
250 314: e1810000 orr r0, r1, r0
|
|
251 318: e58d0014 str r0, [sp, #20]
|
|
252 31c: e58d300c str r3, [sp, #12]
|
|
253 320: e58dc008 str ip, [sp, #8]
|
|
254 324: e58de004 str lr, [sp, #4]
|
|
255 328: eaffffff b 32c <memset+0x5c>
|
|
256 32c: e51b000c ldr r0, [fp, #-12]
|
|
257 330: e3a01000 mov r1, #0
|
|
258 334: e3500000 cmp r0, #0
|
|
259 338: e58d1000 str r1, [sp]
|
|
260 33c: 0a000006 beq 35c <memset+0x8c>
|
|
261 340: eaffffff b 344 <memset+0x74>
|
|
262 344: e55b0010 ldrb r0, [fp, #-16]
|
|
263 348: e2000003 and r0, r0, #3
|
|
264 34c: e3500000 cmp r0, #0
|
|
265 350: 13a00001 movne r0, #1
|
|
266 354: e58d0000 str r0, [sp]
|
|
267 358: eaffffff b 35c <memset+0x8c>
|
|
268 35c: e59d0000 ldr r0, [sp]
|
|
269 360: e3100001 tst r0, #1
|
|
270 364: 0a00000b beq 398 <memset+0xc8>
|
|
271 368: eaffffff b 36c <memset+0x9c>
|
|
272 36c: e55b0011 ldrb r0, [fp, #-17] ; 0xffffffef
|
|
273 370: e51b1010 ldr r1, [fp, #-16]
|
|
274 374: e5c10000 strb r0, [r1]
|
|
275 378: eaffffff b 37c <memset+0xac>
|
|
276 37c: e51b000c ldr r0, [fp, #-12]
|
|
277 380: e2400001 sub r0, r0, #1
|
|
278 384: e50b000c str r0, [fp, #-12]
|
|
279 388: e51b0010 ldr r0, [fp, #-16]
|
|
280 38c: e2800001 add r0, r0, #1
|
|
281 390: e50b0010 str r0, [fp, #-16]
|
|
282 394: eaffffe4 b 32c <memset+0x5c>
|
|
283 398: e51b0010 ldr r0, [fp, #-16]
|
|
284 39c: e58d0010 str r0, [sp, #16]
|
|
285 3a0: eaffffff b 3a4 <memset+0xd4>
|
|
286 3a4: e51b000c ldr r0, [fp, #-12]
|
|
287 3a8: e3500004 cmp r0, #4
|
|
288 3ac: 3a00000b bcc 3e0 <memset+0x110>
|
|
289 3b0: eaffffff b 3b4 <memset+0xe4>
|
|
290 3b4: e59d0014 ldr r0, [sp, #20]
|
|
291 3b8: e59d1010 ldr r1, [sp, #16]
|
|
292 3bc: e5810000 str r0, [r1]
|
|
293 3c0: eaffffff b 3c4 <memset+0xf4>
|
|
294 3c4: e51b000c ldr r0, [fp, #-12]
|
|
295 3c8: e2400004 sub r0, r0, #4
|
|
296 3cc: e50b000c str r0, [fp, #-12]
|
|
297 3d0: e59d0010 ldr r0, [sp, #16]
|
|
298 3d4: e2800004 add r0, r0, #4
|
|
299 3d8: e58d0010 str r0, [sp, #16]
|
|
300 3dc: eafffff0 b 3a4 <memset+0xd4>
|
|
301 3e0: e59d0010 ldr r0, [sp, #16]
|
|
302 3e4: e50b0010 str r0, [fp, #-16]
|
|
303 3e8: eaffffff b 3ec <memset+0x11c>
|
|
304 3ec: e51b000c ldr r0, [fp, #-12]
|
|
305 3f0: e3500000 cmp r0, #0
|
|
306 3f4: 0a00000b beq 428 <memset+0x158>
|
|
307 3f8: eaffffff b 3fc <memset+0x12c>
|
|
308 3fc: e55b0011 ldrb r0, [fp, #-17] ; 0xffffffef
|
|
309 400: e51b1010 ldr r1, [fp, #-16]
|
|
310 404: e5c10000 strb r0, [r1]
|
|
311 408: eaffffff b 40c <memset+0x13c>
|
|
312 40c: e51b000c ldr r0, [fp, #-12]
|
|
313 410: e2400001 sub r0, r0, #1
|
|
314 414: e50b000c str r0, [fp, #-12]
|
|
315 418: e51b0010 ldr r0, [fp, #-16]
|
|
316 41c: e2800001 add r0, r0, #1
|
|
317 420: e50b0010 str r0, [fp, #-16]
|
|
318 424: eafffff0 b 3ec <memset+0x11c>
|
|
319 428: e51b0004 ldr r0, [fp, #-4]
|
|
320 42c: e1a0d00b mov sp, fp
|
|
321 430: e8bd8800 pop {fp, pc}
|
|
322
|
|
323 00000434 <strchr>:
|
|
324 434: e24dd014 sub sp, sp, #20
|
|
325 438: e1a02001 mov r2, r1
|
|
326 43c: e1a03000 mov r3, r0
|
|
327 440: e58d000c str r0, [sp, #12]
|
|
328 444: e5cd100b strb r1, [sp, #11]
|
|
329 448: e58d2004 str r2, [sp, #4]
|
|
330 44c: e58d3000 str r3, [sp]
|
|
331 450: eaffffff b 454 <strchr+0x20>
|
|
332 454: e59d000c ldr r0, [sp, #12]
|
|
333 458: e5d00000 ldrb r0, [r0]
|
|
334 45c: e3500000 cmp r0, #0
|
|
335 460: 0a00000e beq 4a0 <strchr+0x6c>
|
|
336 464: eaffffff b 468 <strchr+0x34>
|
|
337 468: e59d000c ldr r0, [sp, #12]
|
|
338 46c: e5d00000 ldrb r0, [r0]
|
|
339 470: e5dd100b ldrb r1, [sp, #11]
|
|
340 474: e1500001 cmp r0, r1
|
|
341 478: 1a000003 bne 48c <strchr+0x58>
|
|
342 47c: eaffffff b 480 <strchr+0x4c>
|
|
343 480: e59d000c ldr r0, [sp, #12]
|
|
344 484: e58d0010 str r0, [sp, #16]
|
|
345 488: ea000007 b 4ac <strchr+0x78>
|
|
346 48c: eaffffff b 490 <strchr+0x5c>
|
|
347 490: e59d000c ldr r0, [sp, #12]
|
|
348 494: e2800001 add r0, r0, #1
|
|
349 498: e58d000c str r0, [sp, #12]
|
|
350 49c: eaffffec b 454 <strchr+0x20>
|
|
351 4a0: e3a00000 mov r0, #0
|
|
352 4a4: e58d0010 str r0, [sp, #16]
|
|
353 4a8: eaffffff b 4ac <strchr+0x78>
|
|
354 4ac: e59d0010 ldr r0, [sp, #16]
|
|
355 4b0: e28dd014 add sp, sp, #20
|
|
356 4b4: e12fff1e bx lr
|
|
357
|
|
358 000004b8 <gets>:
|
|
359 4b8: e92d4800 push {fp, lr}
|
|
360 4bc: e1a0b00d mov fp, sp
|
|
361 4c0: e24dd020 sub sp, sp, #32
|
|
362 4c4: e1a02001 mov r2, r1
|
|
363 4c8: e1a03000 mov r3, r0
|
|
364 4cc: e50b0004 str r0, [fp, #-4]
|
|
365 4d0: e50b1008 str r1, [fp, #-8]
|
|
366 4d4: e3a00000 mov r0, #0
|
|
367 4d8: e50b000c str r0, [fp, #-12]
|
|
368 4dc: e58d2008 str r2, [sp, #8]
|
|
369 4e0: e58d3004 str r3, [sp, #4]
|
|
370 4e4: eaffffff b 4e8 <gets+0x30>
|
|
371 4e8: e51b000c ldr r0, [fp, #-12]
|
|
372 4ec: e2800001 add r0, r0, #1
|
|
373 4f0: e51b1008 ldr r1, [fp, #-8]
|
|
374 4f4: e1500001 cmp r0, r1
|
|
375 4f8: aa00001a bge 568 <gets+0xb0>
|
|
376 4fc: eaffffff b 500 <gets+0x48>
|
|
377 500: e3a00000 mov r0, #0
|
|
378 504: e28d100f add r1, sp, #15
|
|
379 508: e3a02001 mov r2, #1
|
|
380 50c: eb0000ab bl 7c0 <read>
|
|
381 510: e58d0010 str r0, [sp, #16]
|
|
382 514: e59d0010 ldr r0, [sp, #16]
|
|
383 518: e3500000 cmp r0, #0
|
|
384 51c: ca000001 bgt 528 <gets+0x70>
|
|
385 520: eaffffff b 524 <gets+0x6c>
|
|
386 524: ea00000f b 568 <gets+0xb0>
|
|
387 528: e5dd000f ldrb r0, [sp, #15]
|
|
388 52c: e51b1004 ldr r1, [fp, #-4]
|
|
389 530: e51b200c ldr r2, [fp, #-12]
|
|
390 534: e2823001 add r3, r2, #1
|
|
391 538: e50b300c str r3, [fp, #-12]
|
|
392 53c: e7c10002 strb r0, [r1, r2]
|
|
393 540: e5dd000f ldrb r0, [sp, #15]
|
|
394 544: e350000a cmp r0, #10
|
|
395 548: 0a000004 beq 560 <gets+0xa8>
|
|
396 54c: eaffffff b 550 <gets+0x98>
|
|
397 550: e5dd000f ldrb r0, [sp, #15]
|
|
398 554: e350000d cmp r0, #13
|
|
399 558: 1a000001 bne 564 <gets+0xac>
|
|
400 55c: eaffffff b 560 <gets+0xa8>
|
|
401 560: ea000000 b 568 <gets+0xb0>
|
|
402 564: eaffffdf b 4e8 <gets+0x30>
|
|
403 568: e51b0004 ldr r0, [fp, #-4]
|
|
404 56c: e51b100c ldr r1, [fp, #-12]
|
|
405 570: e3a02000 mov r2, #0
|
|
406 574: e7c02001 strb r2, [r0, r1]
|
|
407 578: e51b0004 ldr r0, [fp, #-4]
|
|
408 57c: e1a0d00b mov sp, fp
|
|
409 580: e8bd8800 pop {fp, pc}
|
|
410
|
|
411 00000584 <stat>:
|
|
412 584: e92d4800 push {fp, lr}
|
|
413 588: e1a0b00d mov fp, sp
|
|
414 58c: e24dd020 sub sp, sp, #32
|
|
415 590: e1a02001 mov r2, r1
|
|
416 594: e1a03000 mov r3, r0
|
|
417 598: e50b0008 str r0, [fp, #-8]
|
|
418 59c: e50b100c str r1, [fp, #-12]
|
|
419 5a0: e51b0008 ldr r0, [fp, #-8]
|
|
420 5a4: e3a01000 mov r1, #0
|
|
421 5a8: e58d2008 str r2, [sp, #8]
|
|
422 5ac: e58d3004 str r3, [sp, #4]
|
|
423 5b0: eb0000af bl 874 <open>
|
|
424 5b4: e58d0010 str r0, [sp, #16]
|
|
425 5b8: e59d0010 ldr r0, [sp, #16]
|
|
426 5bc: e3500000 cmp r0, #0
|
|
427 5c0: aa000003 bge 5d4 <stat+0x50>
|
|
428 5c4: eaffffff b 5c8 <stat+0x44>
|
|
429 5c8: e3e00000 mvn r0, #0
|
|
430 5cc: e50b0004 str r0, [fp, #-4]
|
|
431 5d0: ea000009 b 5fc <stat+0x78>
|
|
432 5d4: e59d0010 ldr r0, [sp, #16]
|
|
433 5d8: e51b100c ldr r1, [fp, #-12]
|
|
434 5dc: eb0000bf bl 8e0 <fstat>
|
|
435 5e0: e58d000c str r0, [sp, #12]
|
|
436 5e4: e59d0010 ldr r0, [sp, #16]
|
|
437 5e8: eb000086 bl 808 <close>
|
|
438 5ec: e59d100c ldr r1, [sp, #12]
|
|
439 5f0: e50b1004 str r1, [fp, #-4]
|
|
440 5f4: e58d0000 str r0, [sp]
|
|
441 5f8: eaffffff b 5fc <stat+0x78>
|
|
442 5fc: e51b0004 ldr r0, [fp, #-4]
|
|
443 600: e1a0d00b mov sp, fp
|
|
444 604: e8bd8800 pop {fp, pc}
|
|
445
|
|
446 00000608 <atoi>:
|
|
447 608: e24dd010 sub sp, sp, #16
|
|
448 60c: e1a01000 mov r1, r0
|
|
449 610: e58d000c str r0, [sp, #12]
|
|
450 614: e3a00000 mov r0, #0
|
|
451 618: e58d0008 str r0, [sp, #8]
|
|
452 61c: e58d1004 str r1, [sp, #4]
|
|
453 620: eaffffff b 624 <atoi+0x1c>
|
|
454 624: e59d000c ldr r0, [sp, #12]
|
|
455 628: e5d00000 ldrb r0, [r0]
|
|
456 62c: e3a01000 mov r1, #0
|
|
457 630: e3500030 cmp r0, #48 ; 0x30
|
|
458 634: e58d1000 str r1, [sp]
|
|
459 638: ba000007 blt 65c <atoi+0x54>
|
|
460 63c: eaffffff b 640 <atoi+0x38>
|
|
461 640: e59d000c ldr r0, [sp, #12]
|
|
462 644: e5d00000 ldrb r0, [r0]
|
|
463 648: e3a01000 mov r1, #0
|
|
464 64c: e350003a cmp r0, #58 ; 0x3a
|
|
465 650: b3a01001 movlt r1, #1
|
|
466 654: e58d1000 str r1, [sp]
|
|
467 658: eaffffff b 65c <atoi+0x54>
|
|
468 65c: e59d0000 ldr r0, [sp]
|
|
469 660: e3100001 tst r0, #1
|
|
470 664: 0a00000a beq 694 <atoi+0x8c>
|
|
471 668: eaffffff b 66c <atoi+0x64>
|
|
472 66c: e59d0008 ldr r0, [sp, #8]
|
|
473 670: e0800100 add r0, r0, r0, lsl #2
|
|
474 674: e59d100c ldr r1, [sp, #12]
|
|
475 678: e2812001 add r2, r1, #1
|
|
476 67c: e58d200c str r2, [sp, #12]
|
|
477 680: e5d11000 ldrb r1, [r1]
|
|
478 684: e0810080 add r0, r1, r0, lsl #1
|
|
479 688: e2400030 sub r0, r0, #48 ; 0x30
|
|
480 68c: e58d0008 str r0, [sp, #8]
|
|
481 690: eaffffe3 b 624 <atoi+0x1c>
|
|
482 694: e59d0008 ldr r0, [sp, #8]
|
|
483 698: e28dd010 add sp, sp, #16
|
|
484 69c: e12fff1e bx lr
|
|
485
|
|
486 000006a0 <memmove>:
|
|
487 6a0: e92d4800 push {fp, lr}
|
|
488 6a4: e1a0b00d mov fp, sp
|
|
489 6a8: e24dd020 sub sp, sp, #32
|
|
490 6ac: e1a03002 mov r3, r2
|
|
491 6b0: e1a0c001 mov ip, r1
|
|
492 6b4: e1a0e000 mov lr, r0
|
|
493 6b8: e50b0004 str r0, [fp, #-4]
|
|
494 6bc: e50b1008 str r1, [fp, #-8]
|
|
495 6c0: e50b200c str r2, [fp, #-12]
|
|
496 6c4: e51b0004 ldr r0, [fp, #-4]
|
|
497 6c8: e58d0010 str r0, [sp, #16]
|
|
498 6cc: e51b0008 ldr r0, [fp, #-8]
|
|
499 6d0: e58d000c str r0, [sp, #12]
|
|
500 6d4: e58d3008 str r3, [sp, #8]
|
|
501 6d8: e58dc004 str ip, [sp, #4]
|
|
502 6dc: e58de000 str lr, [sp]
|
|
503 6e0: eaffffff b 6e4 <memmove+0x44>
|
|
504 6e4: e51b000c ldr r0, [fp, #-12]
|
|
505 6e8: e2401001 sub r1, r0, #1
|
|
506 6ec: e50b100c str r1, [fp, #-12]
|
|
507 6f0: e3500001 cmp r0, #1
|
|
508 6f4: ba000009 blt 720 <memmove+0x80>
|
|
509 6f8: eaffffff b 6fc <memmove+0x5c>
|
|
510 6fc: e59d000c ldr r0, [sp, #12]
|
|
511 700: e2801001 add r1, r0, #1
|
|
512 704: e58d100c str r1, [sp, #12]
|
|
513 708: e5d00000 ldrb r0, [r0]
|
|
514 70c: e59d1010 ldr r1, [sp, #16]
|
|
515 710: e2812001 add r2, r1, #1
|
|
516 714: e58d2010 str r2, [sp, #16]
|
|
517 718: e5c10000 strb r0, [r1]
|
|
518 71c: eafffff0 b 6e4 <memmove+0x44>
|
|
519 720: e51b0004 ldr r0, [fp, #-4]
|
|
520 724: e1a0d00b mov sp, fp
|
|
521 728: e8bd8800 pop {fp, pc}
|
|
522
|
|
523 0000072c <raise>:
|
|
524 return vdst;
|
|
525 }
|
|
526
|
|
527 void
|
|
528 raise()
|
|
529 {}
|
|
530 72c: e12fff1e bx lr
|
|
531
|
|
532 00000730 <fork>:
|
|
533 730: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
534 734: e1a04003 mov r4, r3
|
|
535 738: e1a03002 mov r3, r2
|
|
536 73c: e1a02001 mov r2, r1
|
|
537 740: e1a01000 mov r1, r0
|
|
538 744: e3a00001 mov r0, #1
|
|
539 748: ef000000 svc 0x00000000
|
|
540 74c: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
541 750: e12fff1e bx lr
|
|
542
|
|
543 00000754 <exit>:
|
|
544 754: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
545 758: e1a04003 mov r4, r3
|
|
546 75c: e1a03002 mov r3, r2
|
|
547 760: e1a02001 mov r2, r1
|
|
548 764: e1a01000 mov r1, r0
|
|
549 768: e3a00002 mov r0, #2
|
|
550 76c: ef000000 svc 0x00000000
|
|
551 770: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
552 774: e12fff1e bx lr
|
|
553
|
|
554 00000778 <wait>:
|
|
555 778: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
556 77c: e1a04003 mov r4, r3
|
|
557 780: e1a03002 mov r3, r2
|
|
558 784: e1a02001 mov r2, r1
|
|
559 788: e1a01000 mov r1, r0
|
|
560 78c: e3a00003 mov r0, #3
|
|
561 790: ef000000 svc 0x00000000
|
|
562 794: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
563 798: e12fff1e bx lr
|
|
564
|
|
565 0000079c <pipe>:
|
|
566 79c: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
567 7a0: e1a04003 mov r4, r3
|
|
568 7a4: e1a03002 mov r3, r2
|
|
569 7a8: e1a02001 mov r2, r1
|
|
570 7ac: e1a01000 mov r1, r0
|
|
571 7b0: e3a00004 mov r0, #4
|
|
572 7b4: ef000000 svc 0x00000000
|
|
573 7b8: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
574 7bc: e12fff1e bx lr
|
|
575
|
|
576 000007c0 <read>:
|
|
577 7c0: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
578 7c4: e1a04003 mov r4, r3
|
|
579 7c8: e1a03002 mov r3, r2
|
|
580 7cc: e1a02001 mov r2, r1
|
|
581 7d0: e1a01000 mov r1, r0
|
|
582 7d4: e3a00005 mov r0, #5
|
|
583 7d8: ef000000 svc 0x00000000
|
|
584 7dc: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
585 7e0: e12fff1e bx lr
|
|
586
|
|
587 000007e4 <write>:
|
|
588 7e4: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
589 7e8: e1a04003 mov r4, r3
|
|
590 7ec: e1a03002 mov r3, r2
|
|
591 7f0: e1a02001 mov r2, r1
|
|
592 7f4: e1a01000 mov r1, r0
|
|
593 7f8: e3a00010 mov r0, #16
|
|
594 7fc: ef000000 svc 0x00000000
|
|
595 800: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
596 804: e12fff1e bx lr
|
|
597
|
|
598 00000808 <close>:
|
|
599 808: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
600 80c: e1a04003 mov r4, r3
|
|
601 810: e1a03002 mov r3, r2
|
|
602 814: e1a02001 mov r2, r1
|
|
603 818: e1a01000 mov r1, r0
|
|
604 81c: e3a00015 mov r0, #21
|
|
605 820: ef000000 svc 0x00000000
|
|
606 824: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
607 828: e12fff1e bx lr
|
|
608
|
|
609 0000082c <kill>:
|
|
610 82c: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
611 830: e1a04003 mov r4, r3
|
|
612 834: e1a03002 mov r3, r2
|
|
613 838: e1a02001 mov r2, r1
|
|
614 83c: e1a01000 mov r1, r0
|
|
615 840: e3a00006 mov r0, #6
|
|
616 844: ef000000 svc 0x00000000
|
|
617 848: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
618 84c: e12fff1e bx lr
|
|
619
|
|
620 00000850 <exec>:
|
|
621 850: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
622 854: e1a04003 mov r4, r3
|
|
623 858: e1a03002 mov r3, r2
|
|
624 85c: e1a02001 mov r2, r1
|
|
625 860: e1a01000 mov r1, r0
|
|
626 864: e3a00007 mov r0, #7
|
|
627 868: ef000000 svc 0x00000000
|
|
628 86c: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
629 870: e12fff1e bx lr
|
|
630
|
|
631 00000874 <open>:
|
|
632 874: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
633 878: e1a04003 mov r4, r3
|
|
634 87c: e1a03002 mov r3, r2
|
|
635 880: e1a02001 mov r2, r1
|
|
636 884: e1a01000 mov r1, r0
|
|
637 888: e3a0000f mov r0, #15
|
|
638 88c: ef000000 svc 0x00000000
|
|
639 890: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
640 894: e12fff1e bx lr
|
|
641
|
|
642 00000898 <mknod>:
|
|
643 898: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
644 89c: e1a04003 mov r4, r3
|
|
645 8a0: e1a03002 mov r3, r2
|
|
646 8a4: e1a02001 mov r2, r1
|
|
647 8a8: e1a01000 mov r1, r0
|
|
648 8ac: e3a00011 mov r0, #17
|
|
649 8b0: ef000000 svc 0x00000000
|
|
650 8b4: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
651 8b8: e12fff1e bx lr
|
|
652
|
|
653 000008bc <unlink>:
|
|
654 8bc: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
655 8c0: e1a04003 mov r4, r3
|
|
656 8c4: e1a03002 mov r3, r2
|
|
657 8c8: e1a02001 mov r2, r1
|
|
658 8cc: e1a01000 mov r1, r0
|
|
659 8d0: e3a00012 mov r0, #18
|
|
660 8d4: ef000000 svc 0x00000000
|
|
661 8d8: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
662 8dc: e12fff1e bx lr
|
|
663
|
|
664 000008e0 <fstat>:
|
|
665 8e0: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
666 8e4: e1a04003 mov r4, r3
|
|
667 8e8: e1a03002 mov r3, r2
|
|
668 8ec: e1a02001 mov r2, r1
|
|
669 8f0: e1a01000 mov r1, r0
|
|
670 8f4: e3a00008 mov r0, #8
|
|
671 8f8: ef000000 svc 0x00000000
|
|
672 8fc: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
673 900: e12fff1e bx lr
|
|
674
|
|
675 00000904 <link>:
|
|
676 904: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
677 908: e1a04003 mov r4, r3
|
|
678 90c: e1a03002 mov r3, r2
|
|
679 910: e1a02001 mov r2, r1
|
|
680 914: e1a01000 mov r1, r0
|
|
681 918: e3a00013 mov r0, #19
|
|
682 91c: ef000000 svc 0x00000000
|
|
683 920: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
684 924: e12fff1e bx lr
|
|
685
|
|
686 00000928 <mkdir>:
|
|
687 928: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
688 92c: e1a04003 mov r4, r3
|
|
689 930: e1a03002 mov r3, r2
|
|
690 934: e1a02001 mov r2, r1
|
|
691 938: e1a01000 mov r1, r0
|
|
692 93c: e3a00014 mov r0, #20
|
|
693 940: ef000000 svc 0x00000000
|
|
694 944: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
695 948: e12fff1e bx lr
|
|
696
|
|
697 0000094c <chdir>:
|
|
698 94c: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
699 950: e1a04003 mov r4, r3
|
|
700 954: e1a03002 mov r3, r2
|
|
701 958: e1a02001 mov r2, r1
|
|
702 95c: e1a01000 mov r1, r0
|
|
703 960: e3a00009 mov r0, #9
|
|
704 964: ef000000 svc 0x00000000
|
|
705 968: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
706 96c: e12fff1e bx lr
|
|
707
|
|
708 00000970 <dup>:
|
|
709 970: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
710 974: e1a04003 mov r4, r3
|
|
711 978: e1a03002 mov r3, r2
|
|
712 97c: e1a02001 mov r2, r1
|
|
713 980: e1a01000 mov r1, r0
|
|
714 984: e3a0000a mov r0, #10
|
|
715 988: ef000000 svc 0x00000000
|
|
716 98c: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
717 990: e12fff1e bx lr
|
|
718
|
|
719 00000994 <getpid>:
|
|
720 994: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
721 998: e1a04003 mov r4, r3
|
|
722 99c: e1a03002 mov r3, r2
|
|
723 9a0: e1a02001 mov r2, r1
|
|
724 9a4: e1a01000 mov r1, r0
|
|
725 9a8: e3a0000b mov r0, #11
|
|
726 9ac: ef000000 svc 0x00000000
|
|
727 9b0: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
728 9b4: e12fff1e bx lr
|
|
729
|
|
730 000009b8 <sbrk>:
|
|
731 9b8: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
732 9bc: e1a04003 mov r4, r3
|
|
733 9c0: e1a03002 mov r3, r2
|
|
734 9c4: e1a02001 mov r2, r1
|
|
735 9c8: e1a01000 mov r1, r0
|
|
736 9cc: e3a0000c mov r0, #12
|
|
737 9d0: ef000000 svc 0x00000000
|
|
738 9d4: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
739 9d8: e12fff1e bx lr
|
|
740
|
|
741 000009dc <sleep>:
|
|
742 9dc: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
743 9e0: e1a04003 mov r4, r3
|
|
744 9e4: e1a03002 mov r3, r2
|
|
745 9e8: e1a02001 mov r2, r1
|
|
746 9ec: e1a01000 mov r1, r0
|
|
747 9f0: e3a0000d mov r0, #13
|
|
748 9f4: ef000000 svc 0x00000000
|
|
749 9f8: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
750 9fc: e12fff1e bx lr
|
|
751
|
|
752 00000a00 <uptime>:
|
|
753 a00: e52d4004 push {r4} ; (str r4, [sp, #-4]!)
|
|
754 a04: e1a04003 mov r4, r3
|
|
755 a08: e1a03002 mov r3, r2
|
|
756 a0c: e1a02001 mov r2, r1
|
|
757 a10: e1a01000 mov r1, r0
|
|
758 a14: e3a0000e mov r0, #14
|
|
759 a18: ef000000 svc 0x00000000
|
|
760 a1c: e49d4004 pop {r4} ; (ldr r4, [sp], #4)
|
|
761 a20: e12fff1e bx lr
|
|
762
|
|
763 00000a24 <printf>:
|
|
764 }
|
|
765
|
|
766 // Print to the given fd. Only understands %d, %x, %p, %s.
|
|
767 void
|
|
768 printf(int fd, char *fmt, ...)
|
|
769 {
|
|
770 a24: e92d4800 push {fp, lr}
|
|
771 a28: e1a0b00d mov fp, sp
|
|
772 a2c: e24dd028 sub sp, sp, #40 ; 0x28
|
|
773 a30: e1a02001 mov r2, r1
|
|
774 a34: e1a03000 mov r3, r0
|
|
775 a38: e50b0004 str r0, [fp, #-4]
|
|
776 a3c: e50b1008 str r1, [fp, #-8]
|
|
777 a40: e3a00000 mov r0, #0
|
|
778 a44: e58d0010 str r0, [sp, #16]
|
|
779 a48: e24b1008 sub r1, fp, #8
|
|
780 a4c: e2811004 add r1, r1, #4
|
|
781 a50: e58d100c str r1, [sp, #12]
|
|
782 a54: e58d0014 str r0, [sp, #20]
|
|
783 a58: e58d2008 str r2, [sp, #8]
|
|
784 a5c: e58d3004 str r3, [sp, #4]
|
|
785 a60: eaffffff b a64 <printf+0x40>
|
|
786 a64: e51b0008 ldr r0, [fp, #-8]
|
|
787 a68: e59d1014 ldr r1, [sp, #20]
|
|
788 a6c: e7d00001 ldrb r0, [r0, r1]
|
|
789 a70: e3500000 cmp r0, #0
|
|
790 a74: 0a00007e beq c74 <printf+0x250>
|
|
791 a78: eaffffff b a7c <printf+0x58>
|
|
792 a7c: e51b0008 ldr r0, [fp, #-8]
|
|
793 a80: e59d1014 ldr r1, [sp, #20]
|
|
794 a84: e7d00001 ldrb r0, [r0, r1]
|
|
795 a88: e50b0010 str r0, [fp, #-16]
|
|
796 a8c: e59d0010 ldr r0, [sp, #16]
|
|
797 a90: e3500000 cmp r0, #0
|
|
798 a94: 1a00000c bne acc <printf+0xa8>
|
|
799 a98: eaffffff b a9c <printf+0x78>
|
|
800 a9c: e51b0010 ldr r0, [fp, #-16]
|
|
801 aa0: e3500025 cmp r0, #37 ; 0x25
|
|
802 aa4: 1a000003 bne ab8 <printf+0x94>
|
|
803 aa8: eaffffff b aac <printf+0x88>
|
|
804 aac: e3a00025 mov r0, #37 ; 0x25
|
|
805 ab0: e58d0010 str r0, [sp, #16]
|
|
806 ab4: ea000003 b ac8 <printf+0xa4>
|
|
807 ab8: e51b0004 ldr r0, [fp, #-4]
|
|
808 abc: e55b1010 ldrb r1, [fp, #-16]
|
|
809 ac0: eb00006e bl c80 <putc>
|
|
810 ac4: eaffffff b ac8 <printf+0xa4>
|
|
811 ac8: ea000064 b c60 <printf+0x23c>
|
|
812 acc: e59d0010 ldr r0, [sp, #16]
|
|
813 ad0: e3500025 cmp r0, #37 ; 0x25
|
|
814 ad4: 1a000060 bne c5c <printf+0x238>
|
|
815 ad8: eaffffff b adc <printf+0xb8>
|
|
816 adc: e51b0010 ldr r0, [fp, #-16]
|
|
817 ae0: e3500064 cmp r0, #100 ; 0x64
|
|
818 ae4: 1a00000a bne b14 <printf+0xf0>
|
|
819 ae8: eaffffff b aec <printf+0xc8>
|
|
820 aec: e51b0004 ldr r0, [fp, #-4]
|
|
821 af0: e59d100c ldr r1, [sp, #12]
|
|
822 af4: e5911000 ldr r1, [r1]
|
|
823 af8: e3a0200a mov r2, #10
|
|
824 afc: e3a03001 mov r3, #1
|
|
825 b00: eb00006f bl cc4 <printint>
|
|
826 b04: e59d000c ldr r0, [sp, #12]
|
|
827 b08: e2800004 add r0, r0, #4
|
|
828 b0c: e58d000c str r0, [sp, #12]
|
|
829 b10: ea00004e b c50 <printf+0x22c>
|
|
830 b14: e51b0010 ldr r0, [fp, #-16]
|
|
831 b18: e3500078 cmp r0, #120 ; 0x78
|
|
832 b1c: 0a000004 beq b34 <printf+0x110>
|
|
833 b20: eaffffff b b24 <printf+0x100>
|
|
834 b24: e51b0010 ldr r0, [fp, #-16]
|
|
835 b28: e3500070 cmp r0, #112 ; 0x70
|
|
836 b2c: 1a00000a bne b5c <printf+0x138>
|
|
837 b30: eaffffff b b34 <printf+0x110>
|
|
838 b34: e51b0004 ldr r0, [fp, #-4]
|
|
839 b38: e59d100c ldr r1, [sp, #12]
|
|
840 b3c: e5911000 ldr r1, [r1]
|
|
841 b40: e3a02010 mov r2, #16
|
|
842 b44: e3a03000 mov r3, #0
|
|
843 b48: eb00005d bl cc4 <printint>
|
|
844 b4c: e59d000c ldr r0, [sp, #12]
|
|
845 b50: e2800004 add r0, r0, #4
|
|
846 b54: e58d000c str r0, [sp, #12]
|
|
847 b58: ea00003b b c4c <printf+0x228>
|
|
848 b5c: e51b0010 ldr r0, [fp, #-16]
|
|
849 b60: e3500073 cmp r0, #115 ; 0x73
|
|
850 b64: 1a00001a bne bd4 <printf+0x1b0>
|
|
851 b68: eaffffff b b6c <printf+0x148>
|
|
852 b6c: e59d000c ldr r0, [sp, #12]
|
|
853 b70: e4901004 ldr r1, [r0], #4
|
|
854 b74: e50b100c str r1, [fp, #-12]
|
|
855 b78: e58d000c str r0, [sp, #12]
|
|
856 b7c: e51b000c ldr r0, [fp, #-12]
|
|
857 b80: e3500000 cmp r0, #0
|
|
858 b84: 1a000003 bne b98 <printf+0x174>
|
|
859 b88: eaffffff b b8c <printf+0x168>
|
|
860 b8c: e59f00e8 ldr r0, [pc, #232] ; c7c <printf+0x258>
|
|
861 b90: e50b000c str r0, [fp, #-12]
|
|
862 b94: eaffffff b b98 <printf+0x174>
|
|
863 b98: eaffffff b b9c <printf+0x178>
|
|
864 b9c: e51b000c ldr r0, [fp, #-12]
|
|
865 ba0: e5d00000 ldrb r0, [r0]
|
|
866 ba4: e3500000 cmp r0, #0
|
|
867 ba8: 0a000008 beq bd0 <printf+0x1ac>
|
|
868 bac: eaffffff b bb0 <printf+0x18c>
|
|
869 bb0: e51b0004 ldr r0, [fp, #-4]
|
|
870 bb4: e51b100c ldr r1, [fp, #-12]
|
|
871 bb8: e5d11000 ldrb r1, [r1]
|
|
872 bbc: eb00002f bl c80 <putc>
|
|
873 bc0: e51b000c ldr r0, [fp, #-12]
|
|
874 bc4: e2800001 add r0, r0, #1
|
|
875 bc8: e50b000c str r0, [fp, #-12]
|
|
876 bcc: eafffff2 b b9c <printf+0x178>
|
|
877 bd0: ea00001c b c48 <printf+0x224>
|
|
878 bd4: e51b0010 ldr r0, [fp, #-16]
|
|
879 bd8: e3500063 cmp r0, #99 ; 0x63
|
|
880 bdc: 1a000008 bne c04 <printf+0x1e0>
|
|
881 be0: eaffffff b be4 <printf+0x1c0>
|
|
882 be4: e51b0004 ldr r0, [fp, #-4]
|
|
883 be8: e59d100c ldr r1, [sp, #12]
|
|
884 bec: e5d11000 ldrb r1, [r1]
|
|
885 bf0: eb000022 bl c80 <putc>
|
|
886 bf4: e59d000c ldr r0, [sp, #12]
|
|
887 bf8: e2800004 add r0, r0, #4
|
|
888 bfc: e58d000c str r0, [sp, #12]
|
|
889 c00: ea00000f b c44 <printf+0x220>
|
|
890 c04: e51b0010 ldr r0, [fp, #-16]
|
|
891 c08: e3500025 cmp r0, #37 ; 0x25
|
|
892 c0c: 1a000004 bne c24 <printf+0x200>
|
|
893 c10: eaffffff b c14 <printf+0x1f0>
|
|
894 c14: e51b0004 ldr r0, [fp, #-4]
|
|
895 c18: e55b1010 ldrb r1, [fp, #-16]
|
|
896 c1c: eb000017 bl c80 <putc>
|
|
897 c20: ea000006 b c40 <printf+0x21c>
|
|
898 c24: e51b0004 ldr r0, [fp, #-4]
|
|
899 c28: e3a01025 mov r1, #37 ; 0x25
|
|
900 c2c: eb000013 bl c80 <putc>
|
|
901 c30: e51b0004 ldr r0, [fp, #-4]
|
|
902 c34: e55b1010 ldrb r1, [fp, #-16]
|
|
903 c38: eb000010 bl c80 <putc>
|
|
904 c3c: eaffffff b c40 <printf+0x21c>
|
|
905 c40: eaffffff b c44 <printf+0x220>
|
|
906 c44: eaffffff b c48 <printf+0x224>
|
|
907 c48: eaffffff b c4c <printf+0x228>
|
|
908 c4c: eaffffff b c50 <printf+0x22c>
|
|
909 c50: e3a00000 mov r0, #0
|
|
910 c54: e58d0010 str r0, [sp, #16]
|
|
911 c58: eaffffff b c5c <printf+0x238>
|
|
912 c5c: eaffffff b c60 <printf+0x23c>
|
|
913 c60: eaffffff b c64 <printf+0x240>
|
|
914 c64: e59d0014 ldr r0, [sp, #20]
|
|
915 c68: e2800001 add r0, r0, #1
|
|
916 c6c: e58d0014 str r0, [sp, #20]
|
|
917 c70: eaffff7b b a64 <printf+0x40>
|
|
918 c74: e1a0d00b mov sp, fp
|
|
919 c78: e8bd8800 pop {fp, pc}
|
|
920 c7c: 0000133c .word 0x0000133c
|
|
921
|
|
922 00000c80 <putc>:
|
|
923 {
|
|
924 c80: e92d4800 push {fp, lr}
|
|
925 c84: e1a0b00d mov fp, sp
|
|
926 c88: e24dd018 sub sp, sp, #24
|
|
927 c8c: e1a02001 mov r2, r1
|
|
928 c90: e1a03000 mov r3, r0
|
|
929 c94: e50b0004 str r0, [fp, #-4]
|
|
930 c98: e54b1005 strb r1, [fp, #-5]
|
|
931 write(fd, &c, 1);
|
|
932 c9c: e51b0004 ldr r0, [fp, #-4]
|
|
933 ca0: e24b1005 sub r1, fp, #5
|
|
934 ca4: e3a0c001 mov ip, #1
|
|
935 ca8: e58d200c str r2, [sp, #12]
|
|
936 cac: e1a0200c mov r2, ip
|
|
937 cb0: e58d3008 str r3, [sp, #8]
|
|
938 cb4: ebfffeca bl 7e4 <write>
|
|
939 }
|
|
940 cb8: e58d0004 str r0, [sp, #4]
|
|
941 cbc: e1a0d00b mov sp, fp
|
|
942 cc0: e8bd8800 pop {fp, pc}
|
|
943
|
|
944 00000cc4 <printint>:
|
|
945 {
|
|
946 cc4: e92d4830 push {r4, r5, fp, lr}
|
|
947 cc8: e28db008 add fp, sp, #8
|
|
948 ccc: e24dd040 sub sp, sp, #64 ; 0x40
|
|
949 cd0: e1a0c003 mov ip, r3
|
|
950 cd4: e1a0e002 mov lr, r2
|
|
951 cd8: e1a04001 mov r4, r1
|
|
952 cdc: e1a05000 mov r5, r0
|
|
953 ce0: e50b000c str r0, [fp, #-12]
|
|
954 ce4: e50b1010 str r1, [fp, #-16]
|
|
955 ce8: e50b2014 str r2, [fp, #-20] ; 0xffffffec
|
|
956 cec: e50b3018 str r3, [fp, #-24] ; 0xffffffe8
|
|
957 cf0: e3a00000 mov r0, #0
|
|
958 cf4: e58d0018 str r0, [sp, #24]
|
|
959 cf8: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8
|
|
960 cfc: e3500000 cmp r0, #0
|
|
961 d00: e58dc010 str ip, [sp, #16]
|
|
962 d04: e58de00c str lr, [sp, #12]
|
|
963 d08: e58d4008 str r4, [sp, #8]
|
|
964 d0c: e58d5004 str r5, [sp, #4]
|
|
965 d10: 0a00000a beq d40 <printint+0x7c>
|
|
966 d14: eaffffff b d18 <printint+0x54>
|
|
967 d18: e51b0010 ldr r0, [fp, #-16]
|
|
968 d1c: e3500000 cmp r0, #0
|
|
969 d20: aa000006 bge d40 <printint+0x7c>
|
|
970 d24: eaffffff b d28 <printint+0x64>
|
|
971 d28: e3a00001 mov r0, #1
|
|
972 d2c: e58d0018 str r0, [sp, #24]
|
|
973 d30: e51b0010 ldr r0, [fp, #-16]
|
|
974 d34: e2600000 rsb r0, r0, #0
|
|
975 d38: e58d0014 str r0, [sp, #20]
|
|
976 d3c: ea000002 b d4c <printint+0x88>
|
|
977 d40: e51b0010 ldr r0, [fp, #-16]
|
|
978 d44: e58d0014 str r0, [sp, #20]
|
|
979 d48: eaffffff b d4c <printint+0x88>
|
|
980 d4c: e3a00000 mov r0, #0
|
|
981 d50: e58d001c str r0, [sp, #28]
|
|
982 d54: eaffffff b d58 <printint+0x94>
|
|
983 d58: e59d0014 ldr r0, [sp, #20]
|
|
984 d5c: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec
|
|
985 d60: eb000158 bl 12c8 <__aeabi_uidivmod>
|
|
986 d64: e59fe0a0 ldr lr, [pc, #160] ; e0c <printint+0x148>
|
|
987 d68: e7de1001 ldrb r1, [lr, r1]
|
|
988 d6c: e59de01c ldr lr, [sp, #28]
|
|
989 d70: e28e2001 add r2, lr, #1
|
|
990 d74: e58d201c str r2, [sp, #28]
|
|
991 d78: e28d2020 add r2, sp, #32
|
|
992 d7c: e7c2100e strb r1, [r2, lr]
|
|
993 d80: e58d0000 str r0, [sp]
|
|
994 d84: eaffffff b d88 <printint+0xc4>
|
|
995 d88: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec
|
|
996 d8c: e59d0014 ldr r0, [sp, #20]
|
|
997 d90: eb00010f bl 11d4 <__aeabi_uidiv>
|
|
998 d94: e58d0014 str r0, [sp, #20]
|
|
999 d98: e3500000 cmp r0, #0
|
|
1000 d9c: 1affffed bne d58 <printint+0x94>
|
|
1001 da0: eaffffff b da4 <printint+0xe0>
|
|
1002 da4: e59d0018 ldr r0, [sp, #24]
|
|
1003 da8: e3500000 cmp r0, #0
|
|
1004 dac: 0a000007 beq dd0 <printint+0x10c>
|
|
1005 db0: eaffffff b db4 <printint+0xf0>
|
|
1006 db4: e59d001c ldr r0, [sp, #28]
|
|
1007 db8: e2801001 add r1, r0, #1
|
|
1008 dbc: e58d101c str r1, [sp, #28]
|
|
1009 dc0: e28d1020 add r1, sp, #32
|
|
1010 dc4: e3a0202d mov r2, #45 ; 0x2d
|
|
1011 dc8: e7c12000 strb r2, [r1, r0]
|
|
1012 dcc: eaffffff b dd0 <printint+0x10c>
|
|
1013 dd0: eaffffff b dd4 <printint+0x110>
|
|
1014 dd4: e59d001c ldr r0, [sp, #28]
|
|
1015 dd8: e2400001 sub r0, r0, #1
|
|
1016 ddc: e58d001c str r0, [sp, #28]
|
|
1017 de0: e3500000 cmp r0, #0
|
|
1018 de4: ba000006 blt e04 <printint+0x140>
|
|
1019 de8: eaffffff b dec <printint+0x128>
|
|
1020 dec: e51b000c ldr r0, [fp, #-12]
|
|
1021 df0: e59d101c ldr r1, [sp, #28]
|
|
1022 df4: e28d2020 add r2, sp, #32
|
|
1023 df8: e7d21001 ldrb r1, [r2, r1]
|
|
1024 dfc: ebffff9f bl c80 <putc>
|
|
1025 e00: eafffff3 b dd4 <printint+0x110>
|
|
1026 e04: e24bd008 sub sp, fp, #8
|
|
1027 e08: e8bd8830 pop {r4, r5, fp, pc}
|
|
1028 e0c: 00001354 .word 0x00001354
|
|
1029
|
|
1030 00000e10 <free>:
|
|
1031 static Header base;
|
|
1032 static Header *freep;
|
|
1033
|
|
1034 void
|
|
1035 free(void *ap)
|
|
1036 {
|
|
1037 e10: e24dd014 sub sp, sp, #20
|
|
1038 e14: e1a01000 mov r1, r0
|
|
1039 e18: e58d0010 str r0, [sp, #16]
|
|
1040 e1c: e59d0010 ldr r0, [sp, #16]
|
|
1041 e20: e2400008 sub r0, r0, #8
|
|
1042 e24: e58d000c str r0, [sp, #12]
|
|
1043 e28: e59f0188 ldr r0, [pc, #392] ; fb8 <free+0x1a8>
|
|
1044 e2c: e5900000 ldr r0, [r0]
|
|
1045 e30: e58d0008 str r0, [sp, #8]
|
|
1046 e34: e58d1004 str r1, [sp, #4]
|
|
1047 e38: eaffffff b e3c <free+0x2c>
|
|
1048 e3c: e59d000c ldr r0, [sp, #12]
|
|
1049 e40: e59d1008 ldr r1, [sp, #8]
|
|
1050 e44: e3a02000 mov r2, #0
|
|
1051 e48: e1500001 cmp r0, r1
|
|
1052 e4c: e58d2000 str r2, [sp]
|
|
1053 e50: 9a000008 bls e78 <free+0x68>
|
|
1054 e54: eaffffff b e58 <free+0x48>
|
|
1055 e58: e59d000c ldr r0, [sp, #12]
|
|
1056 e5c: e59d1008 ldr r1, [sp, #8]
|
|
1057 e60: e5911000 ldr r1, [r1]
|
|
1058 e64: e3a02000 mov r2, #0
|
|
1059 e68: e1500001 cmp r0, r1
|
|
1060 e6c: 33a02001 movcc r2, #1
|
|
1061 e70: e58d2000 str r2, [sp]
|
|
1062 e74: eaffffff b e78 <free+0x68>
|
|
1063 e78: e59d0000 ldr r0, [sp]
|
|
1064 e7c: e1e00000 mvn r0, r0
|
|
1065 e80: e3100001 tst r0, #1
|
|
1066 e84: 0a000016 beq ee4 <free+0xd4>
|
|
1067 e88: eaffffff b e8c <free+0x7c>
|
|
1068 e8c: e59d0008 ldr r0, [sp, #8]
|
|
1069 e90: e5901000 ldr r1, [r0]
|
|
1070 e94: e1500001 cmp r0, r1
|
|
1071 e98: 3a00000c bcc ed0 <free+0xc0>
|
|
1072 e9c: eaffffff b ea0 <free+0x90>
|
|
1073 ea0: e59d000c ldr r0, [sp, #12]
|
|
1074 ea4: e59d1008 ldr r1, [sp, #8]
|
|
1075 ea8: e1500001 cmp r0, r1
|
|
1076 eac: 8a000006 bhi ecc <free+0xbc>
|
|
1077 eb0: eaffffff b eb4 <free+0xa4>
|
|
1078 eb4: e59d000c ldr r0, [sp, #12]
|
|
1079 eb8: e59d1008 ldr r1, [sp, #8]
|
|
1080 ebc: e5911000 ldr r1, [r1]
|
|
1081 ec0: e1500001 cmp r0, r1
|
|
1082 ec4: 2a000001 bcs ed0 <free+0xc0>
|
|
1083 ec8: eaffffff b ecc <free+0xbc>
|
|
1084 ecc: ea000004 b ee4 <free+0xd4>
|
|
1085 ed0: eaffffff b ed4 <free+0xc4>
|
|
1086 ed4: e59d0008 ldr r0, [sp, #8]
|
|
1087 ed8: e5900000 ldr r0, [r0]
|
|
1088 edc: e58d0008 str r0, [sp, #8]
|
|
1089 ee0: eaffffd5 b e3c <free+0x2c>
|
|
1090 ee4: e59d000c ldr r0, [sp, #12]
|
|
1091 ee8: e5901004 ldr r1, [r0, #4]
|
|
1092 eec: e0800181 add r0, r0, r1, lsl #3
|
|
1093 ef0: e59d1008 ldr r1, [sp, #8]
|
|
1094 ef4: e5911000 ldr r1, [r1]
|
|
1095 ef8: e1500001 cmp r0, r1
|
|
1096 efc: 1a00000d bne f38 <free+0x128>
|
|
1097 f00: eaffffff b f04 <free+0xf4>
|
|
1098 f04: e59d0008 ldr r0, [sp, #8]
|
|
1099 f08: e5900000 ldr r0, [r0]
|
|
1100 f0c: e5900004 ldr r0, [r0, #4]
|
|
1101 f10: e59d100c ldr r1, [sp, #12]
|
|
1102 f14: e5912004 ldr r2, [r1, #4]
|
|
1103 f18: e0820000 add r0, r2, r0
|
|
1104 f1c: e5810004 str r0, [r1, #4]
|
|
1105 f20: e59d0008 ldr r0, [sp, #8]
|
|
1106 f24: e5900000 ldr r0, [r0]
|
|
1107 f28: e5900000 ldr r0, [r0]
|
|
1108 f2c: e59d100c ldr r1, [sp, #12]
|
|
1109 f30: e5810000 str r0, [r1]
|
|
1110 f34: ea000004 b f4c <free+0x13c>
|
|
1111 f38: e59d0008 ldr r0, [sp, #8]
|
|
1112 f3c: e5900000 ldr r0, [r0]
|
|
1113 f40: e59d100c ldr r1, [sp, #12]
|
|
1114 f44: e5810000 str r0, [r1]
|
|
1115 f48: eaffffff b f4c <free+0x13c>
|
|
1116 f4c: e59d0008 ldr r0, [sp, #8]
|
|
1117 f50: e5901004 ldr r1, [r0, #4]
|
|
1118 f54: e0800181 add r0, r0, r1, lsl #3
|
|
1119 f58: e59d100c ldr r1, [sp, #12]
|
|
1120 f5c: e1500001 cmp r0, r1
|
|
1121 f60: 1a00000b bne f94 <free+0x184>
|
|
1122 f64: eaffffff b f68 <free+0x158>
|
|
1123 f68: e59d000c ldr r0, [sp, #12]
|
|
1124 f6c: e5900004 ldr r0, [r0, #4]
|
|
1125 f70: e59d1008 ldr r1, [sp, #8]
|
|
1126 f74: e5912004 ldr r2, [r1, #4]
|
|
1127 f78: e0820000 add r0, r2, r0
|
|
1128 f7c: e5810004 str r0, [r1, #4]
|
|
1129 f80: e59d000c ldr r0, [sp, #12]
|
|
1130 f84: e5900000 ldr r0, [r0]
|
|
1131 f88: e59d1008 ldr r1, [sp, #8]
|
|
1132 f8c: e5810000 str r0, [r1]
|
|
1133 f90: ea000003 b fa4 <free+0x194>
|
|
1134 f94: e59d000c ldr r0, [sp, #12]
|
|
1135 f98: e59d1008 ldr r1, [sp, #8]
|
|
1136 f9c: e5810000 str r0, [r1]
|
|
1137 fa0: eaffffff b fa4 <free+0x194>
|
|
1138 fa4: e59d0008 ldr r0, [sp, #8]
|
|
1139 fa8: e59f1008 ldr r1, [pc, #8] ; fb8 <free+0x1a8>
|
|
1140 fac: e5810000 str r0, [r1]
|
|
1141 fb0: e28dd014 add sp, sp, #20
|
|
1142 fb4: e12fff1e bx lr
|
|
1143 fb8: 00001368 .word 0x00001368
|
|
1144
|
|
1145 00000fbc <malloc>:
|
|
1146 fbc: e92d4800 push {fp, lr}
|
|
1147 fc0: e1a0b00d mov fp, sp
|
|
1148 fc4: e24dd018 sub sp, sp, #24
|
|
1149 fc8: e1a01000 mov r1, r0
|
|
1150 fcc: e50b0008 str r0, [fp, #-8]
|
|
1151 fd0: e51b0008 ldr r0, [fp, #-8]
|
|
1152 fd4: e2800007 add r0, r0, #7
|
|
1153 fd8: e3a02001 mov r2, #1
|
|
1154 fdc: e08201a0 add r0, r2, r0, lsr #3
|
|
1155 fe0: e58d0004 str r0, [sp, #4]
|
|
1156 fe4: e59f013c ldr r0, [pc, #316] ; 1128 <malloc+0x16c>
|
|
1157 fe8: e5900000 ldr r0, [r0]
|
|
1158 fec: e58d0008 str r0, [sp, #8]
|
|
1159 ff0: e3500000 cmp r0, #0
|
|
1160 ff4: e58d1000 str r1, [sp]
|
|
1161 ff8: 1a000008 bne 1020 <malloc+0x64>
|
|
1162 ffc: eaffffff b 1000 <malloc+0x44>
|
|
1163 1000: e59f0124 ldr r0, [pc, #292] ; 112c <malloc+0x170>
|
|
1164 1004: e58d0008 str r0, [sp, #8]
|
|
1165 1008: e59f1118 ldr r1, [pc, #280] ; 1128 <malloc+0x16c>
|
|
1166 100c: e5810000 str r0, [r1]
|
|
1167 1010: e5800000 str r0, [r0]
|
|
1168 1014: e3a01000 mov r1, #0
|
|
1169 1018: e5801004 str r1, [r0, #4]
|
|
1170 101c: eaffffff b 1020 <malloc+0x64>
|
|
1171 1020: e59d0008 ldr r0, [sp, #8]
|
|
1172 1024: e5900000 ldr r0, [r0]
|
|
1173 1028: e58d000c str r0, [sp, #12]
|
|
1174 102c: eaffffff b 1030 <malloc+0x74>
|
|
1175 1030: e59d000c ldr r0, [sp, #12]
|
|
1176 1034: e5900004 ldr r0, [r0, #4]
|
|
1177 1038: e59d1004 ldr r1, [sp, #4]
|
|
1178 103c: e1500001 cmp r0, r1
|
|
1179 1040: 3a00001f bcc 10c4 <malloc+0x108>
|
|
1180 1044: eaffffff b 1048 <malloc+0x8c>
|
|
1181 1048: e59d000c ldr r0, [sp, #12]
|
|
1182 104c: e5900004 ldr r0, [r0, #4]
|
|
1183 1050: e59d1004 ldr r1, [sp, #4]
|
|
1184 1054: e1500001 cmp r0, r1
|
|
1185 1058: 1a000005 bne 1074 <malloc+0xb8>
|
|
1186 105c: eaffffff b 1060 <malloc+0xa4>
|
|
1187 1060: e59d000c ldr r0, [sp, #12]
|
|
1188 1064: e5900000 ldr r0, [r0]
|
|
1189 1068: e59d1008 ldr r1, [sp, #8]
|
|
1190 106c: e5810000 str r0, [r1]
|
|
1191 1070: ea00000c b 10a8 <malloc+0xec>
|
|
1192 1074: e59d0004 ldr r0, [sp, #4]
|
|
1193 1078: e59d100c ldr r1, [sp, #12]
|
|
1194 107c: e5912004 ldr r2, [r1, #4]
|
|
1195 1080: e0420000 sub r0, r2, r0
|
|
1196 1084: e5810004 str r0, [r1, #4]
|
|
1197 1088: e59d000c ldr r0, [sp, #12]
|
|
1198 108c: e5901004 ldr r1, [r0, #4]
|
|
1199 1090: e0800181 add r0, r0, r1, lsl #3
|
|
1200 1094: e58d000c str r0, [sp, #12]
|
|
1201 1098: e59d0004 ldr r0, [sp, #4]
|
|
1202 109c: e59d100c ldr r1, [sp, #12]
|
|
1203 10a0: e5810004 str r0, [r1, #4]
|
|
1204 10a4: eaffffff b 10a8 <malloc+0xec>
|
|
1205 10a8: e59d0008 ldr r0, [sp, #8]
|
|
1206 10ac: e59f1074 ldr r1, [pc, #116] ; 1128 <malloc+0x16c>
|
|
1207 10b0: e5810000 str r0, [r1]
|
|
1208 10b4: e59d000c ldr r0, [sp, #12]
|
|
1209 10b8: e2800008 add r0, r0, #8
|
|
1210 10bc: e50b0004 str r0, [fp, #-4]
|
|
1211 10c0: ea000015 b 111c <malloc+0x160>
|
|
1212 10c4: e59d000c ldr r0, [sp, #12]
|
|
1213 10c8: e59f1058 ldr r1, [pc, #88] ; 1128 <malloc+0x16c>
|
|
1214 10cc: e5911000 ldr r1, [r1]
|
|
1215 10d0: e1500001 cmp r0, r1
|
|
1216 10d4: 1a00000a bne 1104 <malloc+0x148>
|
|
1217 10d8: eaffffff b 10dc <malloc+0x120>
|
|
1218 10dc: e59d0004 ldr r0, [sp, #4]
|
|
1219 10e0: eb000012 bl 1130 <morecore>
|
|
1220 10e4: e58d000c str r0, [sp, #12]
|
|
1221 10e8: e3500000 cmp r0, #0
|
|
1222 10ec: 1a000003 bne 1100 <malloc+0x144>
|
|
1223 10f0: eaffffff b 10f4 <malloc+0x138>
|
|
1224 10f4: e3a00000 mov r0, #0
|
|
1225 10f8: e50b0004 str r0, [fp, #-4]
|
|
1226 10fc: ea000006 b 111c <malloc+0x160>
|
|
1227 1100: eaffffff b 1104 <malloc+0x148>
|
|
1228 1104: eaffffff b 1108 <malloc+0x14c>
|
|
1229 1108: e59d000c ldr r0, [sp, #12]
|
|
1230 110c: e58d0008 str r0, [sp, #8]
|
|
1231 1110: e5900000 ldr r0, [r0]
|
|
1232 1114: e58d000c str r0, [sp, #12]
|
|
1233 1118: eaffffc4 b 1030 <malloc+0x74>
|
|
1234 111c: e51b0004 ldr r0, [fp, #-4]
|
|
1235 1120: e1a0d00b mov sp, fp
|
|
1236 1124: e8bd8800 pop {fp, pc}
|
|
1237 1128: 00001368 .word 0x00001368
|
|
1238 112c: 0000136c .word 0x0000136c
|
|
1239
|
|
1240 00001130 <morecore>:
|
|
1241 freep = p;
|
|
1242 }
|
|
1243
|
|
1244 static Header*
|
|
1245 morecore(uint nu)
|
|
1246 {
|
|
1247 1130: e92d4800 push {fp, lr}
|
|
1248 1134: e1a0b00d mov fp, sp
|
|
1249 1138: e24dd018 sub sp, sp, #24
|
|
1250 113c: e1a01000 mov r1, r0
|
|
1251 1140: e50b0008 str r0, [fp, #-8]
|
|
1252 char *p;
|
|
1253 Header *hp;
|
|
1254
|
|
1255 if(nu < 4096)
|
|
1256 1144: e51b0008 ldr r0, [fp, #-8]
|
|
1257 1148: e3a02000 mov r2, #0
|
|
1258 114c: e1520620 cmp r2, r0, lsr #12
|
|
1259 1150: e58d1004 str r1, [sp, #4]
|
|
1260 1154: 1a000003 bne 1168 <morecore+0x38>
|
|
1261 1158: eaffffff b 115c <morecore+0x2c>
|
|
1262 nu = 4096;
|
|
1263 115c: e3a00a01 mov r0, #4096 ; 0x1000
|
|
1264 1160: e50b0008 str r0, [fp, #-8]
|
|
1265 1164: eaffffff b 1168 <morecore+0x38>
|
|
1266 p = sbrk(nu * sizeof(Header));
|
|
1267 1168: e51b0008 ldr r0, [fp, #-8]
|
|
1268 116c: e1a00180 lsl r0, r0, #3
|
|
1269 1170: ebfffe10 bl 9b8 <sbrk>
|
|
1270 1174: e58d000c str r0, [sp, #12]
|
|
1271 if(p == (char*)-1)
|
|
1272 1178: e59d000c ldr r0, [sp, #12]
|
|
1273 117c: e3700001 cmn r0, #1
|
|
1274 1180: 1a000003 bne 1194 <morecore+0x64>
|
|
1275 1184: eaffffff b 1188 <morecore+0x58>
|
|
1276 return 0;
|
|
1277 1188: e3a00000 mov r0, #0
|
|
1278 118c: e50b0004 str r0, [fp, #-4]
|
|
1279 1190: ea00000b b 11c4 <morecore+0x94>
|
|
1280 hp = (Header*)p;
|
|
1281 1194: e59d000c ldr r0, [sp, #12]
|
|
1282 1198: e58d0008 str r0, [sp, #8]
|
|
1283 hp->s.size = nu;
|
|
1284 119c: e51b0008 ldr r0, [fp, #-8]
|
|
1285 11a0: e59d1008 ldr r1, [sp, #8]
|
|
1286 11a4: e5810004 str r0, [r1, #4]
|
|
1287 free((void*)(hp + 1));
|
|
1288 11a8: e59d0008 ldr r0, [sp, #8]
|
|
1289 11ac: e2800008 add r0, r0, #8
|
|
1290 11b0: ebffff16 bl e10 <free>
|
|
1291 return freep;
|
|
1292 11b4: e59f0014 ldr r0, [pc, #20] ; 11d0 <morecore+0xa0>
|
|
1293 11b8: e5900000 ldr r0, [r0]
|
|
1294 11bc: e50b0004 str r0, [fp, #-4]
|
|
1295 11c0: eaffffff b 11c4 <morecore+0x94>
|
|
1296 }
|
|
1297 11c4: e51b0004 ldr r0, [fp, #-4]
|
|
1298 11c8: e1a0d00b mov sp, fp
|
|
1299 11cc: e8bd8800 pop {fp, pc}
|
|
1300 11d0: 00001368 .word 0x00001368
|
|
1301
|
|
1302 000011d4 <__aeabi_uidiv>:
|
|
1303 11d4: e2512001 subs r2, r1, #1
|
|
1304 11d8: 012fff1e bxeq lr
|
|
1305 11dc: 3a000036 bcc 12bc <__aeabi_uidiv+0xe8>
|
|
1306 11e0: e1500001 cmp r0, r1
|
|
1307 11e4: 9a000022 bls 1274 <__aeabi_uidiv+0xa0>
|
|
1308 11e8: e1110002 tst r1, r2
|
|
1309 11ec: 0a000023 beq 1280 <__aeabi_uidiv+0xac>
|
|
1310 11f0: e311020e tst r1, #-536870912 ; 0xe0000000
|
|
1311 11f4: 01a01181 lsleq r1, r1, #3
|
|
1312 11f8: 03a03008 moveq r3, #8
|
|
1313 11fc: 13a03001 movne r3, #1
|
|
1314 1200: e3510201 cmp r1, #268435456 ; 0x10000000
|
|
1315 1204: 31510000 cmpcc r1, r0
|
|
1316 1208: 31a01201 lslcc r1, r1, #4
|
|
1317 120c: 31a03203 lslcc r3, r3, #4
|
|
1318 1210: 3afffffa bcc 1200 <__aeabi_uidiv+0x2c>
|
|
1319 1214: e3510102 cmp r1, #-2147483648 ; 0x80000000
|
|
1320 1218: 31510000 cmpcc r1, r0
|
|
1321 121c: 31a01081 lslcc r1, r1, #1
|
|
1322 1220: 31a03083 lslcc r3, r3, #1
|
|
1323 1224: 3afffffa bcc 1214 <__aeabi_uidiv+0x40>
|
|
1324 1228: e3a02000 mov r2, #0
|
|
1325 122c: e1500001 cmp r0, r1
|
|
1326 1230: 20400001 subcs r0, r0, r1
|
|
1327 1234: 21822003 orrcs r2, r2, r3
|
|
1328 1238: e15000a1 cmp r0, r1, lsr #1
|
|
1329 123c: 204000a1 subcs r0, r0, r1, lsr #1
|
|
1330 1240: 218220a3 orrcs r2, r2, r3, lsr #1
|
|
1331 1244: e1500121 cmp r0, r1, lsr #2
|
|
1332 1248: 20400121 subcs r0, r0, r1, lsr #2
|
|
1333 124c: 21822123 orrcs r2, r2, r3, lsr #2
|
|
1334 1250: e15001a1 cmp r0, r1, lsr #3
|
|
1335 1254: 204001a1 subcs r0, r0, r1, lsr #3
|
|
1336 1258: 218221a3 orrcs r2, r2, r3, lsr #3
|
|
1337 125c: e3500000 cmp r0, #0
|
|
1338 1260: 11b03223 lsrsne r3, r3, #4
|
|
1339 1264: 11a01221 lsrne r1, r1, #4
|
|
1340 1268: 1affffef bne 122c <__aeabi_uidiv+0x58>
|
|
1341 126c: e1a00002 mov r0, r2
|
|
1342 1270: e12fff1e bx lr
|
|
1343 1274: 03a00001 moveq r0, #1
|
|
1344 1278: 13a00000 movne r0, #0
|
|
1345 127c: e12fff1e bx lr
|
|
1346 1280: e3510801 cmp r1, #65536 ; 0x10000
|
|
1347 1284: 21a01821 lsrcs r1, r1, #16
|
|
1348 1288: 23a02010 movcs r2, #16
|
|
1349 128c: 33a02000 movcc r2, #0
|
|
1350 1290: e3510c01 cmp r1, #256 ; 0x100
|
|
1351 1294: 21a01421 lsrcs r1, r1, #8
|
|
1352 1298: 22822008 addcs r2, r2, #8
|
|
1353 129c: e3510010 cmp r1, #16
|
|
1354 12a0: 21a01221 lsrcs r1, r1, #4
|
|
1355 12a4: 22822004 addcs r2, r2, #4
|
|
1356 12a8: e3510004 cmp r1, #4
|
|
1357 12ac: 82822003 addhi r2, r2, #3
|
|
1358 12b0: 908220a1 addls r2, r2, r1, lsr #1
|
|
1359 12b4: e1a00230 lsr r0, r0, r2
|
|
1360 12b8: e12fff1e bx lr
|
|
1361 12bc: e3500000 cmp r0, #0
|
|
1362 12c0: 13e00000 mvnne r0, #0
|
|
1363 12c4: ea000007 b 12e8 <__aeabi_idiv0>
|
|
1364
|
|
1365 000012c8 <__aeabi_uidivmod>:
|
|
1366 12c8: e3510000 cmp r1, #0
|
|
1367 12cc: 0afffffa beq 12bc <__aeabi_uidiv+0xe8>
|
|
1368 12d0: e92d4003 push {r0, r1, lr}
|
|
1369 12d4: ebffffbe bl 11d4 <__aeabi_uidiv>
|
|
1370 12d8: e8bd4006 pop {r1, r2, lr}
|
|
1371 12dc: e0030092 mul r3, r2, r0
|
|
1372 12e0: e0411003 sub r1, r1, r3
|
|
1373 12e4: e12fff1e bx lr
|
|
1374
|
|
1375 000012e8 <__aeabi_idiv0>:
|
|
1376 12e8: e12fff1e bx lr
|