view src/obj_dump_gcc @ 0:53676d1f5817 default tip

firsh commit
author tobaru
date Sun, 04 Feb 2018 17:54:49 +0900
parents
children
line wrap: on
line source


build/start.o_gcc:     file format elf32-littlearm


Disassembly of section .text:

00000000 <_uart_putc>:
   0:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
   4:	e28db000 	add	fp, sp, #0
   8:	e24dd014 	sub	sp, sp, #20
   c:	e50b0010 	str	r0, [fp, #-16]
  10:	e59f301c 	ldr	r3, [pc, #28]	; 34 <_uart_putc+0x34>
  14:	e50b3008 	str	r3, [fp, #-8]
  18:	e51b3010 	ldr	r3, [fp, #-16]
  1c:	e6ef2073 	uxtb	r2, r3
  20:	e51b3008 	ldr	r3, [fp, #-8]
  24:	e5c32000 	strb	r2, [r3]
  28:	e24bd000 	sub	sp, fp, #0
  2c:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
  30:	e12fff1e 	bx	lr
  34:	101f1000 	.word	0x101f1000

00000038 <_puts>:
  38:	e92d4800 	push	{fp, lr}
  3c:	e28db004 	add	fp, sp, #4
  40:	e24dd008 	sub	sp, sp, #8
  44:	e50b0008 	str	r0, [fp, #-8]
  48:	ea000006 	b	68 <_puts+0x30>
  4c:	e51b3008 	ldr	r3, [fp, #-8]
  50:	e5d33000 	ldrb	r3, [r3]
  54:	e1a00003 	mov	r0, r3
  58:	ebfffffe 	bl	0 <_uart_putc>
  5c:	e51b3008 	ldr	r3, [fp, #-8]
  60:	e2833001 	add	r3, r3, #1
  64:	e50b3008 	str	r3, [fp, #-8]
  68:	e51b3008 	ldr	r3, [fp, #-8]
  6c:	e5d33000 	ldrb	r3, [r3]
  70:	e3530000 	cmp	r3, #0
  74:	1afffff4 	bne	4c <_puts+0x14>
  78:	e24bd004 	sub	sp, fp, #4
  7c:	e8bd8800 	pop	{fp, pc}

00000080 <_putint>:
  80:	e92d4800 	push	{fp, lr}
  84:	e28db004 	add	fp, sp, #4
  88:	e24dd018 	sub	sp, sp, #24
  8c:	e50b0010 	str	r0, [fp, #-16]
  90:	e50b1014 	str	r1, [fp, #-20]	; 0xffffffec
  94:	e50b2018 	str	r2, [fp, #-24]	; 0xffffffe8
  98:	e59f3078 	ldr	r3, [pc, #120]	; 118 <_putint+0x98>
  9c:	e50b300c 	str	r3, [fp, #-12]
  a0:	e51b3010 	ldr	r3, [fp, #-16]
  a4:	e3530000 	cmp	r3, #0
  a8:	0a000001 	beq	b4 <_putint+0x34>
  ac:	e51b0010 	ldr	r0, [fp, #-16]
  b0:	ebfffffe 	bl	38 <_puts>
  b4:	e3a0301c 	mov	r3, #28
  b8:	e50b3008 	str	r3, [fp, #-8]
  bc:	ea00000b 	b	f0 <_putint+0x70>
  c0:	e51b2014 	ldr	r2, [fp, #-20]	; 0xffffffec
  c4:	e51b3008 	ldr	r3, [fp, #-8]
  c8:	e1a03332 	lsr	r3, r2, r3
  cc:	e203300f 	and	r3, r3, #15
  d0:	e51b200c 	ldr	r2, [fp, #-12]
  d4:	e0823003 	add	r3, r2, r3
  d8:	e5d33000 	ldrb	r3, [r3]
  dc:	e1a00003 	mov	r0, r3
  e0:	ebfffffe 	bl	0 <_uart_putc>
  e4:	e51b3008 	ldr	r3, [fp, #-8]
  e8:	e2433004 	sub	r3, r3, #4
  ec:	e50b3008 	str	r3, [fp, #-8]
  f0:	e51b3008 	ldr	r3, [fp, #-8]
  f4:	e3530000 	cmp	r3, #0
  f8:	aafffff0 	bge	c0 <_putint+0x40>
  fc:	e51b3018 	ldr	r3, [fp, #-24]	; 0xffffffe8
 100:	e3530000 	cmp	r3, #0
 104:	0a000001 	beq	110 <_putint+0x90>
 108:	e51b0018 	ldr	r0, [fp, #-24]	; 0xffffffe8
 10c:	ebfffffe 	bl	38 <_puts>
 110:	e24bd004 	sub	sp, fp, #4
 114:	e8bd8800 	pop	{fp, pc}
 118:	00000000 	.word	0x00000000

0000011c <get_pde>:
 11c:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
 120:	e28db000 	add	fp, sp, #0
 124:	e24dd00c 	sub	sp, sp, #12
 128:	e50b0008 	str	r0, [fp, #-8]
 12c:	e51b3008 	ldr	r3, [fp, #-8]
 130:	e1a03a23 	lsr	r3, r3, #20
 134:	e50b3008 	str	r3, [fp, #-8]
 138:	e59f3020 	ldr	r3, [pc, #32]	; 160 <get_pde+0x44>
 13c:	e5932000 	ldr	r2, [r3]
 140:	e51b3008 	ldr	r3, [fp, #-8]
 144:	e1a03103 	lsl	r3, r3, #2
 148:	e0823003 	add	r3, r2, r3
 14c:	e5933000 	ldr	r3, [r3]
 150:	e1a00003 	mov	r0, r3
 154:	e24bd000 	sub	sp, fp, #0
 158:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
 15c:	e12fff1e 	bx	lr
 160:	00000000 	.word	0x00000000

00000164 <set_bootpgtbl>:
 164:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
 168:	e28db000 	add	fp, sp, #0
 16c:	e24dd01c 	sub	sp, sp, #28
 170:	e50b0010 	str	r0, [fp, #-16]
 174:	e50b1014 	str	r1, [fp, #-20]	; 0xffffffec
 178:	e50b2018 	str	r2, [fp, #-24]	; 0xffffffe8
 17c:	e50b301c 	str	r3, [fp, #-28]	; 0xffffffe4
 180:	e51b3010 	ldr	r3, [fp, #-16]
 184:	e1a03a23 	lsr	r3, r3, #20
 188:	e50b3010 	str	r3, [fp, #-16]
 18c:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
 190:	e1a03a23 	lsr	r3, r3, #20
 194:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec
 198:	e51b3018 	ldr	r3, [fp, #-24]	; 0xffffffe8
 19c:	e1a03a23 	lsr	r3, r3, #20
 1a0:	e50b3018 	str	r3, [fp, #-24]	; 0xffffffe8
 1a4:	e3a03000 	mov	r3, #0
 1a8:	e50b300c 	str	r3, [fp, #-12]
 1ac:	ea000029 	b	258 <set_bootpgtbl+0xf4>
 1b0:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
 1b4:	e1a03a03 	lsl	r3, r3, #20
 1b8:	e50b3008 	str	r3, [fp, #-8]
 1bc:	e51b301c 	ldr	r3, [fp, #-28]	; 0xffffffe4
 1c0:	e3530000 	cmp	r3, #0
 1c4:	1a000004 	bne	1dc <set_bootpgtbl+0x78>
 1c8:	e51b3008 	ldr	r3, [fp, #-8]
 1cc:	e3833b01 	orr	r3, r3, #1024	; 0x400
 1d0:	e383300e 	orr	r3, r3, #14
 1d4:	e50b3008 	str	r3, [fp, #-8]
 1d8:	ea000003 	b	1ec <set_bootpgtbl+0x88>
 1dc:	e51b3008 	ldr	r3, [fp, #-8]
 1e0:	e3833b01 	orr	r3, r3, #1024	; 0x400
 1e4:	e3833002 	orr	r3, r3, #2
 1e8:	e50b3008 	str	r3, [fp, #-8]
 1ec:	e51b3010 	ldr	r3, [fp, #-16]
 1f0:	e35300ff 	cmp	r3, #255	; 0xff
 1f4:	8a000007 	bhi	218 <set_bootpgtbl+0xb4>
 1f8:	e59f3074 	ldr	r3, [pc, #116]	; 274 <set_bootpgtbl+0x110>
 1fc:	e5932000 	ldr	r2, [r3]
 200:	e51b3010 	ldr	r3, [fp, #-16]
 204:	e1a03103 	lsl	r3, r3, #2
 208:	e0823003 	add	r3, r2, r3
 20c:	e51b2008 	ldr	r2, [fp, #-8]
 210:	e5832000 	str	r2, [r3]
 214:	ea000006 	b	234 <set_bootpgtbl+0xd0>
 218:	e59f3058 	ldr	r3, [pc, #88]	; 278 <set_bootpgtbl+0x114>
 21c:	e5932000 	ldr	r2, [r3]
 220:	e51b3010 	ldr	r3, [fp, #-16]
 224:	e1a03103 	lsl	r3, r3, #2
 228:	e0823003 	add	r3, r2, r3
 22c:	e51b2008 	ldr	r2, [fp, #-8]
 230:	e5832000 	str	r2, [r3]
 234:	e51b3010 	ldr	r3, [fp, #-16]
 238:	e2833001 	add	r3, r3, #1
 23c:	e50b3010 	str	r3, [fp, #-16]
 240:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
 244:	e2833001 	add	r3, r3, #1
 248:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec
 24c:	e51b300c 	ldr	r3, [fp, #-12]
 250:	e2833001 	add	r3, r3, #1
 254:	e50b300c 	str	r3, [fp, #-12]
 258:	e51b200c 	ldr	r2, [fp, #-12]
 25c:	e51b3018 	ldr	r3, [fp, #-24]	; 0xffffffe8
 260:	e1520003 	cmp	r2, r3
 264:	3affffd1 	bcc	1b0 <set_bootpgtbl+0x4c>
 268:	e24bd000 	sub	sp, fp, #0
 26c:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
 270:	e12fff1e 	bx	lr
	...

0000027c <_flush_all>:
 27c:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
 280:	e28db000 	add	fp, sp, #0
 284:	e24dd00c 	sub	sp, sp, #12
 288:	e3a03000 	mov	r3, #0
 28c:	e50b3008 	str	r3, [fp, #-8]
 290:	e51b3008 	ldr	r3, [fp, #-8]
 294:	ee083f17 	mcr	15, 0, r3, cr8, cr7, {0}
 298:	e24bd000 	sub	sp, fp, #0
 29c:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
 2a0:	e12fff1e 	bx	lr

000002a4 <load_pgtlb>:
 2a4:	e92d4800 	push	{fp, lr}
 2a8:	e28db004 	add	fp, sp, #4
 2ac:	e24dd018 	sub	sp, sp, #24
 2b0:	e50b0018 	str	r0, [fp, #-24]	; 0xffffffe8
 2b4:	e50b101c 	str	r1, [fp, #-28]	; 0xffffffe4
 2b8:	ee103f10 	mrc	15, 0, r3, cr0, cr0, {0}
 2bc:	e50b3008 	str	r3, [fp, #-8]
 2c0:	e51b3008 	ldr	r3, [fp, #-8]
 2c4:	e1a03823 	lsr	r3, r3, #16
 2c8:	e6ef3073 	uxtb	r3, r3
 2cc:	e203300f 	and	r3, r3, #15
 2d0:	e54b3009 	strb	r3, [fp, #-9]
 2d4:	e55b3009 	ldrb	r3, [fp, #-9]
 2d8:	e3530007 	cmp	r3, #7
 2dc:	0a000004 	beq	2f4 <load_pgtlb+0x50>
 2e0:	e55b3009 	ldrb	r3, [fp, #-9]
 2e4:	e353000f 	cmp	r3, #15
 2e8:	0a000001 	beq	2f4 <load_pgtlb+0x50>
 2ec:	e59f0070 	ldr	r0, [pc, #112]	; 364 <load_pgtlb+0xc0>
 2f0:	ebfffffe 	bl	38 <_puts>
 2f4:	e59f306c 	ldr	r3, [pc, #108]	; 368 <load_pgtlb+0xc4>
 2f8:	e50b3010 	str	r3, [fp, #-16]
 2fc:	e51b3010 	ldr	r3, [fp, #-16]
 300:	ee033f10 	mcr	15, 0, r3, cr3, cr0, {0}
 304:	e3a03004 	mov	r3, #4
 308:	e50b3010 	str	r3, [fp, #-16]
 30c:	e51b3010 	ldr	r3, [fp, #-16]
 310:	ee023f50 	mcr	15, 0, r3, cr2, cr0, {2}
 314:	e59f3050 	ldr	r3, [pc, #80]	; 36c <load_pgtlb+0xc8>
 318:	e5933000 	ldr	r3, [r3]
 31c:	e50b3010 	str	r3, [fp, #-16]
 320:	e51b3010 	ldr	r3, [fp, #-16]
 324:	ee023f30 	mcr	15, 0, r3, cr2, cr0, {1}
 328:	e51b301c 	ldr	r3, [fp, #-28]	; 0xffffffe4
 32c:	e50b3010 	str	r3, [fp, #-16]
 330:	e51b3010 	ldr	r3, [fp, #-16]
 334:	ee023f10 	mcr	15, 0, r3, cr2, cr0, {0}
 338:	ee113f10 	mrc	15, 0, r3, cr1, cr0, {0}
 33c:	e50b3010 	str	r3, [fp, #-16]
 340:	e51b2010 	ldr	r2, [fp, #-16]
 344:	e59f3024 	ldr	r3, [pc, #36]	; 370 <load_pgtlb+0xcc>
 348:	e1823003 	orr	r3, r2, r3
 34c:	e50b3010 	str	r3, [fp, #-16]
 350:	e51b3010 	ldr	r3, [fp, #-16]
 354:	ee013f10 	mcr	15, 0, r3, cr1, cr0, {0}
 358:	ebffffc7 	bl	27c <_flush_all>
 35c:	e24bd004 	sub	sp, fp, #4
 360:	e8bd8800 	pop	{fp, pc}
 364:	00000014 	.word	0x00000014
 368:	55555555 	.word	0x55555555
 36c:	00000000 	.word	0x00000000
 370:	0080300d 	.word	0x0080300d

00000374 <clear_bss>:
 374:	e92d4800 	push	{fp, lr}
 378:	e28db004 	add	fp, sp, #4
 37c:	e59f2018 	ldr	r2, [pc, #24]	; 39c <clear_bss+0x28>
 380:	e59f3018 	ldr	r3, [pc, #24]	; 3a0 <clear_bss+0x2c>
 384:	e0633002 	rsb	r3, r3, r2
 388:	e59f0010 	ldr	r0, [pc, #16]	; 3a0 <clear_bss+0x2c>
 38c:	e3a01000 	mov	r1, #0
 390:	e1a02003 	mov	r2, r3
 394:	ebfffffe 	bl	0 <memset>
 398:	e8bd8800 	pop	{fp, pc}
	...

000003a4 <start>:
 3a4:	e92d4800 	push	{fp, lr}
 3a8:	e28db004 	add	fp, sp, #4
 3ac:	e24dd008 	sub	sp, sp, #8
 3b0:	e59f00a0 	ldr	r0, [pc, #160]	; 458 <start+0xb4>
 3b4:	ebfffffe 	bl	38 <_puts>
 3b8:	e3a00000 	mov	r0, #0
 3bc:	e3a01000 	mov	r1, #0
 3c0:	e3a02601 	mov	r2, #1048576	; 0x100000
 3c4:	e3a03000 	mov	r3, #0
 3c8:	ebfffffe 	bl	164 <set_bootpgtbl>
 3cc:	e3a00102 	mov	r0, #-2147483648	; 0x80000000
 3d0:	e3a01000 	mov	r1, #0
 3d4:	e3a02601 	mov	r2, #1048576	; 0x100000
 3d8:	e3a03000 	mov	r3, #0
 3dc:	ebfffffe 	bl	164 <set_bootpgtbl>
 3e0:	e59f3074 	ldr	r3, [pc, #116]	; 45c <start+0xb8>
 3e4:	e50b3008 	str	r3, [fp, #-8]
 3e8:	e59f3070 	ldr	r3, [pc, #112]	; 460 <start+0xbc>
 3ec:	e51b2008 	ldr	r2, [fp, #-8]
 3f0:	e1520003 	cmp	r2, r3
 3f4:	8a000001 	bhi	400 <start+0x5c>
 3f8:	e59f0064 	ldr	r0, [pc, #100]	; 464 <start+0xc0>
 3fc:	ebfffffe 	bl	0 <cprintf>
 400:	e59f0060 	ldr	r0, [pc, #96]	; 468 <start+0xc4>
 404:	e3a01000 	mov	r1, #0
 408:	e3a02601 	mov	r2, #1048576	; 0x100000
 40c:	e3a03000 	mov	r3, #0
 410:	ebfffffe 	bl	164 <set_bootpgtbl>
 414:	e3a00209 	mov	r0, #-1879048192	; 0x90000000
 418:	e3a01201 	mov	r1, #268435456	; 0x10000000
 41c:	e3a02302 	mov	r2, #134217728	; 0x8000000
 420:	e3a03001 	mov	r3, #1
 424:	ebfffffe 	bl	164 <set_bootpgtbl>
 428:	e59f303c 	ldr	r3, [pc, #60]	; 46c <start+0xc8>
 42c:	e5932000 	ldr	r2, [r3]
 430:	e59f3038 	ldr	r3, [pc, #56]	; 470 <start+0xcc>
 434:	e5933000 	ldr	r3, [r3]
 438:	e1a00002 	mov	r0, r2
 43c:	e1a01003 	mov	r1, r3
 440:	ebfffffe 	bl	2a4 <load_pgtlb>
 444:	ebfffffe 	bl	0 <jump_stack>
 448:	ebfffffe 	bl	374 <clear_bss>
 44c:	ebfffffe 	bl	0 <kmain>
 450:	e24bd004 	sub	sp, fp, #4
 454:	e8bd8800 	pop	{fp, pc}
 458:	0000002c 	.word	0x0000002c
 45c:	800f0000 	.word	0x800f0000
 460:	00000000 	.word	0x00000000
 464:	00000048 	.word	0x00000048
 468:	ffff0000 	.word	0xffff0000
	...