0
|
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
|