comparison src/usr/ln.asm @ 0:53676d1f5817 default tip

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