comparison src/obj_dump_gcc @ 0:53676d1f5817 default tip

firsh commit
author tobaru
date Sun, 04 Feb 2018 17:54:49 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:53676d1f5817
1
2 build/start.o_gcc: file format elf32-littlearm
3
4
5 Disassembly of section .text:
6
7 00000000 <_uart_putc>:
8 0: e52db004 push {fp} ; (str fp, [sp, #-4]!)
9 4: e28db000 add fp, sp, #0
10 8: e24dd014 sub sp, sp, #20
11 c: e50b0010 str r0, [fp, #-16]
12 10: e59f301c ldr r3, [pc, #28] ; 34 <_uart_putc+0x34>
13 14: e50b3008 str r3, [fp, #-8]
14 18: e51b3010 ldr r3, [fp, #-16]
15 1c: e6ef2073 uxtb r2, r3
16 20: e51b3008 ldr r3, [fp, #-8]
17 24: e5c32000 strb r2, [r3]
18 28: e24bd000 sub sp, fp, #0
19 2c: e49db004 pop {fp} ; (ldr fp, [sp], #4)
20 30: e12fff1e bx lr
21 34: 101f1000 .word 0x101f1000
22
23 00000038 <_puts>:
24 38: e92d4800 push {fp, lr}
25 3c: e28db004 add fp, sp, #4
26 40: e24dd008 sub sp, sp, #8
27 44: e50b0008 str r0, [fp, #-8]
28 48: ea000006 b 68 <_puts+0x30>
29 4c: e51b3008 ldr r3, [fp, #-8]
30 50: e5d33000 ldrb r3, [r3]
31 54: e1a00003 mov r0, r3
32 58: ebfffffe bl 0 <_uart_putc>
33 5c: e51b3008 ldr r3, [fp, #-8]
34 60: e2833001 add r3, r3, #1
35 64: e50b3008 str r3, [fp, #-8]
36 68: e51b3008 ldr r3, [fp, #-8]
37 6c: e5d33000 ldrb r3, [r3]
38 70: e3530000 cmp r3, #0
39 74: 1afffff4 bne 4c <_puts+0x14>
40 78: e24bd004 sub sp, fp, #4
41 7c: e8bd8800 pop {fp, pc}
42
43 00000080 <_putint>:
44 80: e92d4800 push {fp, lr}
45 84: e28db004 add fp, sp, #4
46 88: e24dd018 sub sp, sp, #24
47 8c: e50b0010 str r0, [fp, #-16]
48 90: e50b1014 str r1, [fp, #-20] ; 0xffffffec
49 94: e50b2018 str r2, [fp, #-24] ; 0xffffffe8
50 98: e59f3078 ldr r3, [pc, #120] ; 118 <_putint+0x98>
51 9c: e50b300c str r3, [fp, #-12]
52 a0: e51b3010 ldr r3, [fp, #-16]
53 a4: e3530000 cmp r3, #0
54 a8: 0a000001 beq b4 <_putint+0x34>
55 ac: e51b0010 ldr r0, [fp, #-16]
56 b0: ebfffffe bl 38 <_puts>
57 b4: e3a0301c mov r3, #28
58 b8: e50b3008 str r3, [fp, #-8]
59 bc: ea00000b b f0 <_putint+0x70>
60 c0: e51b2014 ldr r2, [fp, #-20] ; 0xffffffec
61 c4: e51b3008 ldr r3, [fp, #-8]
62 c8: e1a03332 lsr r3, r2, r3
63 cc: e203300f and r3, r3, #15
64 d0: e51b200c ldr r2, [fp, #-12]
65 d4: e0823003 add r3, r2, r3
66 d8: e5d33000 ldrb r3, [r3]
67 dc: e1a00003 mov r0, r3
68 e0: ebfffffe bl 0 <_uart_putc>
69 e4: e51b3008 ldr r3, [fp, #-8]
70 e8: e2433004 sub r3, r3, #4
71 ec: e50b3008 str r3, [fp, #-8]
72 f0: e51b3008 ldr r3, [fp, #-8]
73 f4: e3530000 cmp r3, #0
74 f8: aafffff0 bge c0 <_putint+0x40>
75 fc: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8
76 100: e3530000 cmp r3, #0
77 104: 0a000001 beq 110 <_putint+0x90>
78 108: e51b0018 ldr r0, [fp, #-24] ; 0xffffffe8
79 10c: ebfffffe bl 38 <_puts>
80 110: e24bd004 sub sp, fp, #4
81 114: e8bd8800 pop {fp, pc}
82 118: 00000000 .word 0x00000000
83
84 0000011c <get_pde>:
85 11c: e52db004 push {fp} ; (str fp, [sp, #-4]!)
86 120: e28db000 add fp, sp, #0
87 124: e24dd00c sub sp, sp, #12
88 128: e50b0008 str r0, [fp, #-8]
89 12c: e51b3008 ldr r3, [fp, #-8]
90 130: e1a03a23 lsr r3, r3, #20
91 134: e50b3008 str r3, [fp, #-8]
92 138: e59f3020 ldr r3, [pc, #32] ; 160 <get_pde+0x44>
93 13c: e5932000 ldr r2, [r3]
94 140: e51b3008 ldr r3, [fp, #-8]
95 144: e1a03103 lsl r3, r3, #2
96 148: e0823003 add r3, r2, r3
97 14c: e5933000 ldr r3, [r3]
98 150: e1a00003 mov r0, r3
99 154: e24bd000 sub sp, fp, #0
100 158: e49db004 pop {fp} ; (ldr fp, [sp], #4)
101 15c: e12fff1e bx lr
102 160: 00000000 .word 0x00000000
103
104 00000164 <set_bootpgtbl>:
105 164: e52db004 push {fp} ; (str fp, [sp, #-4]!)
106 168: e28db000 add fp, sp, #0
107 16c: e24dd01c sub sp, sp, #28
108 170: e50b0010 str r0, [fp, #-16]
109 174: e50b1014 str r1, [fp, #-20] ; 0xffffffec
110 178: e50b2018 str r2, [fp, #-24] ; 0xffffffe8
111 17c: e50b301c str r3, [fp, #-28] ; 0xffffffe4
112 180: e51b3010 ldr r3, [fp, #-16]
113 184: e1a03a23 lsr r3, r3, #20
114 188: e50b3010 str r3, [fp, #-16]
115 18c: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec
116 190: e1a03a23 lsr r3, r3, #20
117 194: e50b3014 str r3, [fp, #-20] ; 0xffffffec
118 198: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8
119 19c: e1a03a23 lsr r3, r3, #20
120 1a0: e50b3018 str r3, [fp, #-24] ; 0xffffffe8
121 1a4: e3a03000 mov r3, #0
122 1a8: e50b300c str r3, [fp, #-12]
123 1ac: ea000029 b 258 <set_bootpgtbl+0xf4>
124 1b0: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec
125 1b4: e1a03a03 lsl r3, r3, #20
126 1b8: e50b3008 str r3, [fp, #-8]
127 1bc: e51b301c ldr r3, [fp, #-28] ; 0xffffffe4
128 1c0: e3530000 cmp r3, #0
129 1c4: 1a000004 bne 1dc <set_bootpgtbl+0x78>
130 1c8: e51b3008 ldr r3, [fp, #-8]
131 1cc: e3833b01 orr r3, r3, #1024 ; 0x400
132 1d0: e383300e orr r3, r3, #14
133 1d4: e50b3008 str r3, [fp, #-8]
134 1d8: ea000003 b 1ec <set_bootpgtbl+0x88>
135 1dc: e51b3008 ldr r3, [fp, #-8]
136 1e0: e3833b01 orr r3, r3, #1024 ; 0x400
137 1e4: e3833002 orr r3, r3, #2
138 1e8: e50b3008 str r3, [fp, #-8]
139 1ec: e51b3010 ldr r3, [fp, #-16]
140 1f0: e35300ff cmp r3, #255 ; 0xff
141 1f4: 8a000007 bhi 218 <set_bootpgtbl+0xb4>
142 1f8: e59f3074 ldr r3, [pc, #116] ; 274 <set_bootpgtbl+0x110>
143 1fc: e5932000 ldr r2, [r3]
144 200: e51b3010 ldr r3, [fp, #-16]
145 204: e1a03103 lsl r3, r3, #2
146 208: e0823003 add r3, r2, r3
147 20c: e51b2008 ldr r2, [fp, #-8]
148 210: e5832000 str r2, [r3]
149 214: ea000006 b 234 <set_bootpgtbl+0xd0>
150 218: e59f3058 ldr r3, [pc, #88] ; 278 <set_bootpgtbl+0x114>
151 21c: e5932000 ldr r2, [r3]
152 220: e51b3010 ldr r3, [fp, #-16]
153 224: e1a03103 lsl r3, r3, #2
154 228: e0823003 add r3, r2, r3
155 22c: e51b2008 ldr r2, [fp, #-8]
156 230: e5832000 str r2, [r3]
157 234: e51b3010 ldr r3, [fp, #-16]
158 238: e2833001 add r3, r3, #1
159 23c: e50b3010 str r3, [fp, #-16]
160 240: e51b3014 ldr r3, [fp, #-20] ; 0xffffffec
161 244: e2833001 add r3, r3, #1
162 248: e50b3014 str r3, [fp, #-20] ; 0xffffffec
163 24c: e51b300c ldr r3, [fp, #-12]
164 250: e2833001 add r3, r3, #1
165 254: e50b300c str r3, [fp, #-12]
166 258: e51b200c ldr r2, [fp, #-12]
167 25c: e51b3018 ldr r3, [fp, #-24] ; 0xffffffe8
168 260: e1520003 cmp r2, r3
169 264: 3affffd1 bcc 1b0 <set_bootpgtbl+0x4c>
170 268: e24bd000 sub sp, fp, #0
171 26c: e49db004 pop {fp} ; (ldr fp, [sp], #4)
172 270: e12fff1e bx lr
173 ...
174
175 0000027c <_flush_all>:
176 27c: e52db004 push {fp} ; (str fp, [sp, #-4]!)
177 280: e28db000 add fp, sp, #0
178 284: e24dd00c sub sp, sp, #12
179 288: e3a03000 mov r3, #0
180 28c: e50b3008 str r3, [fp, #-8]
181 290: e51b3008 ldr r3, [fp, #-8]
182 294: ee083f17 mcr 15, 0, r3, cr8, cr7, {0}
183 298: e24bd000 sub sp, fp, #0
184 29c: e49db004 pop {fp} ; (ldr fp, [sp], #4)
185 2a0: e12fff1e bx lr
186
187 000002a4 <load_pgtlb>:
188 2a4: e92d4800 push {fp, lr}
189 2a8: e28db004 add fp, sp, #4
190 2ac: e24dd018 sub sp, sp, #24
191 2b0: e50b0018 str r0, [fp, #-24] ; 0xffffffe8
192 2b4: e50b101c str r1, [fp, #-28] ; 0xffffffe4
193 2b8: ee103f10 mrc 15, 0, r3, cr0, cr0, {0}
194 2bc: e50b3008 str r3, [fp, #-8]
195 2c0: e51b3008 ldr r3, [fp, #-8]
196 2c4: e1a03823 lsr r3, r3, #16
197 2c8: e6ef3073 uxtb r3, r3
198 2cc: e203300f and r3, r3, #15
199 2d0: e54b3009 strb r3, [fp, #-9]
200 2d4: e55b3009 ldrb r3, [fp, #-9]
201 2d8: e3530007 cmp r3, #7
202 2dc: 0a000004 beq 2f4 <load_pgtlb+0x50>
203 2e0: e55b3009 ldrb r3, [fp, #-9]
204 2e4: e353000f cmp r3, #15
205 2e8: 0a000001 beq 2f4 <load_pgtlb+0x50>
206 2ec: e59f0070 ldr r0, [pc, #112] ; 364 <load_pgtlb+0xc0>
207 2f0: ebfffffe bl 38 <_puts>
208 2f4: e59f306c ldr r3, [pc, #108] ; 368 <load_pgtlb+0xc4>
209 2f8: e50b3010 str r3, [fp, #-16]
210 2fc: e51b3010 ldr r3, [fp, #-16]
211 300: ee033f10 mcr 15, 0, r3, cr3, cr0, {0}
212 304: e3a03004 mov r3, #4
213 308: e50b3010 str r3, [fp, #-16]
214 30c: e51b3010 ldr r3, [fp, #-16]
215 310: ee023f50 mcr 15, 0, r3, cr2, cr0, {2}
216 314: e59f3050 ldr r3, [pc, #80] ; 36c <load_pgtlb+0xc8>
217 318: e5933000 ldr r3, [r3]
218 31c: e50b3010 str r3, [fp, #-16]
219 320: e51b3010 ldr r3, [fp, #-16]
220 324: ee023f30 mcr 15, 0, r3, cr2, cr0, {1}
221 328: e51b301c ldr r3, [fp, #-28] ; 0xffffffe4
222 32c: e50b3010 str r3, [fp, #-16]
223 330: e51b3010 ldr r3, [fp, #-16]
224 334: ee023f10 mcr 15, 0, r3, cr2, cr0, {0}
225 338: ee113f10 mrc 15, 0, r3, cr1, cr0, {0}
226 33c: e50b3010 str r3, [fp, #-16]
227 340: e51b2010 ldr r2, [fp, #-16]
228 344: e59f3024 ldr r3, [pc, #36] ; 370 <load_pgtlb+0xcc>
229 348: e1823003 orr r3, r2, r3
230 34c: e50b3010 str r3, [fp, #-16]
231 350: e51b3010 ldr r3, [fp, #-16]
232 354: ee013f10 mcr 15, 0, r3, cr1, cr0, {0}
233 358: ebffffc7 bl 27c <_flush_all>
234 35c: e24bd004 sub sp, fp, #4
235 360: e8bd8800 pop {fp, pc}
236 364: 00000014 .word 0x00000014
237 368: 55555555 .word 0x55555555
238 36c: 00000000 .word 0x00000000
239 370: 0080300d .word 0x0080300d
240
241 00000374 <clear_bss>:
242 374: e92d4800 push {fp, lr}
243 378: e28db004 add fp, sp, #4
244 37c: e59f2018 ldr r2, [pc, #24] ; 39c <clear_bss+0x28>
245 380: e59f3018 ldr r3, [pc, #24] ; 3a0 <clear_bss+0x2c>
246 384: e0633002 rsb r3, r3, r2
247 388: e59f0010 ldr r0, [pc, #16] ; 3a0 <clear_bss+0x2c>
248 38c: e3a01000 mov r1, #0
249 390: e1a02003 mov r2, r3
250 394: ebfffffe bl 0 <memset>
251 398: e8bd8800 pop {fp, pc}
252 ...
253
254 000003a4 <start>:
255 3a4: e92d4800 push {fp, lr}
256 3a8: e28db004 add fp, sp, #4
257 3ac: e24dd008 sub sp, sp, #8
258 3b0: e59f00a0 ldr r0, [pc, #160] ; 458 <start+0xb4>
259 3b4: ebfffffe bl 38 <_puts>
260 3b8: e3a00000 mov r0, #0
261 3bc: e3a01000 mov r1, #0
262 3c0: e3a02601 mov r2, #1048576 ; 0x100000
263 3c4: e3a03000 mov r3, #0
264 3c8: ebfffffe bl 164 <set_bootpgtbl>
265 3cc: e3a00102 mov r0, #-2147483648 ; 0x80000000
266 3d0: e3a01000 mov r1, #0
267 3d4: e3a02601 mov r2, #1048576 ; 0x100000
268 3d8: e3a03000 mov r3, #0
269 3dc: ebfffffe bl 164 <set_bootpgtbl>
270 3e0: e59f3074 ldr r3, [pc, #116] ; 45c <start+0xb8>
271 3e4: e50b3008 str r3, [fp, #-8]
272 3e8: e59f3070 ldr r3, [pc, #112] ; 460 <start+0xbc>
273 3ec: e51b2008 ldr r2, [fp, #-8]
274 3f0: e1520003 cmp r2, r3
275 3f4: 8a000001 bhi 400 <start+0x5c>
276 3f8: e59f0064 ldr r0, [pc, #100] ; 464 <start+0xc0>
277 3fc: ebfffffe bl 0 <cprintf>
278 400: e59f0060 ldr r0, [pc, #96] ; 468 <start+0xc4>
279 404: e3a01000 mov r1, #0
280 408: e3a02601 mov r2, #1048576 ; 0x100000
281 40c: e3a03000 mov r3, #0
282 410: ebfffffe bl 164 <set_bootpgtbl>
283 414: e3a00209 mov r0, #-1879048192 ; 0x90000000
284 418: e3a01201 mov r1, #268435456 ; 0x10000000
285 41c: e3a02302 mov r2, #134217728 ; 0x8000000
286 420: e3a03001 mov r3, #1
287 424: ebfffffe bl 164 <set_bootpgtbl>
288 428: e59f303c ldr r3, [pc, #60] ; 46c <start+0xc8>
289 42c: e5932000 ldr r2, [r3]
290 430: e59f3038 ldr r3, [pc, #56] ; 470 <start+0xcc>
291 434: e5933000 ldr r3, [r3]
292 438: e1a00002 mov r0, r2
293 43c: e1a01003 mov r1, r3
294 440: ebfffffe bl 2a4 <load_pgtlb>
295 444: ebfffffe bl 0 <jump_stack>
296 448: ebfffffe bl 374 <clear_bss>
297 44c: ebfffffe bl 0 <kmain>
298 450: e24bd004 sub sp, fp, #4
299 454: e8bd8800 pop {fp, pc}
300 458: 0000002c .word 0x0000002c
301 45c: 800f0000 .word 0x800f0000
302 460: 00000000 .word 0x00000000
303 464: 00000048 .word 0x00000048
304 468: ffff0000 .word 0xffff0000
305 ...