view src/usr/zombie.asm @ 0:53676d1f5817 default tip

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


_zombie:     file format elf32-littlearm


Disassembly of section .text:

00000000 <main>:
#include "stat.h"
#include "user.h"

int
main(void)
{
       0:	e92d4800 	push	{fp, lr}
       4:	e1a0b00d 	mov	fp, sp
       8:	e24dd010 	sub	sp, sp, #16
       c:	e3a00000 	mov	r0, #0
      10:	e50b0004 	str	r0, [fp, #-4]
    if(fork() > 0)
      14:	eb000178 	bl	5fc <fork>
      18:	e3500001 	cmp	r0, #1
      1c:	ba000004 	blt	34 <main+0x34>
      20:	eaffffff 	b	24 <main+0x24>
        sleep(5);  // Let child exit before parent.
      24:	e3a00005 	mov	r0, #5
      28:	eb00021e 	bl	8a8 <sleep>
      2c:	e58d0008 	str	r0, [sp, #8]
      30:	eaffffff 	b	34 <main+0x34>
    exit();
      34:	eb000179 	bl	620 <exit>
      38:	e58d0004 	str	r0, [sp, #4]

0000003c <strcpy>:
#include "fcntl.h"
#include "user.h"

char*
strcpy(char *s, char *t)
{
      3c:	e24dd014 	sub	sp, sp, #20
      40:	e1a02001 	mov	r2, r1
      44:	e1a03000 	mov	r3, r0
      48:	e58d0010 	str	r0, [sp, #16]
      4c:	e58d100c 	str	r1, [sp, #12]
      50:	e59d0010 	ldr	r0, [sp, #16]
      54:	e58d0008 	str	r0, [sp, #8]
      58:	e58d2004 	str	r2, [sp, #4]
      5c:	e58d3000 	str	r3, [sp]
      60:	eaffffff 	b	64 <strcpy+0x28>
      64:	e59d000c 	ldr	r0, [sp, #12]
      68:	e2801001 	add	r1, r0, #1
      6c:	e58d100c 	str	r1, [sp, #12]
      70:	e5d00000 	ldrb	r0, [r0]
      74:	e59d1010 	ldr	r1, [sp, #16]
      78:	e2812001 	add	r2, r1, #1
      7c:	e58d2010 	str	r2, [sp, #16]
      80:	e5c10000 	strb	r0, [r1]
      84:	e3500000 	cmp	r0, #0
      88:	0a000001 	beq	94 <strcpy+0x58>
      8c:	eaffffff 	b	90 <strcpy+0x54>
      90:	eafffff3 	b	64 <strcpy+0x28>
      94:	e59d0008 	ldr	r0, [sp, #8]
      98:	e28dd014 	add	sp, sp, #20
      9c:	e12fff1e 	bx	lr

000000a0 <strcmp>:
      a0:	e24dd014 	sub	sp, sp, #20
      a4:	e1a02001 	mov	r2, r1
      a8:	e1a03000 	mov	r3, r0
      ac:	e58d0010 	str	r0, [sp, #16]
      b0:	e58d100c 	str	r1, [sp, #12]
      b4:	e58d2008 	str	r2, [sp, #8]
      b8:	e58d3004 	str	r3, [sp, #4]
      bc:	eaffffff 	b	c0 <strcmp+0x20>
      c0:	e59d0010 	ldr	r0, [sp, #16]
      c4:	e5d00000 	ldrb	r0, [r0]
      c8:	e3a01000 	mov	r1, #0
      cc:	e3500000 	cmp	r0, #0
      d0:	e58d1000 	str	r1, [sp]
      d4:	0a000009 	beq	100 <strcmp+0x60>
      d8:	eaffffff 	b	dc <strcmp+0x3c>
      dc:	e59d0010 	ldr	r0, [sp, #16]
      e0:	e5d00000 	ldrb	r0, [r0]
      e4:	e59d100c 	ldr	r1, [sp, #12]
      e8:	e5d11000 	ldrb	r1, [r1]
      ec:	e3a02000 	mov	r2, #0
      f0:	e1500001 	cmp	r0, r1
      f4:	03a02001 	moveq	r2, #1
      f8:	e58d2000 	str	r2, [sp]
      fc:	eaffffff 	b	100 <strcmp+0x60>
     100:	e59d0000 	ldr	r0, [sp]
     104:	e3100001 	tst	r0, #1
     108:	0a000007 	beq	12c <strcmp+0x8c>
     10c:	eaffffff 	b	110 <strcmp+0x70>
     110:	e59d0010 	ldr	r0, [sp, #16]
     114:	e2800001 	add	r0, r0, #1
     118:	e58d0010 	str	r0, [sp, #16]
     11c:	e59d000c 	ldr	r0, [sp, #12]
     120:	e2800001 	add	r0, r0, #1
     124:	e58d000c 	str	r0, [sp, #12]
     128:	eaffffe4 	b	c0 <strcmp+0x20>
     12c:	e59d0010 	ldr	r0, [sp, #16]
     130:	e5d00000 	ldrb	r0, [r0]
     134:	e59d100c 	ldr	r1, [sp, #12]
     138:	e5d11000 	ldrb	r1, [r1]
     13c:	e0400001 	sub	r0, r0, r1
     140:	e28dd014 	add	sp, sp, #20
     144:	e12fff1e 	bx	lr

00000148 <strlen>:
     148:	e24dd00c 	sub	sp, sp, #12
     14c:	e1a01000 	mov	r1, r0
     150:	e58d0008 	str	r0, [sp, #8]
     154:	e3a00000 	mov	r0, #0
     158:	e58d0004 	str	r0, [sp, #4]
     15c:	e58d1000 	str	r1, [sp]
     160:	eaffffff 	b	164 <strlen+0x1c>
     164:	e59d0008 	ldr	r0, [sp, #8]
     168:	e59d1004 	ldr	r1, [sp, #4]
     16c:	e7d00001 	ldrb	r0, [r0, r1]
     170:	e3500000 	cmp	r0, #0
     174:	0a000005 	beq	190 <strlen+0x48>
     178:	eaffffff 	b	17c <strlen+0x34>
     17c:	eaffffff 	b	180 <strlen+0x38>
     180:	e59d0004 	ldr	r0, [sp, #4]
     184:	e2800001 	add	r0, r0, #1
     188:	e58d0004 	str	r0, [sp, #4]
     18c:	eafffff4 	b	164 <strlen+0x1c>
     190:	e59d0004 	ldr	r0, [sp, #4]
     194:	e28dd00c 	add	sp, sp, #12
     198:	e12fff1e 	bx	lr

0000019c <memset>:
     19c:	e92d4800 	push	{fp, lr}
     1a0:	e1a0b00d 	mov	fp, sp
     1a4:	e24dd02c 	sub	sp, sp, #44	; 0x2c
     1a8:	e1a03002 	mov	r3, r2
     1ac:	e1a0c001 	mov	ip, r1
     1b0:	e1a0e000 	mov	lr, r0
     1b4:	e50b0004 	str	r0, [fp, #-4]
     1b8:	e50b1008 	str	r1, [fp, #-8]
     1bc:	e50b200c 	str	r2, [fp, #-12]
     1c0:	e51b0004 	ldr	r0, [fp, #-4]
     1c4:	e50b0010 	str	r0, [fp, #-16]
     1c8:	e51b0008 	ldr	r0, [fp, #-8]
     1cc:	e54b0011 	strb	r0, [fp, #-17]	; 0xffffffef
     1d0:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
     1d4:	e1a01c00 	lsl	r1, r0, #24
     1d8:	e1811800 	orr	r1, r1, r0, lsl #16
     1dc:	e1811400 	orr	r1, r1, r0, lsl #8
     1e0:	e1810000 	orr	r0, r1, r0
     1e4:	e58d0014 	str	r0, [sp, #20]
     1e8:	e58d300c 	str	r3, [sp, #12]
     1ec:	e58dc008 	str	ip, [sp, #8]
     1f0:	e58de004 	str	lr, [sp, #4]
     1f4:	eaffffff 	b	1f8 <memset+0x5c>
     1f8:	e51b000c 	ldr	r0, [fp, #-12]
     1fc:	e3a01000 	mov	r1, #0
     200:	e3500000 	cmp	r0, #0
     204:	e58d1000 	str	r1, [sp]
     208:	0a000006 	beq	228 <memset+0x8c>
     20c:	eaffffff 	b	210 <memset+0x74>
     210:	e55b0010 	ldrb	r0, [fp, #-16]
     214:	e2000003 	and	r0, r0, #3
     218:	e3500000 	cmp	r0, #0
     21c:	13a00001 	movne	r0, #1
     220:	e58d0000 	str	r0, [sp]
     224:	eaffffff 	b	228 <memset+0x8c>
     228:	e59d0000 	ldr	r0, [sp]
     22c:	e3100001 	tst	r0, #1
     230:	0a00000b 	beq	264 <memset+0xc8>
     234:	eaffffff 	b	238 <memset+0x9c>
     238:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
     23c:	e51b1010 	ldr	r1, [fp, #-16]
     240:	e5c10000 	strb	r0, [r1]
     244:	eaffffff 	b	248 <memset+0xac>
     248:	e51b000c 	ldr	r0, [fp, #-12]
     24c:	e2400001 	sub	r0, r0, #1
     250:	e50b000c 	str	r0, [fp, #-12]
     254:	e51b0010 	ldr	r0, [fp, #-16]
     258:	e2800001 	add	r0, r0, #1
     25c:	e50b0010 	str	r0, [fp, #-16]
     260:	eaffffe4 	b	1f8 <memset+0x5c>
     264:	e51b0010 	ldr	r0, [fp, #-16]
     268:	e58d0010 	str	r0, [sp, #16]
     26c:	eaffffff 	b	270 <memset+0xd4>
     270:	e51b000c 	ldr	r0, [fp, #-12]
     274:	e3500004 	cmp	r0, #4
     278:	3a00000b 	bcc	2ac <memset+0x110>
     27c:	eaffffff 	b	280 <memset+0xe4>
     280:	e59d0014 	ldr	r0, [sp, #20]
     284:	e59d1010 	ldr	r1, [sp, #16]
     288:	e5810000 	str	r0, [r1]
     28c:	eaffffff 	b	290 <memset+0xf4>
     290:	e51b000c 	ldr	r0, [fp, #-12]
     294:	e2400004 	sub	r0, r0, #4
     298:	e50b000c 	str	r0, [fp, #-12]
     29c:	e59d0010 	ldr	r0, [sp, #16]
     2a0:	e2800004 	add	r0, r0, #4
     2a4:	e58d0010 	str	r0, [sp, #16]
     2a8:	eafffff0 	b	270 <memset+0xd4>
     2ac:	e59d0010 	ldr	r0, [sp, #16]
     2b0:	e50b0010 	str	r0, [fp, #-16]
     2b4:	eaffffff 	b	2b8 <memset+0x11c>
     2b8:	e51b000c 	ldr	r0, [fp, #-12]
     2bc:	e3500000 	cmp	r0, #0
     2c0:	0a00000b 	beq	2f4 <memset+0x158>
     2c4:	eaffffff 	b	2c8 <memset+0x12c>
     2c8:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
     2cc:	e51b1010 	ldr	r1, [fp, #-16]
     2d0:	e5c10000 	strb	r0, [r1]
     2d4:	eaffffff 	b	2d8 <memset+0x13c>
     2d8:	e51b000c 	ldr	r0, [fp, #-12]
     2dc:	e2400001 	sub	r0, r0, #1
     2e0:	e50b000c 	str	r0, [fp, #-12]
     2e4:	e51b0010 	ldr	r0, [fp, #-16]
     2e8:	e2800001 	add	r0, r0, #1
     2ec:	e50b0010 	str	r0, [fp, #-16]
     2f0:	eafffff0 	b	2b8 <memset+0x11c>
     2f4:	e51b0004 	ldr	r0, [fp, #-4]
     2f8:	e1a0d00b 	mov	sp, fp
     2fc:	e8bd8800 	pop	{fp, pc}

00000300 <strchr>:
     300:	e24dd014 	sub	sp, sp, #20
     304:	e1a02001 	mov	r2, r1
     308:	e1a03000 	mov	r3, r0
     30c:	e58d000c 	str	r0, [sp, #12]
     310:	e5cd100b 	strb	r1, [sp, #11]
     314:	e58d2004 	str	r2, [sp, #4]
     318:	e58d3000 	str	r3, [sp]
     31c:	eaffffff 	b	320 <strchr+0x20>
     320:	e59d000c 	ldr	r0, [sp, #12]
     324:	e5d00000 	ldrb	r0, [r0]
     328:	e3500000 	cmp	r0, #0
     32c:	0a00000e 	beq	36c <strchr+0x6c>
     330:	eaffffff 	b	334 <strchr+0x34>
     334:	e59d000c 	ldr	r0, [sp, #12]
     338:	e5d00000 	ldrb	r0, [r0]
     33c:	e5dd100b 	ldrb	r1, [sp, #11]
     340:	e1500001 	cmp	r0, r1
     344:	1a000003 	bne	358 <strchr+0x58>
     348:	eaffffff 	b	34c <strchr+0x4c>
     34c:	e59d000c 	ldr	r0, [sp, #12]
     350:	e58d0010 	str	r0, [sp, #16]
     354:	ea000007 	b	378 <strchr+0x78>
     358:	eaffffff 	b	35c <strchr+0x5c>
     35c:	e59d000c 	ldr	r0, [sp, #12]
     360:	e2800001 	add	r0, r0, #1
     364:	e58d000c 	str	r0, [sp, #12]
     368:	eaffffec 	b	320 <strchr+0x20>
     36c:	e3a00000 	mov	r0, #0
     370:	e58d0010 	str	r0, [sp, #16]
     374:	eaffffff 	b	378 <strchr+0x78>
     378:	e59d0010 	ldr	r0, [sp, #16]
     37c:	e28dd014 	add	sp, sp, #20
     380:	e12fff1e 	bx	lr

00000384 <gets>:
     384:	e92d4800 	push	{fp, lr}
     388:	e1a0b00d 	mov	fp, sp
     38c:	e24dd020 	sub	sp, sp, #32
     390:	e1a02001 	mov	r2, r1
     394:	e1a03000 	mov	r3, r0
     398:	e50b0004 	str	r0, [fp, #-4]
     39c:	e50b1008 	str	r1, [fp, #-8]
     3a0:	e3a00000 	mov	r0, #0
     3a4:	e50b000c 	str	r0, [fp, #-12]
     3a8:	e58d2008 	str	r2, [sp, #8]
     3ac:	e58d3004 	str	r3, [sp, #4]
     3b0:	eaffffff 	b	3b4 <gets+0x30>
     3b4:	e51b000c 	ldr	r0, [fp, #-12]
     3b8:	e2800001 	add	r0, r0, #1
     3bc:	e51b1008 	ldr	r1, [fp, #-8]
     3c0:	e1500001 	cmp	r0, r1
     3c4:	aa00001a 	bge	434 <gets+0xb0>
     3c8:	eaffffff 	b	3cc <gets+0x48>
     3cc:	e3a00000 	mov	r0, #0
     3d0:	e28d100f 	add	r1, sp, #15
     3d4:	e3a02001 	mov	r2, #1
     3d8:	eb0000ab 	bl	68c <read>
     3dc:	e58d0010 	str	r0, [sp, #16]
     3e0:	e59d0010 	ldr	r0, [sp, #16]
     3e4:	e3500000 	cmp	r0, #0
     3e8:	ca000001 	bgt	3f4 <gets+0x70>
     3ec:	eaffffff 	b	3f0 <gets+0x6c>
     3f0:	ea00000f 	b	434 <gets+0xb0>
     3f4:	e5dd000f 	ldrb	r0, [sp, #15]
     3f8:	e51b1004 	ldr	r1, [fp, #-4]
     3fc:	e51b200c 	ldr	r2, [fp, #-12]
     400:	e2823001 	add	r3, r2, #1
     404:	e50b300c 	str	r3, [fp, #-12]
     408:	e7c10002 	strb	r0, [r1, r2]
     40c:	e5dd000f 	ldrb	r0, [sp, #15]
     410:	e350000a 	cmp	r0, #10
     414:	0a000004 	beq	42c <gets+0xa8>
     418:	eaffffff 	b	41c <gets+0x98>
     41c:	e5dd000f 	ldrb	r0, [sp, #15]
     420:	e350000d 	cmp	r0, #13
     424:	1a000001 	bne	430 <gets+0xac>
     428:	eaffffff 	b	42c <gets+0xa8>
     42c:	ea000000 	b	434 <gets+0xb0>
     430:	eaffffdf 	b	3b4 <gets+0x30>
     434:	e51b0004 	ldr	r0, [fp, #-4]
     438:	e51b100c 	ldr	r1, [fp, #-12]
     43c:	e3a02000 	mov	r2, #0
     440:	e7c02001 	strb	r2, [r0, r1]
     444:	e51b0004 	ldr	r0, [fp, #-4]
     448:	e1a0d00b 	mov	sp, fp
     44c:	e8bd8800 	pop	{fp, pc}

00000450 <stat>:
     450:	e92d4800 	push	{fp, lr}
     454:	e1a0b00d 	mov	fp, sp
     458:	e24dd020 	sub	sp, sp, #32
     45c:	e1a02001 	mov	r2, r1
     460:	e1a03000 	mov	r3, r0
     464:	e50b0008 	str	r0, [fp, #-8]
     468:	e50b100c 	str	r1, [fp, #-12]
     46c:	e51b0008 	ldr	r0, [fp, #-8]
     470:	e3a01000 	mov	r1, #0
     474:	e58d2008 	str	r2, [sp, #8]
     478:	e58d3004 	str	r3, [sp, #4]
     47c:	eb0000af 	bl	740 <open>
     480:	e58d0010 	str	r0, [sp, #16]
     484:	e59d0010 	ldr	r0, [sp, #16]
     488:	e3500000 	cmp	r0, #0
     48c:	aa000003 	bge	4a0 <stat+0x50>
     490:	eaffffff 	b	494 <stat+0x44>
     494:	e3e00000 	mvn	r0, #0
     498:	e50b0004 	str	r0, [fp, #-4]
     49c:	ea000009 	b	4c8 <stat+0x78>
     4a0:	e59d0010 	ldr	r0, [sp, #16]
     4a4:	e51b100c 	ldr	r1, [fp, #-12]
     4a8:	eb0000bf 	bl	7ac <fstat>
     4ac:	e58d000c 	str	r0, [sp, #12]
     4b0:	e59d0010 	ldr	r0, [sp, #16]
     4b4:	eb000086 	bl	6d4 <close>
     4b8:	e59d100c 	ldr	r1, [sp, #12]
     4bc:	e50b1004 	str	r1, [fp, #-4]
     4c0:	e58d0000 	str	r0, [sp]
     4c4:	eaffffff 	b	4c8 <stat+0x78>
     4c8:	e51b0004 	ldr	r0, [fp, #-4]
     4cc:	e1a0d00b 	mov	sp, fp
     4d0:	e8bd8800 	pop	{fp, pc}

000004d4 <atoi>:
     4d4:	e24dd010 	sub	sp, sp, #16
     4d8:	e1a01000 	mov	r1, r0
     4dc:	e58d000c 	str	r0, [sp, #12]
     4e0:	e3a00000 	mov	r0, #0
     4e4:	e58d0008 	str	r0, [sp, #8]
     4e8:	e58d1004 	str	r1, [sp, #4]
     4ec:	eaffffff 	b	4f0 <atoi+0x1c>
     4f0:	e59d000c 	ldr	r0, [sp, #12]
     4f4:	e5d00000 	ldrb	r0, [r0]
     4f8:	e3a01000 	mov	r1, #0
     4fc:	e3500030 	cmp	r0, #48	; 0x30
     500:	e58d1000 	str	r1, [sp]
     504:	ba000007 	blt	528 <atoi+0x54>
     508:	eaffffff 	b	50c <atoi+0x38>
     50c:	e59d000c 	ldr	r0, [sp, #12]
     510:	e5d00000 	ldrb	r0, [r0]
     514:	e3a01000 	mov	r1, #0
     518:	e350003a 	cmp	r0, #58	; 0x3a
     51c:	b3a01001 	movlt	r1, #1
     520:	e58d1000 	str	r1, [sp]
     524:	eaffffff 	b	528 <atoi+0x54>
     528:	e59d0000 	ldr	r0, [sp]
     52c:	e3100001 	tst	r0, #1
     530:	0a00000a 	beq	560 <atoi+0x8c>
     534:	eaffffff 	b	538 <atoi+0x64>
     538:	e59d0008 	ldr	r0, [sp, #8]
     53c:	e0800100 	add	r0, r0, r0, lsl #2
     540:	e59d100c 	ldr	r1, [sp, #12]
     544:	e2812001 	add	r2, r1, #1
     548:	e58d200c 	str	r2, [sp, #12]
     54c:	e5d11000 	ldrb	r1, [r1]
     550:	e0810080 	add	r0, r1, r0, lsl #1
     554:	e2400030 	sub	r0, r0, #48	; 0x30
     558:	e58d0008 	str	r0, [sp, #8]
     55c:	eaffffe3 	b	4f0 <atoi+0x1c>
     560:	e59d0008 	ldr	r0, [sp, #8]
     564:	e28dd010 	add	sp, sp, #16
     568:	e12fff1e 	bx	lr

0000056c <memmove>:
     56c:	e92d4800 	push	{fp, lr}
     570:	e1a0b00d 	mov	fp, sp
     574:	e24dd020 	sub	sp, sp, #32
     578:	e1a03002 	mov	r3, r2
     57c:	e1a0c001 	mov	ip, r1
     580:	e1a0e000 	mov	lr, r0
     584:	e50b0004 	str	r0, [fp, #-4]
     588:	e50b1008 	str	r1, [fp, #-8]
     58c:	e50b200c 	str	r2, [fp, #-12]
     590:	e51b0004 	ldr	r0, [fp, #-4]
     594:	e58d0010 	str	r0, [sp, #16]
     598:	e51b0008 	ldr	r0, [fp, #-8]
     59c:	e58d000c 	str	r0, [sp, #12]
     5a0:	e58d3008 	str	r3, [sp, #8]
     5a4:	e58dc004 	str	ip, [sp, #4]
     5a8:	e58de000 	str	lr, [sp]
     5ac:	eaffffff 	b	5b0 <memmove+0x44>
     5b0:	e51b000c 	ldr	r0, [fp, #-12]
     5b4:	e2401001 	sub	r1, r0, #1
     5b8:	e50b100c 	str	r1, [fp, #-12]
     5bc:	e3500001 	cmp	r0, #1
     5c0:	ba000009 	blt	5ec <memmove+0x80>
     5c4:	eaffffff 	b	5c8 <memmove+0x5c>
     5c8:	e59d000c 	ldr	r0, [sp, #12]
     5cc:	e2801001 	add	r1, r0, #1
     5d0:	e58d100c 	str	r1, [sp, #12]
     5d4:	e5d00000 	ldrb	r0, [r0]
     5d8:	e59d1010 	ldr	r1, [sp, #16]
     5dc:	e2812001 	add	r2, r1, #1
     5e0:	e58d2010 	str	r2, [sp, #16]
     5e4:	e5c10000 	strb	r0, [r1]
     5e8:	eafffff0 	b	5b0 <memmove+0x44>
     5ec:	e51b0004 	ldr	r0, [fp, #-4]
     5f0:	e1a0d00b 	mov	sp, fp
     5f4:	e8bd8800 	pop	{fp, pc}

000005f8 <raise>:
    return vdst;
}

void
raise()
{}
     5f8:	e12fff1e 	bx	lr

000005fc <fork>:
     5fc:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     600:	e1a04003 	mov	r4, r3
     604:	e1a03002 	mov	r3, r2
     608:	e1a02001 	mov	r2, r1
     60c:	e1a01000 	mov	r1, r0
     610:	e3a00001 	mov	r0, #1
     614:	ef000000 	svc	0x00000000
     618:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     61c:	e12fff1e 	bx	lr

00000620 <exit>:
     620:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     624:	e1a04003 	mov	r4, r3
     628:	e1a03002 	mov	r3, r2
     62c:	e1a02001 	mov	r2, r1
     630:	e1a01000 	mov	r1, r0
     634:	e3a00002 	mov	r0, #2
     638:	ef000000 	svc	0x00000000
     63c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     640:	e12fff1e 	bx	lr

00000644 <wait>:
     644:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     648:	e1a04003 	mov	r4, r3
     64c:	e1a03002 	mov	r3, r2
     650:	e1a02001 	mov	r2, r1
     654:	e1a01000 	mov	r1, r0
     658:	e3a00003 	mov	r0, #3
     65c:	ef000000 	svc	0x00000000
     660:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     664:	e12fff1e 	bx	lr

00000668 <pipe>:
     668:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     66c:	e1a04003 	mov	r4, r3
     670:	e1a03002 	mov	r3, r2
     674:	e1a02001 	mov	r2, r1
     678:	e1a01000 	mov	r1, r0
     67c:	e3a00004 	mov	r0, #4
     680:	ef000000 	svc	0x00000000
     684:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     688:	e12fff1e 	bx	lr

0000068c <read>:
     68c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     690:	e1a04003 	mov	r4, r3
     694:	e1a03002 	mov	r3, r2
     698:	e1a02001 	mov	r2, r1
     69c:	e1a01000 	mov	r1, r0
     6a0:	e3a00005 	mov	r0, #5
     6a4:	ef000000 	svc	0x00000000
     6a8:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     6ac:	e12fff1e 	bx	lr

000006b0 <write>:
     6b0:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     6b4:	e1a04003 	mov	r4, r3
     6b8:	e1a03002 	mov	r3, r2
     6bc:	e1a02001 	mov	r2, r1
     6c0:	e1a01000 	mov	r1, r0
     6c4:	e3a00010 	mov	r0, #16
     6c8:	ef000000 	svc	0x00000000
     6cc:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     6d0:	e12fff1e 	bx	lr

000006d4 <close>:
     6d4:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     6d8:	e1a04003 	mov	r4, r3
     6dc:	e1a03002 	mov	r3, r2
     6e0:	e1a02001 	mov	r2, r1
     6e4:	e1a01000 	mov	r1, r0
     6e8:	e3a00015 	mov	r0, #21
     6ec:	ef000000 	svc	0x00000000
     6f0:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     6f4:	e12fff1e 	bx	lr

000006f8 <kill>:
     6f8:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     6fc:	e1a04003 	mov	r4, r3
     700:	e1a03002 	mov	r3, r2
     704:	e1a02001 	mov	r2, r1
     708:	e1a01000 	mov	r1, r0
     70c:	e3a00006 	mov	r0, #6
     710:	ef000000 	svc	0x00000000
     714:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     718:	e12fff1e 	bx	lr

0000071c <exec>:
     71c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     720:	e1a04003 	mov	r4, r3
     724:	e1a03002 	mov	r3, r2
     728:	e1a02001 	mov	r2, r1
     72c:	e1a01000 	mov	r1, r0
     730:	e3a00007 	mov	r0, #7
     734:	ef000000 	svc	0x00000000
     738:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     73c:	e12fff1e 	bx	lr

00000740 <open>:
     740:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     744:	e1a04003 	mov	r4, r3
     748:	e1a03002 	mov	r3, r2
     74c:	e1a02001 	mov	r2, r1
     750:	e1a01000 	mov	r1, r0
     754:	e3a0000f 	mov	r0, #15
     758:	ef000000 	svc	0x00000000
     75c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     760:	e12fff1e 	bx	lr

00000764 <mknod>:
     764:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     768:	e1a04003 	mov	r4, r3
     76c:	e1a03002 	mov	r3, r2
     770:	e1a02001 	mov	r2, r1
     774:	e1a01000 	mov	r1, r0
     778:	e3a00011 	mov	r0, #17
     77c:	ef000000 	svc	0x00000000
     780:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     784:	e12fff1e 	bx	lr

00000788 <unlink>:
     788:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     78c:	e1a04003 	mov	r4, r3
     790:	e1a03002 	mov	r3, r2
     794:	e1a02001 	mov	r2, r1
     798:	e1a01000 	mov	r1, r0
     79c:	e3a00012 	mov	r0, #18
     7a0:	ef000000 	svc	0x00000000
     7a4:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     7a8:	e12fff1e 	bx	lr

000007ac <fstat>:
     7ac:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     7b0:	e1a04003 	mov	r4, r3
     7b4:	e1a03002 	mov	r3, r2
     7b8:	e1a02001 	mov	r2, r1
     7bc:	e1a01000 	mov	r1, r0
     7c0:	e3a00008 	mov	r0, #8
     7c4:	ef000000 	svc	0x00000000
     7c8:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     7cc:	e12fff1e 	bx	lr

000007d0 <link>:
     7d0:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     7d4:	e1a04003 	mov	r4, r3
     7d8:	e1a03002 	mov	r3, r2
     7dc:	e1a02001 	mov	r2, r1
     7e0:	e1a01000 	mov	r1, r0
     7e4:	e3a00013 	mov	r0, #19
     7e8:	ef000000 	svc	0x00000000
     7ec:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     7f0:	e12fff1e 	bx	lr

000007f4 <mkdir>:
     7f4:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     7f8:	e1a04003 	mov	r4, r3
     7fc:	e1a03002 	mov	r3, r2
     800:	e1a02001 	mov	r2, r1
     804:	e1a01000 	mov	r1, r0
     808:	e3a00014 	mov	r0, #20
     80c:	ef000000 	svc	0x00000000
     810:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     814:	e12fff1e 	bx	lr

00000818 <chdir>:
     818:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     81c:	e1a04003 	mov	r4, r3
     820:	e1a03002 	mov	r3, r2
     824:	e1a02001 	mov	r2, r1
     828:	e1a01000 	mov	r1, r0
     82c:	e3a00009 	mov	r0, #9
     830:	ef000000 	svc	0x00000000
     834:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     838:	e12fff1e 	bx	lr

0000083c <dup>:
     83c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     840:	e1a04003 	mov	r4, r3
     844:	e1a03002 	mov	r3, r2
     848:	e1a02001 	mov	r2, r1
     84c:	e1a01000 	mov	r1, r0
     850:	e3a0000a 	mov	r0, #10
     854:	ef000000 	svc	0x00000000
     858:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     85c:	e12fff1e 	bx	lr

00000860 <getpid>:
     860:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     864:	e1a04003 	mov	r4, r3
     868:	e1a03002 	mov	r3, r2
     86c:	e1a02001 	mov	r2, r1
     870:	e1a01000 	mov	r1, r0
     874:	e3a0000b 	mov	r0, #11
     878:	ef000000 	svc	0x00000000
     87c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     880:	e12fff1e 	bx	lr

00000884 <sbrk>:
     884:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     888:	e1a04003 	mov	r4, r3
     88c:	e1a03002 	mov	r3, r2
     890:	e1a02001 	mov	r2, r1
     894:	e1a01000 	mov	r1, r0
     898:	e3a0000c 	mov	r0, #12
     89c:	ef000000 	svc	0x00000000
     8a0:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     8a4:	e12fff1e 	bx	lr

000008a8 <sleep>:
     8a8:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     8ac:	e1a04003 	mov	r4, r3
     8b0:	e1a03002 	mov	r3, r2
     8b4:	e1a02001 	mov	r2, r1
     8b8:	e1a01000 	mov	r1, r0
     8bc:	e3a0000d 	mov	r0, #13
     8c0:	ef000000 	svc	0x00000000
     8c4:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     8c8:	e12fff1e 	bx	lr

000008cc <uptime>:
     8cc:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     8d0:	e1a04003 	mov	r4, r3
     8d4:	e1a03002 	mov	r3, r2
     8d8:	e1a02001 	mov	r2, r1
     8dc:	e1a01000 	mov	r1, r0
     8e0:	e3a0000e 	mov	r0, #14
     8e4:	ef000000 	svc	0x00000000
     8e8:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     8ec:	e12fff1e 	bx	lr

000008f0 <printf>:
}

// Print to the given fd. Only understands %d, %x, %p, %s.
void
printf(int fd, char *fmt, ...)
{
     8f0:	e92d4800 	push	{fp, lr}
     8f4:	e1a0b00d 	mov	fp, sp
     8f8:	e24dd028 	sub	sp, sp, #40	; 0x28
     8fc:	e1a02001 	mov	r2, r1
     900:	e1a03000 	mov	r3, r0
     904:	e50b0004 	str	r0, [fp, #-4]
     908:	e50b1008 	str	r1, [fp, #-8]
     90c:	e3a00000 	mov	r0, #0
     910:	e58d0010 	str	r0, [sp, #16]
     914:	e24b1008 	sub	r1, fp, #8
     918:	e2811004 	add	r1, r1, #4
     91c:	e58d100c 	str	r1, [sp, #12]
     920:	e58d0014 	str	r0, [sp, #20]
     924:	e58d2008 	str	r2, [sp, #8]
     928:	e58d3004 	str	r3, [sp, #4]
     92c:	eaffffff 	b	930 <printf+0x40>
     930:	e51b0008 	ldr	r0, [fp, #-8]
     934:	e59d1014 	ldr	r1, [sp, #20]
     938:	e7d00001 	ldrb	r0, [r0, r1]
     93c:	e3500000 	cmp	r0, #0
     940:	0a00007e 	beq	b40 <printf+0x250>
     944:	eaffffff 	b	948 <printf+0x58>
     948:	e51b0008 	ldr	r0, [fp, #-8]
     94c:	e59d1014 	ldr	r1, [sp, #20]
     950:	e7d00001 	ldrb	r0, [r0, r1]
     954:	e50b0010 	str	r0, [fp, #-16]
     958:	e59d0010 	ldr	r0, [sp, #16]
     95c:	e3500000 	cmp	r0, #0
     960:	1a00000c 	bne	998 <printf+0xa8>
     964:	eaffffff 	b	968 <printf+0x78>
     968:	e51b0010 	ldr	r0, [fp, #-16]
     96c:	e3500025 	cmp	r0, #37	; 0x25
     970:	1a000003 	bne	984 <printf+0x94>
     974:	eaffffff 	b	978 <printf+0x88>
     978:	e3a00025 	mov	r0, #37	; 0x25
     97c:	e58d0010 	str	r0, [sp, #16]
     980:	ea000003 	b	994 <printf+0xa4>
     984:	e51b0004 	ldr	r0, [fp, #-4]
     988:	e55b1010 	ldrb	r1, [fp, #-16]
     98c:	eb00006e 	bl	b4c <putc>
     990:	eaffffff 	b	994 <printf+0xa4>
     994:	ea000064 	b	b2c <printf+0x23c>
     998:	e59d0010 	ldr	r0, [sp, #16]
     99c:	e3500025 	cmp	r0, #37	; 0x25
     9a0:	1a000060 	bne	b28 <printf+0x238>
     9a4:	eaffffff 	b	9a8 <printf+0xb8>
     9a8:	e51b0010 	ldr	r0, [fp, #-16]
     9ac:	e3500064 	cmp	r0, #100	; 0x64
     9b0:	1a00000a 	bne	9e0 <printf+0xf0>
     9b4:	eaffffff 	b	9b8 <printf+0xc8>
     9b8:	e51b0004 	ldr	r0, [fp, #-4]
     9bc:	e59d100c 	ldr	r1, [sp, #12]
     9c0:	e5911000 	ldr	r1, [r1]
     9c4:	e3a0200a 	mov	r2, #10
     9c8:	e3a03001 	mov	r3, #1
     9cc:	eb00006f 	bl	b90 <printint>
     9d0:	e59d000c 	ldr	r0, [sp, #12]
     9d4:	e2800004 	add	r0, r0, #4
     9d8:	e58d000c 	str	r0, [sp, #12]
     9dc:	ea00004e 	b	b1c <printf+0x22c>
     9e0:	e51b0010 	ldr	r0, [fp, #-16]
     9e4:	e3500078 	cmp	r0, #120	; 0x78
     9e8:	0a000004 	beq	a00 <printf+0x110>
     9ec:	eaffffff 	b	9f0 <printf+0x100>
     9f0:	e51b0010 	ldr	r0, [fp, #-16]
     9f4:	e3500070 	cmp	r0, #112	; 0x70
     9f8:	1a00000a 	bne	a28 <printf+0x138>
     9fc:	eaffffff 	b	a00 <printf+0x110>
     a00:	e51b0004 	ldr	r0, [fp, #-4]
     a04:	e59d100c 	ldr	r1, [sp, #12]
     a08:	e5911000 	ldr	r1, [r1]
     a0c:	e3a02010 	mov	r2, #16
     a10:	e3a03000 	mov	r3, #0
     a14:	eb00005d 	bl	b90 <printint>
     a18:	e59d000c 	ldr	r0, [sp, #12]
     a1c:	e2800004 	add	r0, r0, #4
     a20:	e58d000c 	str	r0, [sp, #12]
     a24:	ea00003b 	b	b18 <printf+0x228>
     a28:	e51b0010 	ldr	r0, [fp, #-16]
     a2c:	e3500073 	cmp	r0, #115	; 0x73
     a30:	1a00001a 	bne	aa0 <printf+0x1b0>
     a34:	eaffffff 	b	a38 <printf+0x148>
     a38:	e59d000c 	ldr	r0, [sp, #12]
     a3c:	e4901004 	ldr	r1, [r0], #4
     a40:	e50b100c 	str	r1, [fp, #-12]
     a44:	e58d000c 	str	r0, [sp, #12]
     a48:	e51b000c 	ldr	r0, [fp, #-12]
     a4c:	e3500000 	cmp	r0, #0
     a50:	1a000003 	bne	a64 <printf+0x174>
     a54:	eaffffff 	b	a58 <printf+0x168>
     a58:	e59f00e8 	ldr	r0, [pc, #232]	; b48 <printf+0x258>
     a5c:	e50b000c 	str	r0, [fp, #-12]
     a60:	eaffffff 	b	a64 <printf+0x174>
     a64:	eaffffff 	b	a68 <printf+0x178>
     a68:	e51b000c 	ldr	r0, [fp, #-12]
     a6c:	e5d00000 	ldrb	r0, [r0]
     a70:	e3500000 	cmp	r0, #0
     a74:	0a000008 	beq	a9c <printf+0x1ac>
     a78:	eaffffff 	b	a7c <printf+0x18c>
     a7c:	e51b0004 	ldr	r0, [fp, #-4]
     a80:	e51b100c 	ldr	r1, [fp, #-12]
     a84:	e5d11000 	ldrb	r1, [r1]
     a88:	eb00002f 	bl	b4c <putc>
     a8c:	e51b000c 	ldr	r0, [fp, #-12]
     a90:	e2800001 	add	r0, r0, #1
     a94:	e50b000c 	str	r0, [fp, #-12]
     a98:	eafffff2 	b	a68 <printf+0x178>
     a9c:	ea00001c 	b	b14 <printf+0x224>
     aa0:	e51b0010 	ldr	r0, [fp, #-16]
     aa4:	e3500063 	cmp	r0, #99	; 0x63
     aa8:	1a000008 	bne	ad0 <printf+0x1e0>
     aac:	eaffffff 	b	ab0 <printf+0x1c0>
     ab0:	e51b0004 	ldr	r0, [fp, #-4]
     ab4:	e59d100c 	ldr	r1, [sp, #12]
     ab8:	e5d11000 	ldrb	r1, [r1]
     abc:	eb000022 	bl	b4c <putc>
     ac0:	e59d000c 	ldr	r0, [sp, #12]
     ac4:	e2800004 	add	r0, r0, #4
     ac8:	e58d000c 	str	r0, [sp, #12]
     acc:	ea00000f 	b	b10 <printf+0x220>
     ad0:	e51b0010 	ldr	r0, [fp, #-16]
     ad4:	e3500025 	cmp	r0, #37	; 0x25
     ad8:	1a000004 	bne	af0 <printf+0x200>
     adc:	eaffffff 	b	ae0 <printf+0x1f0>
     ae0:	e51b0004 	ldr	r0, [fp, #-4]
     ae4:	e55b1010 	ldrb	r1, [fp, #-16]
     ae8:	eb000017 	bl	b4c <putc>
     aec:	ea000006 	b	b0c <printf+0x21c>
     af0:	e51b0004 	ldr	r0, [fp, #-4]
     af4:	e3a01025 	mov	r1, #37	; 0x25
     af8:	eb000013 	bl	b4c <putc>
     afc:	e51b0004 	ldr	r0, [fp, #-4]
     b00:	e55b1010 	ldrb	r1, [fp, #-16]
     b04:	eb000010 	bl	b4c <putc>
     b08:	eaffffff 	b	b0c <printf+0x21c>
     b0c:	eaffffff 	b	b10 <printf+0x220>
     b10:	eaffffff 	b	b14 <printf+0x224>
     b14:	eaffffff 	b	b18 <printf+0x228>
     b18:	eaffffff 	b	b1c <printf+0x22c>
     b1c:	e3a00000 	mov	r0, #0
     b20:	e58d0010 	str	r0, [sp, #16]
     b24:	eaffffff 	b	b28 <printf+0x238>
     b28:	eaffffff 	b	b2c <printf+0x23c>
     b2c:	eaffffff 	b	b30 <printf+0x240>
     b30:	e59d0014 	ldr	r0, [sp, #20]
     b34:	e2800001 	add	r0, r0, #1
     b38:	e58d0014 	str	r0, [sp, #20]
     b3c:	eaffff7b 	b	930 <printf+0x40>
     b40:	e1a0d00b 	mov	sp, fp
     b44:	e8bd8800 	pop	{fp, pc}
     b48:	000011b8 	.word	0x000011b8

00000b4c <putc>:
{
     b4c:	e92d4800 	push	{fp, lr}
     b50:	e1a0b00d 	mov	fp, sp
     b54:	e24dd018 	sub	sp, sp, #24
     b58:	e1a02001 	mov	r2, r1
     b5c:	e1a03000 	mov	r3, r0
     b60:	e50b0004 	str	r0, [fp, #-4]
     b64:	e54b1005 	strb	r1, [fp, #-5]
    write(fd, &c, 1);
     b68:	e51b0004 	ldr	r0, [fp, #-4]
     b6c:	e24b1005 	sub	r1, fp, #5
     b70:	e3a0c001 	mov	ip, #1
     b74:	e58d200c 	str	r2, [sp, #12]
     b78:	e1a0200c 	mov	r2, ip
     b7c:	e58d3008 	str	r3, [sp, #8]
     b80:	ebfffeca 	bl	6b0 <write>
}
     b84:	e58d0004 	str	r0, [sp, #4]
     b88:	e1a0d00b 	mov	sp, fp
     b8c:	e8bd8800 	pop	{fp, pc}

00000b90 <printint>:
{
     b90:	e92d4830 	push	{r4, r5, fp, lr}
     b94:	e28db008 	add	fp, sp, #8
     b98:	e24dd040 	sub	sp, sp, #64	; 0x40
     b9c:	e1a0c003 	mov	ip, r3
     ba0:	e1a0e002 	mov	lr, r2
     ba4:	e1a04001 	mov	r4, r1
     ba8:	e1a05000 	mov	r5, r0
     bac:	e50b000c 	str	r0, [fp, #-12]
     bb0:	e50b1010 	str	r1, [fp, #-16]
     bb4:	e50b2014 	str	r2, [fp, #-20]	; 0xffffffec
     bb8:	e50b3018 	str	r3, [fp, #-24]	; 0xffffffe8
     bbc:	e3a00000 	mov	r0, #0
     bc0:	e58d0018 	str	r0, [sp, #24]
     bc4:	e51b0018 	ldr	r0, [fp, #-24]	; 0xffffffe8
     bc8:	e3500000 	cmp	r0, #0
     bcc:	e58dc010 	str	ip, [sp, #16]
     bd0:	e58de00c 	str	lr, [sp, #12]
     bd4:	e58d4008 	str	r4, [sp, #8]
     bd8:	e58d5004 	str	r5, [sp, #4]
     bdc:	0a00000a 	beq	c0c <printint+0x7c>
     be0:	eaffffff 	b	be4 <printint+0x54>
     be4:	e51b0010 	ldr	r0, [fp, #-16]
     be8:	e3500000 	cmp	r0, #0
     bec:	aa000006 	bge	c0c <printint+0x7c>
     bf0:	eaffffff 	b	bf4 <printint+0x64>
     bf4:	e3a00001 	mov	r0, #1
     bf8:	e58d0018 	str	r0, [sp, #24]
     bfc:	e51b0010 	ldr	r0, [fp, #-16]
     c00:	e2600000 	rsb	r0, r0, #0
     c04:	e58d0014 	str	r0, [sp, #20]
     c08:	ea000002 	b	c18 <printint+0x88>
     c0c:	e51b0010 	ldr	r0, [fp, #-16]
     c10:	e58d0014 	str	r0, [sp, #20]
     c14:	eaffffff 	b	c18 <printint+0x88>
     c18:	e3a00000 	mov	r0, #0
     c1c:	e58d001c 	str	r0, [sp, #28]
     c20:	eaffffff 	b	c24 <printint+0x94>
     c24:	e59d0014 	ldr	r0, [sp, #20]
     c28:	e51b1014 	ldr	r1, [fp, #-20]	; 0xffffffec
     c2c:	eb000158 	bl	1194 <__aeabi_uidivmod>
     c30:	e59fe0a0 	ldr	lr, [pc, #160]	; cd8 <printint+0x148>
     c34:	e7de1001 	ldrb	r1, [lr, r1]
     c38:	e59de01c 	ldr	lr, [sp, #28]
     c3c:	e28e2001 	add	r2, lr, #1
     c40:	e58d201c 	str	r2, [sp, #28]
     c44:	e28d2020 	add	r2, sp, #32
     c48:	e7c2100e 	strb	r1, [r2, lr]
     c4c:	e58d0000 	str	r0, [sp]
     c50:	eaffffff 	b	c54 <printint+0xc4>
     c54:	e51b1014 	ldr	r1, [fp, #-20]	; 0xffffffec
     c58:	e59d0014 	ldr	r0, [sp, #20]
     c5c:	eb00010f 	bl	10a0 <__aeabi_uidiv>
     c60:	e58d0014 	str	r0, [sp, #20]
     c64:	e3500000 	cmp	r0, #0
     c68:	1affffed 	bne	c24 <printint+0x94>
     c6c:	eaffffff 	b	c70 <printint+0xe0>
     c70:	e59d0018 	ldr	r0, [sp, #24]
     c74:	e3500000 	cmp	r0, #0
     c78:	0a000007 	beq	c9c <printint+0x10c>
     c7c:	eaffffff 	b	c80 <printint+0xf0>
     c80:	e59d001c 	ldr	r0, [sp, #28]
     c84:	e2801001 	add	r1, r0, #1
     c88:	e58d101c 	str	r1, [sp, #28]
     c8c:	e28d1020 	add	r1, sp, #32
     c90:	e3a0202d 	mov	r2, #45	; 0x2d
     c94:	e7c12000 	strb	r2, [r1, r0]
     c98:	eaffffff 	b	c9c <printint+0x10c>
     c9c:	eaffffff 	b	ca0 <printint+0x110>
     ca0:	e59d001c 	ldr	r0, [sp, #28]
     ca4:	e2400001 	sub	r0, r0, #1
     ca8:	e58d001c 	str	r0, [sp, #28]
     cac:	e3500000 	cmp	r0, #0
     cb0:	ba000006 	blt	cd0 <printint+0x140>
     cb4:	eaffffff 	b	cb8 <printint+0x128>
     cb8:	e51b000c 	ldr	r0, [fp, #-12]
     cbc:	e59d101c 	ldr	r1, [sp, #28]
     cc0:	e28d2020 	add	r2, sp, #32
     cc4:	e7d21001 	ldrb	r1, [r2, r1]
     cc8:	ebffff9f 	bl	b4c <putc>
     ccc:	eafffff3 	b	ca0 <printint+0x110>
     cd0:	e24bd008 	sub	sp, fp, #8
     cd4:	e8bd8830 	pop	{r4, r5, fp, pc}
     cd8:	000011c8 	.word	0x000011c8

00000cdc <free>:
static Header base;
static Header *freep;

void
free(void *ap)
{
     cdc:	e24dd014 	sub	sp, sp, #20
     ce0:	e1a01000 	mov	r1, r0
     ce4:	e58d0010 	str	r0, [sp, #16]
     ce8:	e59d0010 	ldr	r0, [sp, #16]
     cec:	e2400008 	sub	r0, r0, #8
     cf0:	e58d000c 	str	r0, [sp, #12]
     cf4:	e59f0188 	ldr	r0, [pc, #392]	; e84 <free+0x1a8>
     cf8:	e5900000 	ldr	r0, [r0]
     cfc:	e58d0008 	str	r0, [sp, #8]
     d00:	e58d1004 	str	r1, [sp, #4]
     d04:	eaffffff 	b	d08 <free+0x2c>
     d08:	e59d000c 	ldr	r0, [sp, #12]
     d0c:	e59d1008 	ldr	r1, [sp, #8]
     d10:	e3a02000 	mov	r2, #0
     d14:	e1500001 	cmp	r0, r1
     d18:	e58d2000 	str	r2, [sp]
     d1c:	9a000008 	bls	d44 <free+0x68>
     d20:	eaffffff 	b	d24 <free+0x48>
     d24:	e59d000c 	ldr	r0, [sp, #12]
     d28:	e59d1008 	ldr	r1, [sp, #8]
     d2c:	e5911000 	ldr	r1, [r1]
     d30:	e3a02000 	mov	r2, #0
     d34:	e1500001 	cmp	r0, r1
     d38:	33a02001 	movcc	r2, #1
     d3c:	e58d2000 	str	r2, [sp]
     d40:	eaffffff 	b	d44 <free+0x68>
     d44:	e59d0000 	ldr	r0, [sp]
     d48:	e1e00000 	mvn	r0, r0
     d4c:	e3100001 	tst	r0, #1
     d50:	0a000016 	beq	db0 <free+0xd4>
     d54:	eaffffff 	b	d58 <free+0x7c>
     d58:	e59d0008 	ldr	r0, [sp, #8]
     d5c:	e5901000 	ldr	r1, [r0]
     d60:	e1500001 	cmp	r0, r1
     d64:	3a00000c 	bcc	d9c <free+0xc0>
     d68:	eaffffff 	b	d6c <free+0x90>
     d6c:	e59d000c 	ldr	r0, [sp, #12]
     d70:	e59d1008 	ldr	r1, [sp, #8]
     d74:	e1500001 	cmp	r0, r1
     d78:	8a000006 	bhi	d98 <free+0xbc>
     d7c:	eaffffff 	b	d80 <free+0xa4>
     d80:	e59d000c 	ldr	r0, [sp, #12]
     d84:	e59d1008 	ldr	r1, [sp, #8]
     d88:	e5911000 	ldr	r1, [r1]
     d8c:	e1500001 	cmp	r0, r1
     d90:	2a000001 	bcs	d9c <free+0xc0>
     d94:	eaffffff 	b	d98 <free+0xbc>
     d98:	ea000004 	b	db0 <free+0xd4>
     d9c:	eaffffff 	b	da0 <free+0xc4>
     da0:	e59d0008 	ldr	r0, [sp, #8]
     da4:	e5900000 	ldr	r0, [r0]
     da8:	e58d0008 	str	r0, [sp, #8]
     dac:	eaffffd5 	b	d08 <free+0x2c>
     db0:	e59d000c 	ldr	r0, [sp, #12]
     db4:	e5901004 	ldr	r1, [r0, #4]
     db8:	e0800181 	add	r0, r0, r1, lsl #3
     dbc:	e59d1008 	ldr	r1, [sp, #8]
     dc0:	e5911000 	ldr	r1, [r1]
     dc4:	e1500001 	cmp	r0, r1
     dc8:	1a00000d 	bne	e04 <free+0x128>
     dcc:	eaffffff 	b	dd0 <free+0xf4>
     dd0:	e59d0008 	ldr	r0, [sp, #8]
     dd4:	e5900000 	ldr	r0, [r0]
     dd8:	e5900004 	ldr	r0, [r0, #4]
     ddc:	e59d100c 	ldr	r1, [sp, #12]
     de0:	e5912004 	ldr	r2, [r1, #4]
     de4:	e0820000 	add	r0, r2, r0
     de8:	e5810004 	str	r0, [r1, #4]
     dec:	e59d0008 	ldr	r0, [sp, #8]
     df0:	e5900000 	ldr	r0, [r0]
     df4:	e5900000 	ldr	r0, [r0]
     df8:	e59d100c 	ldr	r1, [sp, #12]
     dfc:	e5810000 	str	r0, [r1]
     e00:	ea000004 	b	e18 <free+0x13c>
     e04:	e59d0008 	ldr	r0, [sp, #8]
     e08:	e5900000 	ldr	r0, [r0]
     e0c:	e59d100c 	ldr	r1, [sp, #12]
     e10:	e5810000 	str	r0, [r1]
     e14:	eaffffff 	b	e18 <free+0x13c>
     e18:	e59d0008 	ldr	r0, [sp, #8]
     e1c:	e5901004 	ldr	r1, [r0, #4]
     e20:	e0800181 	add	r0, r0, r1, lsl #3
     e24:	e59d100c 	ldr	r1, [sp, #12]
     e28:	e1500001 	cmp	r0, r1
     e2c:	1a00000b 	bne	e60 <free+0x184>
     e30:	eaffffff 	b	e34 <free+0x158>
     e34:	e59d000c 	ldr	r0, [sp, #12]
     e38:	e5900004 	ldr	r0, [r0, #4]
     e3c:	e59d1008 	ldr	r1, [sp, #8]
     e40:	e5912004 	ldr	r2, [r1, #4]
     e44:	e0820000 	add	r0, r2, r0
     e48:	e5810004 	str	r0, [r1, #4]
     e4c:	e59d000c 	ldr	r0, [sp, #12]
     e50:	e5900000 	ldr	r0, [r0]
     e54:	e59d1008 	ldr	r1, [sp, #8]
     e58:	e5810000 	str	r0, [r1]
     e5c:	ea000003 	b	e70 <free+0x194>
     e60:	e59d000c 	ldr	r0, [sp, #12]
     e64:	e59d1008 	ldr	r1, [sp, #8]
     e68:	e5810000 	str	r0, [r1]
     e6c:	eaffffff 	b	e70 <free+0x194>
     e70:	e59d0008 	ldr	r0, [sp, #8]
     e74:	e59f1008 	ldr	r1, [pc, #8]	; e84 <free+0x1a8>
     e78:	e5810000 	str	r0, [r1]
     e7c:	e28dd014 	add	sp, sp, #20
     e80:	e12fff1e 	bx	lr
     e84:	000011dc 	.word	0x000011dc

00000e88 <malloc>:
     e88:	e92d4800 	push	{fp, lr}
     e8c:	e1a0b00d 	mov	fp, sp
     e90:	e24dd018 	sub	sp, sp, #24
     e94:	e1a01000 	mov	r1, r0
     e98:	e50b0008 	str	r0, [fp, #-8]
     e9c:	e51b0008 	ldr	r0, [fp, #-8]
     ea0:	e2800007 	add	r0, r0, #7
     ea4:	e3a02001 	mov	r2, #1
     ea8:	e08201a0 	add	r0, r2, r0, lsr #3
     eac:	e58d0004 	str	r0, [sp, #4]
     eb0:	e59f013c 	ldr	r0, [pc, #316]	; ff4 <malloc+0x16c>
     eb4:	e5900000 	ldr	r0, [r0]
     eb8:	e58d0008 	str	r0, [sp, #8]
     ebc:	e3500000 	cmp	r0, #0
     ec0:	e58d1000 	str	r1, [sp]
     ec4:	1a000008 	bne	eec <malloc+0x64>
     ec8:	eaffffff 	b	ecc <malloc+0x44>
     ecc:	e59f0124 	ldr	r0, [pc, #292]	; ff8 <malloc+0x170>
     ed0:	e58d0008 	str	r0, [sp, #8]
     ed4:	e59f1118 	ldr	r1, [pc, #280]	; ff4 <malloc+0x16c>
     ed8:	e5810000 	str	r0, [r1]
     edc:	e5800000 	str	r0, [r0]
     ee0:	e3a01000 	mov	r1, #0
     ee4:	e5801004 	str	r1, [r0, #4]
     ee8:	eaffffff 	b	eec <malloc+0x64>
     eec:	e59d0008 	ldr	r0, [sp, #8]
     ef0:	e5900000 	ldr	r0, [r0]
     ef4:	e58d000c 	str	r0, [sp, #12]
     ef8:	eaffffff 	b	efc <malloc+0x74>
     efc:	e59d000c 	ldr	r0, [sp, #12]
     f00:	e5900004 	ldr	r0, [r0, #4]
     f04:	e59d1004 	ldr	r1, [sp, #4]
     f08:	e1500001 	cmp	r0, r1
     f0c:	3a00001f 	bcc	f90 <malloc+0x108>
     f10:	eaffffff 	b	f14 <malloc+0x8c>
     f14:	e59d000c 	ldr	r0, [sp, #12]
     f18:	e5900004 	ldr	r0, [r0, #4]
     f1c:	e59d1004 	ldr	r1, [sp, #4]
     f20:	e1500001 	cmp	r0, r1
     f24:	1a000005 	bne	f40 <malloc+0xb8>
     f28:	eaffffff 	b	f2c <malloc+0xa4>
     f2c:	e59d000c 	ldr	r0, [sp, #12]
     f30:	e5900000 	ldr	r0, [r0]
     f34:	e59d1008 	ldr	r1, [sp, #8]
     f38:	e5810000 	str	r0, [r1]
     f3c:	ea00000c 	b	f74 <malloc+0xec>
     f40:	e59d0004 	ldr	r0, [sp, #4]
     f44:	e59d100c 	ldr	r1, [sp, #12]
     f48:	e5912004 	ldr	r2, [r1, #4]
     f4c:	e0420000 	sub	r0, r2, r0
     f50:	e5810004 	str	r0, [r1, #4]
     f54:	e59d000c 	ldr	r0, [sp, #12]
     f58:	e5901004 	ldr	r1, [r0, #4]
     f5c:	e0800181 	add	r0, r0, r1, lsl #3
     f60:	e58d000c 	str	r0, [sp, #12]
     f64:	e59d0004 	ldr	r0, [sp, #4]
     f68:	e59d100c 	ldr	r1, [sp, #12]
     f6c:	e5810004 	str	r0, [r1, #4]
     f70:	eaffffff 	b	f74 <malloc+0xec>
     f74:	e59d0008 	ldr	r0, [sp, #8]
     f78:	e59f1074 	ldr	r1, [pc, #116]	; ff4 <malloc+0x16c>
     f7c:	e5810000 	str	r0, [r1]
     f80:	e59d000c 	ldr	r0, [sp, #12]
     f84:	e2800008 	add	r0, r0, #8
     f88:	e50b0004 	str	r0, [fp, #-4]
     f8c:	ea000015 	b	fe8 <malloc+0x160>
     f90:	e59d000c 	ldr	r0, [sp, #12]
     f94:	e59f1058 	ldr	r1, [pc, #88]	; ff4 <malloc+0x16c>
     f98:	e5911000 	ldr	r1, [r1]
     f9c:	e1500001 	cmp	r0, r1
     fa0:	1a00000a 	bne	fd0 <malloc+0x148>
     fa4:	eaffffff 	b	fa8 <malloc+0x120>
     fa8:	e59d0004 	ldr	r0, [sp, #4]
     fac:	eb000012 	bl	ffc <morecore>
     fb0:	e58d000c 	str	r0, [sp, #12]
     fb4:	e3500000 	cmp	r0, #0
     fb8:	1a000003 	bne	fcc <malloc+0x144>
     fbc:	eaffffff 	b	fc0 <malloc+0x138>
     fc0:	e3a00000 	mov	r0, #0
     fc4:	e50b0004 	str	r0, [fp, #-4]
     fc8:	ea000006 	b	fe8 <malloc+0x160>
     fcc:	eaffffff 	b	fd0 <malloc+0x148>
     fd0:	eaffffff 	b	fd4 <malloc+0x14c>
     fd4:	e59d000c 	ldr	r0, [sp, #12]
     fd8:	e58d0008 	str	r0, [sp, #8]
     fdc:	e5900000 	ldr	r0, [r0]
     fe0:	e58d000c 	str	r0, [sp, #12]
     fe4:	eaffffc4 	b	efc <malloc+0x74>
     fe8:	e51b0004 	ldr	r0, [fp, #-4]
     fec:	e1a0d00b 	mov	sp, fp
     ff0:	e8bd8800 	pop	{fp, pc}
     ff4:	000011dc 	.word	0x000011dc
     ff8:	000011e0 	.word	0x000011e0

00000ffc <morecore>:
    freep = p;
}

static Header*
morecore(uint nu)
{
     ffc:	e92d4800 	push	{fp, lr}
    1000:	e1a0b00d 	mov	fp, sp
    1004:	e24dd018 	sub	sp, sp, #24
    1008:	e1a01000 	mov	r1, r0
    100c:	e50b0008 	str	r0, [fp, #-8]
    char *p;
    Header *hp;
    
    if(nu < 4096)
    1010:	e51b0008 	ldr	r0, [fp, #-8]
    1014:	e3a02000 	mov	r2, #0
    1018:	e1520620 	cmp	r2, r0, lsr #12
    101c:	e58d1004 	str	r1, [sp, #4]
    1020:	1a000003 	bne	1034 <morecore+0x38>
    1024:	eaffffff 	b	1028 <morecore+0x2c>
        nu = 4096;
    1028:	e3a00a01 	mov	r0, #4096	; 0x1000
    102c:	e50b0008 	str	r0, [fp, #-8]
    1030:	eaffffff 	b	1034 <morecore+0x38>
    p = sbrk(nu * sizeof(Header));
    1034:	e51b0008 	ldr	r0, [fp, #-8]
    1038:	e1a00180 	lsl	r0, r0, #3
    103c:	ebfffe10 	bl	884 <sbrk>
    1040:	e58d000c 	str	r0, [sp, #12]
    if(p == (char*)-1)
    1044:	e59d000c 	ldr	r0, [sp, #12]
    1048:	e3700001 	cmn	r0, #1
    104c:	1a000003 	bne	1060 <morecore+0x64>
    1050:	eaffffff 	b	1054 <morecore+0x58>
        return 0;
    1054:	e3a00000 	mov	r0, #0
    1058:	e50b0004 	str	r0, [fp, #-4]
    105c:	ea00000b 	b	1090 <morecore+0x94>
    hp = (Header*)p;
    1060:	e59d000c 	ldr	r0, [sp, #12]
    1064:	e58d0008 	str	r0, [sp, #8]
    hp->s.size = nu;
    1068:	e51b0008 	ldr	r0, [fp, #-8]
    106c:	e59d1008 	ldr	r1, [sp, #8]
    1070:	e5810004 	str	r0, [r1, #4]
    free((void*)(hp + 1));
    1074:	e59d0008 	ldr	r0, [sp, #8]
    1078:	e2800008 	add	r0, r0, #8
    107c:	ebffff16 	bl	cdc <free>
    return freep;
    1080:	e59f0014 	ldr	r0, [pc, #20]	; 109c <morecore+0xa0>
    1084:	e5900000 	ldr	r0, [r0]
    1088:	e50b0004 	str	r0, [fp, #-4]
    108c:	eaffffff 	b	1090 <morecore+0x94>
}
    1090:	e51b0004 	ldr	r0, [fp, #-4]
    1094:	e1a0d00b 	mov	sp, fp
    1098:	e8bd8800 	pop	{fp, pc}
    109c:	000011dc 	.word	0x000011dc

000010a0 <__aeabi_uidiv>:
    10a0:	e2512001 	subs	r2, r1, #1
    10a4:	012fff1e 	bxeq	lr
    10a8:	3a000036 	bcc	1188 <__aeabi_uidiv+0xe8>
    10ac:	e1500001 	cmp	r0, r1
    10b0:	9a000022 	bls	1140 <__aeabi_uidiv+0xa0>
    10b4:	e1110002 	tst	r1, r2
    10b8:	0a000023 	beq	114c <__aeabi_uidiv+0xac>
    10bc:	e311020e 	tst	r1, #-536870912	; 0xe0000000
    10c0:	01a01181 	lsleq	r1, r1, #3
    10c4:	03a03008 	moveq	r3, #8
    10c8:	13a03001 	movne	r3, #1
    10cc:	e3510201 	cmp	r1, #268435456	; 0x10000000
    10d0:	31510000 	cmpcc	r1, r0
    10d4:	31a01201 	lslcc	r1, r1, #4
    10d8:	31a03203 	lslcc	r3, r3, #4
    10dc:	3afffffa 	bcc	10cc <__aeabi_uidiv+0x2c>
    10e0:	e3510102 	cmp	r1, #-2147483648	; 0x80000000
    10e4:	31510000 	cmpcc	r1, r0
    10e8:	31a01081 	lslcc	r1, r1, #1
    10ec:	31a03083 	lslcc	r3, r3, #1
    10f0:	3afffffa 	bcc	10e0 <__aeabi_uidiv+0x40>
    10f4:	e3a02000 	mov	r2, #0
    10f8:	e1500001 	cmp	r0, r1
    10fc:	20400001 	subcs	r0, r0, r1
    1100:	21822003 	orrcs	r2, r2, r3
    1104:	e15000a1 	cmp	r0, r1, lsr #1
    1108:	204000a1 	subcs	r0, r0, r1, lsr #1
    110c:	218220a3 	orrcs	r2, r2, r3, lsr #1
    1110:	e1500121 	cmp	r0, r1, lsr #2
    1114:	20400121 	subcs	r0, r0, r1, lsr #2
    1118:	21822123 	orrcs	r2, r2, r3, lsr #2
    111c:	e15001a1 	cmp	r0, r1, lsr #3
    1120:	204001a1 	subcs	r0, r0, r1, lsr #3
    1124:	218221a3 	orrcs	r2, r2, r3, lsr #3
    1128:	e3500000 	cmp	r0, #0
    112c:	11b03223 	lsrsne	r3, r3, #4
    1130:	11a01221 	lsrne	r1, r1, #4
    1134:	1affffef 	bne	10f8 <__aeabi_uidiv+0x58>
    1138:	e1a00002 	mov	r0, r2
    113c:	e12fff1e 	bx	lr
    1140:	03a00001 	moveq	r0, #1
    1144:	13a00000 	movne	r0, #0
    1148:	e12fff1e 	bx	lr
    114c:	e3510801 	cmp	r1, #65536	; 0x10000
    1150:	21a01821 	lsrcs	r1, r1, #16
    1154:	23a02010 	movcs	r2, #16
    1158:	33a02000 	movcc	r2, #0
    115c:	e3510c01 	cmp	r1, #256	; 0x100
    1160:	21a01421 	lsrcs	r1, r1, #8
    1164:	22822008 	addcs	r2, r2, #8
    1168:	e3510010 	cmp	r1, #16
    116c:	21a01221 	lsrcs	r1, r1, #4
    1170:	22822004 	addcs	r2, r2, #4
    1174:	e3510004 	cmp	r1, #4
    1178:	82822003 	addhi	r2, r2, #3
    117c:	908220a1 	addls	r2, r2, r1, lsr #1
    1180:	e1a00230 	lsr	r0, r0, r2
    1184:	e12fff1e 	bx	lr
    1188:	e3500000 	cmp	r0, #0
    118c:	13e00000 	mvnne	r0, #0
    1190:	ea000007 	b	11b4 <__aeabi_idiv0>

00001194 <__aeabi_uidivmod>:
    1194:	e3510000 	cmp	r1, #0
    1198:	0afffffa 	beq	1188 <__aeabi_uidiv+0xe8>
    119c:	e92d4003 	push	{r0, r1, lr}
    11a0:	ebffffbe 	bl	10a0 <__aeabi_uidiv>
    11a4:	e8bd4006 	pop	{r1, r2, lr}
    11a8:	e0030092 	mul	r3, r2, r0
    11ac:	e0411003 	sub	r1, r1, r3
    11b0:	e12fff1e 	bx	lr

000011b4 <__aeabi_idiv0>:
    11b4:	e12fff1e 	bx	lr