Mercurial > hg > Members > tobaru > xv6-osx-rpi
comparison src/usr/sh.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 _sh: file format elf32-littlearm | |
3 | |
4 | |
5 Disassembly of section .text: | |
6 | |
7 00000000 <runcmd>: | |
8 struct cmd *parsecmd(char*); | |
9 | |
10 // Execute cmd. Never returns. | |
11 void | |
12 runcmd(struct cmd *cmd) | |
13 { | |
14 0: e92d4800 push {fp, lr} | |
15 4: e1a0b00d mov fp, sp | |
16 8: e24dd078 sub sp, sp, #120 ; 0x78 | |
17 c: e1a01000 mov r1, r0 | |
18 10: e50b0004 str r0, [fp, #-4] | |
19 14: e51b0004 ldr r0, [fp, #-4] | |
20 18: e3500000 cmp r0, #0 | |
21 1c: e50b1024 str r1, [fp, #-36] ; 0xffffffdc | |
22 20: 1a000002 bne 30 <runcmd+0x30> | |
23 24: eaffffff b 28 <runcmd+0x28> | |
24 28: eb000645 bl 1944 <exit> | |
25 2c: e50b0028 str r0, [fp, #-40] ; 0xffffffd8 | |
26 30: e51b0004 ldr r0, [fp, #-4] | |
27 34: e5900000 ldr r0, [r0] | |
28 38: e2400001 sub r0, r0, #1 | |
29 3c: e3500004 cmp r0, #4 | |
30 40: e50b002c str r0, [fp, #-44] ; 0xffffffd4 | |
31 44: 8a000009 bhi 70 <runcmd+0x70> | |
32 48: e51b002c ldr r0, [fp, #-44] ; 0xffffffd4 | |
33 4c: e1a01100 lsl r1, r0, #2 | |
34 50: e28f2004 add r2, pc, #4 | |
35 54: e7911002 ldr r1, [r1, r2] | |
36 58: e1a0f001 mov pc, r1 | |
37 5c: 0000007c .word 0x0000007c | |
38 60: 000000d8 .word 0x000000d8 | |
39 64: 00000184 .word 0x00000184 | |
40 68: 00000140 .word 0x00000140 | |
41 6c: 0000029c .word 0x0000029c | |
42 70: e59f0260 ldr r0, [pc, #608] ; 2d8 <runcmd+0x2d8> | |
43 74: eb000099 bl 2e0 <panic> | |
44 78: eaffffff b 7c <runcmd+0x7c> | |
45 7c: e51b0004 ldr r0, [fp, #-4] | |
46 80: e50b0014 str r0, [fp, #-20] ; 0xffffffec | |
47 84: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec | |
48 88: e5900004 ldr r0, [r0, #4] | |
49 8c: e3500000 cmp r0, #0 | |
50 90: 1a000002 bne a0 <runcmd+0xa0> | |
51 94: eaffffff b 98 <runcmd+0x98> | |
52 98: eb000629 bl 1944 <exit> | |
53 9c: e50b0030 str r0, [fp, #-48] ; 0xffffffd0 | |
54 a0: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec | |
55 a4: e5b01004 ldr r1, [r0, #4]! | |
56 a8: e50b0034 str r0, [fp, #-52] ; 0xffffffcc | |
57 ac: e1a00001 mov r0, r1 | |
58 b0: e51b1034 ldr r1, [fp, #-52] ; 0xffffffcc | |
59 b4: eb000661 bl 1a40 <exec> | |
60 b8: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
61 bc: e5912004 ldr r2, [r1, #4] | |
62 c0: e59f1214 ldr r1, [pc, #532] ; 2dc <runcmd+0x2dc> | |
63 c4: e3a0e002 mov lr, #2 | |
64 c8: e50b0038 str r0, [fp, #-56] ; 0xffffffc8 | |
65 cc: e1a0000e mov r0, lr | |
66 d0: eb0006cf bl 1c14 <printf> | |
67 d4: ea00007b b 2c8 <runcmd+0x2c8> | |
68 d8: e51b0004 ldr r0, [fp, #-4] | |
69 dc: e50b0020 str r0, [fp, #-32] ; 0xffffffe0 | |
70 e0: e51b0020 ldr r0, [fp, #-32] ; 0xffffffe0 | |
71 e4: e5900014 ldr r0, [r0, #20] | |
72 e8: eb000642 bl 19f8 <close> | |
73 ec: e51be020 ldr lr, [fp, #-32] ; 0xffffffe0 | |
74 f0: e59e1008 ldr r1, [lr, #8] | |
75 f4: e59ee010 ldr lr, [lr, #16] | |
76 f8: e58d003c str r0, [sp, #60] ; 0x3c | |
77 fc: e1a00001 mov r0, r1 | |
78 100: e1a0100e mov r1, lr | |
79 104: eb000656 bl 1a64 <open> | |
80 108: e3500000 cmp r0, #0 | |
81 10c: aa000007 bge 130 <runcmd+0x130> | |
82 110: eaffffff b 114 <runcmd+0x114> | |
83 114: e51b0020 ldr r0, [fp, #-32] ; 0xffffffe0 | |
84 118: e5902008 ldr r2, [r0, #8] | |
85 11c: e59f11b0 ldr r1, [pc, #432] ; 2d4 <runcmd+0x2d4> | |
86 120: e3a00002 mov r0, #2 | |
87 124: eb0006ba bl 1c14 <printf> | |
88 128: eb000605 bl 1944 <exit> | |
89 12c: e58d0038 str r0, [sp, #56] ; 0x38 | |
90 130: e51b0020 ldr r0, [fp, #-32] ; 0xffffffe0 | |
91 134: e5900004 ldr r0, [r0, #4] | |
92 138: ebffffb0 bl 0 <runcmd> | |
93 13c: ea000061 b 2c8 <runcmd+0x2c8> | |
94 140: e51b0004 ldr r0, [fp, #-4] | |
95 144: e50b0018 str r0, [fp, #-24] ; 0xffffffe8 | |
96 148: eb000075 bl 324 <fork1> | |
97 14c: e3500000 cmp r0, #0 | |
98 150: 1a000004 bne 168 <runcmd+0x168> | |
99 154: eaffffff b 158 <runcmd+0x158> | |
100 158: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 | |
101 15c: e5900004 ldr r0, [r0, #4] | |
102 160: ebffffa6 bl 0 <runcmd> | |
103 164: eaffffff b 168 <runcmd+0x168> | |
104 168: eb0005fe bl 1968 <wait> | |
105 16c: e51be018 ldr lr, [fp, #-24] ; 0xffffffe8 | |
106 170: e59ee008 ldr lr, [lr, #8] | |
107 174: e58d0034 str r0, [sp, #52] ; 0x34 | |
108 178: e1a0000e mov r0, lr | |
109 17c: ebffff9f bl 0 <runcmd> | |
110 180: ea000050 b 2c8 <runcmd+0x2c8> | |
111 184: e51b0004 ldr r0, [fp, #-4] | |
112 188: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
113 18c: e24b000c sub r0, fp, #12 | |
114 190: eb0005fd bl 198c <pipe> | |
115 194: e3500000 cmp r0, #0 | |
116 198: aa000003 bge 1ac <runcmd+0x1ac> | |
117 19c: eaffffff b 1a0 <runcmd+0x1a0> | |
118 1a0: e59f0128 ldr r0, [pc, #296] ; 2d0 <runcmd+0x2d0> | |
119 1a4: eb00004d bl 2e0 <panic> | |
120 1a8: eaffffff b 1ac <runcmd+0x1ac> | |
121 1ac: eb00005c bl 324 <fork1> | |
122 1b0: e3500000 cmp r0, #0 | |
123 1b4: 1a000014 bne 20c <runcmd+0x20c> | |
124 1b8: eaffffff b 1bc <runcmd+0x1bc> | |
125 1bc: e3a00001 mov r0, #1 | |
126 1c0: eb00060c bl 19f8 <close> | |
127 1c4: e51be008 ldr lr, [fp, #-8] | |
128 1c8: e58d0030 str r0, [sp, #48] ; 0x30 | |
129 1cc: e1a0000e mov r0, lr | |
130 1d0: eb000662 bl 1b60 <dup> | |
131 1d4: e51be00c ldr lr, [fp, #-12] | |
132 1d8: e58d002c str r0, [sp, #44] ; 0x2c | |
133 1dc: e1a0000e mov r0, lr | |
134 1e0: eb000604 bl 19f8 <close> | |
135 1e4: e51be008 ldr lr, [fp, #-8] | |
136 1e8: e58d0028 str r0, [sp, #40] ; 0x28 | |
137 1ec: e1a0000e mov r0, lr | |
138 1f0: eb000600 bl 19f8 <close> | |
139 1f4: e51be01c ldr lr, [fp, #-28] ; 0xffffffe4 | |
140 1f8: e59ee004 ldr lr, [lr, #4] | |
141 1fc: e58d0024 str r0, [sp, #36] ; 0x24 | |
142 200: e1a0000e mov r0, lr | |
143 204: ebffff7d bl 0 <runcmd> | |
144 208: eaffffff b 20c <runcmd+0x20c> | |
145 20c: eb000044 bl 324 <fork1> | |
146 210: e3500000 cmp r0, #0 | |
147 214: 1a000014 bne 26c <runcmd+0x26c> | |
148 218: eaffffff b 21c <runcmd+0x21c> | |
149 21c: e3a00000 mov r0, #0 | |
150 220: eb0005f4 bl 19f8 <close> | |
151 224: e51be00c ldr lr, [fp, #-12] | |
152 228: e58d0020 str r0, [sp, #32] | |
153 22c: e1a0000e mov r0, lr | |
154 230: eb00064a bl 1b60 <dup> | |
155 234: e51be00c ldr lr, [fp, #-12] | |
156 238: e58d001c str r0, [sp, #28] | |
157 23c: e1a0000e mov r0, lr | |
158 240: eb0005ec bl 19f8 <close> | |
159 244: e51be008 ldr lr, [fp, #-8] | |
160 248: e58d0018 str r0, [sp, #24] | |
161 24c: e1a0000e mov r0, lr | |
162 250: eb0005e8 bl 19f8 <close> | |
163 254: e51be01c ldr lr, [fp, #-28] ; 0xffffffe4 | |
164 258: e59ee008 ldr lr, [lr, #8] | |
165 25c: e58d0014 str r0, [sp, #20] | |
166 260: e1a0000e mov r0, lr | |
167 264: ebffff65 bl 0 <runcmd> | |
168 268: eaffffff b 26c <runcmd+0x26c> | |
169 26c: e51b000c ldr r0, [fp, #-12] | |
170 270: eb0005e0 bl 19f8 <close> | |
171 274: e51be008 ldr lr, [fp, #-8] | |
172 278: e58d0010 str r0, [sp, #16] | |
173 27c: e1a0000e mov r0, lr | |
174 280: eb0005dc bl 19f8 <close> | |
175 284: e58d000c str r0, [sp, #12] | |
176 288: eb0005b6 bl 1968 <wait> | |
177 28c: e58d0008 str r0, [sp, #8] | |
178 290: eb0005b4 bl 1968 <wait> | |
179 294: e58d0004 str r0, [sp, #4] | |
180 298: ea00000a b 2c8 <runcmd+0x2c8> | |
181 29c: e51b0004 ldr r0, [fp, #-4] | |
182 2a0: e50b0010 str r0, [fp, #-16] | |
183 2a4: eb00001e bl 324 <fork1> | |
184 2a8: e3500000 cmp r0, #0 | |
185 2ac: 1a000004 bne 2c4 <runcmd+0x2c4> | |
186 2b0: eaffffff b 2b4 <runcmd+0x2b4> | |
187 2b4: e51b0010 ldr r0, [fp, #-16] | |
188 2b8: e5900004 ldr r0, [r0, #4] | |
189 2bc: ebffff4f bl 0 <runcmd> | |
190 2c0: eaffffff b 2c4 <runcmd+0x2c4> | |
191 2c4: eaffffff b 2c8 <runcmd+0x2c8> | |
192 2c8: eb00059d bl 1944 <exit> | |
193 2cc: e58d0000 str r0, [sp] | |
194 2d0: 00002503 .word 0x00002503 | |
195 2d4: 000024f3 .word 0x000024f3 | |
196 2d8: 000024dc .word 0x000024dc | |
197 2dc: 000024e3 .word 0x000024e3 | |
198 | |
199 000002e0 <panic>: | |
200 2e0: e92d4800 push {fp, lr} | |
201 2e4: e1a0b00d mov fp, sp | |
202 2e8: e24dd010 sub sp, sp, #16 | |
203 2ec: e1a01000 mov r1, r0 | |
204 2f0: e50b0004 str r0, [fp, #-4] | |
205 2f4: e51b2004 ldr r2, [fp, #-4] | |
206 2f8: e59f0020 ldr r0, [pc, #32] ; 320 <panic+0x40> | |
207 2fc: e3a03002 mov r3, #2 | |
208 300: e58d0008 str r0, [sp, #8] | |
209 304: e1a00003 mov r0, r3 | |
210 308: e59d3008 ldr r3, [sp, #8] | |
211 30c: e58d1004 str r1, [sp, #4] | |
212 310: e1a01003 mov r1, r3 | |
213 314: eb00063e bl 1c14 <printf> | |
214 318: eb000589 bl 1944 <exit> | |
215 31c: e58d0000 str r0, [sp] | |
216 320: 00002531 .word 0x00002531 | |
217 | |
218 00000324 <fork1>: | |
219 324: e92d4800 push {fp, lr} | |
220 328: e1a0b00d mov fp, sp | |
221 32c: e24dd008 sub sp, sp, #8 | |
222 330: eb00057a bl 1920 <fork> | |
223 334: e58d0004 str r0, [sp, #4] | |
224 338: e59d0004 ldr r0, [sp, #4] | |
225 33c: e3700001 cmn r0, #1 | |
226 340: 1a000003 bne 354 <fork1+0x30> | |
227 344: eaffffff b 348 <fork1+0x24> | |
228 348: e59f0010 ldr r0, [pc, #16] ; 360 <fork1+0x3c> | |
229 34c: ebffffe3 bl 2e0 <panic> | |
230 350: eaffffff b 354 <fork1+0x30> | |
231 354: e59d0004 ldr r0, [sp, #4] | |
232 358: e1a0d00b mov sp, fp | |
233 35c: e8bd8800 pop {fp, pc} | |
234 360: 00002521 .word 0x00002521 | |
235 | |
236 00000364 <getcmd>: | |
237 364: e92d4800 push {fp, lr} | |
238 368: e1a0b00d mov fp, sp | |
239 36c: e24dd020 sub sp, sp, #32 | |
240 370: e1a02001 mov r2, r1 | |
241 374: e1a03000 mov r3, r0 | |
242 378: e50b0008 str r0, [fp, #-8] | |
243 37c: e50b100c str r1, [fp, #-12] | |
244 380: e59f1070 ldr r1, [pc, #112] ; 3f8 <getcmd+0x94> | |
245 384: e3a00002 mov r0, #2 | |
246 388: e58d2010 str r2, [sp, #16] | |
247 38c: e58d300c str r3, [sp, #12] | |
248 390: eb00061f bl 1c14 <printf> | |
249 394: e51b0008 ldr r0, [fp, #-8] | |
250 398: e51b200c ldr r2, [fp, #-12] | |
251 39c: e3a01000 mov r1, #0 | |
252 3a0: eb000446 bl 14c0 <memset> | |
253 3a4: e51b1008 ldr r1, [fp, #-8] | |
254 3a8: e51b200c ldr r2, [fp, #-12] | |
255 3ac: e58d0008 str r0, [sp, #8] | |
256 3b0: e1a00001 mov r0, r1 | |
257 3b4: e1a01002 mov r1, r2 | |
258 3b8: eb0004ba bl 16a8 <gets> | |
259 3bc: e51b1008 ldr r1, [fp, #-8] | |
260 3c0: e5d11000 ldrb r1, [r1] | |
261 3c4: e3510000 cmp r1, #0 | |
262 3c8: e58d0004 str r0, [sp, #4] | |
263 3cc: 1a000003 bne 3e0 <getcmd+0x7c> | |
264 3d0: eaffffff b 3d4 <getcmd+0x70> | |
265 3d4: e3e00000 mvn r0, #0 | |
266 3d8: e50b0004 str r0, [fp, #-4] | |
267 3dc: ea000002 b 3ec <getcmd+0x88> | |
268 3e0: e3a00000 mov r0, #0 | |
269 3e4: e50b0004 str r0, [fp, #-4] | |
270 3e8: eaffffff b 3ec <getcmd+0x88> | |
271 3ec: e51b0004 ldr r0, [fp, #-4] | |
272 3f0: e1a0d00b mov sp, fp | |
273 3f4: e8bd8800 pop {fp, pc} | |
274 3f8: 00002508 .word 0x00002508 | |
275 | |
276 000003fc <main>: | |
277 3fc: e92d4800 push {fp, lr} | |
278 400: e1a0b00d mov fp, sp | |
279 404: e24dd018 sub sp, sp, #24 | |
280 408: e3a00000 mov r0, #0 | |
281 40c: e50b0004 str r0, [fp, #-4] | |
282 410: eaffffff b 414 <main+0x18> | |
283 414: e59f0110 ldr r0, [pc, #272] ; 52c <main+0x130> | |
284 418: e3a01002 mov r1, #2 | |
285 41c: eb000590 bl 1a64 <open> | |
286 420: e50b0008 str r0, [fp, #-8] | |
287 424: e3500000 cmp r0, #0 | |
288 428: ba000009 blt 454 <main+0x58> | |
289 42c: eaffffff b 430 <main+0x34> | |
290 430: e51b0008 ldr r0, [fp, #-8] | |
291 434: e3500003 cmp r0, #3 | |
292 438: ba000004 blt 450 <main+0x54> | |
293 43c: eaffffff b 440 <main+0x44> | |
294 440: e51b0008 ldr r0, [fp, #-8] | |
295 444: eb00056b bl 19f8 <close> | |
296 448: e58d000c str r0, [sp, #12] | |
297 44c: ea000000 b 454 <main+0x58> | |
298 450: eaffffef b 414 <main+0x18> | |
299 454: eaffffff b 458 <main+0x5c> | |
300 458: e59f00d0 ldr r0, [pc, #208] ; 530 <main+0x134> | |
301 45c: e3a01064 mov r1, #100 ; 0x64 | |
302 460: ebffffbf bl 364 <getcmd> | |
303 464: e3500000 cmp r0, #0 | |
304 468: ba00002d blt 524 <main+0x128> | |
305 46c: eaffffff b 470 <main+0x74> | |
306 470: e59f00b8 ldr r0, [pc, #184] ; 530 <main+0x134> | |
307 474: e5d00000 ldrb r0, [r0] | |
308 478: e3500063 cmp r0, #99 ; 0x63 | |
309 47c: 1a00001d bne 4f8 <main+0xfc> | |
310 480: eaffffff b 484 <main+0x88> | |
311 484: e59f00a4 ldr r0, [pc, #164] ; 530 <main+0x134> | |
312 488: e5d00001 ldrb r0, [r0, #1] | |
313 48c: e3500064 cmp r0, #100 ; 0x64 | |
314 490: 1a000018 bne 4f8 <main+0xfc> | |
315 494: eaffffff b 498 <main+0x9c> | |
316 498: e59f0090 ldr r0, [pc, #144] ; 530 <main+0x134> | |
317 49c: e5d00002 ldrb r0, [r0, #2] | |
318 4a0: e3500020 cmp r0, #32 | |
319 4a4: 1a000013 bne 4f8 <main+0xfc> | |
320 4a8: eaffffff b 4ac <main+0xb0> | |
321 4ac: e59f007c ldr r0, [pc, #124] ; 530 <main+0x134> | |
322 4b0: e58d0008 str r0, [sp, #8] | |
323 4b4: eb0003ec bl 146c <strlen> | |
324 4b8: e59de008 ldr lr, [sp, #8] | |
325 4bc: e08e0000 add r0, lr, r0 | |
326 4c0: e3a01000 mov r1, #0 | |
327 4c4: e5401001 strb r1, [r0, #-1] | |
328 4c8: e28e0003 add r0, lr, #3 | |
329 4cc: eb00059a bl 1b3c <chdir> | |
330 4d0: e3500000 cmp r0, #0 | |
331 4d4: aa000006 bge 4f4 <main+0xf8> | |
332 4d8: eaffffff b 4dc <main+0xe0> | |
333 4dc: e59f004c ldr r0, [pc, #76] ; 530 <main+0x134> | |
334 4e0: e2802003 add r2, r0, #3 | |
335 4e4: e59f1048 ldr r1, [pc, #72] ; 534 <main+0x138> | |
336 4e8: e3a00002 mov r0, #2 | |
337 4ec: eb0005c8 bl 1c14 <printf> | |
338 4f0: eaffffff b 4f4 <main+0xf8> | |
339 4f4: eaffffd7 b 458 <main+0x5c> | |
340 4f8: ebffff89 bl 324 <fork1> | |
341 4fc: e3500000 cmp r0, #0 | |
342 500: 1a000004 bne 518 <main+0x11c> | |
343 504: eaffffff b 508 <main+0x10c> | |
344 508: e59f0020 ldr r0, [pc, #32] ; 530 <main+0x134> | |
345 50c: eb000009 bl 538 <parsecmd> | |
346 510: ebfffeba bl 0 <runcmd> | |
347 514: eaffffff b 518 <main+0x11c> | |
348 518: eb000512 bl 1968 <wait> | |
349 51c: e58d0004 str r0, [sp, #4] | |
350 520: eaffffcc b 458 <main+0x5c> | |
351 524: eb000506 bl 1944 <exit> | |
352 528: e58d0000 str r0, [sp] | |
353 52c: 0000250b .word 0x0000250b | |
354 530: 000025c4 .word 0x000025c4 | |
355 534: 00002513 .word 0x00002513 | |
356 | |
357 00000538 <parsecmd>: | |
358 538: e92d4800 push {fp, lr} | |
359 53c: e1a0b00d mov fp, sp | |
360 540: e24dd020 sub sp, sp, #32 | |
361 544: e1a01000 mov r1, r0 | |
362 548: e50b0004 str r0, [fp, #-4] | |
363 54c: e51b0004 ldr r0, [fp, #-4] | |
364 550: e58d0010 str r0, [sp, #16] | |
365 554: e58d100c str r1, [sp, #12] | |
366 558: eb0003c3 bl 146c <strlen> | |
367 55c: e59d1010 ldr r1, [sp, #16] | |
368 560: e0810000 add r0, r1, r0 | |
369 564: e50b0008 str r0, [fp, #-8] | |
370 568: e51b1008 ldr r1, [fp, #-8] | |
371 56c: e24b0004 sub r0, fp, #4 | |
372 570: e58d0008 str r0, [sp, #8] | |
373 574: eb0001a5 bl c10 <parseline> | |
374 578: e50b000c str r0, [fp, #-12] | |
375 57c: e51b1008 ldr r1, [fp, #-8] | |
376 580: e59f2054 ldr r2, [pc, #84] ; 5dc <parsecmd+0xa4> | |
377 584: e59d0008 ldr r0, [sp, #8] | |
378 588: eb000162 bl b18 <peek> | |
379 58c: e51b1004 ldr r1, [fp, #-4] | |
380 590: e51b2008 ldr r2, [fp, #-8] | |
381 594: e1510002 cmp r1, r2 | |
382 598: e58d0004 str r0, [sp, #4] | |
383 59c: 0a000007 beq 5c0 <parsecmd+0x88> | |
384 5a0: eaffffff b 5a4 <parsecmd+0x6c> | |
385 5a4: e51b2004 ldr r2, [fp, #-4] | |
386 5a8: e59f1030 ldr r1, [pc, #48] ; 5e0 <parsecmd+0xa8> | |
387 5ac: e3a00002 mov r0, #2 | |
388 5b0: eb000597 bl 1c14 <printf> | |
389 5b4: e59f0028 ldr r0, [pc, #40] ; 5e4 <parsecmd+0xac> | |
390 5b8: ebffff48 bl 2e0 <panic> | |
391 5bc: eaffffff b 5c0 <parsecmd+0x88> | |
392 5c0: e51b000c ldr r0, [fp, #-12] | |
393 5c4: eb0001d3 bl d18 <nulterminate> | |
394 5c8: e51be00c ldr lr, [fp, #-12] | |
395 5cc: e58d0000 str r0, [sp] | |
396 5d0: e1a0000e mov r0, lr | |
397 5d4: e1a0d00b mov sp, fp | |
398 5d8: e8bd8800 pop {fp, pc} | |
399 5dc: 000024f2 .word 0x000024f2 | |
400 5e0: 00002526 .word 0x00002526 | |
401 5e4: 00002535 .word 0x00002535 | |
402 | |
403 000005e8 <execcmd>: | |
404 5e8: e92d4800 push {fp, lr} | |
405 5ec: e1a0b00d mov fp, sp | |
406 5f0: e24dd010 sub sp, sp, #16 | |
407 5f4: e3a00054 mov r0, #84 ; 0x54 | |
408 5f8: e58d0008 str r0, [sp, #8] | |
409 5fc: eb0006ea bl 21ac <malloc> | |
410 600: e50b0004 str r0, [fp, #-4] | |
411 604: e51b0004 ldr r0, [fp, #-4] | |
412 608: e3a01000 mov r1, #0 | |
413 60c: e59d2008 ldr r2, [sp, #8] | |
414 610: eb0003aa bl 14c0 <memset> | |
415 614: e51b1004 ldr r1, [fp, #-4] | |
416 618: e3a02001 mov r2, #1 | |
417 61c: e5812000 str r2, [r1] | |
418 620: e51b1004 ldr r1, [fp, #-4] | |
419 624: e58d0004 str r0, [sp, #4] | |
420 628: e1a00001 mov r0, r1 | |
421 62c: e1a0d00b mov sp, fp | |
422 630: e8bd8800 pop {fp, pc} | |
423 | |
424 00000634 <redircmd>: | |
425 634: e92d4c70 push {r4, r5, r6, sl, fp, lr} | |
426 638: e28db010 add fp, sp, #16 | |
427 63c: e24dd030 sub sp, sp, #48 ; 0x30 | |
428 640: e59bc008 ldr ip, [fp, #8] | |
429 644: e1a0e003 mov lr, r3 | |
430 648: e1a04002 mov r4, r2 | |
431 64c: e1a05001 mov r5, r1 | |
432 650: e1a06000 mov r6, r0 | |
433 654: e50b0014 str r0, [fp, #-20] ; 0xffffffec | |
434 658: e50b1018 str r1, [fp, #-24] ; 0xffffffe8 | |
435 65c: e50b201c str r2, [fp, #-28] ; 0xffffffe4 | |
436 660: e58d3020 str r3, [sp, #32] | |
437 664: e3a00018 mov r0, #24 | |
438 668: e58d0018 str r0, [sp, #24] | |
439 66c: e58de014 str lr, [sp, #20] | |
440 670: e58d4010 str r4, [sp, #16] | |
441 674: e58d500c str r5, [sp, #12] | |
442 678: e58d6008 str r6, [sp, #8] | |
443 67c: e58dc004 str ip, [sp, #4] | |
444 680: eb0006c9 bl 21ac <malloc> | |
445 684: e58d001c str r0, [sp, #28] | |
446 688: e59d001c ldr r0, [sp, #28] | |
447 68c: e3a01000 mov r1, #0 | |
448 690: e59d2018 ldr r2, [sp, #24] | |
449 694: eb000389 bl 14c0 <memset> | |
450 698: e59d101c ldr r1, [sp, #28] | |
451 69c: e3a02002 mov r2, #2 | |
452 6a0: e5812000 str r2, [r1] | |
453 6a4: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
454 6a8: e59d201c ldr r2, [sp, #28] | |
455 6ac: e5821004 str r1, [r2, #4] | |
456 6b0: e51b1018 ldr r1, [fp, #-24] ; 0xffffffe8 | |
457 6b4: e59d201c ldr r2, [sp, #28] | |
458 6b8: e5821008 str r1, [r2, #8] | |
459 6bc: e51b101c ldr r1, [fp, #-28] ; 0xffffffe4 | |
460 6c0: e59d201c ldr r2, [sp, #28] | |
461 6c4: e582100c str r1, [r2, #12] | |
462 6c8: e59d1020 ldr r1, [sp, #32] | |
463 6cc: e59d201c ldr r2, [sp, #28] | |
464 6d0: e5821010 str r1, [r2, #16] | |
465 6d4: e59b1008 ldr r1, [fp, #8] | |
466 6d8: e59d201c ldr r2, [sp, #28] | |
467 6dc: e5821014 str r1, [r2, #20] | |
468 6e0: e59d101c ldr r1, [sp, #28] | |
469 6e4: e58d0000 str r0, [sp] | |
470 6e8: e1a00001 mov r0, r1 | |
471 6ec: e24bd010 sub sp, fp, #16 | |
472 6f0: e8bd8c70 pop {r4, r5, r6, sl, fp, pc} | |
473 | |
474 000006f4 <pipecmd>: | |
475 6f4: e92d4800 push {fp, lr} | |
476 6f8: e1a0b00d mov fp, sp | |
477 6fc: e24dd020 sub sp, sp, #32 | |
478 700: e1a02001 mov r2, r1 | |
479 704: e1a03000 mov r3, r0 | |
480 708: e50b0004 str r0, [fp, #-4] | |
481 70c: e50b1008 str r1, [fp, #-8] | |
482 710: e3a0000c mov r0, #12 | |
483 714: e58d0010 str r0, [sp, #16] | |
484 718: e58d200c str r2, [sp, #12] | |
485 71c: e58d3008 str r3, [sp, #8] | |
486 720: eb0006a1 bl 21ac <malloc> | |
487 724: e50b000c str r0, [fp, #-12] | |
488 728: e51b000c ldr r0, [fp, #-12] | |
489 72c: e3a01000 mov r1, #0 | |
490 730: e59d2010 ldr r2, [sp, #16] | |
491 734: eb000361 bl 14c0 <memset> | |
492 738: e51b100c ldr r1, [fp, #-12] | |
493 73c: e3a02003 mov r2, #3 | |
494 740: e5812000 str r2, [r1] | |
495 744: e51b1004 ldr r1, [fp, #-4] | |
496 748: e51b200c ldr r2, [fp, #-12] | |
497 74c: e5821004 str r1, [r2, #4] | |
498 750: e51b1008 ldr r1, [fp, #-8] | |
499 754: e51b200c ldr r2, [fp, #-12] | |
500 758: e5821008 str r1, [r2, #8] | |
501 75c: e51b100c ldr r1, [fp, #-12] | |
502 760: e58d0004 str r0, [sp, #4] | |
503 764: e1a00001 mov r0, r1 | |
504 768: e1a0d00b mov sp, fp | |
505 76c: e8bd8800 pop {fp, pc} | |
506 | |
507 00000770 <listcmd>: | |
508 770: e92d4800 push {fp, lr} | |
509 774: e1a0b00d mov fp, sp | |
510 778: e24dd020 sub sp, sp, #32 | |
511 77c: e1a02001 mov r2, r1 | |
512 780: e1a03000 mov r3, r0 | |
513 784: e50b0004 str r0, [fp, #-4] | |
514 788: e50b1008 str r1, [fp, #-8] | |
515 78c: e3a0000c mov r0, #12 | |
516 790: e58d0010 str r0, [sp, #16] | |
517 794: e58d200c str r2, [sp, #12] | |
518 798: e58d3008 str r3, [sp, #8] | |
519 79c: eb000682 bl 21ac <malloc> | |
520 7a0: e50b000c str r0, [fp, #-12] | |
521 7a4: e51b000c ldr r0, [fp, #-12] | |
522 7a8: e3a01000 mov r1, #0 | |
523 7ac: e59d2010 ldr r2, [sp, #16] | |
524 7b0: eb000342 bl 14c0 <memset> | |
525 7b4: e51b100c ldr r1, [fp, #-12] | |
526 7b8: e3a02004 mov r2, #4 | |
527 7bc: e5812000 str r2, [r1] | |
528 7c0: e51b1004 ldr r1, [fp, #-4] | |
529 7c4: e51b200c ldr r2, [fp, #-12] | |
530 7c8: e5821004 str r1, [r2, #4] | |
531 7cc: e51b1008 ldr r1, [fp, #-8] | |
532 7d0: e51b200c ldr r2, [fp, #-12] | |
533 7d4: e5821008 str r1, [r2, #8] | |
534 7d8: e51b100c ldr r1, [fp, #-12] | |
535 7dc: e58d0004 str r0, [sp, #4] | |
536 7e0: e1a00001 mov r0, r1 | |
537 7e4: e1a0d00b mov sp, fp | |
538 7e8: e8bd8800 pop {fp, pc} | |
539 | |
540 000007ec <backcmd>: | |
541 7ec: e92d4800 push {fp, lr} | |
542 7f0: e1a0b00d mov fp, sp | |
543 7f4: e24dd018 sub sp, sp, #24 | |
544 7f8: e1a01000 mov r1, r0 | |
545 7fc: e50b0004 str r0, [fp, #-4] | |
546 800: e3a00008 mov r0, #8 | |
547 804: e58d000c str r0, [sp, #12] | |
548 808: e58d1008 str r1, [sp, #8] | |
549 80c: eb000666 bl 21ac <malloc> | |
550 810: e50b0008 str r0, [fp, #-8] | |
551 814: e51b0008 ldr r0, [fp, #-8] | |
552 818: e3a01000 mov r1, #0 | |
553 81c: e59d200c ldr r2, [sp, #12] | |
554 820: eb000326 bl 14c0 <memset> | |
555 824: e51b1008 ldr r1, [fp, #-8] | |
556 828: e3a02005 mov r2, #5 | |
557 82c: e5812000 str r2, [r1] | |
558 830: e51b1004 ldr r1, [fp, #-4] | |
559 834: e51b2008 ldr r2, [fp, #-8] | |
560 838: e5821004 str r1, [r2, #4] | |
561 83c: e51b1008 ldr r1, [fp, #-8] | |
562 840: e58d0004 str r0, [sp, #4] | |
563 844: e1a00001 mov r0, r1 | |
564 848: e1a0d00b mov sp, fp | |
565 84c: e8bd8800 pop {fp, pc} | |
566 | |
567 00000850 <gettoken>: | |
568 850: e92d4830 push {r4, r5, fp, lr} | |
569 854: e28db008 add fp, sp, #8 | |
570 858: e24dd038 sub sp, sp, #56 ; 0x38 | |
571 85c: e1a0c003 mov ip, r3 | |
572 860: e1a0e002 mov lr, r2 | |
573 864: e1a04001 mov r4, r1 | |
574 868: e1a05000 mov r5, r0 | |
575 86c: e50b000c str r0, [fp, #-12] | |
576 870: e50b1010 str r1, [fp, #-16] | |
577 874: e50b2014 str r2, [fp, #-20] ; 0xffffffec | |
578 878: e50b3018 str r3, [fp, #-24] ; 0xffffffe8 | |
579 87c: e51b000c ldr r0, [fp, #-12] | |
580 880: e5900000 ldr r0, [r0] | |
581 884: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
582 888: e58dc01c str ip, [sp, #28] | |
583 88c: e58de018 str lr, [sp, #24] | |
584 890: e58d4014 str r4, [sp, #20] | |
585 894: e58d5010 str r5, [sp, #16] | |
586 898: eaffffff b 89c <gettoken+0x4c> | |
587 89c: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
588 8a0: e51b1010 ldr r1, [fp, #-16] | |
589 8a4: e3a02000 mov r2, #0 | |
590 8a8: e1500001 cmp r0, r1 | |
591 8ac: e58d200c str r2, [sp, #12] | |
592 8b0: 2a000008 bcs 8d8 <gettoken+0x88> | |
593 8b4: eaffffff b 8b8 <gettoken+0x68> | |
594 8b8: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
595 8bc: e5d01000 ldrb r1, [r0] | |
596 8c0: e59f0248 ldr r0, [pc, #584] ; b10 <gettoken+0x2c0> | |
597 8c4: eb000356 bl 1624 <strchr> | |
598 8c8: e3500000 cmp r0, #0 | |
599 8cc: 13a00001 movne r0, #1 | |
600 8d0: e58d000c str r0, [sp, #12] | |
601 8d4: eaffffff b 8d8 <gettoken+0x88> | |
602 8d8: e59d000c ldr r0, [sp, #12] | |
603 8dc: e3100001 tst r0, #1 | |
604 8e0: 0a000004 beq 8f8 <gettoken+0xa8> | |
605 8e4: eaffffff b 8e8 <gettoken+0x98> | |
606 8e8: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
607 8ec: e2800001 add r0, r0, #1 | |
608 8f0: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
609 8f4: eaffffe8 b 89c <gettoken+0x4c> | |
610 8f8: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec | |
611 8fc: e3500000 cmp r0, #0 | |
612 900: 0a000004 beq 918 <gettoken+0xc8> | |
613 904: eaffffff b 908 <gettoken+0xb8> | |
614 908: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
615 90c: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
616 910: e5810000 str r0, [r1] | |
617 914: eaffffff b 918 <gettoken+0xc8> | |
618 918: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
619 91c: e5d01000 ldrb r1, [r0] | |
620 920: e58d1020 str r1, [sp, #32] | |
621 924: e5d00000 ldrb r0, [r0] | |
622 928: e1a01000 mov r1, r0 | |
623 92c: e3500000 cmp r0, #0 | |
624 930: e58d1008 str r1, [sp, #8] | |
625 934: 0a000016 beq 994 <gettoken+0x144> | |
626 938: eaffffff b 93c <gettoken+0xec> | |
627 93c: e59d0008 ldr r0, [sp, #8] | |
628 940: e3500026 cmp r0, #38 ; 0x26 | |
629 944: 0a000013 beq 998 <gettoken+0x148> | |
630 948: eaffffff b 94c <gettoken+0xfc> | |
631 94c: e59d0008 ldr r0, [sp, #8] | |
632 950: e2401028 sub r1, r0, #40 ; 0x28 | |
633 954: e3510002 cmp r1, #2 | |
634 958: 3a00000e bcc 998 <gettoken+0x148> | |
635 95c: eaffffff b 960 <gettoken+0x110> | |
636 960: e59d0008 ldr r0, [sp, #8] | |
637 964: e240103b sub r1, r0, #59 ; 0x3b | |
638 968: e3510002 cmp r1, #2 | |
639 96c: 3a000009 bcc 998 <gettoken+0x148> | |
640 970: eaffffff b 974 <gettoken+0x124> | |
641 974: e59d0008 ldr r0, [sp, #8] | |
642 978: e350003e cmp r0, #62 ; 0x3e | |
643 97c: 0a000009 beq 9a8 <gettoken+0x158> | |
644 980: eaffffff b 984 <gettoken+0x134> | |
645 984: e59d0008 ldr r0, [sp, #8] | |
646 988: e350007c cmp r0, #124 ; 0x7c | |
647 98c: 0a000001 beq 998 <gettoken+0x148> | |
648 990: ea000013 b 9e4 <gettoken+0x194> | |
649 994: ea000037 b a78 <gettoken+0x228> | |
650 998: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
651 99c: e2800001 add r0, r0, #1 | |
652 9a0: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
653 9a4: ea000033 b a78 <gettoken+0x228> | |
654 9a8: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
655 9ac: e2800001 add r0, r0, #1 | |
656 9b0: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
657 9b4: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
658 9b8: e5d00000 ldrb r0, [r0] | |
659 9bc: e350003e cmp r0, #62 ; 0x3e | |
660 9c0: 1a000006 bne 9e0 <gettoken+0x190> | |
661 9c4: eaffffff b 9c8 <gettoken+0x178> | |
662 9c8: e3a0002b mov r0, #43 ; 0x2b | |
663 9cc: e58d0020 str r0, [sp, #32] | |
664 9d0: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
665 9d4: e2800001 add r0, r0, #1 | |
666 9d8: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
667 9dc: eaffffff b 9e0 <gettoken+0x190> | |
668 9e0: ea000024 b a78 <gettoken+0x228> | |
669 9e4: e3a00061 mov r0, #97 ; 0x61 | |
670 9e8: e58d0020 str r0, [sp, #32] | |
671 9ec: eaffffff b 9f0 <gettoken+0x1a0> | |
672 9f0: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
673 9f4: e51b1010 ldr r1, [fp, #-16] | |
674 9f8: e3a02000 mov r2, #0 | |
675 9fc: e1500001 cmp r0, r1 | |
676 a00: e58d2004 str r2, [sp, #4] | |
677 a04: 2a000012 bcs a54 <gettoken+0x204> | |
678 a08: eaffffff b a0c <gettoken+0x1bc> | |
679 a0c: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
680 a10: e5d01000 ldrb r1, [r0] | |
681 a14: e59f00f4 ldr r0, [pc, #244] ; b10 <gettoken+0x2c0> | |
682 a18: eb000301 bl 1624 <strchr> | |
683 a1c: e3a01000 mov r1, #0 | |
684 a20: e3500000 cmp r0, #0 | |
685 a24: e58d1004 str r1, [sp, #4] | |
686 a28: 1a000009 bne a54 <gettoken+0x204> | |
687 a2c: eaffffff b a30 <gettoken+0x1e0> | |
688 a30: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
689 a34: e5d01000 ldrb r1, [r0] | |
690 a38: e59f00d4 ldr r0, [pc, #212] ; b14 <gettoken+0x2c4> | |
691 a3c: eb0002f8 bl 1624 <strchr> | |
692 a40: e3a01000 mov r1, #0 | |
693 a44: e3500000 cmp r0, #0 | |
694 a48: 03a01001 moveq r1, #1 | |
695 a4c: e58d1004 str r1, [sp, #4] | |
696 a50: eaffffff b a54 <gettoken+0x204> | |
697 a54: e59d0004 ldr r0, [sp, #4] | |
698 a58: e3100001 tst r0, #1 | |
699 a5c: 0a000004 beq a74 <gettoken+0x224> | |
700 a60: eaffffff b a64 <gettoken+0x214> | |
701 a64: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
702 a68: e2800001 add r0, r0, #1 | |
703 a6c: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
704 a70: eaffffde b 9f0 <gettoken+0x1a0> | |
705 a74: eaffffff b a78 <gettoken+0x228> | |
706 a78: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 | |
707 a7c: e3500000 cmp r0, #0 | |
708 a80: 0a000004 beq a98 <gettoken+0x248> | |
709 a84: eaffffff b a88 <gettoken+0x238> | |
710 a88: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
711 a8c: e51b1018 ldr r1, [fp, #-24] ; 0xffffffe8 | |
712 a90: e5810000 str r0, [r1] | |
713 a94: eaffffff b a98 <gettoken+0x248> | |
714 a98: eaffffff b a9c <gettoken+0x24c> | |
715 a9c: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
716 aa0: e51b1010 ldr r1, [fp, #-16] | |
717 aa4: e3a02000 mov r2, #0 | |
718 aa8: e1500001 cmp r0, r1 | |
719 aac: e58d2000 str r2, [sp] | |
720 ab0: 2a000008 bcs ad8 <gettoken+0x288> | |
721 ab4: eaffffff b ab8 <gettoken+0x268> | |
722 ab8: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
723 abc: e5d01000 ldrb r1, [r0] | |
724 ac0: e59f0048 ldr r0, [pc, #72] ; b10 <gettoken+0x2c0> | |
725 ac4: eb0002d6 bl 1624 <strchr> | |
726 ac8: e3500000 cmp r0, #0 | |
727 acc: 13a00001 movne r0, #1 | |
728 ad0: e58d0000 str r0, [sp] | |
729 ad4: eaffffff b ad8 <gettoken+0x288> | |
730 ad8: e59d0000 ldr r0, [sp] | |
731 adc: e3100001 tst r0, #1 | |
732 ae0: 0a000004 beq af8 <gettoken+0x2a8> | |
733 ae4: eaffffff b ae8 <gettoken+0x298> | |
734 ae8: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
735 aec: e2800001 add r0, r0, #1 | |
736 af0: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
737 af4: eaffffe8 b a9c <gettoken+0x24c> | |
738 af8: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
739 afc: e51b100c ldr r1, [fp, #-12] | |
740 b00: e5810000 str r0, [r1] | |
741 b04: e59d0020 ldr r0, [sp, #32] | |
742 b08: e24bd008 sub sp, fp, #8 | |
743 b0c: e8bd8830 pop {r4, r5, fp, pc} | |
744 b10: 000025a4 .word 0x000025a4 | |
745 b14: 000025aa .word 0x000025aa | |
746 | |
747 00000b18 <peek>: | |
748 b18: e92d4800 push {fp, lr} | |
749 b1c: e1a0b00d mov fp, sp | |
750 b20: e24dd028 sub sp, sp, #40 ; 0x28 | |
751 b24: e1a03002 mov r3, r2 | |
752 b28: e1a0c001 mov ip, r1 | |
753 b2c: e1a0e000 mov lr, r0 | |
754 b30: e50b0004 str r0, [fp, #-4] | |
755 b34: e50b1008 str r1, [fp, #-8] | |
756 b38: e50b200c str r2, [fp, #-12] | |
757 b3c: e51b0004 ldr r0, [fp, #-4] | |
758 b40: e5900000 ldr r0, [r0] | |
759 b44: e50b0010 str r0, [fp, #-16] | |
760 b48: e58d3014 str r3, [sp, #20] | |
761 b4c: e58dc010 str ip, [sp, #16] | |
762 b50: e58de00c str lr, [sp, #12] | |
763 b54: eaffffff b b58 <peek+0x40> | |
764 b58: e51b0010 ldr r0, [fp, #-16] | |
765 b5c: e51b1008 ldr r1, [fp, #-8] | |
766 b60: e3a02000 mov r2, #0 | |
767 b64: e1500001 cmp r0, r1 | |
768 b68: e58d2008 str r2, [sp, #8] | |
769 b6c: 2a000008 bcs b94 <peek+0x7c> | |
770 b70: eaffffff b b74 <peek+0x5c> | |
771 b74: e51b0010 ldr r0, [fp, #-16] | |
772 b78: e5d01000 ldrb r1, [r0] | |
773 b7c: e59f0088 ldr r0, [pc, #136] ; c0c <peek+0xf4> | |
774 b80: eb0002a7 bl 1624 <strchr> | |
775 b84: e3500000 cmp r0, #0 | |
776 b88: 13a00001 movne r0, #1 | |
777 b8c: e58d0008 str r0, [sp, #8] | |
778 b90: eaffffff b b94 <peek+0x7c> | |
779 b94: e59d0008 ldr r0, [sp, #8] | |
780 b98: e3100001 tst r0, #1 | |
781 b9c: 0a000004 beq bb4 <peek+0x9c> | |
782 ba0: eaffffff b ba4 <peek+0x8c> | |
783 ba4: e51b0010 ldr r0, [fp, #-16] | |
784 ba8: e2800001 add r0, r0, #1 | |
785 bac: e50b0010 str r0, [fp, #-16] | |
786 bb0: eaffffe8 b b58 <peek+0x40> | |
787 bb4: e51b0010 ldr r0, [fp, #-16] | |
788 bb8: e51b1004 ldr r1, [fp, #-4] | |
789 bbc: e5810000 str r0, [r1] | |
790 bc0: e51b0010 ldr r0, [fp, #-16] | |
791 bc4: e5d00000 ldrb r0, [r0] | |
792 bc8: e3a01000 mov r1, #0 | |
793 bcc: e3500000 cmp r0, #0 | |
794 bd0: e58d1004 str r1, [sp, #4] | |
795 bd4: 0a000008 beq bfc <peek+0xe4> | |
796 bd8: eaffffff b bdc <peek+0xc4> | |
797 bdc: e51b000c ldr r0, [fp, #-12] | |
798 be0: e51b1010 ldr r1, [fp, #-16] | |
799 be4: e5d11000 ldrb r1, [r1] | |
800 be8: eb00028d bl 1624 <strchr> | |
801 bec: e3500000 cmp r0, #0 | |
802 bf0: 13a00001 movne r0, #1 | |
803 bf4: e58d0004 str r0, [sp, #4] | |
804 bf8: eaffffff b bfc <peek+0xe4> | |
805 bfc: e59d0004 ldr r0, [sp, #4] | |
806 c00: e2000001 and r0, r0, #1 | |
807 c04: e1a0d00b mov sp, fp | |
808 c08: e8bd8800 pop {fp, pc} | |
809 c0c: 000025a4 .word 0x000025a4 | |
810 | |
811 00000c10 <parseline>: | |
812 c10: e92d4800 push {fp, lr} | |
813 c14: e1a0b00d mov fp, sp | |
814 c18: e24dd030 sub sp, sp, #48 ; 0x30 | |
815 c1c: e1a02001 mov r2, r1 | |
816 c20: e1a03000 mov r3, r0 | |
817 c24: e50b0004 str r0, [fp, #-4] | |
818 c28: e50b1008 str r1, [fp, #-8] | |
819 c2c: e51b0004 ldr r0, [fp, #-4] | |
820 c30: e51b1008 ldr r1, [fp, #-8] | |
821 c34: e50b2010 str r2, [fp, #-16] | |
822 c38: e50b3014 str r3, [fp, #-20] ; 0xffffffec | |
823 c3c: eb00009a bl eac <parsepipe> | |
824 c40: e50b000c str r0, [fp, #-12] | |
825 c44: eaffffff b c48 <parseline+0x38> | |
826 c48: e51b0004 ldr r0, [fp, #-4] | |
827 c4c: e51b1008 ldr r1, [fp, #-8] | |
828 c50: e59f20b8 ldr r2, [pc, #184] ; d10 <parseline+0x100> | |
829 c54: ebffffaf bl b18 <peek> | |
830 c58: e3500000 cmp r0, #0 | |
831 c5c: 0a00000c beq c94 <parseline+0x84> | |
832 c60: eaffffff b c64 <parseline+0x54> | |
833 c64: e51b0004 ldr r0, [fp, #-4] | |
834 c68: e51b1008 ldr r1, [fp, #-8] | |
835 c6c: e3a02000 mov r2, #0 | |
836 c70: e58d2018 str r2, [sp, #24] | |
837 c74: e59d3018 ldr r3, [sp, #24] | |
838 c78: ebfffef4 bl 850 <gettoken> | |
839 c7c: e51b100c ldr r1, [fp, #-12] | |
840 c80: e58d0014 str r0, [sp, #20] | |
841 c84: e1a00001 mov r0, r1 | |
842 c88: ebfffed7 bl 7ec <backcmd> | |
843 c8c: e50b000c str r0, [fp, #-12] | |
844 c90: eaffffec b c48 <parseline+0x38> | |
845 c94: e51b0004 ldr r0, [fp, #-4] | |
846 c98: e51b1008 ldr r1, [fp, #-8] | |
847 c9c: e59f2070 ldr r2, [pc, #112] ; d14 <parseline+0x104> | |
848 ca0: ebffff9c bl b18 <peek> | |
849 ca4: e3500000 cmp r0, #0 | |
850 ca8: 0a000015 beq d04 <parseline+0xf4> | |
851 cac: eaffffff b cb0 <parseline+0xa0> | |
852 cb0: e51b0004 ldr r0, [fp, #-4] | |
853 cb4: e51b1008 ldr r1, [fp, #-8] | |
854 cb8: e3a02000 mov r2, #0 | |
855 cbc: e58d2010 str r2, [sp, #16] | |
856 cc0: e59d3010 ldr r3, [sp, #16] | |
857 cc4: ebfffee1 bl 850 <gettoken> | |
858 cc8: e51b100c ldr r1, [fp, #-12] | |
859 ccc: e51b2004 ldr r2, [fp, #-4] | |
860 cd0: e51b3008 ldr r3, [fp, #-8] | |
861 cd4: e58d000c str r0, [sp, #12] | |
862 cd8: e1a00002 mov r0, r2 | |
863 cdc: e58d1008 str r1, [sp, #8] | |
864 ce0: e1a01003 mov r1, r3 | |
865 ce4: ebffffc9 bl c10 <parseline> | |
866 ce8: e59d1008 ldr r1, [sp, #8] | |
867 cec: e58d0004 str r0, [sp, #4] | |
868 cf0: e1a00001 mov r0, r1 | |
869 cf4: e59d1004 ldr r1, [sp, #4] | |
870 cf8: ebfffe9c bl 770 <listcmd> | |
871 cfc: e50b000c str r0, [fp, #-12] | |
872 d00: eaffffff b d04 <parseline+0xf4> | |
873 d04: e51b000c ldr r0, [fp, #-12] | |
874 d08: e1a0d00b mov sp, fp | |
875 d0c: e8bd8800 pop {fp, pc} | |
876 d10: 0000253c .word 0x0000253c | |
877 d14: 00002583 .word 0x00002583 | |
878 | |
879 00000d18 <nulterminate>: | |
880 d18: e92d4800 push {fp, lr} | |
881 d1c: e1a0b00d mov fp, sp | |
882 d20: e24dd040 sub sp, sp, #64 ; 0x40 | |
883 d24: e1a01000 mov r1, r0 | |
884 d28: e50b0008 str r0, [fp, #-8] | |
885 d2c: e51b0008 ldr r0, [fp, #-8] | |
886 d30: e3500000 cmp r0, #0 | |
887 d34: e58d101c str r1, [sp, #28] | |
888 d38: 1a000003 bne d4c <nulterminate+0x34> | |
889 d3c: eaffffff b d40 <nulterminate+0x28> | |
890 d40: e3a00000 mov r0, #0 | |
891 d44: e50b0004 str r0, [fp, #-4] | |
892 d48: ea000054 b ea0 <nulterminate+0x188> | |
893 d4c: e51b0008 ldr r0, [fp, #-8] | |
894 d50: e5900000 ldr r0, [r0] | |
895 d54: e2400001 sub r0, r0, #1 | |
896 d58: e3500004 cmp r0, #4 | |
897 d5c: e58d0018 str r0, [sp, #24] | |
898 d60: 8a00004b bhi e94 <nulterminate+0x17c> | |
899 d64: e59d0018 ldr r0, [sp, #24] | |
900 d68: e1a01100 lsl r1, r0, #2 | |
901 d6c: e28f2004 add r2, pc, #4 | |
902 d70: e7911002 ldr r1, [r1, r2] | |
903 d74: e1a0f001 mov pc, r1 | |
904 d78: 00000d8c .word 0x00000d8c | |
905 d7c: 00000dec .word 0x00000dec | |
906 d80: 00000e18 .word 0x00000e18 | |
907 d84: 00000e48 .word 0x00000e48 | |
908 d88: 00000e78 .word 0x00000e78 | |
909 d8c: e51b0008 ldr r0, [fp, #-8] | |
910 d90: e50b0014 str r0, [fp, #-20] ; 0xffffffec | |
911 d94: e3a00000 mov r0, #0 | |
912 d98: e50b000c str r0, [fp, #-12] | |
913 d9c: eaffffff b da0 <nulterminate+0x88> | |
914 da0: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec | |
915 da4: e51b100c ldr r1, [fp, #-12] | |
916 da8: e0800101 add r0, r0, r1, lsl #2 | |
917 dac: e5900004 ldr r0, [r0, #4] | |
918 db0: e3500000 cmp r0, #0 | |
919 db4: 0a00000b beq de8 <nulterminate+0xd0> | |
920 db8: eaffffff b dbc <nulterminate+0xa4> | |
921 dbc: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec | |
922 dc0: e51b100c ldr r1, [fp, #-12] | |
923 dc4: e0800101 add r0, r0, r1, lsl #2 | |
924 dc8: e590002c ldr r0, [r0, #44] ; 0x2c | |
925 dcc: e3a01000 mov r1, #0 | |
926 dd0: e5c01000 strb r1, [r0] | |
927 dd4: eaffffff b dd8 <nulterminate+0xc0> | |
928 dd8: e51b000c ldr r0, [fp, #-12] | |
929 ddc: e2800001 add r0, r0, #1 | |
930 de0: e50b000c str r0, [fp, #-12] | |
931 de4: eaffffed b da0 <nulterminate+0x88> | |
932 de8: ea000029 b e94 <nulterminate+0x17c> | |
933 dec: e51b0008 ldr r0, [fp, #-8] | |
934 df0: e58d0020 str r0, [sp, #32] | |
935 df4: e59d0020 ldr r0, [sp, #32] | |
936 df8: e5900004 ldr r0, [r0, #4] | |
937 dfc: ebffffc5 bl d18 <nulterminate> | |
938 e00: e59de020 ldr lr, [sp, #32] | |
939 e04: e59ee00c ldr lr, [lr, #12] | |
940 e08: e3a01000 mov r1, #0 | |
941 e0c: e5ce1000 strb r1, [lr] | |
942 e10: e58d0014 str r0, [sp, #20] | |
943 e14: ea00001e b e94 <nulterminate+0x17c> | |
944 e18: e51b0008 ldr r0, [fp, #-8] | |
945 e1c: e50b001c str r0, [fp, #-28] ; 0xffffffe4 | |
946 e20: e51b001c ldr r0, [fp, #-28] ; 0xffffffe4 | |
947 e24: e5900004 ldr r0, [r0, #4] | |
948 e28: ebffffba bl d18 <nulterminate> | |
949 e2c: e51be01c ldr lr, [fp, #-28] ; 0xffffffe4 | |
950 e30: e59ee008 ldr lr, [lr, #8] | |
951 e34: e58d0010 str r0, [sp, #16] | |
952 e38: e1a0000e mov r0, lr | |
953 e3c: ebffffb5 bl d18 <nulterminate> | |
954 e40: e58d000c str r0, [sp, #12] | |
955 e44: ea000012 b e94 <nulterminate+0x17c> | |
956 e48: e51b0008 ldr r0, [fp, #-8] | |
957 e4c: e50b0018 str r0, [fp, #-24] ; 0xffffffe8 | |
958 e50: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 | |
959 e54: e5900004 ldr r0, [r0, #4] | |
960 e58: ebffffae bl d18 <nulterminate> | |
961 e5c: e51be018 ldr lr, [fp, #-24] ; 0xffffffe8 | |
962 e60: e59ee008 ldr lr, [lr, #8] | |
963 e64: e58d0008 str r0, [sp, #8] | |
964 e68: e1a0000e mov r0, lr | |
965 e6c: ebffffa9 bl d18 <nulterminate> | |
966 e70: e58d0004 str r0, [sp, #4] | |
967 e74: ea000006 b e94 <nulterminate+0x17c> | |
968 e78: e51b0008 ldr r0, [fp, #-8] | |
969 e7c: e50b0010 str r0, [fp, #-16] | |
970 e80: e51b0010 ldr r0, [fp, #-16] | |
971 e84: e5900004 ldr r0, [r0, #4] | |
972 e88: ebffffa2 bl d18 <nulterminate> | |
973 e8c: e58d0000 str r0, [sp] | |
974 e90: eaffffff b e94 <nulterminate+0x17c> | |
975 e94: e51b0008 ldr r0, [fp, #-8] | |
976 e98: e50b0004 str r0, [fp, #-4] | |
977 e9c: eaffffff b ea0 <nulterminate+0x188> | |
978 ea0: e51b0004 ldr r0, [fp, #-4] | |
979 ea4: e1a0d00b mov sp, fp | |
980 ea8: e8bd8800 pop {fp, pc} | |
981 | |
982 00000eac <parsepipe>: | |
983 eac: e92d4800 push {fp, lr} | |
984 eb0: e1a0b00d mov fp, sp | |
985 eb4: e24dd028 sub sp, sp, #40 ; 0x28 | |
986 eb8: e1a02001 mov r2, r1 | |
987 ebc: e1a03000 mov r3, r0 | |
988 ec0: e50b0004 str r0, [fp, #-4] | |
989 ec4: e50b1008 str r1, [fp, #-8] | |
990 ec8: e51b0004 ldr r0, [fp, #-4] | |
991 ecc: e51b1008 ldr r1, [fp, #-8] | |
992 ed0: e50b2010 str r2, [fp, #-16] | |
993 ed4: e58d3014 str r3, [sp, #20] | |
994 ed8: eb000020 bl f60 <parseexec> | |
995 edc: e50b000c str r0, [fp, #-12] | |
996 ee0: e51b0004 ldr r0, [fp, #-4] | |
997 ee4: e51b1008 ldr r1, [fp, #-8] | |
998 ee8: e59f206c ldr r2, [pc, #108] ; f5c <parsepipe+0xb0> | |
999 eec: ebffff09 bl b18 <peek> | |
1000 ef0: e3500000 cmp r0, #0 | |
1001 ef4: 0a000015 beq f50 <parsepipe+0xa4> | |
1002 ef8: eaffffff b efc <parsepipe+0x50> | |
1003 efc: e51b0004 ldr r0, [fp, #-4] | |
1004 f00: e51b1008 ldr r1, [fp, #-8] | |
1005 f04: e3a02000 mov r2, #0 | |
1006 f08: e58d2010 str r2, [sp, #16] | |
1007 f0c: e59d3010 ldr r3, [sp, #16] | |
1008 f10: ebfffe4e bl 850 <gettoken> | |
1009 f14: e51b100c ldr r1, [fp, #-12] | |
1010 f18: e51b2004 ldr r2, [fp, #-4] | |
1011 f1c: e51b3008 ldr r3, [fp, #-8] | |
1012 f20: e58d000c str r0, [sp, #12] | |
1013 f24: e1a00002 mov r0, r2 | |
1014 f28: e58d1008 str r1, [sp, #8] | |
1015 f2c: e1a01003 mov r1, r3 | |
1016 f30: ebffffdd bl eac <parsepipe> | |
1017 f34: e59d1008 ldr r1, [sp, #8] | |
1018 f38: e58d0004 str r0, [sp, #4] | |
1019 f3c: e1a00001 mov r0, r1 | |
1020 f40: e59d1004 ldr r1, [sp, #4] | |
1021 f44: ebfffdea bl 6f4 <pipecmd> | |
1022 f48: e50b000c str r0, [fp, #-12] | |
1023 f4c: eaffffff b f50 <parsepipe+0xa4> | |
1024 f50: e51b000c ldr r0, [fp, #-12] | |
1025 f54: e1a0d00b mov sp, fp | |
1026 f58: e8bd8800 pop {fp, pc} | |
1027 f5c: 0000253e .word 0x0000253e | |
1028 | |
1029 00000f60 <parseexec>: | |
1030 f60: e92d4800 push {fp, lr} | |
1031 f64: e1a0b00d mov fp, sp | |
1032 f68: e24dd030 sub sp, sp, #48 ; 0x30 | |
1033 f6c: e1a02001 mov r2, r1 | |
1034 f70: e1a03000 mov r3, r0 | |
1035 f74: e50b0008 str r0, [fp, #-8] | |
1036 f78: e50b100c str r1, [fp, #-12] | |
1037 f7c: e51b0008 ldr r0, [fp, #-8] | |
1038 f80: e51b100c ldr r1, [fp, #-12] | |
1039 f84: e59fc15c ldr ip, [pc, #348] ; 10e8 <parseexec+0x188> | |
1040 f88: e58d2008 str r2, [sp, #8] | |
1041 f8c: e1a0200c mov r2, ip | |
1042 f90: e58d3004 str r3, [sp, #4] | |
1043 f94: ebfffedf bl b18 <peek> | |
1044 f98: e3500000 cmp r0, #0 | |
1045 f9c: 0a000005 beq fb8 <parseexec+0x58> | |
1046 fa0: eaffffff b fa4 <parseexec+0x44> | |
1047 fa4: e51b0008 ldr r0, [fp, #-8] | |
1048 fa8: e51b100c ldr r1, [fp, #-12] | |
1049 fac: eb0000aa bl 125c <parseblock> | |
1050 fb0: e50b0004 str r0, [fp, #-4] | |
1051 fb4: ea000048 b 10dc <parseexec+0x17c> | |
1052 fb8: ebfffd8a bl 5e8 <execcmd> | |
1053 fbc: e58d000c str r0, [sp, #12] | |
1054 fc0: e59d000c ldr r0, [sp, #12] | |
1055 fc4: e58d0010 str r0, [sp, #16] | |
1056 fc8: e3a0e000 mov lr, #0 | |
1057 fcc: e58de014 str lr, [sp, #20] | |
1058 fd0: e51b1008 ldr r1, [fp, #-8] | |
1059 fd4: e51b200c ldr r2, [fp, #-12] | |
1060 fd8: eb000046 bl 10f8 <parseredirs> | |
1061 fdc: e58d000c str r0, [sp, #12] | |
1062 fe0: eaffffff b fe4 <parseexec+0x84> | |
1063 fe4: e51b0008 ldr r0, [fp, #-8] | |
1064 fe8: e51b100c ldr r1, [fp, #-12] | |
1065 fec: e59f20f8 ldr r2, [pc, #248] ; 10ec <parseexec+0x18c> | |
1066 ff0: ebfffec8 bl b18 <peek> | |
1067 ff4: e3500000 cmp r0, #0 | |
1068 ff8: 1a00002b bne 10ac <parseexec+0x14c> | |
1069 ffc: eaffffff b 1000 <parseexec+0xa0> | |
1070 1000: e51b0008 ldr r0, [fp, #-8] | |
1071 1004: e51b100c ldr r1, [fp, #-12] | |
1072 1008: e24b2010 sub r2, fp, #16 | |
1073 100c: e24b3014 sub r3, fp, #20 | |
1074 1010: ebfffe0e bl 850 <gettoken> | |
1075 1014: e58d0018 str r0, [sp, #24] | |
1076 1018: e3500000 cmp r0, #0 | |
1077 101c: 1a000001 bne 1028 <parseexec+0xc8> | |
1078 1020: eaffffff b 1024 <parseexec+0xc4> | |
1079 1024: ea000020 b 10ac <parseexec+0x14c> | |
1080 1028: e59d0018 ldr r0, [sp, #24] | |
1081 102c: e3500061 cmp r0, #97 ; 0x61 | |
1082 1030: 0a000003 beq 1044 <parseexec+0xe4> | |
1083 1034: eaffffff b 1038 <parseexec+0xd8> | |
1084 1038: e59f00b0 ldr r0, [pc, #176] ; 10f0 <parseexec+0x190> | |
1085 103c: ebfffca7 bl 2e0 <panic> | |
1086 1040: eaffffff b 1044 <parseexec+0xe4> | |
1087 1044: e51b0010 ldr r0, [fp, #-16] | |
1088 1048: e59d1010 ldr r1, [sp, #16] | |
1089 104c: e59d2014 ldr r2, [sp, #20] | |
1090 1050: e0811102 add r1, r1, r2, lsl #2 | |
1091 1054: e5810004 str r0, [r1, #4] | |
1092 1058: e51b0014 ldr r0, [fp, #-20] ; 0xffffffec | |
1093 105c: e59d1010 ldr r1, [sp, #16] | |
1094 1060: e59d2014 ldr r2, [sp, #20] | |
1095 1064: e0811102 add r1, r1, r2, lsl #2 | |
1096 1068: e581002c str r0, [r1, #44] ; 0x2c | |
1097 106c: e59d0014 ldr r0, [sp, #20] | |
1098 1070: e2800001 add r0, r0, #1 | |
1099 1074: e58d0014 str r0, [sp, #20] | |
1100 1078: e59d0014 ldr r0, [sp, #20] | |
1101 107c: e350000a cmp r0, #10 | |
1102 1080: ba000003 blt 1094 <parseexec+0x134> | |
1103 1084: eaffffff b 1088 <parseexec+0x128> | |
1104 1088: e59f0064 ldr r0, [pc, #100] ; 10f4 <parseexec+0x194> | |
1105 108c: ebfffc93 bl 2e0 <panic> | |
1106 1090: eaffffff b 1094 <parseexec+0x134> | |
1107 1094: e59d000c ldr r0, [sp, #12] | |
1108 1098: e51b1008 ldr r1, [fp, #-8] | |
1109 109c: e51b200c ldr r2, [fp, #-12] | |
1110 10a0: eb000014 bl 10f8 <parseredirs> | |
1111 10a4: e58d000c str r0, [sp, #12] | |
1112 10a8: eaffffcd b fe4 <parseexec+0x84> | |
1113 10ac: e59d0010 ldr r0, [sp, #16] | |
1114 10b0: e59d1014 ldr r1, [sp, #20] | |
1115 10b4: e0800101 add r0, r0, r1, lsl #2 | |
1116 10b8: e3a01000 mov r1, #0 | |
1117 10bc: e5801004 str r1, [r0, #4] | |
1118 10c0: e59d0010 ldr r0, [sp, #16] | |
1119 10c4: e59d2014 ldr r2, [sp, #20] | |
1120 10c8: e0800102 add r0, r0, r2, lsl #2 | |
1121 10cc: e580102c str r1, [r0, #44] ; 0x2c | |
1122 10d0: e59d000c ldr r0, [sp, #12] | |
1123 10d4: e50b0004 str r0, [fp, #-4] | |
1124 10d8: eaffffff b 10dc <parseexec+0x17c> | |
1125 10dc: e51b0004 ldr r0, [fp, #-4] | |
1126 10e0: e1a0d00b mov sp, fp | |
1127 10e4: e8bd8800 pop {fp, pc} | |
1128 10e8: 00002560 .word 0x00002560 | |
1129 10ec: 00002580 .word 0x00002580 | |
1130 10f0: 00002535 .word 0x00002535 | |
1131 10f4: 00002585 .word 0x00002585 | |
1132 | |
1133 000010f8 <parseredirs>: | |
1134 10f8: e92d4800 push {fp, lr} | |
1135 10fc: e1a0b00d mov fp, sp | |
1136 1100: e24dd030 sub sp, sp, #48 ; 0x30 | |
1137 1104: e1a03002 mov r3, r2 | |
1138 1108: e1a0c001 mov ip, r1 | |
1139 110c: e1a0e000 mov lr, r0 | |
1140 1110: e50b0004 str r0, [fp, #-4] | |
1141 1114: e50b1008 str r1, [fp, #-8] | |
1142 1118: e50b200c str r2, [fp, #-12] | |
1143 111c: e58d3014 str r3, [sp, #20] | |
1144 1120: e58dc010 str ip, [sp, #16] | |
1145 1124: e58de00c str lr, [sp, #12] | |
1146 1128: eaffffff b 112c <parseredirs+0x34> | |
1147 112c: e51b0008 ldr r0, [fp, #-8] | |
1148 1130: e51b100c ldr r1, [fp, #-12] | |
1149 1134: e59f2118 ldr r2, [pc, #280] ; 1254 <parseredirs+0x15c> | |
1150 1138: ebfffe76 bl b18 <peek> | |
1151 113c: e3500000 cmp r0, #0 | |
1152 1140: 0a000040 beq 1248 <parseredirs+0x150> | |
1153 1144: eaffffff b 1148 <parseredirs+0x50> | |
1154 1148: e51b0008 ldr r0, [fp, #-8] | |
1155 114c: e51b100c ldr r1, [fp, #-12] | |
1156 1150: e3a02000 mov r2, #0 | |
1157 1154: e58d2008 str r2, [sp, #8] | |
1158 1158: e59d3008 ldr r3, [sp, #8] | |
1159 115c: ebfffdbb bl 850 <gettoken> | |
1160 1160: e50b0010 str r0, [fp, #-16] | |
1161 1164: e51b0008 ldr r0, [fp, #-8] | |
1162 1168: e51b100c ldr r1, [fp, #-12] | |
1163 116c: e24b2014 sub r2, fp, #20 | |
1164 1170: e28d3018 add r3, sp, #24 | |
1165 1174: ebfffdb5 bl 850 <gettoken> | |
1166 1178: e3500061 cmp r0, #97 ; 0x61 | |
1167 117c: 0a000003 beq 1190 <parseredirs+0x98> | |
1168 1180: eaffffff b 1184 <parseredirs+0x8c> | |
1169 1184: e59f00cc ldr r0, [pc, #204] ; 1258 <parseredirs+0x160> | |
1170 1188: ebfffc54 bl 2e0 <panic> | |
1171 118c: eaffffff b 1190 <parseredirs+0x98> | |
1172 1190: e51b0010 ldr r0, [fp, #-16] | |
1173 1194: e350002b cmp r0, #43 ; 0x2b | |
1174 1198: e58d0004 str r0, [sp, #4] | |
1175 119c: 0a00001d beq 1218 <parseredirs+0x120> | |
1176 11a0: eaffffff b 11a4 <parseredirs+0xac> | |
1177 11a4: e59d0004 ldr r0, [sp, #4] | |
1178 11a8: e350003c cmp r0, #60 ; 0x3c | |
1179 11ac: 0a000004 beq 11c4 <parseredirs+0xcc> | |
1180 11b0: eaffffff b 11b4 <parseredirs+0xbc> | |
1181 11b4: e59d0004 ldr r0, [sp, #4] | |
1182 11b8: e350003e cmp r0, #62 ; 0x3e | |
1183 11bc: 0a00000a beq 11ec <parseredirs+0xf4> | |
1184 11c0: ea00001f b 1244 <parseredirs+0x14c> | |
1185 11c4: e51b0004 ldr r0, [fp, #-4] | |
1186 11c8: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
1187 11cc: e59d2018 ldr r2, [sp, #24] | |
1188 11d0: e1a0300d mov r3, sp | |
1189 11d4: e3a0c000 mov ip, #0 | |
1190 11d8: e583c000 str ip, [r3] | |
1191 11dc: e1a0300c mov r3, ip | |
1192 11e0: ebfffd13 bl 634 <redircmd> | |
1193 11e4: e50b0004 str r0, [fp, #-4] | |
1194 11e8: ea000015 b 1244 <parseredirs+0x14c> | |
1195 11ec: e51b0004 ldr r0, [fp, #-4] | |
1196 11f0: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
1197 11f4: e59d2018 ldr r2, [sp, #24] | |
1198 11f8: e1a0300d mov r3, sp | |
1199 11fc: e3a0c001 mov ip, #1 | |
1200 1200: e583c000 str ip, [r3] | |
1201 1204: e3a03001 mov r3, #1 | |
1202 1208: e3833c02 orr r3, r3, #512 ; 0x200 | |
1203 120c: ebfffd08 bl 634 <redircmd> | |
1204 1210: e50b0004 str r0, [fp, #-4] | |
1205 1214: ea00000a b 1244 <parseredirs+0x14c> | |
1206 1218: e51b0004 ldr r0, [fp, #-4] | |
1207 121c: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
1208 1220: e59d2018 ldr r2, [sp, #24] | |
1209 1224: e1a0300d mov r3, sp | |
1210 1228: e3a0c001 mov ip, #1 | |
1211 122c: e583c000 str ip, [r3] | |
1212 1230: e3a03001 mov r3, #1 | |
1213 1234: e3833c02 orr r3, r3, #512 ; 0x200 | |
1214 1238: ebfffcfd bl 634 <redircmd> | |
1215 123c: e50b0004 str r0, [fp, #-4] | |
1216 1240: eaffffff b 1244 <parseredirs+0x14c> | |
1217 1244: eaffffb8 b 112c <parseredirs+0x34> | |
1218 1248: e51b0004 ldr r0, [fp, #-4] | |
1219 124c: e1a0d00b mov sp, fp | |
1220 1250: e8bd8800 pop {fp, pc} | |
1221 1254: 00002540 .word 0x00002540 | |
1222 1258: 00002543 .word 0x00002543 | |
1223 | |
1224 0000125c <parseblock>: | |
1225 return cmd; | |
1226 } | |
1227 | |
1228 struct cmd* | |
1229 parseblock(char **ps, char *es) | |
1230 { | |
1231 125c: e92d4800 push {fp, lr} | |
1232 1260: e1a0b00d mov fp, sp | |
1233 1264: e24dd028 sub sp, sp, #40 ; 0x28 | |
1234 1268: e1a02001 mov r2, r1 | |
1235 126c: e1a03000 mov r3, r0 | |
1236 1270: e50b0004 str r0, [fp, #-4] | |
1237 1274: e50b1008 str r1, [fp, #-8] | |
1238 struct cmd *cmd; | |
1239 | |
1240 if(!peek(ps, es, "(")) | |
1241 1278: e51b0004 ldr r0, [fp, #-4] | |
1242 127c: e51b1008 ldr r1, [fp, #-8] | |
1243 1280: e59fc0c8 ldr ip, [pc, #200] ; 1350 <parseblock+0xf4> | |
1244 1284: e50b2010 str r2, [fp, #-16] | |
1245 1288: e1a0200c mov r2, ip | |
1246 128c: e58d3014 str r3, [sp, #20] | |
1247 1290: ebfffe20 bl b18 <peek> | |
1248 1294: e3500000 cmp r0, #0 | |
1249 1298: 1a000003 bne 12ac <parseblock+0x50> | |
1250 129c: eaffffff b 12a0 <parseblock+0x44> | |
1251 panic("parseblock"); | |
1252 12a0: e59f00ac ldr r0, [pc, #172] ; 1354 <parseblock+0xf8> | |
1253 12a4: ebfffc0d bl 2e0 <panic> | |
1254 12a8: eaffffff b 12ac <parseblock+0x50> | |
1255 gettoken(ps, es, 0, 0); | |
1256 12ac: e51b0004 ldr r0, [fp, #-4] | |
1257 12b0: e51b1008 ldr r1, [fp, #-8] | |
1258 12b4: e3a02000 mov r2, #0 | |
1259 12b8: e58d2010 str r2, [sp, #16] | |
1260 12bc: e59d3010 ldr r3, [sp, #16] | |
1261 12c0: ebfffd62 bl 850 <gettoken> | |
1262 cmd = parseline(ps, es); | |
1263 12c4: e51b1004 ldr r1, [fp, #-4] | |
1264 12c8: e51b2008 ldr r2, [fp, #-8] | |
1265 12cc: e58d000c str r0, [sp, #12] | |
1266 12d0: e1a00001 mov r0, r1 | |
1267 12d4: e1a01002 mov r1, r2 | |
1268 12d8: ebfffe4c bl c10 <parseline> | |
1269 12dc: e50b000c str r0, [fp, #-12] | |
1270 if(!peek(ps, es, ")")) | |
1271 12e0: e51b0004 ldr r0, [fp, #-4] | |
1272 12e4: e51b1008 ldr r1, [fp, #-8] | |
1273 12e8: e59f2068 ldr r2, [pc, #104] ; 1358 <parseblock+0xfc> | |
1274 12ec: ebfffe09 bl b18 <peek> | |
1275 12f0: e3500000 cmp r0, #0 | |
1276 12f4: 1a000003 bne 1308 <parseblock+0xac> | |
1277 12f8: eaffffff b 12fc <parseblock+0xa0> | |
1278 panic("syntax - missing )"); | |
1279 12fc: e59f0058 ldr r0, [pc, #88] ; 135c <parseblock+0x100> | |
1280 1300: ebfffbf6 bl 2e0 <panic> | |
1281 1304: eaffffff b 1308 <parseblock+0xac> | |
1282 gettoken(ps, es, 0, 0); | |
1283 1308: e51b0004 ldr r0, [fp, #-4] | |
1284 130c: e51b1008 ldr r1, [fp, #-8] | |
1285 1310: e3a02000 mov r2, #0 | |
1286 1314: e58d2008 str r2, [sp, #8] | |
1287 1318: e59d3008 ldr r3, [sp, #8] | |
1288 131c: ebfffd4b bl 850 <gettoken> | |
1289 cmd = parseredirs(cmd, ps, es); | |
1290 1320: e51b100c ldr r1, [fp, #-12] | |
1291 1324: e51b2004 ldr r2, [fp, #-4] | |
1292 1328: e51b3008 ldr r3, [fp, #-8] | |
1293 132c: e58d0004 str r0, [sp, #4] | |
1294 1330: e1a00001 mov r0, r1 | |
1295 1334: e1a01002 mov r1, r2 | |
1296 1338: e1a02003 mov r2, r3 | |
1297 133c: ebffff6d bl 10f8 <parseredirs> | |
1298 1340: e50b000c str r0, [fp, #-12] | |
1299 return cmd; | |
1300 1344: e51b000c ldr r0, [fp, #-12] | |
1301 1348: e1a0d00b mov sp, fp | |
1302 134c: e8bd8800 pop {fp, pc} | |
1303 1350: 00002560 .word 0x00002560 | |
1304 1354: 00002562 .word 0x00002562 | |
1305 1358: 0000257e .word 0x0000257e | |
1306 135c: 0000256d .word 0x0000256d | |
1307 | |
1308 00001360 <strcpy>: | |
1309 #include "fcntl.h" | |
1310 #include "user.h" | |
1311 | |
1312 char* | |
1313 strcpy(char *s, char *t) | |
1314 { | |
1315 1360: e24dd014 sub sp, sp, #20 | |
1316 1364: e1a02001 mov r2, r1 | |
1317 1368: e1a03000 mov r3, r0 | |
1318 136c: e58d0010 str r0, [sp, #16] | |
1319 1370: e58d100c str r1, [sp, #12] | |
1320 1374: e59d0010 ldr r0, [sp, #16] | |
1321 1378: e58d0008 str r0, [sp, #8] | |
1322 137c: e58d2004 str r2, [sp, #4] | |
1323 1380: e58d3000 str r3, [sp] | |
1324 1384: eaffffff b 1388 <strcpy+0x28> | |
1325 1388: e59d000c ldr r0, [sp, #12] | |
1326 138c: e2801001 add r1, r0, #1 | |
1327 1390: e58d100c str r1, [sp, #12] | |
1328 1394: e5d00000 ldrb r0, [r0] | |
1329 1398: e59d1010 ldr r1, [sp, #16] | |
1330 139c: e2812001 add r2, r1, #1 | |
1331 13a0: e58d2010 str r2, [sp, #16] | |
1332 13a4: e5c10000 strb r0, [r1] | |
1333 13a8: e3500000 cmp r0, #0 | |
1334 13ac: 0a000001 beq 13b8 <strcpy+0x58> | |
1335 13b0: eaffffff b 13b4 <strcpy+0x54> | |
1336 13b4: eafffff3 b 1388 <strcpy+0x28> | |
1337 13b8: e59d0008 ldr r0, [sp, #8] | |
1338 13bc: e28dd014 add sp, sp, #20 | |
1339 13c0: e12fff1e bx lr | |
1340 | |
1341 000013c4 <strcmp>: | |
1342 13c4: e24dd014 sub sp, sp, #20 | |
1343 13c8: e1a02001 mov r2, r1 | |
1344 13cc: e1a03000 mov r3, r0 | |
1345 13d0: e58d0010 str r0, [sp, #16] | |
1346 13d4: e58d100c str r1, [sp, #12] | |
1347 13d8: e58d2008 str r2, [sp, #8] | |
1348 13dc: e58d3004 str r3, [sp, #4] | |
1349 13e0: eaffffff b 13e4 <strcmp+0x20> | |
1350 13e4: e59d0010 ldr r0, [sp, #16] | |
1351 13e8: e5d00000 ldrb r0, [r0] | |
1352 13ec: e3a01000 mov r1, #0 | |
1353 13f0: e3500000 cmp r0, #0 | |
1354 13f4: e58d1000 str r1, [sp] | |
1355 13f8: 0a000009 beq 1424 <strcmp+0x60> | |
1356 13fc: eaffffff b 1400 <strcmp+0x3c> | |
1357 1400: e59d0010 ldr r0, [sp, #16] | |
1358 1404: e5d00000 ldrb r0, [r0] | |
1359 1408: e59d100c ldr r1, [sp, #12] | |
1360 140c: e5d11000 ldrb r1, [r1] | |
1361 1410: e3a02000 mov r2, #0 | |
1362 1414: e1500001 cmp r0, r1 | |
1363 1418: 03a02001 moveq r2, #1 | |
1364 141c: e58d2000 str r2, [sp] | |
1365 1420: eaffffff b 1424 <strcmp+0x60> | |
1366 1424: e59d0000 ldr r0, [sp] | |
1367 1428: e3100001 tst r0, #1 | |
1368 142c: 0a000007 beq 1450 <strcmp+0x8c> | |
1369 1430: eaffffff b 1434 <strcmp+0x70> | |
1370 1434: e59d0010 ldr r0, [sp, #16] | |
1371 1438: e2800001 add r0, r0, #1 | |
1372 143c: e58d0010 str r0, [sp, #16] | |
1373 1440: e59d000c ldr r0, [sp, #12] | |
1374 1444: e2800001 add r0, r0, #1 | |
1375 1448: e58d000c str r0, [sp, #12] | |
1376 144c: eaffffe4 b 13e4 <strcmp+0x20> | |
1377 1450: e59d0010 ldr r0, [sp, #16] | |
1378 1454: e5d00000 ldrb r0, [r0] | |
1379 1458: e59d100c ldr r1, [sp, #12] | |
1380 145c: e5d11000 ldrb r1, [r1] | |
1381 1460: e0400001 sub r0, r0, r1 | |
1382 1464: e28dd014 add sp, sp, #20 | |
1383 1468: e12fff1e bx lr | |
1384 | |
1385 0000146c <strlen>: | |
1386 146c: e24dd00c sub sp, sp, #12 | |
1387 1470: e1a01000 mov r1, r0 | |
1388 1474: e58d0008 str r0, [sp, #8] | |
1389 1478: e3a00000 mov r0, #0 | |
1390 147c: e58d0004 str r0, [sp, #4] | |
1391 1480: e58d1000 str r1, [sp] | |
1392 1484: eaffffff b 1488 <strlen+0x1c> | |
1393 1488: e59d0008 ldr r0, [sp, #8] | |
1394 148c: e59d1004 ldr r1, [sp, #4] | |
1395 1490: e7d00001 ldrb r0, [r0, r1] | |
1396 1494: e3500000 cmp r0, #0 | |
1397 1498: 0a000005 beq 14b4 <strlen+0x48> | |
1398 149c: eaffffff b 14a0 <strlen+0x34> | |
1399 14a0: eaffffff b 14a4 <strlen+0x38> | |
1400 14a4: e59d0004 ldr r0, [sp, #4] | |
1401 14a8: e2800001 add r0, r0, #1 | |
1402 14ac: e58d0004 str r0, [sp, #4] | |
1403 14b0: eafffff4 b 1488 <strlen+0x1c> | |
1404 14b4: e59d0004 ldr r0, [sp, #4] | |
1405 14b8: e28dd00c add sp, sp, #12 | |
1406 14bc: e12fff1e bx lr | |
1407 | |
1408 000014c0 <memset>: | |
1409 14c0: e92d4800 push {fp, lr} | |
1410 14c4: e1a0b00d mov fp, sp | |
1411 14c8: e24dd02c sub sp, sp, #44 ; 0x2c | |
1412 14cc: e1a03002 mov r3, r2 | |
1413 14d0: e1a0c001 mov ip, r1 | |
1414 14d4: e1a0e000 mov lr, r0 | |
1415 14d8: e50b0004 str r0, [fp, #-4] | |
1416 14dc: e50b1008 str r1, [fp, #-8] | |
1417 14e0: e50b200c str r2, [fp, #-12] | |
1418 14e4: e51b0004 ldr r0, [fp, #-4] | |
1419 14e8: e50b0010 str r0, [fp, #-16] | |
1420 14ec: e51b0008 ldr r0, [fp, #-8] | |
1421 14f0: e54b0011 strb r0, [fp, #-17] ; 0xffffffef | |
1422 14f4: e55b0011 ldrb r0, [fp, #-17] ; 0xffffffef | |
1423 14f8: e1a01c00 lsl r1, r0, #24 | |
1424 14fc: e1811800 orr r1, r1, r0, lsl #16 | |
1425 1500: e1811400 orr r1, r1, r0, lsl #8 | |
1426 1504: e1810000 orr r0, r1, r0 | |
1427 1508: e58d0014 str r0, [sp, #20] | |
1428 150c: e58d300c str r3, [sp, #12] | |
1429 1510: e58dc008 str ip, [sp, #8] | |
1430 1514: e58de004 str lr, [sp, #4] | |
1431 1518: eaffffff b 151c <memset+0x5c> | |
1432 151c: e51b000c ldr r0, [fp, #-12] | |
1433 1520: e3a01000 mov r1, #0 | |
1434 1524: e3500000 cmp r0, #0 | |
1435 1528: e58d1000 str r1, [sp] | |
1436 152c: 0a000006 beq 154c <memset+0x8c> | |
1437 1530: eaffffff b 1534 <memset+0x74> | |
1438 1534: e55b0010 ldrb r0, [fp, #-16] | |
1439 1538: e2000003 and r0, r0, #3 | |
1440 153c: e3500000 cmp r0, #0 | |
1441 1540: 13a00001 movne r0, #1 | |
1442 1544: e58d0000 str r0, [sp] | |
1443 1548: eaffffff b 154c <memset+0x8c> | |
1444 154c: e59d0000 ldr r0, [sp] | |
1445 1550: e3100001 tst r0, #1 | |
1446 1554: 0a00000b beq 1588 <memset+0xc8> | |
1447 1558: eaffffff b 155c <memset+0x9c> | |
1448 155c: e55b0011 ldrb r0, [fp, #-17] ; 0xffffffef | |
1449 1560: e51b1010 ldr r1, [fp, #-16] | |
1450 1564: e5c10000 strb r0, [r1] | |
1451 1568: eaffffff b 156c <memset+0xac> | |
1452 156c: e51b000c ldr r0, [fp, #-12] | |
1453 1570: e2400001 sub r0, r0, #1 | |
1454 1574: e50b000c str r0, [fp, #-12] | |
1455 1578: e51b0010 ldr r0, [fp, #-16] | |
1456 157c: e2800001 add r0, r0, #1 | |
1457 1580: e50b0010 str r0, [fp, #-16] | |
1458 1584: eaffffe4 b 151c <memset+0x5c> | |
1459 1588: e51b0010 ldr r0, [fp, #-16] | |
1460 158c: e58d0010 str r0, [sp, #16] | |
1461 1590: eaffffff b 1594 <memset+0xd4> | |
1462 1594: e51b000c ldr r0, [fp, #-12] | |
1463 1598: e3500004 cmp r0, #4 | |
1464 159c: 3a00000b bcc 15d0 <memset+0x110> | |
1465 15a0: eaffffff b 15a4 <memset+0xe4> | |
1466 15a4: e59d0014 ldr r0, [sp, #20] | |
1467 15a8: e59d1010 ldr r1, [sp, #16] | |
1468 15ac: e5810000 str r0, [r1] | |
1469 15b0: eaffffff b 15b4 <memset+0xf4> | |
1470 15b4: e51b000c ldr r0, [fp, #-12] | |
1471 15b8: e2400004 sub r0, r0, #4 | |
1472 15bc: e50b000c str r0, [fp, #-12] | |
1473 15c0: e59d0010 ldr r0, [sp, #16] | |
1474 15c4: e2800004 add r0, r0, #4 | |
1475 15c8: e58d0010 str r0, [sp, #16] | |
1476 15cc: eafffff0 b 1594 <memset+0xd4> | |
1477 15d0: e59d0010 ldr r0, [sp, #16] | |
1478 15d4: e50b0010 str r0, [fp, #-16] | |
1479 15d8: eaffffff b 15dc <memset+0x11c> | |
1480 15dc: e51b000c ldr r0, [fp, #-12] | |
1481 15e0: e3500000 cmp r0, #0 | |
1482 15e4: 0a00000b beq 1618 <memset+0x158> | |
1483 15e8: eaffffff b 15ec <memset+0x12c> | |
1484 15ec: e55b0011 ldrb r0, [fp, #-17] ; 0xffffffef | |
1485 15f0: e51b1010 ldr r1, [fp, #-16] | |
1486 15f4: e5c10000 strb r0, [r1] | |
1487 15f8: eaffffff b 15fc <memset+0x13c> | |
1488 15fc: e51b000c ldr r0, [fp, #-12] | |
1489 1600: e2400001 sub r0, r0, #1 | |
1490 1604: e50b000c str r0, [fp, #-12] | |
1491 1608: e51b0010 ldr r0, [fp, #-16] | |
1492 160c: e2800001 add r0, r0, #1 | |
1493 1610: e50b0010 str r0, [fp, #-16] | |
1494 1614: eafffff0 b 15dc <memset+0x11c> | |
1495 1618: e51b0004 ldr r0, [fp, #-4] | |
1496 161c: e1a0d00b mov sp, fp | |
1497 1620: e8bd8800 pop {fp, pc} | |
1498 | |
1499 00001624 <strchr>: | |
1500 1624: e24dd014 sub sp, sp, #20 | |
1501 1628: e1a02001 mov r2, r1 | |
1502 162c: e1a03000 mov r3, r0 | |
1503 1630: e58d000c str r0, [sp, #12] | |
1504 1634: e5cd100b strb r1, [sp, #11] | |
1505 1638: e58d2004 str r2, [sp, #4] | |
1506 163c: e58d3000 str r3, [sp] | |
1507 1640: eaffffff b 1644 <strchr+0x20> | |
1508 1644: e59d000c ldr r0, [sp, #12] | |
1509 1648: e5d00000 ldrb r0, [r0] | |
1510 164c: e3500000 cmp r0, #0 | |
1511 1650: 0a00000e beq 1690 <strchr+0x6c> | |
1512 1654: eaffffff b 1658 <strchr+0x34> | |
1513 1658: e59d000c ldr r0, [sp, #12] | |
1514 165c: e5d00000 ldrb r0, [r0] | |
1515 1660: e5dd100b ldrb r1, [sp, #11] | |
1516 1664: e1500001 cmp r0, r1 | |
1517 1668: 1a000003 bne 167c <strchr+0x58> | |
1518 166c: eaffffff b 1670 <strchr+0x4c> | |
1519 1670: e59d000c ldr r0, [sp, #12] | |
1520 1674: e58d0010 str r0, [sp, #16] | |
1521 1678: ea000007 b 169c <strchr+0x78> | |
1522 167c: eaffffff b 1680 <strchr+0x5c> | |
1523 1680: e59d000c ldr r0, [sp, #12] | |
1524 1684: e2800001 add r0, r0, #1 | |
1525 1688: e58d000c str r0, [sp, #12] | |
1526 168c: eaffffec b 1644 <strchr+0x20> | |
1527 1690: e3a00000 mov r0, #0 | |
1528 1694: e58d0010 str r0, [sp, #16] | |
1529 1698: eaffffff b 169c <strchr+0x78> | |
1530 169c: e59d0010 ldr r0, [sp, #16] | |
1531 16a0: e28dd014 add sp, sp, #20 | |
1532 16a4: e12fff1e bx lr | |
1533 | |
1534 000016a8 <gets>: | |
1535 16a8: e92d4800 push {fp, lr} | |
1536 16ac: e1a0b00d mov fp, sp | |
1537 16b0: e24dd020 sub sp, sp, #32 | |
1538 16b4: e1a02001 mov r2, r1 | |
1539 16b8: e1a03000 mov r3, r0 | |
1540 16bc: e50b0004 str r0, [fp, #-4] | |
1541 16c0: e50b1008 str r1, [fp, #-8] | |
1542 16c4: e3a00000 mov r0, #0 | |
1543 16c8: e50b000c str r0, [fp, #-12] | |
1544 16cc: e58d2008 str r2, [sp, #8] | |
1545 16d0: e58d3004 str r3, [sp, #4] | |
1546 16d4: eaffffff b 16d8 <gets+0x30> | |
1547 16d8: e51b000c ldr r0, [fp, #-12] | |
1548 16dc: e2800001 add r0, r0, #1 | |
1549 16e0: e51b1008 ldr r1, [fp, #-8] | |
1550 16e4: e1500001 cmp r0, r1 | |
1551 16e8: aa00001a bge 1758 <gets+0xb0> | |
1552 16ec: eaffffff b 16f0 <gets+0x48> | |
1553 16f0: e3a00000 mov r0, #0 | |
1554 16f4: e28d100f add r1, sp, #15 | |
1555 16f8: e3a02001 mov r2, #1 | |
1556 16fc: eb0000ab bl 19b0 <read> | |
1557 1700: e58d0010 str r0, [sp, #16] | |
1558 1704: e59d0010 ldr r0, [sp, #16] | |
1559 1708: e3500000 cmp r0, #0 | |
1560 170c: ca000001 bgt 1718 <gets+0x70> | |
1561 1710: eaffffff b 1714 <gets+0x6c> | |
1562 1714: ea00000f b 1758 <gets+0xb0> | |
1563 1718: e5dd000f ldrb r0, [sp, #15] | |
1564 171c: e51b1004 ldr r1, [fp, #-4] | |
1565 1720: e51b200c ldr r2, [fp, #-12] | |
1566 1724: e2823001 add r3, r2, #1 | |
1567 1728: e50b300c str r3, [fp, #-12] | |
1568 172c: e7c10002 strb r0, [r1, r2] | |
1569 1730: e5dd000f ldrb r0, [sp, #15] | |
1570 1734: e350000a cmp r0, #10 | |
1571 1738: 0a000004 beq 1750 <gets+0xa8> | |
1572 173c: eaffffff b 1740 <gets+0x98> | |
1573 1740: e5dd000f ldrb r0, [sp, #15] | |
1574 1744: e350000d cmp r0, #13 | |
1575 1748: 1a000001 bne 1754 <gets+0xac> | |
1576 174c: eaffffff b 1750 <gets+0xa8> | |
1577 1750: ea000000 b 1758 <gets+0xb0> | |
1578 1754: eaffffdf b 16d8 <gets+0x30> | |
1579 1758: e51b0004 ldr r0, [fp, #-4] | |
1580 175c: e51b100c ldr r1, [fp, #-12] | |
1581 1760: e3a02000 mov r2, #0 | |
1582 1764: e7c02001 strb r2, [r0, r1] | |
1583 1768: e51b0004 ldr r0, [fp, #-4] | |
1584 176c: e1a0d00b mov sp, fp | |
1585 1770: e8bd8800 pop {fp, pc} | |
1586 | |
1587 00001774 <stat>: | |
1588 1774: e92d4800 push {fp, lr} | |
1589 1778: e1a0b00d mov fp, sp | |
1590 177c: e24dd020 sub sp, sp, #32 | |
1591 1780: e1a02001 mov r2, r1 | |
1592 1784: e1a03000 mov r3, r0 | |
1593 1788: e50b0008 str r0, [fp, #-8] | |
1594 178c: e50b100c str r1, [fp, #-12] | |
1595 1790: e51b0008 ldr r0, [fp, #-8] | |
1596 1794: e3a01000 mov r1, #0 | |
1597 1798: e58d2008 str r2, [sp, #8] | |
1598 179c: e58d3004 str r3, [sp, #4] | |
1599 17a0: eb0000af bl 1a64 <open> | |
1600 17a4: e58d0010 str r0, [sp, #16] | |
1601 17a8: e59d0010 ldr r0, [sp, #16] | |
1602 17ac: e3500000 cmp r0, #0 | |
1603 17b0: aa000003 bge 17c4 <stat+0x50> | |
1604 17b4: eaffffff b 17b8 <stat+0x44> | |
1605 17b8: e3e00000 mvn r0, #0 | |
1606 17bc: e50b0004 str r0, [fp, #-4] | |
1607 17c0: ea000009 b 17ec <stat+0x78> | |
1608 17c4: e59d0010 ldr r0, [sp, #16] | |
1609 17c8: e51b100c ldr r1, [fp, #-12] | |
1610 17cc: eb0000bf bl 1ad0 <fstat> | |
1611 17d0: e58d000c str r0, [sp, #12] | |
1612 17d4: e59d0010 ldr r0, [sp, #16] | |
1613 17d8: eb000086 bl 19f8 <close> | |
1614 17dc: e59d100c ldr r1, [sp, #12] | |
1615 17e0: e50b1004 str r1, [fp, #-4] | |
1616 17e4: e58d0000 str r0, [sp] | |
1617 17e8: eaffffff b 17ec <stat+0x78> | |
1618 17ec: e51b0004 ldr r0, [fp, #-4] | |
1619 17f0: e1a0d00b mov sp, fp | |
1620 17f4: e8bd8800 pop {fp, pc} | |
1621 | |
1622 000017f8 <atoi>: | |
1623 17f8: e24dd010 sub sp, sp, #16 | |
1624 17fc: e1a01000 mov r1, r0 | |
1625 1800: e58d000c str r0, [sp, #12] | |
1626 1804: e3a00000 mov r0, #0 | |
1627 1808: e58d0008 str r0, [sp, #8] | |
1628 180c: e58d1004 str r1, [sp, #4] | |
1629 1810: eaffffff b 1814 <atoi+0x1c> | |
1630 1814: e59d000c ldr r0, [sp, #12] | |
1631 1818: e5d00000 ldrb r0, [r0] | |
1632 181c: e3a01000 mov r1, #0 | |
1633 1820: e3500030 cmp r0, #48 ; 0x30 | |
1634 1824: e58d1000 str r1, [sp] | |
1635 1828: ba000007 blt 184c <atoi+0x54> | |
1636 182c: eaffffff b 1830 <atoi+0x38> | |
1637 1830: e59d000c ldr r0, [sp, #12] | |
1638 1834: e5d00000 ldrb r0, [r0] | |
1639 1838: e3a01000 mov r1, #0 | |
1640 183c: e350003a cmp r0, #58 ; 0x3a | |
1641 1840: b3a01001 movlt r1, #1 | |
1642 1844: e58d1000 str r1, [sp] | |
1643 1848: eaffffff b 184c <atoi+0x54> | |
1644 184c: e59d0000 ldr r0, [sp] | |
1645 1850: e3100001 tst r0, #1 | |
1646 1854: 0a00000a beq 1884 <atoi+0x8c> | |
1647 1858: eaffffff b 185c <atoi+0x64> | |
1648 185c: e59d0008 ldr r0, [sp, #8] | |
1649 1860: e0800100 add r0, r0, r0, lsl #2 | |
1650 1864: e59d100c ldr r1, [sp, #12] | |
1651 1868: e2812001 add r2, r1, #1 | |
1652 186c: e58d200c str r2, [sp, #12] | |
1653 1870: e5d11000 ldrb r1, [r1] | |
1654 1874: e0810080 add r0, r1, r0, lsl #1 | |
1655 1878: e2400030 sub r0, r0, #48 ; 0x30 | |
1656 187c: e58d0008 str r0, [sp, #8] | |
1657 1880: eaffffe3 b 1814 <atoi+0x1c> | |
1658 1884: e59d0008 ldr r0, [sp, #8] | |
1659 1888: e28dd010 add sp, sp, #16 | |
1660 188c: e12fff1e bx lr | |
1661 | |
1662 00001890 <memmove>: | |
1663 1890: e92d4800 push {fp, lr} | |
1664 1894: e1a0b00d mov fp, sp | |
1665 1898: e24dd020 sub sp, sp, #32 | |
1666 189c: e1a03002 mov r3, r2 | |
1667 18a0: e1a0c001 mov ip, r1 | |
1668 18a4: e1a0e000 mov lr, r0 | |
1669 18a8: e50b0004 str r0, [fp, #-4] | |
1670 18ac: e50b1008 str r1, [fp, #-8] | |
1671 18b0: e50b200c str r2, [fp, #-12] | |
1672 18b4: e51b0004 ldr r0, [fp, #-4] | |
1673 18b8: e58d0010 str r0, [sp, #16] | |
1674 18bc: e51b0008 ldr r0, [fp, #-8] | |
1675 18c0: e58d000c str r0, [sp, #12] | |
1676 18c4: e58d3008 str r3, [sp, #8] | |
1677 18c8: e58dc004 str ip, [sp, #4] | |
1678 18cc: e58de000 str lr, [sp] | |
1679 18d0: eaffffff b 18d4 <memmove+0x44> | |
1680 18d4: e51b000c ldr r0, [fp, #-12] | |
1681 18d8: e2401001 sub r1, r0, #1 | |
1682 18dc: e50b100c str r1, [fp, #-12] | |
1683 18e0: e3500001 cmp r0, #1 | |
1684 18e4: ba000009 blt 1910 <memmove+0x80> | |
1685 18e8: eaffffff b 18ec <memmove+0x5c> | |
1686 18ec: e59d000c ldr r0, [sp, #12] | |
1687 18f0: e2801001 add r1, r0, #1 | |
1688 18f4: e58d100c str r1, [sp, #12] | |
1689 18f8: e5d00000 ldrb r0, [r0] | |
1690 18fc: e59d1010 ldr r1, [sp, #16] | |
1691 1900: e2812001 add r2, r1, #1 | |
1692 1904: e58d2010 str r2, [sp, #16] | |
1693 1908: e5c10000 strb r0, [r1] | |
1694 190c: eafffff0 b 18d4 <memmove+0x44> | |
1695 1910: e51b0004 ldr r0, [fp, #-4] | |
1696 1914: e1a0d00b mov sp, fp | |
1697 1918: e8bd8800 pop {fp, pc} | |
1698 | |
1699 0000191c <raise>: | |
1700 return vdst; | |
1701 } | |
1702 | |
1703 void | |
1704 raise() | |
1705 {} | |
1706 191c: e12fff1e bx lr | |
1707 | |
1708 00001920 <fork>: | |
1709 1920: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1710 1924: e1a04003 mov r4, r3 | |
1711 1928: e1a03002 mov r3, r2 | |
1712 192c: e1a02001 mov r2, r1 | |
1713 1930: e1a01000 mov r1, r0 | |
1714 1934: e3a00001 mov r0, #1 | |
1715 1938: ef000000 svc 0x00000000 | |
1716 193c: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1717 1940: e12fff1e bx lr | |
1718 | |
1719 00001944 <exit>: | |
1720 1944: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1721 1948: e1a04003 mov r4, r3 | |
1722 194c: e1a03002 mov r3, r2 | |
1723 1950: e1a02001 mov r2, r1 | |
1724 1954: e1a01000 mov r1, r0 | |
1725 1958: e3a00002 mov r0, #2 | |
1726 195c: ef000000 svc 0x00000000 | |
1727 1960: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1728 1964: e12fff1e bx lr | |
1729 | |
1730 00001968 <wait>: | |
1731 1968: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1732 196c: e1a04003 mov r4, r3 | |
1733 1970: e1a03002 mov r3, r2 | |
1734 1974: e1a02001 mov r2, r1 | |
1735 1978: e1a01000 mov r1, r0 | |
1736 197c: e3a00003 mov r0, #3 | |
1737 1980: ef000000 svc 0x00000000 | |
1738 1984: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1739 1988: e12fff1e bx lr | |
1740 | |
1741 0000198c <pipe>: | |
1742 198c: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1743 1990: e1a04003 mov r4, r3 | |
1744 1994: e1a03002 mov r3, r2 | |
1745 1998: e1a02001 mov r2, r1 | |
1746 199c: e1a01000 mov r1, r0 | |
1747 19a0: e3a00004 mov r0, #4 | |
1748 19a4: ef000000 svc 0x00000000 | |
1749 19a8: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1750 19ac: e12fff1e bx lr | |
1751 | |
1752 000019b0 <read>: | |
1753 19b0: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1754 19b4: e1a04003 mov r4, r3 | |
1755 19b8: e1a03002 mov r3, r2 | |
1756 19bc: e1a02001 mov r2, r1 | |
1757 19c0: e1a01000 mov r1, r0 | |
1758 19c4: e3a00005 mov r0, #5 | |
1759 19c8: ef000000 svc 0x00000000 | |
1760 19cc: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1761 19d0: e12fff1e bx lr | |
1762 | |
1763 000019d4 <write>: | |
1764 19d4: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1765 19d8: e1a04003 mov r4, r3 | |
1766 19dc: e1a03002 mov r3, r2 | |
1767 19e0: e1a02001 mov r2, r1 | |
1768 19e4: e1a01000 mov r1, r0 | |
1769 19e8: e3a00010 mov r0, #16 | |
1770 19ec: ef000000 svc 0x00000000 | |
1771 19f0: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1772 19f4: e12fff1e bx lr | |
1773 | |
1774 000019f8 <close>: | |
1775 19f8: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1776 19fc: e1a04003 mov r4, r3 | |
1777 1a00: e1a03002 mov r3, r2 | |
1778 1a04: e1a02001 mov r2, r1 | |
1779 1a08: e1a01000 mov r1, r0 | |
1780 1a0c: e3a00015 mov r0, #21 | |
1781 1a10: ef000000 svc 0x00000000 | |
1782 1a14: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1783 1a18: e12fff1e bx lr | |
1784 | |
1785 00001a1c <kill>: | |
1786 1a1c: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1787 1a20: e1a04003 mov r4, r3 | |
1788 1a24: e1a03002 mov r3, r2 | |
1789 1a28: e1a02001 mov r2, r1 | |
1790 1a2c: e1a01000 mov r1, r0 | |
1791 1a30: e3a00006 mov r0, #6 | |
1792 1a34: ef000000 svc 0x00000000 | |
1793 1a38: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1794 1a3c: e12fff1e bx lr | |
1795 | |
1796 00001a40 <exec>: | |
1797 1a40: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1798 1a44: e1a04003 mov r4, r3 | |
1799 1a48: e1a03002 mov r3, r2 | |
1800 1a4c: e1a02001 mov r2, r1 | |
1801 1a50: e1a01000 mov r1, r0 | |
1802 1a54: e3a00007 mov r0, #7 | |
1803 1a58: ef000000 svc 0x00000000 | |
1804 1a5c: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1805 1a60: e12fff1e bx lr | |
1806 | |
1807 00001a64 <open>: | |
1808 1a64: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1809 1a68: e1a04003 mov r4, r3 | |
1810 1a6c: e1a03002 mov r3, r2 | |
1811 1a70: e1a02001 mov r2, r1 | |
1812 1a74: e1a01000 mov r1, r0 | |
1813 1a78: e3a0000f mov r0, #15 | |
1814 1a7c: ef000000 svc 0x00000000 | |
1815 1a80: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1816 1a84: e12fff1e bx lr | |
1817 | |
1818 00001a88 <mknod>: | |
1819 1a88: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1820 1a8c: e1a04003 mov r4, r3 | |
1821 1a90: e1a03002 mov r3, r2 | |
1822 1a94: e1a02001 mov r2, r1 | |
1823 1a98: e1a01000 mov r1, r0 | |
1824 1a9c: e3a00011 mov r0, #17 | |
1825 1aa0: ef000000 svc 0x00000000 | |
1826 1aa4: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1827 1aa8: e12fff1e bx lr | |
1828 | |
1829 00001aac <unlink>: | |
1830 1aac: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1831 1ab0: e1a04003 mov r4, r3 | |
1832 1ab4: e1a03002 mov r3, r2 | |
1833 1ab8: e1a02001 mov r2, r1 | |
1834 1abc: e1a01000 mov r1, r0 | |
1835 1ac0: e3a00012 mov r0, #18 | |
1836 1ac4: ef000000 svc 0x00000000 | |
1837 1ac8: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1838 1acc: e12fff1e bx lr | |
1839 | |
1840 00001ad0 <fstat>: | |
1841 1ad0: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1842 1ad4: e1a04003 mov r4, r3 | |
1843 1ad8: e1a03002 mov r3, r2 | |
1844 1adc: e1a02001 mov r2, r1 | |
1845 1ae0: e1a01000 mov r1, r0 | |
1846 1ae4: e3a00008 mov r0, #8 | |
1847 1ae8: ef000000 svc 0x00000000 | |
1848 1aec: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1849 1af0: e12fff1e bx lr | |
1850 | |
1851 00001af4 <link>: | |
1852 1af4: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1853 1af8: e1a04003 mov r4, r3 | |
1854 1afc: e1a03002 mov r3, r2 | |
1855 1b00: e1a02001 mov r2, r1 | |
1856 1b04: e1a01000 mov r1, r0 | |
1857 1b08: e3a00013 mov r0, #19 | |
1858 1b0c: ef000000 svc 0x00000000 | |
1859 1b10: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1860 1b14: e12fff1e bx lr | |
1861 | |
1862 00001b18 <mkdir>: | |
1863 1b18: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1864 1b1c: e1a04003 mov r4, r3 | |
1865 1b20: e1a03002 mov r3, r2 | |
1866 1b24: e1a02001 mov r2, r1 | |
1867 1b28: e1a01000 mov r1, r0 | |
1868 1b2c: e3a00014 mov r0, #20 | |
1869 1b30: ef000000 svc 0x00000000 | |
1870 1b34: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1871 1b38: e12fff1e bx lr | |
1872 | |
1873 00001b3c <chdir>: | |
1874 1b3c: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1875 1b40: e1a04003 mov r4, r3 | |
1876 1b44: e1a03002 mov r3, r2 | |
1877 1b48: e1a02001 mov r2, r1 | |
1878 1b4c: e1a01000 mov r1, r0 | |
1879 1b50: e3a00009 mov r0, #9 | |
1880 1b54: ef000000 svc 0x00000000 | |
1881 1b58: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1882 1b5c: e12fff1e bx lr | |
1883 | |
1884 00001b60 <dup>: | |
1885 1b60: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1886 1b64: e1a04003 mov r4, r3 | |
1887 1b68: e1a03002 mov r3, r2 | |
1888 1b6c: e1a02001 mov r2, r1 | |
1889 1b70: e1a01000 mov r1, r0 | |
1890 1b74: e3a0000a mov r0, #10 | |
1891 1b78: ef000000 svc 0x00000000 | |
1892 1b7c: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1893 1b80: e12fff1e bx lr | |
1894 | |
1895 00001b84 <getpid>: | |
1896 1b84: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1897 1b88: e1a04003 mov r4, r3 | |
1898 1b8c: e1a03002 mov r3, r2 | |
1899 1b90: e1a02001 mov r2, r1 | |
1900 1b94: e1a01000 mov r1, r0 | |
1901 1b98: e3a0000b mov r0, #11 | |
1902 1b9c: ef000000 svc 0x00000000 | |
1903 1ba0: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1904 1ba4: e12fff1e bx lr | |
1905 | |
1906 00001ba8 <sbrk>: | |
1907 1ba8: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1908 1bac: e1a04003 mov r4, r3 | |
1909 1bb0: e1a03002 mov r3, r2 | |
1910 1bb4: e1a02001 mov r2, r1 | |
1911 1bb8: e1a01000 mov r1, r0 | |
1912 1bbc: e3a0000c mov r0, #12 | |
1913 1bc0: ef000000 svc 0x00000000 | |
1914 1bc4: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1915 1bc8: e12fff1e bx lr | |
1916 | |
1917 00001bcc <sleep>: | |
1918 1bcc: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1919 1bd0: e1a04003 mov r4, r3 | |
1920 1bd4: e1a03002 mov r3, r2 | |
1921 1bd8: e1a02001 mov r2, r1 | |
1922 1bdc: e1a01000 mov r1, r0 | |
1923 1be0: e3a0000d mov r0, #13 | |
1924 1be4: ef000000 svc 0x00000000 | |
1925 1be8: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1926 1bec: e12fff1e bx lr | |
1927 | |
1928 00001bf0 <uptime>: | |
1929 1bf0: e52d4004 push {r4} ; (str r4, [sp, #-4]!) | |
1930 1bf4: e1a04003 mov r4, r3 | |
1931 1bf8: e1a03002 mov r3, r2 | |
1932 1bfc: e1a02001 mov r2, r1 | |
1933 1c00: e1a01000 mov r1, r0 | |
1934 1c04: e3a0000e mov r0, #14 | |
1935 1c08: ef000000 svc 0x00000000 | |
1936 1c0c: e49d4004 pop {r4} ; (ldr r4, [sp], #4) | |
1937 1c10: e12fff1e bx lr | |
1938 | |
1939 00001c14 <printf>: | |
1940 } | |
1941 | |
1942 // Print to the given fd. Only understands %d, %x, %p, %s. | |
1943 void | |
1944 printf(int fd, char *fmt, ...) | |
1945 { | |
1946 1c14: e92d4800 push {fp, lr} | |
1947 1c18: e1a0b00d mov fp, sp | |
1948 1c1c: e24dd028 sub sp, sp, #40 ; 0x28 | |
1949 1c20: e1a02001 mov r2, r1 | |
1950 1c24: e1a03000 mov r3, r0 | |
1951 1c28: e50b0004 str r0, [fp, #-4] | |
1952 1c2c: e50b1008 str r1, [fp, #-8] | |
1953 1c30: e3a00000 mov r0, #0 | |
1954 1c34: e58d0010 str r0, [sp, #16] | |
1955 1c38: e24b1008 sub r1, fp, #8 | |
1956 1c3c: e2811004 add r1, r1, #4 | |
1957 1c40: e58d100c str r1, [sp, #12] | |
1958 1c44: e58d0014 str r0, [sp, #20] | |
1959 1c48: e58d2008 str r2, [sp, #8] | |
1960 1c4c: e58d3004 str r3, [sp, #4] | |
1961 1c50: eaffffff b 1c54 <printf+0x40> | |
1962 1c54: e51b0008 ldr r0, [fp, #-8] | |
1963 1c58: e59d1014 ldr r1, [sp, #20] | |
1964 1c5c: e7d00001 ldrb r0, [r0, r1] | |
1965 1c60: e3500000 cmp r0, #0 | |
1966 1c64: 0a00007e beq 1e64 <printf+0x250> | |
1967 1c68: eaffffff b 1c6c <printf+0x58> | |
1968 1c6c: e51b0008 ldr r0, [fp, #-8] | |
1969 1c70: e59d1014 ldr r1, [sp, #20] | |
1970 1c74: e7d00001 ldrb r0, [r0, r1] | |
1971 1c78: e50b0010 str r0, [fp, #-16] | |
1972 1c7c: e59d0010 ldr r0, [sp, #16] | |
1973 1c80: e3500000 cmp r0, #0 | |
1974 1c84: 1a00000c bne 1cbc <printf+0xa8> | |
1975 1c88: eaffffff b 1c8c <printf+0x78> | |
1976 1c8c: e51b0010 ldr r0, [fp, #-16] | |
1977 1c90: e3500025 cmp r0, #37 ; 0x25 | |
1978 1c94: 1a000003 bne 1ca8 <printf+0x94> | |
1979 1c98: eaffffff b 1c9c <printf+0x88> | |
1980 1c9c: e3a00025 mov r0, #37 ; 0x25 | |
1981 1ca0: e58d0010 str r0, [sp, #16] | |
1982 1ca4: ea000003 b 1cb8 <printf+0xa4> | |
1983 1ca8: e51b0004 ldr r0, [fp, #-4] | |
1984 1cac: e55b1010 ldrb r1, [fp, #-16] | |
1985 1cb0: eb00006e bl 1e70 <putc> | |
1986 1cb4: eaffffff b 1cb8 <printf+0xa4> | |
1987 1cb8: ea000064 b 1e50 <printf+0x23c> | |
1988 1cbc: e59d0010 ldr r0, [sp, #16] | |
1989 1cc0: e3500025 cmp r0, #37 ; 0x25 | |
1990 1cc4: 1a000060 bne 1e4c <printf+0x238> | |
1991 1cc8: eaffffff b 1ccc <printf+0xb8> | |
1992 1ccc: e51b0010 ldr r0, [fp, #-16] | |
1993 1cd0: e3500064 cmp r0, #100 ; 0x64 | |
1994 1cd4: 1a00000a bne 1d04 <printf+0xf0> | |
1995 1cd8: eaffffff b 1cdc <printf+0xc8> | |
1996 1cdc: e51b0004 ldr r0, [fp, #-4] | |
1997 1ce0: e59d100c ldr r1, [sp, #12] | |
1998 1ce4: e5911000 ldr r1, [r1] | |
1999 1ce8: e3a0200a mov r2, #10 | |
2000 1cec: e3a03001 mov r3, #1 | |
2001 1cf0: eb00006f bl 1eb4 <printint> | |
2002 1cf4: e59d000c ldr r0, [sp, #12] | |
2003 1cf8: e2800004 add r0, r0, #4 | |
2004 1cfc: e58d000c str r0, [sp, #12] | |
2005 1d00: ea00004e b 1e40 <printf+0x22c> | |
2006 1d04: e51b0010 ldr r0, [fp, #-16] | |
2007 1d08: e3500078 cmp r0, #120 ; 0x78 | |
2008 1d0c: 0a000004 beq 1d24 <printf+0x110> | |
2009 1d10: eaffffff b 1d14 <printf+0x100> | |
2010 1d14: e51b0010 ldr r0, [fp, #-16] | |
2011 1d18: e3500070 cmp r0, #112 ; 0x70 | |
2012 1d1c: 1a00000a bne 1d4c <printf+0x138> | |
2013 1d20: eaffffff b 1d24 <printf+0x110> | |
2014 1d24: e51b0004 ldr r0, [fp, #-4] | |
2015 1d28: e59d100c ldr r1, [sp, #12] | |
2016 1d2c: e5911000 ldr r1, [r1] | |
2017 1d30: e3a02010 mov r2, #16 | |
2018 1d34: e3a03000 mov r3, #0 | |
2019 1d38: eb00005d bl 1eb4 <printint> | |
2020 1d3c: e59d000c ldr r0, [sp, #12] | |
2021 1d40: e2800004 add r0, r0, #4 | |
2022 1d44: e58d000c str r0, [sp, #12] | |
2023 1d48: ea00003b b 1e3c <printf+0x228> | |
2024 1d4c: e51b0010 ldr r0, [fp, #-16] | |
2025 1d50: e3500073 cmp r0, #115 ; 0x73 | |
2026 1d54: 1a00001a bne 1dc4 <printf+0x1b0> | |
2027 1d58: eaffffff b 1d5c <printf+0x148> | |
2028 1d5c: e59d000c ldr r0, [sp, #12] | |
2029 1d60: e4901004 ldr r1, [r0], #4 | |
2030 1d64: e50b100c str r1, [fp, #-12] | |
2031 1d68: e58d000c str r0, [sp, #12] | |
2032 1d6c: e51b000c ldr r0, [fp, #-12] | |
2033 1d70: e3500000 cmp r0, #0 | |
2034 1d74: 1a000003 bne 1d88 <printf+0x174> | |
2035 1d78: eaffffff b 1d7c <printf+0x168> | |
2036 1d7c: e59f00e8 ldr r0, [pc, #232] ; 1e6c <printf+0x258> | |
2037 1d80: e50b000c str r0, [fp, #-12] | |
2038 1d84: eaffffff b 1d88 <printf+0x174> | |
2039 1d88: eaffffff b 1d8c <printf+0x178> | |
2040 1d8c: e51b000c ldr r0, [fp, #-12] | |
2041 1d90: e5d00000 ldrb r0, [r0] | |
2042 1d94: e3500000 cmp r0, #0 | |
2043 1d98: 0a000008 beq 1dc0 <printf+0x1ac> | |
2044 1d9c: eaffffff b 1da0 <printf+0x18c> | |
2045 1da0: e51b0004 ldr r0, [fp, #-4] | |
2046 1da4: e51b100c ldr r1, [fp, #-12] | |
2047 1da8: e5d11000 ldrb r1, [r1] | |
2048 1dac: eb00002f bl 1e70 <putc> | |
2049 1db0: e51b000c ldr r0, [fp, #-12] | |
2050 1db4: e2800001 add r0, r0, #1 | |
2051 1db8: e50b000c str r0, [fp, #-12] | |
2052 1dbc: eafffff2 b 1d8c <printf+0x178> | |
2053 1dc0: ea00001c b 1e38 <printf+0x224> | |
2054 1dc4: e51b0010 ldr r0, [fp, #-16] | |
2055 1dc8: e3500063 cmp r0, #99 ; 0x63 | |
2056 1dcc: 1a000008 bne 1df4 <printf+0x1e0> | |
2057 1dd0: eaffffff b 1dd4 <printf+0x1c0> | |
2058 1dd4: e51b0004 ldr r0, [fp, #-4] | |
2059 1dd8: e59d100c ldr r1, [sp, #12] | |
2060 1ddc: e5d11000 ldrb r1, [r1] | |
2061 1de0: eb000022 bl 1e70 <putc> | |
2062 1de4: e59d000c ldr r0, [sp, #12] | |
2063 1de8: e2800004 add r0, r0, #4 | |
2064 1dec: e58d000c str r0, [sp, #12] | |
2065 1df0: ea00000f b 1e34 <printf+0x220> | |
2066 1df4: e51b0010 ldr r0, [fp, #-16] | |
2067 1df8: e3500025 cmp r0, #37 ; 0x25 | |
2068 1dfc: 1a000004 bne 1e14 <printf+0x200> | |
2069 1e00: eaffffff b 1e04 <printf+0x1f0> | |
2070 1e04: e51b0004 ldr r0, [fp, #-4] | |
2071 1e08: e55b1010 ldrb r1, [fp, #-16] | |
2072 1e0c: eb000017 bl 1e70 <putc> | |
2073 1e10: ea000006 b 1e30 <printf+0x21c> | |
2074 1e14: e51b0004 ldr r0, [fp, #-4] | |
2075 1e18: e3a01025 mov r1, #37 ; 0x25 | |
2076 1e1c: eb000013 bl 1e70 <putc> | |
2077 1e20: e51b0004 ldr r0, [fp, #-4] | |
2078 1e24: e55b1010 ldrb r1, [fp, #-16] | |
2079 1e28: eb000010 bl 1e70 <putc> | |
2080 1e2c: eaffffff b 1e30 <printf+0x21c> | |
2081 1e30: eaffffff b 1e34 <printf+0x220> | |
2082 1e34: eaffffff b 1e38 <printf+0x224> | |
2083 1e38: eaffffff b 1e3c <printf+0x228> | |
2084 1e3c: eaffffff b 1e40 <printf+0x22c> | |
2085 1e40: e3a00000 mov r0, #0 | |
2086 1e44: e58d0010 str r0, [sp, #16] | |
2087 1e48: eaffffff b 1e4c <printf+0x238> | |
2088 1e4c: eaffffff b 1e50 <printf+0x23c> | |
2089 1e50: eaffffff b 1e54 <printf+0x240> | |
2090 1e54: e59d0014 ldr r0, [sp, #20] | |
2091 1e58: e2800001 add r0, r0, #1 | |
2092 1e5c: e58d0014 str r0, [sp, #20] | |
2093 1e60: eaffff7b b 1c54 <printf+0x40> | |
2094 1e64: e1a0d00b mov sp, fp | |
2095 1e68: e8bd8800 pop {fp, pc} | |
2096 1e6c: 00002593 .word 0x00002593 | |
2097 | |
2098 00001e70 <putc>: | |
2099 { | |
2100 1e70: e92d4800 push {fp, lr} | |
2101 1e74: e1a0b00d mov fp, sp | |
2102 1e78: e24dd018 sub sp, sp, #24 | |
2103 1e7c: e1a02001 mov r2, r1 | |
2104 1e80: e1a03000 mov r3, r0 | |
2105 1e84: e50b0004 str r0, [fp, #-4] | |
2106 1e88: e54b1005 strb r1, [fp, #-5] | |
2107 write(fd, &c, 1); | |
2108 1e8c: e51b0004 ldr r0, [fp, #-4] | |
2109 1e90: e24b1005 sub r1, fp, #5 | |
2110 1e94: e3a0c001 mov ip, #1 | |
2111 1e98: e58d200c str r2, [sp, #12] | |
2112 1e9c: e1a0200c mov r2, ip | |
2113 1ea0: e58d3008 str r3, [sp, #8] | |
2114 1ea4: ebfffeca bl 19d4 <write> | |
2115 } | |
2116 1ea8: e58d0004 str r0, [sp, #4] | |
2117 1eac: e1a0d00b mov sp, fp | |
2118 1eb0: e8bd8800 pop {fp, pc} | |
2119 | |
2120 00001eb4 <printint>: | |
2121 { | |
2122 1eb4: e92d4830 push {r4, r5, fp, lr} | |
2123 1eb8: e28db008 add fp, sp, #8 | |
2124 1ebc: e24dd040 sub sp, sp, #64 ; 0x40 | |
2125 1ec0: e1a0c003 mov ip, r3 | |
2126 1ec4: e1a0e002 mov lr, r2 | |
2127 1ec8: e1a04001 mov r4, r1 | |
2128 1ecc: e1a05000 mov r5, r0 | |
2129 1ed0: e50b000c str r0, [fp, #-12] | |
2130 1ed4: e50b1010 str r1, [fp, #-16] | |
2131 1ed8: e50b2014 str r2, [fp, #-20] ; 0xffffffec | |
2132 1edc: e50b3018 str r3, [fp, #-24] ; 0xffffffe8 | |
2133 1ee0: e3a00000 mov r0, #0 | |
2134 1ee4: e58d0018 str r0, [sp, #24] | |
2135 1ee8: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8 | |
2136 1eec: e3500000 cmp r0, #0 | |
2137 1ef0: e58dc010 str ip, [sp, #16] | |
2138 1ef4: e58de00c str lr, [sp, #12] | |
2139 1ef8: e58d4008 str r4, [sp, #8] | |
2140 1efc: e58d5004 str r5, [sp, #4] | |
2141 1f00: 0a00000a beq 1f30 <printint+0x7c> | |
2142 1f04: eaffffff b 1f08 <printint+0x54> | |
2143 1f08: e51b0010 ldr r0, [fp, #-16] | |
2144 1f0c: e3500000 cmp r0, #0 | |
2145 1f10: aa000006 bge 1f30 <printint+0x7c> | |
2146 1f14: eaffffff b 1f18 <printint+0x64> | |
2147 1f18: e3a00001 mov r0, #1 | |
2148 1f1c: e58d0018 str r0, [sp, #24] | |
2149 1f20: e51b0010 ldr r0, [fp, #-16] | |
2150 1f24: e2600000 rsb r0, r0, #0 | |
2151 1f28: e58d0014 str r0, [sp, #20] | |
2152 1f2c: ea000002 b 1f3c <printint+0x88> | |
2153 1f30: e51b0010 ldr r0, [fp, #-16] | |
2154 1f34: e58d0014 str r0, [sp, #20] | |
2155 1f38: eaffffff b 1f3c <printint+0x88> | |
2156 1f3c: e3a00000 mov r0, #0 | |
2157 1f40: e58d001c str r0, [sp, #28] | |
2158 1f44: eaffffff b 1f48 <printint+0x94> | |
2159 1f48: e59d0014 ldr r0, [sp, #20] | |
2160 1f4c: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
2161 1f50: eb000158 bl 24b8 <__aeabi_uidivmod> | |
2162 1f54: e59fe0a0 ldr lr, [pc, #160] ; 1ffc <printint+0x148> | |
2163 1f58: e7de1001 ldrb r1, [lr, r1] | |
2164 1f5c: e59de01c ldr lr, [sp, #28] | |
2165 1f60: e28e2001 add r2, lr, #1 | |
2166 1f64: e58d201c str r2, [sp, #28] | |
2167 1f68: e28d2020 add r2, sp, #32 | |
2168 1f6c: e7c2100e strb r1, [r2, lr] | |
2169 1f70: e58d0000 str r0, [sp] | |
2170 1f74: eaffffff b 1f78 <printint+0xc4> | |
2171 1f78: e51b1014 ldr r1, [fp, #-20] ; 0xffffffec | |
2172 1f7c: e59d0014 ldr r0, [sp, #20] | |
2173 1f80: eb00010f bl 23c4 <__aeabi_uidiv> | |
2174 1f84: e58d0014 str r0, [sp, #20] | |
2175 1f88: e3500000 cmp r0, #0 | |
2176 1f8c: 1affffed bne 1f48 <printint+0x94> | |
2177 1f90: eaffffff b 1f94 <printint+0xe0> | |
2178 1f94: e59d0018 ldr r0, [sp, #24] | |
2179 1f98: e3500000 cmp r0, #0 | |
2180 1f9c: 0a000007 beq 1fc0 <printint+0x10c> | |
2181 1fa0: eaffffff b 1fa4 <printint+0xf0> | |
2182 1fa4: e59d001c ldr r0, [sp, #28] | |
2183 1fa8: e2801001 add r1, r0, #1 | |
2184 1fac: e58d101c str r1, [sp, #28] | |
2185 1fb0: e28d1020 add r1, sp, #32 | |
2186 1fb4: e3a0202d mov r2, #45 ; 0x2d | |
2187 1fb8: e7c12000 strb r2, [r1, r0] | |
2188 1fbc: eaffffff b 1fc0 <printint+0x10c> | |
2189 1fc0: eaffffff b 1fc4 <printint+0x110> | |
2190 1fc4: e59d001c ldr r0, [sp, #28] | |
2191 1fc8: e2400001 sub r0, r0, #1 | |
2192 1fcc: e58d001c str r0, [sp, #28] | |
2193 1fd0: e3500000 cmp r0, #0 | |
2194 1fd4: ba000006 blt 1ff4 <printint+0x140> | |
2195 1fd8: eaffffff b 1fdc <printint+0x128> | |
2196 1fdc: e51b000c ldr r0, [fp, #-12] | |
2197 1fe0: e59d101c ldr r1, [sp, #28] | |
2198 1fe4: e28d2020 add r2, sp, #32 | |
2199 1fe8: e7d21001 ldrb r1, [r2, r1] | |
2200 1fec: ebffff9f bl 1e70 <putc> | |
2201 1ff0: eafffff3 b 1fc4 <printint+0x110> | |
2202 1ff4: e24bd008 sub sp, fp, #8 | |
2203 1ff8: e8bd8830 pop {r4, r5, fp, pc} | |
2204 1ffc: 000025b2 .word 0x000025b2 | |
2205 | |
2206 00002000 <free>: | |
2207 static Header base; | |
2208 static Header *freep; | |
2209 | |
2210 void | |
2211 free(void *ap) | |
2212 { | |
2213 2000: e24dd014 sub sp, sp, #20 | |
2214 2004: e1a01000 mov r1, r0 | |
2215 2008: e58d0010 str r0, [sp, #16] | |
2216 200c: e59d0010 ldr r0, [sp, #16] | |
2217 2010: e2400008 sub r0, r0, #8 | |
2218 2014: e58d000c str r0, [sp, #12] | |
2219 2018: e59f0188 ldr r0, [pc, #392] ; 21a8 <free+0x1a8> | |
2220 201c: e5900000 ldr r0, [r0] | |
2221 2020: e58d0008 str r0, [sp, #8] | |
2222 2024: e58d1004 str r1, [sp, #4] | |
2223 2028: eaffffff b 202c <free+0x2c> | |
2224 202c: e59d000c ldr r0, [sp, #12] | |
2225 2030: e59d1008 ldr r1, [sp, #8] | |
2226 2034: e3a02000 mov r2, #0 | |
2227 2038: e1500001 cmp r0, r1 | |
2228 203c: e58d2000 str r2, [sp] | |
2229 2040: 9a000008 bls 2068 <free+0x68> | |
2230 2044: eaffffff b 2048 <free+0x48> | |
2231 2048: e59d000c ldr r0, [sp, #12] | |
2232 204c: e59d1008 ldr r1, [sp, #8] | |
2233 2050: e5911000 ldr r1, [r1] | |
2234 2054: e3a02000 mov r2, #0 | |
2235 2058: e1500001 cmp r0, r1 | |
2236 205c: 33a02001 movcc r2, #1 | |
2237 2060: e58d2000 str r2, [sp] | |
2238 2064: eaffffff b 2068 <free+0x68> | |
2239 2068: e59d0000 ldr r0, [sp] | |
2240 206c: e1e00000 mvn r0, r0 | |
2241 2070: e3100001 tst r0, #1 | |
2242 2074: 0a000016 beq 20d4 <free+0xd4> | |
2243 2078: eaffffff b 207c <free+0x7c> | |
2244 207c: e59d0008 ldr r0, [sp, #8] | |
2245 2080: e5901000 ldr r1, [r0] | |
2246 2084: e1500001 cmp r0, r1 | |
2247 2088: 3a00000c bcc 20c0 <free+0xc0> | |
2248 208c: eaffffff b 2090 <free+0x90> | |
2249 2090: e59d000c ldr r0, [sp, #12] | |
2250 2094: e59d1008 ldr r1, [sp, #8] | |
2251 2098: e1500001 cmp r0, r1 | |
2252 209c: 8a000006 bhi 20bc <free+0xbc> | |
2253 20a0: eaffffff b 20a4 <free+0xa4> | |
2254 20a4: e59d000c ldr r0, [sp, #12] | |
2255 20a8: e59d1008 ldr r1, [sp, #8] | |
2256 20ac: e5911000 ldr r1, [r1] | |
2257 20b0: e1500001 cmp r0, r1 | |
2258 20b4: 2a000001 bcs 20c0 <free+0xc0> | |
2259 20b8: eaffffff b 20bc <free+0xbc> | |
2260 20bc: ea000004 b 20d4 <free+0xd4> | |
2261 20c0: eaffffff b 20c4 <free+0xc4> | |
2262 20c4: e59d0008 ldr r0, [sp, #8] | |
2263 20c8: e5900000 ldr r0, [r0] | |
2264 20cc: e58d0008 str r0, [sp, #8] | |
2265 20d0: eaffffd5 b 202c <free+0x2c> | |
2266 20d4: e59d000c ldr r0, [sp, #12] | |
2267 20d8: e5901004 ldr r1, [r0, #4] | |
2268 20dc: e0800181 add r0, r0, r1, lsl #3 | |
2269 20e0: e59d1008 ldr r1, [sp, #8] | |
2270 20e4: e5911000 ldr r1, [r1] | |
2271 20e8: e1500001 cmp r0, r1 | |
2272 20ec: 1a00000d bne 2128 <free+0x128> | |
2273 20f0: eaffffff b 20f4 <free+0xf4> | |
2274 20f4: e59d0008 ldr r0, [sp, #8] | |
2275 20f8: e5900000 ldr r0, [r0] | |
2276 20fc: e5900004 ldr r0, [r0, #4] | |
2277 2100: e59d100c ldr r1, [sp, #12] | |
2278 2104: e5912004 ldr r2, [r1, #4] | |
2279 2108: e0820000 add r0, r2, r0 | |
2280 210c: e5810004 str r0, [r1, #4] | |
2281 2110: e59d0008 ldr r0, [sp, #8] | |
2282 2114: e5900000 ldr r0, [r0] | |
2283 2118: e5900000 ldr r0, [r0] | |
2284 211c: e59d100c ldr r1, [sp, #12] | |
2285 2120: e5810000 str r0, [r1] | |
2286 2124: ea000004 b 213c <free+0x13c> | |
2287 2128: e59d0008 ldr r0, [sp, #8] | |
2288 212c: e5900000 ldr r0, [r0] | |
2289 2130: e59d100c ldr r1, [sp, #12] | |
2290 2134: e5810000 str r0, [r1] | |
2291 2138: eaffffff b 213c <free+0x13c> | |
2292 213c: e59d0008 ldr r0, [sp, #8] | |
2293 2140: e5901004 ldr r1, [r0, #4] | |
2294 2144: e0800181 add r0, r0, r1, lsl #3 | |
2295 2148: e59d100c ldr r1, [sp, #12] | |
2296 214c: e1500001 cmp r0, r1 | |
2297 2150: 1a00000b bne 2184 <free+0x184> | |
2298 2154: eaffffff b 2158 <free+0x158> | |
2299 2158: e59d000c ldr r0, [sp, #12] | |
2300 215c: e5900004 ldr r0, [r0, #4] | |
2301 2160: e59d1008 ldr r1, [sp, #8] | |
2302 2164: e5912004 ldr r2, [r1, #4] | |
2303 2168: e0820000 add r0, r2, r0 | |
2304 216c: e5810004 str r0, [r1, #4] | |
2305 2170: e59d000c ldr r0, [sp, #12] | |
2306 2174: e5900000 ldr r0, [r0] | |
2307 2178: e59d1008 ldr r1, [sp, #8] | |
2308 217c: e5810000 str r0, [r1] | |
2309 2180: ea000003 b 2194 <free+0x194> | |
2310 2184: e59d000c ldr r0, [sp, #12] | |
2311 2188: e59d1008 ldr r1, [sp, #8] | |
2312 218c: e5810000 str r0, [r1] | |
2313 2190: eaffffff b 2194 <free+0x194> | |
2314 2194: e59d0008 ldr r0, [sp, #8] | |
2315 2198: e59f1008 ldr r1, [pc, #8] ; 21a8 <free+0x1a8> | |
2316 219c: e5810000 str r0, [r1] | |
2317 21a0: e28dd014 add sp, sp, #20 | |
2318 21a4: e12fff1e bx lr | |
2319 21a8: 00002628 .word 0x00002628 | |
2320 | |
2321 000021ac <malloc>: | |
2322 21ac: e92d4800 push {fp, lr} | |
2323 21b0: e1a0b00d mov fp, sp | |
2324 21b4: e24dd018 sub sp, sp, #24 | |
2325 21b8: e1a01000 mov r1, r0 | |
2326 21bc: e50b0008 str r0, [fp, #-8] | |
2327 21c0: e51b0008 ldr r0, [fp, #-8] | |
2328 21c4: e2800007 add r0, r0, #7 | |
2329 21c8: e3a02001 mov r2, #1 | |
2330 21cc: e08201a0 add r0, r2, r0, lsr #3 | |
2331 21d0: e58d0004 str r0, [sp, #4] | |
2332 21d4: e59f013c ldr r0, [pc, #316] ; 2318 <malloc+0x16c> | |
2333 21d8: e5900000 ldr r0, [r0] | |
2334 21dc: e58d0008 str r0, [sp, #8] | |
2335 21e0: e3500000 cmp r0, #0 | |
2336 21e4: e58d1000 str r1, [sp] | |
2337 21e8: 1a000008 bne 2210 <malloc+0x64> | |
2338 21ec: eaffffff b 21f0 <malloc+0x44> | |
2339 21f0: e59f0124 ldr r0, [pc, #292] ; 231c <malloc+0x170> | |
2340 21f4: e58d0008 str r0, [sp, #8] | |
2341 21f8: e59f1118 ldr r1, [pc, #280] ; 2318 <malloc+0x16c> | |
2342 21fc: e5810000 str r0, [r1] | |
2343 2200: e5800000 str r0, [r0] | |
2344 2204: e3a01000 mov r1, #0 | |
2345 2208: e5801004 str r1, [r0, #4] | |
2346 220c: eaffffff b 2210 <malloc+0x64> | |
2347 2210: e59d0008 ldr r0, [sp, #8] | |
2348 2214: e5900000 ldr r0, [r0] | |
2349 2218: e58d000c str r0, [sp, #12] | |
2350 221c: eaffffff b 2220 <malloc+0x74> | |
2351 2220: e59d000c ldr r0, [sp, #12] | |
2352 2224: e5900004 ldr r0, [r0, #4] | |
2353 2228: e59d1004 ldr r1, [sp, #4] | |
2354 222c: e1500001 cmp r0, r1 | |
2355 2230: 3a00001f bcc 22b4 <malloc+0x108> | |
2356 2234: eaffffff b 2238 <malloc+0x8c> | |
2357 2238: e59d000c ldr r0, [sp, #12] | |
2358 223c: e5900004 ldr r0, [r0, #4] | |
2359 2240: e59d1004 ldr r1, [sp, #4] | |
2360 2244: e1500001 cmp r0, r1 | |
2361 2248: 1a000005 bne 2264 <malloc+0xb8> | |
2362 224c: eaffffff b 2250 <malloc+0xa4> | |
2363 2250: e59d000c ldr r0, [sp, #12] | |
2364 2254: e5900000 ldr r0, [r0] | |
2365 2258: e59d1008 ldr r1, [sp, #8] | |
2366 225c: e5810000 str r0, [r1] | |
2367 2260: ea00000c b 2298 <malloc+0xec> | |
2368 2264: e59d0004 ldr r0, [sp, #4] | |
2369 2268: e59d100c ldr r1, [sp, #12] | |
2370 226c: e5912004 ldr r2, [r1, #4] | |
2371 2270: e0420000 sub r0, r2, r0 | |
2372 2274: e5810004 str r0, [r1, #4] | |
2373 2278: e59d000c ldr r0, [sp, #12] | |
2374 227c: e5901004 ldr r1, [r0, #4] | |
2375 2280: e0800181 add r0, r0, r1, lsl #3 | |
2376 2284: e58d000c str r0, [sp, #12] | |
2377 2288: e59d0004 ldr r0, [sp, #4] | |
2378 228c: e59d100c ldr r1, [sp, #12] | |
2379 2290: e5810004 str r0, [r1, #4] | |
2380 2294: eaffffff b 2298 <malloc+0xec> | |
2381 2298: e59d0008 ldr r0, [sp, #8] | |
2382 229c: e59f1074 ldr r1, [pc, #116] ; 2318 <malloc+0x16c> | |
2383 22a0: e5810000 str r0, [r1] | |
2384 22a4: e59d000c ldr r0, [sp, #12] | |
2385 22a8: e2800008 add r0, r0, #8 | |
2386 22ac: e50b0004 str r0, [fp, #-4] | |
2387 22b0: ea000015 b 230c <malloc+0x160> | |
2388 22b4: e59d000c ldr r0, [sp, #12] | |
2389 22b8: e59f1058 ldr r1, [pc, #88] ; 2318 <malloc+0x16c> | |
2390 22bc: e5911000 ldr r1, [r1] | |
2391 22c0: e1500001 cmp r0, r1 | |
2392 22c4: 1a00000a bne 22f4 <malloc+0x148> | |
2393 22c8: eaffffff b 22cc <malloc+0x120> | |
2394 22cc: e59d0004 ldr r0, [sp, #4] | |
2395 22d0: eb000012 bl 2320 <morecore> | |
2396 22d4: e58d000c str r0, [sp, #12] | |
2397 22d8: e3500000 cmp r0, #0 | |
2398 22dc: 1a000003 bne 22f0 <malloc+0x144> | |
2399 22e0: eaffffff b 22e4 <malloc+0x138> | |
2400 22e4: e3a00000 mov r0, #0 | |
2401 22e8: e50b0004 str r0, [fp, #-4] | |
2402 22ec: ea000006 b 230c <malloc+0x160> | |
2403 22f0: eaffffff b 22f4 <malloc+0x148> | |
2404 22f4: eaffffff b 22f8 <malloc+0x14c> | |
2405 22f8: e59d000c ldr r0, [sp, #12] | |
2406 22fc: e58d0008 str r0, [sp, #8] | |
2407 2300: e5900000 ldr r0, [r0] | |
2408 2304: e58d000c str r0, [sp, #12] | |
2409 2308: eaffffc4 b 2220 <malloc+0x74> | |
2410 230c: e51b0004 ldr r0, [fp, #-4] | |
2411 2310: e1a0d00b mov sp, fp | |
2412 2314: e8bd8800 pop {fp, pc} | |
2413 2318: 00002628 .word 0x00002628 | |
2414 231c: 0000262c .word 0x0000262c | |
2415 | |
2416 00002320 <morecore>: | |
2417 freep = p; | |
2418 } | |
2419 | |
2420 static Header* | |
2421 morecore(uint nu) | |
2422 { | |
2423 2320: e92d4800 push {fp, lr} | |
2424 2324: e1a0b00d mov fp, sp | |
2425 2328: e24dd018 sub sp, sp, #24 | |
2426 232c: e1a01000 mov r1, r0 | |
2427 2330: e50b0008 str r0, [fp, #-8] | |
2428 char *p; | |
2429 Header *hp; | |
2430 | |
2431 if(nu < 4096) | |
2432 2334: e51b0008 ldr r0, [fp, #-8] | |
2433 2338: e3a02000 mov r2, #0 | |
2434 233c: e1520620 cmp r2, r0, lsr #12 | |
2435 2340: e58d1004 str r1, [sp, #4] | |
2436 2344: 1a000003 bne 2358 <morecore+0x38> | |
2437 2348: eaffffff b 234c <morecore+0x2c> | |
2438 nu = 4096; | |
2439 234c: e3a00a01 mov r0, #4096 ; 0x1000 | |
2440 2350: e50b0008 str r0, [fp, #-8] | |
2441 2354: eaffffff b 2358 <morecore+0x38> | |
2442 p = sbrk(nu * sizeof(Header)); | |
2443 2358: e51b0008 ldr r0, [fp, #-8] | |
2444 235c: e1a00180 lsl r0, r0, #3 | |
2445 2360: ebfffe10 bl 1ba8 <sbrk> | |
2446 2364: e58d000c str r0, [sp, #12] | |
2447 if(p == (char*)-1) | |
2448 2368: e59d000c ldr r0, [sp, #12] | |
2449 236c: e3700001 cmn r0, #1 | |
2450 2370: 1a000003 bne 2384 <morecore+0x64> | |
2451 2374: eaffffff b 2378 <morecore+0x58> | |
2452 return 0; | |
2453 2378: e3a00000 mov r0, #0 | |
2454 237c: e50b0004 str r0, [fp, #-4] | |
2455 2380: ea00000b b 23b4 <morecore+0x94> | |
2456 hp = (Header*)p; | |
2457 2384: e59d000c ldr r0, [sp, #12] | |
2458 2388: e58d0008 str r0, [sp, #8] | |
2459 hp->s.size = nu; | |
2460 238c: e51b0008 ldr r0, [fp, #-8] | |
2461 2390: e59d1008 ldr r1, [sp, #8] | |
2462 2394: e5810004 str r0, [r1, #4] | |
2463 free((void*)(hp + 1)); | |
2464 2398: e59d0008 ldr r0, [sp, #8] | |
2465 239c: e2800008 add r0, r0, #8 | |
2466 23a0: ebffff16 bl 2000 <free> | |
2467 return freep; | |
2468 23a4: e59f0014 ldr r0, [pc, #20] ; 23c0 <morecore+0xa0> | |
2469 23a8: e5900000 ldr r0, [r0] | |
2470 23ac: e50b0004 str r0, [fp, #-4] | |
2471 23b0: eaffffff b 23b4 <morecore+0x94> | |
2472 } | |
2473 23b4: e51b0004 ldr r0, [fp, #-4] | |
2474 23b8: e1a0d00b mov sp, fp | |
2475 23bc: e8bd8800 pop {fp, pc} | |
2476 23c0: 00002628 .word 0x00002628 | |
2477 | |
2478 000023c4 <__aeabi_uidiv>: | |
2479 23c4: e2512001 subs r2, r1, #1 | |
2480 23c8: 012fff1e bxeq lr | |
2481 23cc: 3a000036 bcc 24ac <__aeabi_uidiv+0xe8> | |
2482 23d0: e1500001 cmp r0, r1 | |
2483 23d4: 9a000022 bls 2464 <__aeabi_uidiv+0xa0> | |
2484 23d8: e1110002 tst r1, r2 | |
2485 23dc: 0a000023 beq 2470 <__aeabi_uidiv+0xac> | |
2486 23e0: e311020e tst r1, #-536870912 ; 0xe0000000 | |
2487 23e4: 01a01181 lsleq r1, r1, #3 | |
2488 23e8: 03a03008 moveq r3, #8 | |
2489 23ec: 13a03001 movne r3, #1 | |
2490 23f0: e3510201 cmp r1, #268435456 ; 0x10000000 | |
2491 23f4: 31510000 cmpcc r1, r0 | |
2492 23f8: 31a01201 lslcc r1, r1, #4 | |
2493 23fc: 31a03203 lslcc r3, r3, #4 | |
2494 2400: 3afffffa bcc 23f0 <__aeabi_uidiv+0x2c> | |
2495 2404: e3510102 cmp r1, #-2147483648 ; 0x80000000 | |
2496 2408: 31510000 cmpcc r1, r0 | |
2497 240c: 31a01081 lslcc r1, r1, #1 | |
2498 2410: 31a03083 lslcc r3, r3, #1 | |
2499 2414: 3afffffa bcc 2404 <__aeabi_uidiv+0x40> | |
2500 2418: e3a02000 mov r2, #0 | |
2501 241c: e1500001 cmp r0, r1 | |
2502 2420: 20400001 subcs r0, r0, r1 | |
2503 2424: 21822003 orrcs r2, r2, r3 | |
2504 2428: e15000a1 cmp r0, r1, lsr #1 | |
2505 242c: 204000a1 subcs r0, r0, r1, lsr #1 | |
2506 2430: 218220a3 orrcs r2, r2, r3, lsr #1 | |
2507 2434: e1500121 cmp r0, r1, lsr #2 | |
2508 2438: 20400121 subcs r0, r0, r1, lsr #2 | |
2509 243c: 21822123 orrcs r2, r2, r3, lsr #2 | |
2510 2440: e15001a1 cmp r0, r1, lsr #3 | |
2511 2444: 204001a1 subcs r0, r0, r1, lsr #3 | |
2512 2448: 218221a3 orrcs r2, r2, r3, lsr #3 | |
2513 244c: e3500000 cmp r0, #0 | |
2514 2450: 11b03223 lsrsne r3, r3, #4 | |
2515 2454: 11a01221 lsrne r1, r1, #4 | |
2516 2458: 1affffef bne 241c <__aeabi_uidiv+0x58> | |
2517 245c: e1a00002 mov r0, r2 | |
2518 2460: e12fff1e bx lr | |
2519 2464: 03a00001 moveq r0, #1 | |
2520 2468: 13a00000 movne r0, #0 | |
2521 246c: e12fff1e bx lr | |
2522 2470: e3510801 cmp r1, #65536 ; 0x10000 | |
2523 2474: 21a01821 lsrcs r1, r1, #16 | |
2524 2478: 23a02010 movcs r2, #16 | |
2525 247c: 33a02000 movcc r2, #0 | |
2526 2480: e3510c01 cmp r1, #256 ; 0x100 | |
2527 2484: 21a01421 lsrcs r1, r1, #8 | |
2528 2488: 22822008 addcs r2, r2, #8 | |
2529 248c: e3510010 cmp r1, #16 | |
2530 2490: 21a01221 lsrcs r1, r1, #4 | |
2531 2494: 22822004 addcs r2, r2, #4 | |
2532 2498: e3510004 cmp r1, #4 | |
2533 249c: 82822003 addhi r2, r2, #3 | |
2534 24a0: 908220a1 addls r2, r2, r1, lsr #1 | |
2535 24a4: e1a00230 lsr r0, r0, r2 | |
2536 24a8: e12fff1e bx lr | |
2537 24ac: e3500000 cmp r0, #0 | |
2538 24b0: 13e00000 mvnne r0, #0 | |
2539 24b4: ea000007 b 24d8 <__aeabi_idiv0> | |
2540 | |
2541 000024b8 <__aeabi_uidivmod>: | |
2542 24b8: e3510000 cmp r1, #0 | |
2543 24bc: 0afffffa beq 24ac <__aeabi_uidiv+0xe8> | |
2544 24c0: e92d4003 push {r0, r1, lr} | |
2545 24c4: ebffffbe bl 23c4 <__aeabi_uidiv> | |
2546 24c8: e8bd4006 pop {r1, r2, lr} | |
2547 24cc: e0030092 mul r3, r2, r0 | |
2548 24d0: e0411003 sub r1, r1, r3 | |
2549 24d4: e12fff1e bx lr | |
2550 | |
2551 000024d8 <__aeabi_idiv0>: | |
2552 24d8: e12fff1e bx lr |