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