annotate src/usr/init.asm @ 0:53676d1f5817 default tip

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