view src/usr/ls.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


_ls:     file format elf32-littlearm


Disassembly of section .text:

00000000 <fmtname>:
#include "user.h"
#include "fs.h"

char*
fmtname(char *path)
{
       0:	e92d4800 	push	{fp, lr}
       4:	e1a0b00d 	mov	fp, sp
       8:	e24dd030 	sub	sp, sp, #48	; 0x30
       c:	e1a01000 	mov	r1, r0
      10:	e50b0008 	str	r0, [fp, #-8]
      14:	e51b0008 	ldr	r0, [fp, #-8]
      18:	e50b0010 	str	r0, [fp, #-16]
      1c:	e50b1014 	str	r1, [fp, #-20]	; 0xffffffec
      20:	eb00013f 	bl	524 <strlen>
      24:	e51b1010 	ldr	r1, [fp, #-16]
      28:	e0810000 	add	r0, r1, r0
      2c:	e50b000c 	str	r0, [fp, #-12]
      30:	eaffffff 	b	34 <fmtname+0x34>
      34:	e51b000c 	ldr	r0, [fp, #-12]
      38:	e51b1008 	ldr	r1, [fp, #-8]
      3c:	e3a02000 	mov	r2, #0
      40:	e1500001 	cmp	r0, r1
      44:	e58d2018 	str	r2, [sp, #24]
      48:	3a000007 	bcc	6c <fmtname+0x6c>
      4c:	eaffffff 	b	50 <fmtname+0x50>
      50:	e51b000c 	ldr	r0, [fp, #-12]
      54:	e5d00000 	ldrb	r0, [r0]
      58:	e3a01000 	mov	r1, #0
      5c:	e350002f 	cmp	r0, #47	; 0x2f
      60:	13a01001 	movne	r1, #1
      64:	e58d1018 	str	r1, [sp, #24]
      68:	eaffffff 	b	6c <fmtname+0x6c>
      6c:	e59d0018 	ldr	r0, [sp, #24]
      70:	e3100001 	tst	r0, #1
      74:	0a000005 	beq	90 <fmtname+0x90>
      78:	eaffffff 	b	7c <fmtname+0x7c>
      7c:	eaffffff 	b	80 <fmtname+0x80>
      80:	e51b000c 	ldr	r0, [fp, #-12]
      84:	e2400001 	sub	r0, r0, #1
      88:	e50b000c 	str	r0, [fp, #-12]
      8c:	eaffffe8 	b	34 <fmtname+0x34>
      90:	e51b000c 	ldr	r0, [fp, #-12]
      94:	e2800001 	add	r0, r0, #1
      98:	e50b000c 	str	r0, [fp, #-12]
      9c:	e51b000c 	ldr	r0, [fp, #-12]
      a0:	eb00011f 	bl	524 <strlen>
      a4:	e350000e 	cmp	r0, #14
      a8:	3a000003 	bcc	bc <fmtname+0xbc>
      ac:	eaffffff 	b	b0 <fmtname+0xb0>
      b0:	e51b000c 	ldr	r0, [fp, #-12]
      b4:	e50b0004 	str	r0, [fp, #-4]
      b8:	ea00001b 	b	12c <fmtname+0x12c>
      bc:	e51b000c 	ldr	r0, [fp, #-12]
      c0:	e58d0014 	str	r0, [sp, #20]
      c4:	eb000116 	bl	524 <strlen>
      c8:	e59fe068 	ldr	lr, [pc, #104]	; 138 <fmtname+0x138>
      cc:	e58d0010 	str	r0, [sp, #16]
      d0:	e1a0000e 	mov	r0, lr
      d4:	e59d1014 	ldr	r1, [sp, #20]
      d8:	e59d2010 	ldr	r2, [sp, #16]
      dc:	e58de00c 	str	lr, [sp, #12]
      e0:	eb000218 	bl	948 <memmove>
      e4:	e51b100c 	ldr	r1, [fp, #-12]
      e8:	e58d0008 	str	r0, [sp, #8]
      ec:	e1a00001 	mov	r0, r1
      f0:	eb00010b 	bl	524 <strlen>
      f4:	e59d100c 	ldr	r1, [sp, #12]
      f8:	e0810000 	add	r0, r1, r0
      fc:	e51b200c 	ldr	r2, [fp, #-12]
     100:	e58d0004 	str	r0, [sp, #4]
     104:	e1a00002 	mov	r0, r2
     108:	eb000105 	bl	524 <strlen>
     10c:	e260200e 	rsb	r2, r0, #14
     110:	e3a01020 	mov	r1, #32
     114:	e59d0004 	ldr	r0, [sp, #4]
     118:	eb000116 	bl	578 <memset>
     11c:	e59d100c 	ldr	r1, [sp, #12]
     120:	e50b1004 	str	r1, [fp, #-4]
     124:	e58d0000 	str	r0, [sp]
     128:	eaffffff 	b	12c <fmtname+0x12c>
     12c:	e51b0004 	ldr	r0, [fp, #-4]
     130:	e1a0d00b 	mov	sp, fp
     134:	e8bd8800 	pop	{fp, pc}
     138:	00001604 	.word	0x00001604

0000013c <ls>:
     13c:	e92d4830 	push	{r4, r5, fp, lr}
     140:	e28db008 	add	fp, sp, #8
     144:	e24dde26 	sub	sp, sp, #608	; 0x260
     148:	e1a01000 	mov	r1, r0
     14c:	e50b000c 	str	r0, [fp, #-12]
     150:	e51b000c 	ldr	r0, [fp, #-12]
     154:	e3a02000 	mov	r2, #0
     158:	e58d102c 	str	r1, [sp, #44]	; 0x2c
     15c:	e1a01002 	mov	r1, r2
     160:	eb00026d 	bl	b1c <open>
     164:	e58d0054 	str	r0, [sp, #84]	; 0x54
     168:	e3500000 	cmp	r0, #0
     16c:	aa000005 	bge	188 <ls+0x4c>
     170:	eaffffff 	b	174 <ls+0x38>
     174:	e51b200c 	ldr	r2, [fp, #-12]
     178:	e59f11f8 	ldr	r1, [pc, #504]	; 378 <ls+0x23c>
     17c:	e3a00002 	mov	r0, #2
     180:	eb0002d1 	bl	ccc <printf>
     184:	ea000076 	b	364 <ls+0x228>
     188:	e59d0054 	ldr	r0, [sp, #84]	; 0x54
     18c:	e28d1030 	add	r1, sp, #48	; 0x30
     190:	eb00027c 	bl	b88 <fstat>
     194:	e3500000 	cmp	r0, #0
     198:	aa000008 	bge	1c0 <ls+0x84>
     19c:	eaffffff 	b	1a0 <ls+0x64>
     1a0:	e51b200c 	ldr	r2, [fp, #-12]
     1a4:	e59f11c4 	ldr	r1, [pc, #452]	; 370 <ls+0x234>
     1a8:	e3a00002 	mov	r0, #2
     1ac:	eb0002c6 	bl	ccc <printf>
     1b0:	e59d0054 	ldr	r0, [sp, #84]	; 0x54
     1b4:	eb00023d 	bl	ab0 <close>
     1b8:	e58d0028 	str	r0, [sp, #40]	; 0x28
     1bc:	ea000068 	b	364 <ls+0x228>
     1c0:	e1dd03f0 	ldrsh	r0, [sp, #48]	; 0x30
     1c4:	e3500001 	cmp	r0, #1
     1c8:	e58d0024 	str	r0, [sp, #36]	; 0x24
     1cc:	0a000013 	beq	220 <ls+0xe4>
     1d0:	eaffffff 	b	1d4 <ls+0x98>
     1d4:	e59d0024 	ldr	r0, [sp, #36]	; 0x24
     1d8:	e3500002 	cmp	r0, #2
     1dc:	1a00005c 	bne	354 <ls+0x218>
     1e0:	eaffffff 	b	1e4 <ls+0xa8>
     1e4:	e51b000c 	ldr	r0, [fp, #-12]
     1e8:	ebffff84 	bl	0 <fmtname>
     1ec:	e1dd33f0 	ldrsh	r3, [sp, #48]	; 0x30
     1f0:	e59de038 	ldr	lr, [sp, #56]	; 0x38
     1f4:	e59d1040 	ldr	r1, [sp, #64]	; 0x40
     1f8:	e1a0200d 	mov	r2, sp
     1fc:	e5821004 	str	r1, [r2, #4]
     200:	e582e000 	str	lr, [r2]
     204:	e59f1160 	ldr	r1, [pc, #352]	; 36c <ls+0x230>
     208:	e3a02001 	mov	r2, #1
     20c:	e58d0020 	str	r0, [sp, #32]
     210:	e1a00002 	mov	r0, r2
     214:	e59d2020 	ldr	r2, [sp, #32]
     218:	eb0002ab 	bl	ccc <printf>
     21c:	ea00004c 	b	354 <ls+0x218>
     220:	e51b000c 	ldr	r0, [fp, #-12]
     224:	eb0000be 	bl	524 <strlen>
     228:	e2800010 	add	r0, r0, #16
     22c:	e3500c02 	cmp	r0, #512	; 0x200
     230:	9a000004 	bls	248 <ls+0x10c>
     234:	eaffffff 	b	238 <ls+0xfc>
     238:	e59f1134 	ldr	r1, [pc, #308]	; 374 <ls+0x238>
     23c:	e3a00001 	mov	r0, #1
     240:	eb0002a1 	bl	ccc <printf>
     244:	ea000042 	b	354 <ls+0x218>
     248:	e51b100c 	ldr	r1, [fp, #-12]
     24c:	e28d005c 	add	r0, sp, #92	; 0x5c
     250:	e58d001c 	str	r0, [sp, #28]
     254:	eb00006f 	bl	418 <strcpy>
     258:	e59d101c 	ldr	r1, [sp, #28]
     25c:	e58d0018 	str	r0, [sp, #24]
     260:	e1a00001 	mov	r0, r1
     264:	eb0000ae 	bl	524 <strlen>
     268:	e59d101c 	ldr	r1, [sp, #28]
     26c:	e0810000 	add	r0, r1, r0
     270:	e58d0058 	str	r0, [sp, #88]	; 0x58
     274:	e59d0058 	ldr	r0, [sp, #88]	; 0x58
     278:	e280e001 	add	lr, r0, #1
     27c:	e58de058 	str	lr, [sp, #88]	; 0x58
     280:	e3a0e02f 	mov	lr, #47	; 0x2f
     284:	e5c0e000 	strb	lr, [r0]
     288:	eaffffff 	b	28c <ls+0x150>
     28c:	e59d0054 	ldr	r0, [sp, #84]	; 0x54
     290:	e28d1044 	add	r1, sp, #68	; 0x44
     294:	e3a02010 	mov	r2, #16
     298:	eb0001f2 	bl	a68 <read>
     29c:	e3500010 	cmp	r0, #16
     2a0:	1a00002a 	bne	350 <ls+0x214>
     2a4:	eaffffff 	b	2a8 <ls+0x16c>
     2a8:	e1dd04b4 	ldrh	r0, [sp, #68]	; 0x44
     2ac:	e3500000 	cmp	r0, #0
     2b0:	1a000001 	bne	2bc <ls+0x180>
     2b4:	eaffffff 	b	2b8 <ls+0x17c>
     2b8:	eafffff3 	b	28c <ls+0x150>
     2bc:	e59d0058 	ldr	r0, [sp, #88]	; 0x58
     2c0:	e28d1044 	add	r1, sp, #68	; 0x44
     2c4:	e3811002 	orr	r1, r1, #2
     2c8:	e3a0200e 	mov	r2, #14
     2cc:	eb00019d 	bl	948 <memmove>
     2d0:	e59d1058 	ldr	r1, [sp, #88]	; 0x58
     2d4:	e3a02000 	mov	r2, #0
     2d8:	e5c1200e 	strb	r2, [r1, #14]
     2dc:	e28d105c 	add	r1, sp, #92	; 0x5c
     2e0:	e28d2030 	add	r2, sp, #48	; 0x30
     2e4:	e58d0014 	str	r0, [sp, #20]
     2e8:	e1a00001 	mov	r0, r1
     2ec:	e1a01002 	mov	r1, r2
     2f0:	eb00014d 	bl	82c <stat>
     2f4:	e3500000 	cmp	r0, #0
     2f8:	aa000005 	bge	314 <ls+0x1d8>
     2fc:	eaffffff 	b	300 <ls+0x1c4>
     300:	e59f1068 	ldr	r1, [pc, #104]	; 370 <ls+0x234>
     304:	e3a00001 	mov	r0, #1
     308:	e28d205c 	add	r2, sp, #92	; 0x5c
     30c:	eb00026e 	bl	ccc <printf>
     310:	eaffffdd 	b	28c <ls+0x150>
     314:	e28d005c 	add	r0, sp, #92	; 0x5c
     318:	ebffff38 	bl	0 <fmtname>
     31c:	e1dd33f0 	ldrsh	r3, [sp, #48]	; 0x30
     320:	e59de038 	ldr	lr, [sp, #56]	; 0x38
     324:	e59d1040 	ldr	r1, [sp, #64]	; 0x40
     328:	e1a0200d 	mov	r2, sp
     32c:	e5821004 	str	r1, [r2, #4]
     330:	e582e000 	str	lr, [r2]
     334:	e59f1030 	ldr	r1, [pc, #48]	; 36c <ls+0x230>
     338:	e3a02001 	mov	r2, #1
     33c:	e58d0010 	str	r0, [sp, #16]
     340:	e1a00002 	mov	r0, r2
     344:	e59d2010 	ldr	r2, [sp, #16]
     348:	eb00025f 	bl	ccc <printf>
     34c:	eaffffce 	b	28c <ls+0x150>
     350:	eaffffff 	b	354 <ls+0x218>
     354:	e59d0054 	ldr	r0, [sp, #84]	; 0x54
     358:	eb0001d4 	bl	ab0 <close>
     35c:	e58d000c 	str	r0, [sp, #12]
     360:	eaffffff 	b	364 <ls+0x228>
     364:	e24bd008 	sub	sp, fp, #8
     368:	e8bd8830 	pop	{r4, r5, fp, pc}
     36c:	000015bc 	.word	0x000015bc
     370:	000015a8 	.word	0x000015a8
     374:	000015c9 	.word	0x000015c9
     378:	00001594 	.word	0x00001594

0000037c <main>:
    close(fd);
}

int
main(int argc, char *argv[])
{
     37c:	e92d4800 	push	{fp, lr}
     380:	e1a0b00d 	mov	fp, sp
     384:	e24dd020 	sub	sp, sp, #32
     388:	e1a02001 	mov	r2, r1
     38c:	e1a03000 	mov	r3, r0
     390:	e3a0c000 	mov	ip, #0
     394:	e50bc004 	str	ip, [fp, #-4]
     398:	e50b0008 	str	r0, [fp, #-8]
     39c:	e50b100c 	str	r1, [fp, #-12]
    int i;
    
    if(argc < 2){
     3a0:	e51b0008 	ldr	r0, [fp, #-8]
     3a4:	e3500001 	cmp	r0, #1
     3a8:	e58d200c 	str	r2, [sp, #12]
     3ac:	e58d3008 	str	r3, [sp, #8]
     3b0:	ca000004 	bgt	3c8 <main+0x4c>
     3b4:	eaffffff 	b	3b8 <main+0x3c>
        ls(".");
     3b8:	e59f0054 	ldr	r0, [pc, #84]	; 414 <main+0x98>
     3bc:	ebffff5e 	bl	13c <ls>
        exit();
     3c0:	eb00018d 	bl	9fc <exit>
     3c4:	e58d0004 	str	r0, [sp, #4]
    }
    for(i=1; i<argc; i++)
     3c8:	e3a00001 	mov	r0, #1
     3cc:	e58d0010 	str	r0, [sp, #16]
     3d0:	eaffffff 	b	3d4 <main+0x58>
     3d4:	e59d0010 	ldr	r0, [sp, #16]
     3d8:	e51b1008 	ldr	r1, [fp, #-8]
     3dc:	e1500001 	cmp	r0, r1
     3e0:	aa000009 	bge	40c <main+0x90>
     3e4:	eaffffff 	b	3e8 <main+0x6c>
        ls(argv[i]);
     3e8:	e51b000c 	ldr	r0, [fp, #-12]
     3ec:	e59d1010 	ldr	r1, [sp, #16]
     3f0:	e7900101 	ldr	r0, [r0, r1, lsl #2]
     3f4:	ebffff50 	bl	13c <ls>
     3f8:	eaffffff 	b	3fc <main+0x80>
    for(i=1; i<argc; i++)
     3fc:	e59d0010 	ldr	r0, [sp, #16]
     400:	e2800001 	add	r0, r0, #1
     404:	e58d0010 	str	r0, [sp, #16]
     408:	eafffff1 	b	3d4 <main+0x58>
    exit();
     40c:	eb00017a 	bl	9fc <exit>
     410:	e58d0000 	str	r0, [sp]
     414:	000015dc 	.word	0x000015dc

00000418 <strcpy>:
#include "fcntl.h"
#include "user.h"

char*
strcpy(char *s, char *t)
{
     418:	e24dd014 	sub	sp, sp, #20
     41c:	e1a02001 	mov	r2, r1
     420:	e1a03000 	mov	r3, r0
     424:	e58d0010 	str	r0, [sp, #16]
     428:	e58d100c 	str	r1, [sp, #12]
     42c:	e59d0010 	ldr	r0, [sp, #16]
     430:	e58d0008 	str	r0, [sp, #8]
     434:	e58d2004 	str	r2, [sp, #4]
     438:	e58d3000 	str	r3, [sp]
     43c:	eaffffff 	b	440 <strcpy+0x28>
     440:	e59d000c 	ldr	r0, [sp, #12]
     444:	e2801001 	add	r1, r0, #1
     448:	e58d100c 	str	r1, [sp, #12]
     44c:	e5d00000 	ldrb	r0, [r0]
     450:	e59d1010 	ldr	r1, [sp, #16]
     454:	e2812001 	add	r2, r1, #1
     458:	e58d2010 	str	r2, [sp, #16]
     45c:	e5c10000 	strb	r0, [r1]
     460:	e3500000 	cmp	r0, #0
     464:	0a000001 	beq	470 <strcpy+0x58>
     468:	eaffffff 	b	46c <strcpy+0x54>
     46c:	eafffff3 	b	440 <strcpy+0x28>
     470:	e59d0008 	ldr	r0, [sp, #8]
     474:	e28dd014 	add	sp, sp, #20
     478:	e12fff1e 	bx	lr

0000047c <strcmp>:
     47c:	e24dd014 	sub	sp, sp, #20
     480:	e1a02001 	mov	r2, r1
     484:	e1a03000 	mov	r3, r0
     488:	e58d0010 	str	r0, [sp, #16]
     48c:	e58d100c 	str	r1, [sp, #12]
     490:	e58d2008 	str	r2, [sp, #8]
     494:	e58d3004 	str	r3, [sp, #4]
     498:	eaffffff 	b	49c <strcmp+0x20>
     49c:	e59d0010 	ldr	r0, [sp, #16]
     4a0:	e5d00000 	ldrb	r0, [r0]
     4a4:	e3a01000 	mov	r1, #0
     4a8:	e3500000 	cmp	r0, #0
     4ac:	e58d1000 	str	r1, [sp]
     4b0:	0a000009 	beq	4dc <strcmp+0x60>
     4b4:	eaffffff 	b	4b8 <strcmp+0x3c>
     4b8:	e59d0010 	ldr	r0, [sp, #16]
     4bc:	e5d00000 	ldrb	r0, [r0]
     4c0:	e59d100c 	ldr	r1, [sp, #12]
     4c4:	e5d11000 	ldrb	r1, [r1]
     4c8:	e3a02000 	mov	r2, #0
     4cc:	e1500001 	cmp	r0, r1
     4d0:	03a02001 	moveq	r2, #1
     4d4:	e58d2000 	str	r2, [sp]
     4d8:	eaffffff 	b	4dc <strcmp+0x60>
     4dc:	e59d0000 	ldr	r0, [sp]
     4e0:	e3100001 	tst	r0, #1
     4e4:	0a000007 	beq	508 <strcmp+0x8c>
     4e8:	eaffffff 	b	4ec <strcmp+0x70>
     4ec:	e59d0010 	ldr	r0, [sp, #16]
     4f0:	e2800001 	add	r0, r0, #1
     4f4:	e58d0010 	str	r0, [sp, #16]
     4f8:	e59d000c 	ldr	r0, [sp, #12]
     4fc:	e2800001 	add	r0, r0, #1
     500:	e58d000c 	str	r0, [sp, #12]
     504:	eaffffe4 	b	49c <strcmp+0x20>
     508:	e59d0010 	ldr	r0, [sp, #16]
     50c:	e5d00000 	ldrb	r0, [r0]
     510:	e59d100c 	ldr	r1, [sp, #12]
     514:	e5d11000 	ldrb	r1, [r1]
     518:	e0400001 	sub	r0, r0, r1
     51c:	e28dd014 	add	sp, sp, #20
     520:	e12fff1e 	bx	lr

00000524 <strlen>:
     524:	e24dd00c 	sub	sp, sp, #12
     528:	e1a01000 	mov	r1, r0
     52c:	e58d0008 	str	r0, [sp, #8]
     530:	e3a00000 	mov	r0, #0
     534:	e58d0004 	str	r0, [sp, #4]
     538:	e58d1000 	str	r1, [sp]
     53c:	eaffffff 	b	540 <strlen+0x1c>
     540:	e59d0008 	ldr	r0, [sp, #8]
     544:	e59d1004 	ldr	r1, [sp, #4]
     548:	e7d00001 	ldrb	r0, [r0, r1]
     54c:	e3500000 	cmp	r0, #0
     550:	0a000005 	beq	56c <strlen+0x48>
     554:	eaffffff 	b	558 <strlen+0x34>
     558:	eaffffff 	b	55c <strlen+0x38>
     55c:	e59d0004 	ldr	r0, [sp, #4]
     560:	e2800001 	add	r0, r0, #1
     564:	e58d0004 	str	r0, [sp, #4]
     568:	eafffff4 	b	540 <strlen+0x1c>
     56c:	e59d0004 	ldr	r0, [sp, #4]
     570:	e28dd00c 	add	sp, sp, #12
     574:	e12fff1e 	bx	lr

00000578 <memset>:
     578:	e92d4800 	push	{fp, lr}
     57c:	e1a0b00d 	mov	fp, sp
     580:	e24dd02c 	sub	sp, sp, #44	; 0x2c
     584:	e1a03002 	mov	r3, r2
     588:	e1a0c001 	mov	ip, r1
     58c:	e1a0e000 	mov	lr, r0
     590:	e50b0004 	str	r0, [fp, #-4]
     594:	e50b1008 	str	r1, [fp, #-8]
     598:	e50b200c 	str	r2, [fp, #-12]
     59c:	e51b0004 	ldr	r0, [fp, #-4]
     5a0:	e50b0010 	str	r0, [fp, #-16]
     5a4:	e51b0008 	ldr	r0, [fp, #-8]
     5a8:	e54b0011 	strb	r0, [fp, #-17]	; 0xffffffef
     5ac:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
     5b0:	e1a01c00 	lsl	r1, r0, #24
     5b4:	e1811800 	orr	r1, r1, r0, lsl #16
     5b8:	e1811400 	orr	r1, r1, r0, lsl #8
     5bc:	e1810000 	orr	r0, r1, r0
     5c0:	e58d0014 	str	r0, [sp, #20]
     5c4:	e58d300c 	str	r3, [sp, #12]
     5c8:	e58dc008 	str	ip, [sp, #8]
     5cc:	e58de004 	str	lr, [sp, #4]
     5d0:	eaffffff 	b	5d4 <memset+0x5c>
     5d4:	e51b000c 	ldr	r0, [fp, #-12]
     5d8:	e3a01000 	mov	r1, #0
     5dc:	e3500000 	cmp	r0, #0
     5e0:	e58d1000 	str	r1, [sp]
     5e4:	0a000006 	beq	604 <memset+0x8c>
     5e8:	eaffffff 	b	5ec <memset+0x74>
     5ec:	e55b0010 	ldrb	r0, [fp, #-16]
     5f0:	e2000003 	and	r0, r0, #3
     5f4:	e3500000 	cmp	r0, #0
     5f8:	13a00001 	movne	r0, #1
     5fc:	e58d0000 	str	r0, [sp]
     600:	eaffffff 	b	604 <memset+0x8c>
     604:	e59d0000 	ldr	r0, [sp]
     608:	e3100001 	tst	r0, #1
     60c:	0a00000b 	beq	640 <memset+0xc8>
     610:	eaffffff 	b	614 <memset+0x9c>
     614:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
     618:	e51b1010 	ldr	r1, [fp, #-16]
     61c:	e5c10000 	strb	r0, [r1]
     620:	eaffffff 	b	624 <memset+0xac>
     624:	e51b000c 	ldr	r0, [fp, #-12]
     628:	e2400001 	sub	r0, r0, #1
     62c:	e50b000c 	str	r0, [fp, #-12]
     630:	e51b0010 	ldr	r0, [fp, #-16]
     634:	e2800001 	add	r0, r0, #1
     638:	e50b0010 	str	r0, [fp, #-16]
     63c:	eaffffe4 	b	5d4 <memset+0x5c>
     640:	e51b0010 	ldr	r0, [fp, #-16]
     644:	e58d0010 	str	r0, [sp, #16]
     648:	eaffffff 	b	64c <memset+0xd4>
     64c:	e51b000c 	ldr	r0, [fp, #-12]
     650:	e3500004 	cmp	r0, #4
     654:	3a00000b 	bcc	688 <memset+0x110>
     658:	eaffffff 	b	65c <memset+0xe4>
     65c:	e59d0014 	ldr	r0, [sp, #20]
     660:	e59d1010 	ldr	r1, [sp, #16]
     664:	e5810000 	str	r0, [r1]
     668:	eaffffff 	b	66c <memset+0xf4>
     66c:	e51b000c 	ldr	r0, [fp, #-12]
     670:	e2400004 	sub	r0, r0, #4
     674:	e50b000c 	str	r0, [fp, #-12]
     678:	e59d0010 	ldr	r0, [sp, #16]
     67c:	e2800004 	add	r0, r0, #4
     680:	e58d0010 	str	r0, [sp, #16]
     684:	eafffff0 	b	64c <memset+0xd4>
     688:	e59d0010 	ldr	r0, [sp, #16]
     68c:	e50b0010 	str	r0, [fp, #-16]
     690:	eaffffff 	b	694 <memset+0x11c>
     694:	e51b000c 	ldr	r0, [fp, #-12]
     698:	e3500000 	cmp	r0, #0
     69c:	0a00000b 	beq	6d0 <memset+0x158>
     6a0:	eaffffff 	b	6a4 <memset+0x12c>
     6a4:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
     6a8:	e51b1010 	ldr	r1, [fp, #-16]
     6ac:	e5c10000 	strb	r0, [r1]
     6b0:	eaffffff 	b	6b4 <memset+0x13c>
     6b4:	e51b000c 	ldr	r0, [fp, #-12]
     6b8:	e2400001 	sub	r0, r0, #1
     6bc:	e50b000c 	str	r0, [fp, #-12]
     6c0:	e51b0010 	ldr	r0, [fp, #-16]
     6c4:	e2800001 	add	r0, r0, #1
     6c8:	e50b0010 	str	r0, [fp, #-16]
     6cc:	eafffff0 	b	694 <memset+0x11c>
     6d0:	e51b0004 	ldr	r0, [fp, #-4]
     6d4:	e1a0d00b 	mov	sp, fp
     6d8:	e8bd8800 	pop	{fp, pc}

000006dc <strchr>:
     6dc:	e24dd014 	sub	sp, sp, #20
     6e0:	e1a02001 	mov	r2, r1
     6e4:	e1a03000 	mov	r3, r0
     6e8:	e58d000c 	str	r0, [sp, #12]
     6ec:	e5cd100b 	strb	r1, [sp, #11]
     6f0:	e58d2004 	str	r2, [sp, #4]
     6f4:	e58d3000 	str	r3, [sp]
     6f8:	eaffffff 	b	6fc <strchr+0x20>
     6fc:	e59d000c 	ldr	r0, [sp, #12]
     700:	e5d00000 	ldrb	r0, [r0]
     704:	e3500000 	cmp	r0, #0
     708:	0a00000e 	beq	748 <strchr+0x6c>
     70c:	eaffffff 	b	710 <strchr+0x34>
     710:	e59d000c 	ldr	r0, [sp, #12]
     714:	e5d00000 	ldrb	r0, [r0]
     718:	e5dd100b 	ldrb	r1, [sp, #11]
     71c:	e1500001 	cmp	r0, r1
     720:	1a000003 	bne	734 <strchr+0x58>
     724:	eaffffff 	b	728 <strchr+0x4c>
     728:	e59d000c 	ldr	r0, [sp, #12]
     72c:	e58d0010 	str	r0, [sp, #16]
     730:	ea000007 	b	754 <strchr+0x78>
     734:	eaffffff 	b	738 <strchr+0x5c>
     738:	e59d000c 	ldr	r0, [sp, #12]
     73c:	e2800001 	add	r0, r0, #1
     740:	e58d000c 	str	r0, [sp, #12]
     744:	eaffffec 	b	6fc <strchr+0x20>
     748:	e3a00000 	mov	r0, #0
     74c:	e58d0010 	str	r0, [sp, #16]
     750:	eaffffff 	b	754 <strchr+0x78>
     754:	e59d0010 	ldr	r0, [sp, #16]
     758:	e28dd014 	add	sp, sp, #20
     75c:	e12fff1e 	bx	lr

00000760 <gets>:
     760:	e92d4800 	push	{fp, lr}
     764:	e1a0b00d 	mov	fp, sp
     768:	e24dd020 	sub	sp, sp, #32
     76c:	e1a02001 	mov	r2, r1
     770:	e1a03000 	mov	r3, r0
     774:	e50b0004 	str	r0, [fp, #-4]
     778:	e50b1008 	str	r1, [fp, #-8]
     77c:	e3a00000 	mov	r0, #0
     780:	e50b000c 	str	r0, [fp, #-12]
     784:	e58d2008 	str	r2, [sp, #8]
     788:	e58d3004 	str	r3, [sp, #4]
     78c:	eaffffff 	b	790 <gets+0x30>
     790:	e51b000c 	ldr	r0, [fp, #-12]
     794:	e2800001 	add	r0, r0, #1
     798:	e51b1008 	ldr	r1, [fp, #-8]
     79c:	e1500001 	cmp	r0, r1
     7a0:	aa00001a 	bge	810 <gets+0xb0>
     7a4:	eaffffff 	b	7a8 <gets+0x48>
     7a8:	e3a00000 	mov	r0, #0
     7ac:	e28d100f 	add	r1, sp, #15
     7b0:	e3a02001 	mov	r2, #1
     7b4:	eb0000ab 	bl	a68 <read>
     7b8:	e58d0010 	str	r0, [sp, #16]
     7bc:	e59d0010 	ldr	r0, [sp, #16]
     7c0:	e3500000 	cmp	r0, #0
     7c4:	ca000001 	bgt	7d0 <gets+0x70>
     7c8:	eaffffff 	b	7cc <gets+0x6c>
     7cc:	ea00000f 	b	810 <gets+0xb0>
     7d0:	e5dd000f 	ldrb	r0, [sp, #15]
     7d4:	e51b1004 	ldr	r1, [fp, #-4]
     7d8:	e51b200c 	ldr	r2, [fp, #-12]
     7dc:	e2823001 	add	r3, r2, #1
     7e0:	e50b300c 	str	r3, [fp, #-12]
     7e4:	e7c10002 	strb	r0, [r1, r2]
     7e8:	e5dd000f 	ldrb	r0, [sp, #15]
     7ec:	e350000a 	cmp	r0, #10
     7f0:	0a000004 	beq	808 <gets+0xa8>
     7f4:	eaffffff 	b	7f8 <gets+0x98>
     7f8:	e5dd000f 	ldrb	r0, [sp, #15]
     7fc:	e350000d 	cmp	r0, #13
     800:	1a000001 	bne	80c <gets+0xac>
     804:	eaffffff 	b	808 <gets+0xa8>
     808:	ea000000 	b	810 <gets+0xb0>
     80c:	eaffffdf 	b	790 <gets+0x30>
     810:	e51b0004 	ldr	r0, [fp, #-4]
     814:	e51b100c 	ldr	r1, [fp, #-12]
     818:	e3a02000 	mov	r2, #0
     81c:	e7c02001 	strb	r2, [r0, r1]
     820:	e51b0004 	ldr	r0, [fp, #-4]
     824:	e1a0d00b 	mov	sp, fp
     828:	e8bd8800 	pop	{fp, pc}

0000082c <stat>:
     82c:	e92d4800 	push	{fp, lr}
     830:	e1a0b00d 	mov	fp, sp
     834:	e24dd020 	sub	sp, sp, #32
     838:	e1a02001 	mov	r2, r1
     83c:	e1a03000 	mov	r3, r0
     840:	e50b0008 	str	r0, [fp, #-8]
     844:	e50b100c 	str	r1, [fp, #-12]
     848:	e51b0008 	ldr	r0, [fp, #-8]
     84c:	e3a01000 	mov	r1, #0
     850:	e58d2008 	str	r2, [sp, #8]
     854:	e58d3004 	str	r3, [sp, #4]
     858:	eb0000af 	bl	b1c <open>
     85c:	e58d0010 	str	r0, [sp, #16]
     860:	e59d0010 	ldr	r0, [sp, #16]
     864:	e3500000 	cmp	r0, #0
     868:	aa000003 	bge	87c <stat+0x50>
     86c:	eaffffff 	b	870 <stat+0x44>
     870:	e3e00000 	mvn	r0, #0
     874:	e50b0004 	str	r0, [fp, #-4]
     878:	ea000009 	b	8a4 <stat+0x78>
     87c:	e59d0010 	ldr	r0, [sp, #16]
     880:	e51b100c 	ldr	r1, [fp, #-12]
     884:	eb0000bf 	bl	b88 <fstat>
     888:	e58d000c 	str	r0, [sp, #12]
     88c:	e59d0010 	ldr	r0, [sp, #16]
     890:	eb000086 	bl	ab0 <close>
     894:	e59d100c 	ldr	r1, [sp, #12]
     898:	e50b1004 	str	r1, [fp, #-4]
     89c:	e58d0000 	str	r0, [sp]
     8a0:	eaffffff 	b	8a4 <stat+0x78>
     8a4:	e51b0004 	ldr	r0, [fp, #-4]
     8a8:	e1a0d00b 	mov	sp, fp
     8ac:	e8bd8800 	pop	{fp, pc}

000008b0 <atoi>:
     8b0:	e24dd010 	sub	sp, sp, #16
     8b4:	e1a01000 	mov	r1, r0
     8b8:	e58d000c 	str	r0, [sp, #12]
     8bc:	e3a00000 	mov	r0, #0
     8c0:	e58d0008 	str	r0, [sp, #8]
     8c4:	e58d1004 	str	r1, [sp, #4]
     8c8:	eaffffff 	b	8cc <atoi+0x1c>
     8cc:	e59d000c 	ldr	r0, [sp, #12]
     8d0:	e5d00000 	ldrb	r0, [r0]
     8d4:	e3a01000 	mov	r1, #0
     8d8:	e3500030 	cmp	r0, #48	; 0x30
     8dc:	e58d1000 	str	r1, [sp]
     8e0:	ba000007 	blt	904 <atoi+0x54>
     8e4:	eaffffff 	b	8e8 <atoi+0x38>
     8e8:	e59d000c 	ldr	r0, [sp, #12]
     8ec:	e5d00000 	ldrb	r0, [r0]
     8f0:	e3a01000 	mov	r1, #0
     8f4:	e350003a 	cmp	r0, #58	; 0x3a
     8f8:	b3a01001 	movlt	r1, #1
     8fc:	e58d1000 	str	r1, [sp]
     900:	eaffffff 	b	904 <atoi+0x54>
     904:	e59d0000 	ldr	r0, [sp]
     908:	e3100001 	tst	r0, #1
     90c:	0a00000a 	beq	93c <atoi+0x8c>
     910:	eaffffff 	b	914 <atoi+0x64>
     914:	e59d0008 	ldr	r0, [sp, #8]
     918:	e0800100 	add	r0, r0, r0, lsl #2
     91c:	e59d100c 	ldr	r1, [sp, #12]
     920:	e2812001 	add	r2, r1, #1
     924:	e58d200c 	str	r2, [sp, #12]
     928:	e5d11000 	ldrb	r1, [r1]
     92c:	e0810080 	add	r0, r1, r0, lsl #1
     930:	e2400030 	sub	r0, r0, #48	; 0x30
     934:	e58d0008 	str	r0, [sp, #8]
     938:	eaffffe3 	b	8cc <atoi+0x1c>
     93c:	e59d0008 	ldr	r0, [sp, #8]
     940:	e28dd010 	add	sp, sp, #16
     944:	e12fff1e 	bx	lr

00000948 <memmove>:
     948:	e92d4800 	push	{fp, lr}
     94c:	e1a0b00d 	mov	fp, sp
     950:	e24dd020 	sub	sp, sp, #32
     954:	e1a03002 	mov	r3, r2
     958:	e1a0c001 	mov	ip, r1
     95c:	e1a0e000 	mov	lr, r0
     960:	e50b0004 	str	r0, [fp, #-4]
     964:	e50b1008 	str	r1, [fp, #-8]
     968:	e50b200c 	str	r2, [fp, #-12]
     96c:	e51b0004 	ldr	r0, [fp, #-4]
     970:	e58d0010 	str	r0, [sp, #16]
     974:	e51b0008 	ldr	r0, [fp, #-8]
     978:	e58d000c 	str	r0, [sp, #12]
     97c:	e58d3008 	str	r3, [sp, #8]
     980:	e58dc004 	str	ip, [sp, #4]
     984:	e58de000 	str	lr, [sp]
     988:	eaffffff 	b	98c <memmove+0x44>
     98c:	e51b000c 	ldr	r0, [fp, #-12]
     990:	e2401001 	sub	r1, r0, #1
     994:	e50b100c 	str	r1, [fp, #-12]
     998:	e3500001 	cmp	r0, #1
     99c:	ba000009 	blt	9c8 <memmove+0x80>
     9a0:	eaffffff 	b	9a4 <memmove+0x5c>
     9a4:	e59d000c 	ldr	r0, [sp, #12]
     9a8:	e2801001 	add	r1, r0, #1
     9ac:	e58d100c 	str	r1, [sp, #12]
     9b0:	e5d00000 	ldrb	r0, [r0]
     9b4:	e59d1010 	ldr	r1, [sp, #16]
     9b8:	e2812001 	add	r2, r1, #1
     9bc:	e58d2010 	str	r2, [sp, #16]
     9c0:	e5c10000 	strb	r0, [r1]
     9c4:	eafffff0 	b	98c <memmove+0x44>
     9c8:	e51b0004 	ldr	r0, [fp, #-4]
     9cc:	e1a0d00b 	mov	sp, fp
     9d0:	e8bd8800 	pop	{fp, pc}

000009d4 <raise>:
    return vdst;
}

void
raise()
{}
     9d4:	e12fff1e 	bx	lr

000009d8 <fork>:
     9d8:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     9dc:	e1a04003 	mov	r4, r3
     9e0:	e1a03002 	mov	r3, r2
     9e4:	e1a02001 	mov	r2, r1
     9e8:	e1a01000 	mov	r1, r0
     9ec:	e3a00001 	mov	r0, #1
     9f0:	ef000000 	svc	0x00000000
     9f4:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     9f8:	e12fff1e 	bx	lr

000009fc <exit>:
     9fc:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     a00:	e1a04003 	mov	r4, r3
     a04:	e1a03002 	mov	r3, r2
     a08:	e1a02001 	mov	r2, r1
     a0c:	e1a01000 	mov	r1, r0
     a10:	e3a00002 	mov	r0, #2
     a14:	ef000000 	svc	0x00000000
     a18:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     a1c:	e12fff1e 	bx	lr

00000a20 <wait>:
     a20:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     a24:	e1a04003 	mov	r4, r3
     a28:	e1a03002 	mov	r3, r2
     a2c:	e1a02001 	mov	r2, r1
     a30:	e1a01000 	mov	r1, r0
     a34:	e3a00003 	mov	r0, #3
     a38:	ef000000 	svc	0x00000000
     a3c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     a40:	e12fff1e 	bx	lr

00000a44 <pipe>:
     a44:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     a48:	e1a04003 	mov	r4, r3
     a4c:	e1a03002 	mov	r3, r2
     a50:	e1a02001 	mov	r2, r1
     a54:	e1a01000 	mov	r1, r0
     a58:	e3a00004 	mov	r0, #4
     a5c:	ef000000 	svc	0x00000000
     a60:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     a64:	e12fff1e 	bx	lr

00000a68 <read>:
     a68:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     a6c:	e1a04003 	mov	r4, r3
     a70:	e1a03002 	mov	r3, r2
     a74:	e1a02001 	mov	r2, r1
     a78:	e1a01000 	mov	r1, r0
     a7c:	e3a00005 	mov	r0, #5
     a80:	ef000000 	svc	0x00000000
     a84:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     a88:	e12fff1e 	bx	lr

00000a8c <write>:
     a8c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     a90:	e1a04003 	mov	r4, r3
     a94:	e1a03002 	mov	r3, r2
     a98:	e1a02001 	mov	r2, r1
     a9c:	e1a01000 	mov	r1, r0
     aa0:	e3a00010 	mov	r0, #16
     aa4:	ef000000 	svc	0x00000000
     aa8:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     aac:	e12fff1e 	bx	lr

00000ab0 <close>:
     ab0:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     ab4:	e1a04003 	mov	r4, r3
     ab8:	e1a03002 	mov	r3, r2
     abc:	e1a02001 	mov	r2, r1
     ac0:	e1a01000 	mov	r1, r0
     ac4:	e3a00015 	mov	r0, #21
     ac8:	ef000000 	svc	0x00000000
     acc:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     ad0:	e12fff1e 	bx	lr

00000ad4 <kill>:
     ad4:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     ad8:	e1a04003 	mov	r4, r3
     adc:	e1a03002 	mov	r3, r2
     ae0:	e1a02001 	mov	r2, r1
     ae4:	e1a01000 	mov	r1, r0
     ae8:	e3a00006 	mov	r0, #6
     aec:	ef000000 	svc	0x00000000
     af0:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     af4:	e12fff1e 	bx	lr

00000af8 <exec>:
     af8:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     afc:	e1a04003 	mov	r4, r3
     b00:	e1a03002 	mov	r3, r2
     b04:	e1a02001 	mov	r2, r1
     b08:	e1a01000 	mov	r1, r0
     b0c:	e3a00007 	mov	r0, #7
     b10:	ef000000 	svc	0x00000000
     b14:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     b18:	e12fff1e 	bx	lr

00000b1c <open>:
     b1c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     b20:	e1a04003 	mov	r4, r3
     b24:	e1a03002 	mov	r3, r2
     b28:	e1a02001 	mov	r2, r1
     b2c:	e1a01000 	mov	r1, r0
     b30:	e3a0000f 	mov	r0, #15
     b34:	ef000000 	svc	0x00000000
     b38:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     b3c:	e12fff1e 	bx	lr

00000b40 <mknod>:
     b40:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     b44:	e1a04003 	mov	r4, r3
     b48:	e1a03002 	mov	r3, r2
     b4c:	e1a02001 	mov	r2, r1
     b50:	e1a01000 	mov	r1, r0
     b54:	e3a00011 	mov	r0, #17
     b58:	ef000000 	svc	0x00000000
     b5c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     b60:	e12fff1e 	bx	lr

00000b64 <unlink>:
     b64:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     b68:	e1a04003 	mov	r4, r3
     b6c:	e1a03002 	mov	r3, r2
     b70:	e1a02001 	mov	r2, r1
     b74:	e1a01000 	mov	r1, r0
     b78:	e3a00012 	mov	r0, #18
     b7c:	ef000000 	svc	0x00000000
     b80:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     b84:	e12fff1e 	bx	lr

00000b88 <fstat>:
     b88:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     b8c:	e1a04003 	mov	r4, r3
     b90:	e1a03002 	mov	r3, r2
     b94:	e1a02001 	mov	r2, r1
     b98:	e1a01000 	mov	r1, r0
     b9c:	e3a00008 	mov	r0, #8
     ba0:	ef000000 	svc	0x00000000
     ba4:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     ba8:	e12fff1e 	bx	lr

00000bac <link>:
     bac:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     bb0:	e1a04003 	mov	r4, r3
     bb4:	e1a03002 	mov	r3, r2
     bb8:	e1a02001 	mov	r2, r1
     bbc:	e1a01000 	mov	r1, r0
     bc0:	e3a00013 	mov	r0, #19
     bc4:	ef000000 	svc	0x00000000
     bc8:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     bcc:	e12fff1e 	bx	lr

00000bd0 <mkdir>:
     bd0:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     bd4:	e1a04003 	mov	r4, r3
     bd8:	e1a03002 	mov	r3, r2
     bdc:	e1a02001 	mov	r2, r1
     be0:	e1a01000 	mov	r1, r0
     be4:	e3a00014 	mov	r0, #20
     be8:	ef000000 	svc	0x00000000
     bec:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     bf0:	e12fff1e 	bx	lr

00000bf4 <chdir>:
     bf4:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     bf8:	e1a04003 	mov	r4, r3
     bfc:	e1a03002 	mov	r3, r2
     c00:	e1a02001 	mov	r2, r1
     c04:	e1a01000 	mov	r1, r0
     c08:	e3a00009 	mov	r0, #9
     c0c:	ef000000 	svc	0x00000000
     c10:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     c14:	e12fff1e 	bx	lr

00000c18 <dup>:
     c18:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     c1c:	e1a04003 	mov	r4, r3
     c20:	e1a03002 	mov	r3, r2
     c24:	e1a02001 	mov	r2, r1
     c28:	e1a01000 	mov	r1, r0
     c2c:	e3a0000a 	mov	r0, #10
     c30:	ef000000 	svc	0x00000000
     c34:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     c38:	e12fff1e 	bx	lr

00000c3c <getpid>:
     c3c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     c40:	e1a04003 	mov	r4, r3
     c44:	e1a03002 	mov	r3, r2
     c48:	e1a02001 	mov	r2, r1
     c4c:	e1a01000 	mov	r1, r0
     c50:	e3a0000b 	mov	r0, #11
     c54:	ef000000 	svc	0x00000000
     c58:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     c5c:	e12fff1e 	bx	lr

00000c60 <sbrk>:
     c60:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     c64:	e1a04003 	mov	r4, r3
     c68:	e1a03002 	mov	r3, r2
     c6c:	e1a02001 	mov	r2, r1
     c70:	e1a01000 	mov	r1, r0
     c74:	e3a0000c 	mov	r0, #12
     c78:	ef000000 	svc	0x00000000
     c7c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     c80:	e12fff1e 	bx	lr

00000c84 <sleep>:
     c84:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     c88:	e1a04003 	mov	r4, r3
     c8c:	e1a03002 	mov	r3, r2
     c90:	e1a02001 	mov	r2, r1
     c94:	e1a01000 	mov	r1, r0
     c98:	e3a0000d 	mov	r0, #13
     c9c:	ef000000 	svc	0x00000000
     ca0:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     ca4:	e12fff1e 	bx	lr

00000ca8 <uptime>:
     ca8:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
     cac:	e1a04003 	mov	r4, r3
     cb0:	e1a03002 	mov	r3, r2
     cb4:	e1a02001 	mov	r2, r1
     cb8:	e1a01000 	mov	r1, r0
     cbc:	e3a0000e 	mov	r0, #14
     cc0:	ef000000 	svc	0x00000000
     cc4:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
     cc8:	e12fff1e 	bx	lr

00000ccc <printf>:
}

// Print to the given fd. Only understands %d, %x, %p, %s.
void
printf(int fd, char *fmt, ...)
{
     ccc:	e92d4800 	push	{fp, lr}
     cd0:	e1a0b00d 	mov	fp, sp
     cd4:	e24dd028 	sub	sp, sp, #40	; 0x28
     cd8:	e1a02001 	mov	r2, r1
     cdc:	e1a03000 	mov	r3, r0
     ce0:	e50b0004 	str	r0, [fp, #-4]
     ce4:	e50b1008 	str	r1, [fp, #-8]
     ce8:	e3a00000 	mov	r0, #0
     cec:	e58d0010 	str	r0, [sp, #16]
     cf0:	e24b1008 	sub	r1, fp, #8
     cf4:	e2811004 	add	r1, r1, #4
     cf8:	e58d100c 	str	r1, [sp, #12]
     cfc:	e58d0014 	str	r0, [sp, #20]
     d00:	e58d2008 	str	r2, [sp, #8]
     d04:	e58d3004 	str	r3, [sp, #4]
     d08:	eaffffff 	b	d0c <printf+0x40>
     d0c:	e51b0008 	ldr	r0, [fp, #-8]
     d10:	e59d1014 	ldr	r1, [sp, #20]
     d14:	e7d00001 	ldrb	r0, [r0, r1]
     d18:	e3500000 	cmp	r0, #0
     d1c:	0a00007e 	beq	f1c <printf+0x250>
     d20:	eaffffff 	b	d24 <printf+0x58>
     d24:	e51b0008 	ldr	r0, [fp, #-8]
     d28:	e59d1014 	ldr	r1, [sp, #20]
     d2c:	e7d00001 	ldrb	r0, [r0, r1]
     d30:	e50b0010 	str	r0, [fp, #-16]
     d34:	e59d0010 	ldr	r0, [sp, #16]
     d38:	e3500000 	cmp	r0, #0
     d3c:	1a00000c 	bne	d74 <printf+0xa8>
     d40:	eaffffff 	b	d44 <printf+0x78>
     d44:	e51b0010 	ldr	r0, [fp, #-16]
     d48:	e3500025 	cmp	r0, #37	; 0x25
     d4c:	1a000003 	bne	d60 <printf+0x94>
     d50:	eaffffff 	b	d54 <printf+0x88>
     d54:	e3a00025 	mov	r0, #37	; 0x25
     d58:	e58d0010 	str	r0, [sp, #16]
     d5c:	ea000003 	b	d70 <printf+0xa4>
     d60:	e51b0004 	ldr	r0, [fp, #-4]
     d64:	e55b1010 	ldrb	r1, [fp, #-16]
     d68:	eb00006e 	bl	f28 <putc>
     d6c:	eaffffff 	b	d70 <printf+0xa4>
     d70:	ea000064 	b	f08 <printf+0x23c>
     d74:	e59d0010 	ldr	r0, [sp, #16]
     d78:	e3500025 	cmp	r0, #37	; 0x25
     d7c:	1a000060 	bne	f04 <printf+0x238>
     d80:	eaffffff 	b	d84 <printf+0xb8>
     d84:	e51b0010 	ldr	r0, [fp, #-16]
     d88:	e3500064 	cmp	r0, #100	; 0x64
     d8c:	1a00000a 	bne	dbc <printf+0xf0>
     d90:	eaffffff 	b	d94 <printf+0xc8>
     d94:	e51b0004 	ldr	r0, [fp, #-4]
     d98:	e59d100c 	ldr	r1, [sp, #12]
     d9c:	e5911000 	ldr	r1, [r1]
     da0:	e3a0200a 	mov	r2, #10
     da4:	e3a03001 	mov	r3, #1
     da8:	eb00006f 	bl	f6c <printint>
     dac:	e59d000c 	ldr	r0, [sp, #12]
     db0:	e2800004 	add	r0, r0, #4
     db4:	e58d000c 	str	r0, [sp, #12]
     db8:	ea00004e 	b	ef8 <printf+0x22c>
     dbc:	e51b0010 	ldr	r0, [fp, #-16]
     dc0:	e3500078 	cmp	r0, #120	; 0x78
     dc4:	0a000004 	beq	ddc <printf+0x110>
     dc8:	eaffffff 	b	dcc <printf+0x100>
     dcc:	e51b0010 	ldr	r0, [fp, #-16]
     dd0:	e3500070 	cmp	r0, #112	; 0x70
     dd4:	1a00000a 	bne	e04 <printf+0x138>
     dd8:	eaffffff 	b	ddc <printf+0x110>
     ddc:	e51b0004 	ldr	r0, [fp, #-4]
     de0:	e59d100c 	ldr	r1, [sp, #12]
     de4:	e5911000 	ldr	r1, [r1]
     de8:	e3a02010 	mov	r2, #16
     dec:	e3a03000 	mov	r3, #0
     df0:	eb00005d 	bl	f6c <printint>
     df4:	e59d000c 	ldr	r0, [sp, #12]
     df8:	e2800004 	add	r0, r0, #4
     dfc:	e58d000c 	str	r0, [sp, #12]
     e00:	ea00003b 	b	ef4 <printf+0x228>
     e04:	e51b0010 	ldr	r0, [fp, #-16]
     e08:	e3500073 	cmp	r0, #115	; 0x73
     e0c:	1a00001a 	bne	e7c <printf+0x1b0>
     e10:	eaffffff 	b	e14 <printf+0x148>
     e14:	e59d000c 	ldr	r0, [sp, #12]
     e18:	e4901004 	ldr	r1, [r0], #4
     e1c:	e50b100c 	str	r1, [fp, #-12]
     e20:	e58d000c 	str	r0, [sp, #12]
     e24:	e51b000c 	ldr	r0, [fp, #-12]
     e28:	e3500000 	cmp	r0, #0
     e2c:	1a000003 	bne	e40 <printf+0x174>
     e30:	eaffffff 	b	e34 <printf+0x168>
     e34:	e59f00e8 	ldr	r0, [pc, #232]	; f24 <printf+0x258>
     e38:	e50b000c 	str	r0, [fp, #-12]
     e3c:	eaffffff 	b	e40 <printf+0x174>
     e40:	eaffffff 	b	e44 <printf+0x178>
     e44:	e51b000c 	ldr	r0, [fp, #-12]
     e48:	e5d00000 	ldrb	r0, [r0]
     e4c:	e3500000 	cmp	r0, #0
     e50:	0a000008 	beq	e78 <printf+0x1ac>
     e54:	eaffffff 	b	e58 <printf+0x18c>
     e58:	e51b0004 	ldr	r0, [fp, #-4]
     e5c:	e51b100c 	ldr	r1, [fp, #-12]
     e60:	e5d11000 	ldrb	r1, [r1]
     e64:	eb00002f 	bl	f28 <putc>
     e68:	e51b000c 	ldr	r0, [fp, #-12]
     e6c:	e2800001 	add	r0, r0, #1
     e70:	e50b000c 	str	r0, [fp, #-12]
     e74:	eafffff2 	b	e44 <printf+0x178>
     e78:	ea00001c 	b	ef0 <printf+0x224>
     e7c:	e51b0010 	ldr	r0, [fp, #-16]
     e80:	e3500063 	cmp	r0, #99	; 0x63
     e84:	1a000008 	bne	eac <printf+0x1e0>
     e88:	eaffffff 	b	e8c <printf+0x1c0>
     e8c:	e51b0004 	ldr	r0, [fp, #-4]
     e90:	e59d100c 	ldr	r1, [sp, #12]
     e94:	e5d11000 	ldrb	r1, [r1]
     e98:	eb000022 	bl	f28 <putc>
     e9c:	e59d000c 	ldr	r0, [sp, #12]
     ea0:	e2800004 	add	r0, r0, #4
     ea4:	e58d000c 	str	r0, [sp, #12]
     ea8:	ea00000f 	b	eec <printf+0x220>
     eac:	e51b0010 	ldr	r0, [fp, #-16]
     eb0:	e3500025 	cmp	r0, #37	; 0x25
     eb4:	1a000004 	bne	ecc <printf+0x200>
     eb8:	eaffffff 	b	ebc <printf+0x1f0>
     ebc:	e51b0004 	ldr	r0, [fp, #-4]
     ec0:	e55b1010 	ldrb	r1, [fp, #-16]
     ec4:	eb000017 	bl	f28 <putc>
     ec8:	ea000006 	b	ee8 <printf+0x21c>
     ecc:	e51b0004 	ldr	r0, [fp, #-4]
     ed0:	e3a01025 	mov	r1, #37	; 0x25
     ed4:	eb000013 	bl	f28 <putc>
     ed8:	e51b0004 	ldr	r0, [fp, #-4]
     edc:	e55b1010 	ldrb	r1, [fp, #-16]
     ee0:	eb000010 	bl	f28 <putc>
     ee4:	eaffffff 	b	ee8 <printf+0x21c>
     ee8:	eaffffff 	b	eec <printf+0x220>
     eec:	eaffffff 	b	ef0 <printf+0x224>
     ef0:	eaffffff 	b	ef4 <printf+0x228>
     ef4:	eaffffff 	b	ef8 <printf+0x22c>
     ef8:	e3a00000 	mov	r0, #0
     efc:	e58d0010 	str	r0, [sp, #16]
     f00:	eaffffff 	b	f04 <printf+0x238>
     f04:	eaffffff 	b	f08 <printf+0x23c>
     f08:	eaffffff 	b	f0c <printf+0x240>
     f0c:	e59d0014 	ldr	r0, [sp, #20]
     f10:	e2800001 	add	r0, r0, #1
     f14:	e58d0014 	str	r0, [sp, #20]
     f18:	eaffff7b 	b	d0c <printf+0x40>
     f1c:	e1a0d00b 	mov	sp, fp
     f20:	e8bd8800 	pop	{fp, pc}
     f24:	000015de 	.word	0x000015de

00000f28 <putc>:
{
     f28:	e92d4800 	push	{fp, lr}
     f2c:	e1a0b00d 	mov	fp, sp
     f30:	e24dd018 	sub	sp, sp, #24
     f34:	e1a02001 	mov	r2, r1
     f38:	e1a03000 	mov	r3, r0
     f3c:	e50b0004 	str	r0, [fp, #-4]
     f40:	e54b1005 	strb	r1, [fp, #-5]
    write(fd, &c, 1);
     f44:	e51b0004 	ldr	r0, [fp, #-4]
     f48:	e24b1005 	sub	r1, fp, #5
     f4c:	e3a0c001 	mov	ip, #1
     f50:	e58d200c 	str	r2, [sp, #12]
     f54:	e1a0200c 	mov	r2, ip
     f58:	e58d3008 	str	r3, [sp, #8]
     f5c:	ebfffeca 	bl	a8c <write>
}
     f60:	e58d0004 	str	r0, [sp, #4]
     f64:	e1a0d00b 	mov	sp, fp
     f68:	e8bd8800 	pop	{fp, pc}

00000f6c <printint>:
{
     f6c:	e92d4830 	push	{r4, r5, fp, lr}
     f70:	e28db008 	add	fp, sp, #8
     f74:	e24dd040 	sub	sp, sp, #64	; 0x40
     f78:	e1a0c003 	mov	ip, r3
     f7c:	e1a0e002 	mov	lr, r2
     f80:	e1a04001 	mov	r4, r1
     f84:	e1a05000 	mov	r5, r0
     f88:	e50b000c 	str	r0, [fp, #-12]
     f8c:	e50b1010 	str	r1, [fp, #-16]
     f90:	e50b2014 	str	r2, [fp, #-20]	; 0xffffffec
     f94:	e50b3018 	str	r3, [fp, #-24]	; 0xffffffe8
     f98:	e3a00000 	mov	r0, #0
     f9c:	e58d0018 	str	r0, [sp, #24]
     fa0:	e51b0018 	ldr	r0, [fp, #-24]	; 0xffffffe8
     fa4:	e3500000 	cmp	r0, #0
     fa8:	e58dc010 	str	ip, [sp, #16]
     fac:	e58de00c 	str	lr, [sp, #12]
     fb0:	e58d4008 	str	r4, [sp, #8]
     fb4:	e58d5004 	str	r5, [sp, #4]
     fb8:	0a00000a 	beq	fe8 <printint+0x7c>
     fbc:	eaffffff 	b	fc0 <printint+0x54>
     fc0:	e51b0010 	ldr	r0, [fp, #-16]
     fc4:	e3500000 	cmp	r0, #0
     fc8:	aa000006 	bge	fe8 <printint+0x7c>
     fcc:	eaffffff 	b	fd0 <printint+0x64>
     fd0:	e3a00001 	mov	r0, #1
     fd4:	e58d0018 	str	r0, [sp, #24]
     fd8:	e51b0010 	ldr	r0, [fp, #-16]
     fdc:	e2600000 	rsb	r0, r0, #0
     fe0:	e58d0014 	str	r0, [sp, #20]
     fe4:	ea000002 	b	ff4 <printint+0x88>
     fe8:	e51b0010 	ldr	r0, [fp, #-16]
     fec:	e58d0014 	str	r0, [sp, #20]
     ff0:	eaffffff 	b	ff4 <printint+0x88>
     ff4:	e3a00000 	mov	r0, #0
     ff8:	e58d001c 	str	r0, [sp, #28]
     ffc:	eaffffff 	b	1000 <printint+0x94>
    1000:	e59d0014 	ldr	r0, [sp, #20]
    1004:	e51b1014 	ldr	r1, [fp, #-20]	; 0xffffffec
    1008:	eb000158 	bl	1570 <__aeabi_uidivmod>
    100c:	e59fe0a0 	ldr	lr, [pc, #160]	; 10b4 <printint+0x148>
    1010:	e7de1001 	ldrb	r1, [lr, r1]
    1014:	e59de01c 	ldr	lr, [sp, #28]
    1018:	e28e2001 	add	r2, lr, #1
    101c:	e58d201c 	str	r2, [sp, #28]
    1020:	e28d2020 	add	r2, sp, #32
    1024:	e7c2100e 	strb	r1, [r2, lr]
    1028:	e58d0000 	str	r0, [sp]
    102c:	eaffffff 	b	1030 <printint+0xc4>
    1030:	e51b1014 	ldr	r1, [fp, #-20]	; 0xffffffec
    1034:	e59d0014 	ldr	r0, [sp, #20]
    1038:	eb00010f 	bl	147c <__aeabi_uidiv>
    103c:	e58d0014 	str	r0, [sp, #20]
    1040:	e3500000 	cmp	r0, #0
    1044:	1affffed 	bne	1000 <printint+0x94>
    1048:	eaffffff 	b	104c <printint+0xe0>
    104c:	e59d0018 	ldr	r0, [sp, #24]
    1050:	e3500000 	cmp	r0, #0
    1054:	0a000007 	beq	1078 <printint+0x10c>
    1058:	eaffffff 	b	105c <printint+0xf0>
    105c:	e59d001c 	ldr	r0, [sp, #28]
    1060:	e2801001 	add	r1, r0, #1
    1064:	e58d101c 	str	r1, [sp, #28]
    1068:	e28d1020 	add	r1, sp, #32
    106c:	e3a0202d 	mov	r2, #45	; 0x2d
    1070:	e7c12000 	strb	r2, [r1, r0]
    1074:	eaffffff 	b	1078 <printint+0x10c>
    1078:	eaffffff 	b	107c <printint+0x110>
    107c:	e59d001c 	ldr	r0, [sp, #28]
    1080:	e2400001 	sub	r0, r0, #1
    1084:	e58d001c 	str	r0, [sp, #28]
    1088:	e3500000 	cmp	r0, #0
    108c:	ba000006 	blt	10ac <printint+0x140>
    1090:	eaffffff 	b	1094 <printint+0x128>
    1094:	e51b000c 	ldr	r0, [fp, #-12]
    1098:	e59d101c 	ldr	r1, [sp, #28]
    109c:	e28d2020 	add	r2, sp, #32
    10a0:	e7d21001 	ldrb	r1, [r2, r1]
    10a4:	ebffff9f 	bl	f28 <putc>
    10a8:	eafffff3 	b	107c <printint+0x110>
    10ac:	e24bd008 	sub	sp, fp, #8
    10b0:	e8bd8830 	pop	{r4, r5, fp, pc}
    10b4:	000015f0 	.word	0x000015f0

000010b8 <free>:
static Header base;
static Header *freep;

void
free(void *ap)
{
    10b8:	e24dd014 	sub	sp, sp, #20
    10bc:	e1a01000 	mov	r1, r0
    10c0:	e58d0010 	str	r0, [sp, #16]
    10c4:	e59d0010 	ldr	r0, [sp, #16]
    10c8:	e2400008 	sub	r0, r0, #8
    10cc:	e58d000c 	str	r0, [sp, #12]
    10d0:	e59f0188 	ldr	r0, [pc, #392]	; 1260 <free+0x1a8>
    10d4:	e5900000 	ldr	r0, [r0]
    10d8:	e58d0008 	str	r0, [sp, #8]
    10dc:	e58d1004 	str	r1, [sp, #4]
    10e0:	eaffffff 	b	10e4 <free+0x2c>
    10e4:	e59d000c 	ldr	r0, [sp, #12]
    10e8:	e59d1008 	ldr	r1, [sp, #8]
    10ec:	e3a02000 	mov	r2, #0
    10f0:	e1500001 	cmp	r0, r1
    10f4:	e58d2000 	str	r2, [sp]
    10f8:	9a000008 	bls	1120 <free+0x68>
    10fc:	eaffffff 	b	1100 <free+0x48>
    1100:	e59d000c 	ldr	r0, [sp, #12]
    1104:	e59d1008 	ldr	r1, [sp, #8]
    1108:	e5911000 	ldr	r1, [r1]
    110c:	e3a02000 	mov	r2, #0
    1110:	e1500001 	cmp	r0, r1
    1114:	33a02001 	movcc	r2, #1
    1118:	e58d2000 	str	r2, [sp]
    111c:	eaffffff 	b	1120 <free+0x68>
    1120:	e59d0000 	ldr	r0, [sp]
    1124:	e1e00000 	mvn	r0, r0
    1128:	e3100001 	tst	r0, #1
    112c:	0a000016 	beq	118c <free+0xd4>
    1130:	eaffffff 	b	1134 <free+0x7c>
    1134:	e59d0008 	ldr	r0, [sp, #8]
    1138:	e5901000 	ldr	r1, [r0]
    113c:	e1500001 	cmp	r0, r1
    1140:	3a00000c 	bcc	1178 <free+0xc0>
    1144:	eaffffff 	b	1148 <free+0x90>
    1148:	e59d000c 	ldr	r0, [sp, #12]
    114c:	e59d1008 	ldr	r1, [sp, #8]
    1150:	e1500001 	cmp	r0, r1
    1154:	8a000006 	bhi	1174 <free+0xbc>
    1158:	eaffffff 	b	115c <free+0xa4>
    115c:	e59d000c 	ldr	r0, [sp, #12]
    1160:	e59d1008 	ldr	r1, [sp, #8]
    1164:	e5911000 	ldr	r1, [r1]
    1168:	e1500001 	cmp	r0, r1
    116c:	2a000001 	bcs	1178 <free+0xc0>
    1170:	eaffffff 	b	1174 <free+0xbc>
    1174:	ea000004 	b	118c <free+0xd4>
    1178:	eaffffff 	b	117c <free+0xc4>
    117c:	e59d0008 	ldr	r0, [sp, #8]
    1180:	e5900000 	ldr	r0, [r0]
    1184:	e58d0008 	str	r0, [sp, #8]
    1188:	eaffffd5 	b	10e4 <free+0x2c>
    118c:	e59d000c 	ldr	r0, [sp, #12]
    1190:	e5901004 	ldr	r1, [r0, #4]
    1194:	e0800181 	add	r0, r0, r1, lsl #3
    1198:	e59d1008 	ldr	r1, [sp, #8]
    119c:	e5911000 	ldr	r1, [r1]
    11a0:	e1500001 	cmp	r0, r1
    11a4:	1a00000d 	bne	11e0 <free+0x128>
    11a8:	eaffffff 	b	11ac <free+0xf4>
    11ac:	e59d0008 	ldr	r0, [sp, #8]
    11b0:	e5900000 	ldr	r0, [r0]
    11b4:	e5900004 	ldr	r0, [r0, #4]
    11b8:	e59d100c 	ldr	r1, [sp, #12]
    11bc:	e5912004 	ldr	r2, [r1, #4]
    11c0:	e0820000 	add	r0, r2, r0
    11c4:	e5810004 	str	r0, [r1, #4]
    11c8:	e59d0008 	ldr	r0, [sp, #8]
    11cc:	e5900000 	ldr	r0, [r0]
    11d0:	e5900000 	ldr	r0, [r0]
    11d4:	e59d100c 	ldr	r1, [sp, #12]
    11d8:	e5810000 	str	r0, [r1]
    11dc:	ea000004 	b	11f4 <free+0x13c>
    11e0:	e59d0008 	ldr	r0, [sp, #8]
    11e4:	e5900000 	ldr	r0, [r0]
    11e8:	e59d100c 	ldr	r1, [sp, #12]
    11ec:	e5810000 	str	r0, [r1]
    11f0:	eaffffff 	b	11f4 <free+0x13c>
    11f4:	e59d0008 	ldr	r0, [sp, #8]
    11f8:	e5901004 	ldr	r1, [r0, #4]
    11fc:	e0800181 	add	r0, r0, r1, lsl #3
    1200:	e59d100c 	ldr	r1, [sp, #12]
    1204:	e1500001 	cmp	r0, r1
    1208:	1a00000b 	bne	123c <free+0x184>
    120c:	eaffffff 	b	1210 <free+0x158>
    1210:	e59d000c 	ldr	r0, [sp, #12]
    1214:	e5900004 	ldr	r0, [r0, #4]
    1218:	e59d1008 	ldr	r1, [sp, #8]
    121c:	e5912004 	ldr	r2, [r1, #4]
    1220:	e0820000 	add	r0, r2, r0
    1224:	e5810004 	str	r0, [r1, #4]
    1228:	e59d000c 	ldr	r0, [sp, #12]
    122c:	e5900000 	ldr	r0, [r0]
    1230:	e59d1008 	ldr	r1, [sp, #8]
    1234:	e5810000 	str	r0, [r1]
    1238:	ea000003 	b	124c <free+0x194>
    123c:	e59d000c 	ldr	r0, [sp, #12]
    1240:	e59d1008 	ldr	r1, [sp, #8]
    1244:	e5810000 	str	r0, [r1]
    1248:	eaffffff 	b	124c <free+0x194>
    124c:	e59d0008 	ldr	r0, [sp, #8]
    1250:	e59f1008 	ldr	r1, [pc, #8]	; 1260 <free+0x1a8>
    1254:	e5810000 	str	r0, [r1]
    1258:	e28dd014 	add	sp, sp, #20
    125c:	e12fff1e 	bx	lr
    1260:	00001614 	.word	0x00001614

00001264 <malloc>:
    1264:	e92d4800 	push	{fp, lr}
    1268:	e1a0b00d 	mov	fp, sp
    126c:	e24dd018 	sub	sp, sp, #24
    1270:	e1a01000 	mov	r1, r0
    1274:	e50b0008 	str	r0, [fp, #-8]
    1278:	e51b0008 	ldr	r0, [fp, #-8]
    127c:	e2800007 	add	r0, r0, #7
    1280:	e3a02001 	mov	r2, #1
    1284:	e08201a0 	add	r0, r2, r0, lsr #3
    1288:	e58d0004 	str	r0, [sp, #4]
    128c:	e59f013c 	ldr	r0, [pc, #316]	; 13d0 <malloc+0x16c>
    1290:	e5900000 	ldr	r0, [r0]
    1294:	e58d0008 	str	r0, [sp, #8]
    1298:	e3500000 	cmp	r0, #0
    129c:	e58d1000 	str	r1, [sp]
    12a0:	1a000008 	bne	12c8 <malloc+0x64>
    12a4:	eaffffff 	b	12a8 <malloc+0x44>
    12a8:	e59f0124 	ldr	r0, [pc, #292]	; 13d4 <malloc+0x170>
    12ac:	e58d0008 	str	r0, [sp, #8]
    12b0:	e59f1118 	ldr	r1, [pc, #280]	; 13d0 <malloc+0x16c>
    12b4:	e5810000 	str	r0, [r1]
    12b8:	e5800000 	str	r0, [r0]
    12bc:	e3a01000 	mov	r1, #0
    12c0:	e5801004 	str	r1, [r0, #4]
    12c4:	eaffffff 	b	12c8 <malloc+0x64>
    12c8:	e59d0008 	ldr	r0, [sp, #8]
    12cc:	e5900000 	ldr	r0, [r0]
    12d0:	e58d000c 	str	r0, [sp, #12]
    12d4:	eaffffff 	b	12d8 <malloc+0x74>
    12d8:	e59d000c 	ldr	r0, [sp, #12]
    12dc:	e5900004 	ldr	r0, [r0, #4]
    12e0:	e59d1004 	ldr	r1, [sp, #4]
    12e4:	e1500001 	cmp	r0, r1
    12e8:	3a00001f 	bcc	136c <malloc+0x108>
    12ec:	eaffffff 	b	12f0 <malloc+0x8c>
    12f0:	e59d000c 	ldr	r0, [sp, #12]
    12f4:	e5900004 	ldr	r0, [r0, #4]
    12f8:	e59d1004 	ldr	r1, [sp, #4]
    12fc:	e1500001 	cmp	r0, r1
    1300:	1a000005 	bne	131c <malloc+0xb8>
    1304:	eaffffff 	b	1308 <malloc+0xa4>
    1308:	e59d000c 	ldr	r0, [sp, #12]
    130c:	e5900000 	ldr	r0, [r0]
    1310:	e59d1008 	ldr	r1, [sp, #8]
    1314:	e5810000 	str	r0, [r1]
    1318:	ea00000c 	b	1350 <malloc+0xec>
    131c:	e59d0004 	ldr	r0, [sp, #4]
    1320:	e59d100c 	ldr	r1, [sp, #12]
    1324:	e5912004 	ldr	r2, [r1, #4]
    1328:	e0420000 	sub	r0, r2, r0
    132c:	e5810004 	str	r0, [r1, #4]
    1330:	e59d000c 	ldr	r0, [sp, #12]
    1334:	e5901004 	ldr	r1, [r0, #4]
    1338:	e0800181 	add	r0, r0, r1, lsl #3
    133c:	e58d000c 	str	r0, [sp, #12]
    1340:	e59d0004 	ldr	r0, [sp, #4]
    1344:	e59d100c 	ldr	r1, [sp, #12]
    1348:	e5810004 	str	r0, [r1, #4]
    134c:	eaffffff 	b	1350 <malloc+0xec>
    1350:	e59d0008 	ldr	r0, [sp, #8]
    1354:	e59f1074 	ldr	r1, [pc, #116]	; 13d0 <malloc+0x16c>
    1358:	e5810000 	str	r0, [r1]
    135c:	e59d000c 	ldr	r0, [sp, #12]
    1360:	e2800008 	add	r0, r0, #8
    1364:	e50b0004 	str	r0, [fp, #-4]
    1368:	ea000015 	b	13c4 <malloc+0x160>
    136c:	e59d000c 	ldr	r0, [sp, #12]
    1370:	e59f1058 	ldr	r1, [pc, #88]	; 13d0 <malloc+0x16c>
    1374:	e5911000 	ldr	r1, [r1]
    1378:	e1500001 	cmp	r0, r1
    137c:	1a00000a 	bne	13ac <malloc+0x148>
    1380:	eaffffff 	b	1384 <malloc+0x120>
    1384:	e59d0004 	ldr	r0, [sp, #4]
    1388:	eb000012 	bl	13d8 <morecore>
    138c:	e58d000c 	str	r0, [sp, #12]
    1390:	e3500000 	cmp	r0, #0
    1394:	1a000003 	bne	13a8 <malloc+0x144>
    1398:	eaffffff 	b	139c <malloc+0x138>
    139c:	e3a00000 	mov	r0, #0
    13a0:	e50b0004 	str	r0, [fp, #-4]
    13a4:	ea000006 	b	13c4 <malloc+0x160>
    13a8:	eaffffff 	b	13ac <malloc+0x148>
    13ac:	eaffffff 	b	13b0 <malloc+0x14c>
    13b0:	e59d000c 	ldr	r0, [sp, #12]
    13b4:	e58d0008 	str	r0, [sp, #8]
    13b8:	e5900000 	ldr	r0, [r0]
    13bc:	e58d000c 	str	r0, [sp, #12]
    13c0:	eaffffc4 	b	12d8 <malloc+0x74>
    13c4:	e51b0004 	ldr	r0, [fp, #-4]
    13c8:	e1a0d00b 	mov	sp, fp
    13cc:	e8bd8800 	pop	{fp, pc}
    13d0:	00001614 	.word	0x00001614
    13d4:	00001618 	.word	0x00001618

000013d8 <morecore>:
    freep = p;
}

static Header*
morecore(uint nu)
{
    13d8:	e92d4800 	push	{fp, lr}
    13dc:	e1a0b00d 	mov	fp, sp
    13e0:	e24dd018 	sub	sp, sp, #24
    13e4:	e1a01000 	mov	r1, r0
    13e8:	e50b0008 	str	r0, [fp, #-8]
    char *p;
    Header *hp;
    
    if(nu < 4096)
    13ec:	e51b0008 	ldr	r0, [fp, #-8]
    13f0:	e3a02000 	mov	r2, #0
    13f4:	e1520620 	cmp	r2, r0, lsr #12
    13f8:	e58d1004 	str	r1, [sp, #4]
    13fc:	1a000003 	bne	1410 <morecore+0x38>
    1400:	eaffffff 	b	1404 <morecore+0x2c>
        nu = 4096;
    1404:	e3a00a01 	mov	r0, #4096	; 0x1000
    1408:	e50b0008 	str	r0, [fp, #-8]
    140c:	eaffffff 	b	1410 <morecore+0x38>
    p = sbrk(nu * sizeof(Header));
    1410:	e51b0008 	ldr	r0, [fp, #-8]
    1414:	e1a00180 	lsl	r0, r0, #3
    1418:	ebfffe10 	bl	c60 <sbrk>
    141c:	e58d000c 	str	r0, [sp, #12]
    if(p == (char*)-1)
    1420:	e59d000c 	ldr	r0, [sp, #12]
    1424:	e3700001 	cmn	r0, #1
    1428:	1a000003 	bne	143c <morecore+0x64>
    142c:	eaffffff 	b	1430 <morecore+0x58>
        return 0;
    1430:	e3a00000 	mov	r0, #0
    1434:	e50b0004 	str	r0, [fp, #-4]
    1438:	ea00000b 	b	146c <morecore+0x94>
    hp = (Header*)p;
    143c:	e59d000c 	ldr	r0, [sp, #12]
    1440:	e58d0008 	str	r0, [sp, #8]
    hp->s.size = nu;
    1444:	e51b0008 	ldr	r0, [fp, #-8]
    1448:	e59d1008 	ldr	r1, [sp, #8]
    144c:	e5810004 	str	r0, [r1, #4]
    free((void*)(hp + 1));
    1450:	e59d0008 	ldr	r0, [sp, #8]
    1454:	e2800008 	add	r0, r0, #8
    1458:	ebffff16 	bl	10b8 <free>
    return freep;
    145c:	e59f0014 	ldr	r0, [pc, #20]	; 1478 <morecore+0xa0>
    1460:	e5900000 	ldr	r0, [r0]
    1464:	e50b0004 	str	r0, [fp, #-4]
    1468:	eaffffff 	b	146c <morecore+0x94>
}
    146c:	e51b0004 	ldr	r0, [fp, #-4]
    1470:	e1a0d00b 	mov	sp, fp
    1474:	e8bd8800 	pop	{fp, pc}
    1478:	00001614 	.word	0x00001614

0000147c <__aeabi_uidiv>:
    147c:	e2512001 	subs	r2, r1, #1
    1480:	012fff1e 	bxeq	lr
    1484:	3a000036 	bcc	1564 <__aeabi_uidiv+0xe8>
    1488:	e1500001 	cmp	r0, r1
    148c:	9a000022 	bls	151c <__aeabi_uidiv+0xa0>
    1490:	e1110002 	tst	r1, r2
    1494:	0a000023 	beq	1528 <__aeabi_uidiv+0xac>
    1498:	e311020e 	tst	r1, #-536870912	; 0xe0000000
    149c:	01a01181 	lsleq	r1, r1, #3
    14a0:	03a03008 	moveq	r3, #8
    14a4:	13a03001 	movne	r3, #1
    14a8:	e3510201 	cmp	r1, #268435456	; 0x10000000
    14ac:	31510000 	cmpcc	r1, r0
    14b0:	31a01201 	lslcc	r1, r1, #4
    14b4:	31a03203 	lslcc	r3, r3, #4
    14b8:	3afffffa 	bcc	14a8 <__aeabi_uidiv+0x2c>
    14bc:	e3510102 	cmp	r1, #-2147483648	; 0x80000000
    14c0:	31510000 	cmpcc	r1, r0
    14c4:	31a01081 	lslcc	r1, r1, #1
    14c8:	31a03083 	lslcc	r3, r3, #1
    14cc:	3afffffa 	bcc	14bc <__aeabi_uidiv+0x40>
    14d0:	e3a02000 	mov	r2, #0
    14d4:	e1500001 	cmp	r0, r1
    14d8:	20400001 	subcs	r0, r0, r1
    14dc:	21822003 	orrcs	r2, r2, r3
    14e0:	e15000a1 	cmp	r0, r1, lsr #1
    14e4:	204000a1 	subcs	r0, r0, r1, lsr #1
    14e8:	218220a3 	orrcs	r2, r2, r3, lsr #1
    14ec:	e1500121 	cmp	r0, r1, lsr #2
    14f0:	20400121 	subcs	r0, r0, r1, lsr #2
    14f4:	21822123 	orrcs	r2, r2, r3, lsr #2
    14f8:	e15001a1 	cmp	r0, r1, lsr #3
    14fc:	204001a1 	subcs	r0, r0, r1, lsr #3
    1500:	218221a3 	orrcs	r2, r2, r3, lsr #3
    1504:	e3500000 	cmp	r0, #0
    1508:	11b03223 	lsrsne	r3, r3, #4
    150c:	11a01221 	lsrne	r1, r1, #4
    1510:	1affffef 	bne	14d4 <__aeabi_uidiv+0x58>
    1514:	e1a00002 	mov	r0, r2
    1518:	e12fff1e 	bx	lr
    151c:	03a00001 	moveq	r0, #1
    1520:	13a00000 	movne	r0, #0
    1524:	e12fff1e 	bx	lr
    1528:	e3510801 	cmp	r1, #65536	; 0x10000
    152c:	21a01821 	lsrcs	r1, r1, #16
    1530:	23a02010 	movcs	r2, #16
    1534:	33a02000 	movcc	r2, #0
    1538:	e3510c01 	cmp	r1, #256	; 0x100
    153c:	21a01421 	lsrcs	r1, r1, #8
    1540:	22822008 	addcs	r2, r2, #8
    1544:	e3510010 	cmp	r1, #16
    1548:	21a01221 	lsrcs	r1, r1, #4
    154c:	22822004 	addcs	r2, r2, #4
    1550:	e3510004 	cmp	r1, #4
    1554:	82822003 	addhi	r2, r2, #3
    1558:	908220a1 	addls	r2, r2, r1, lsr #1
    155c:	e1a00230 	lsr	r0, r0, r2
    1560:	e12fff1e 	bx	lr
    1564:	e3500000 	cmp	r0, #0
    1568:	13e00000 	mvnne	r0, #0
    156c:	ea000007 	b	1590 <__aeabi_idiv0>

00001570 <__aeabi_uidivmod>:
    1570:	e3510000 	cmp	r1, #0
    1574:	0afffffa 	beq	1564 <__aeabi_uidiv+0xe8>
    1578:	e92d4003 	push	{r0, r1, lr}
    157c:	ebffffbe 	bl	147c <__aeabi_uidiv>
    1580:	e8bd4006 	pop	{r1, r2, lr}
    1584:	e0030092 	mul	r3, r2, r0
    1588:	e0411003 	sub	r1, r1, r3
    158c:	e12fff1e 	bx	lr

00001590 <__aeabi_idiv0>:
    1590:	e12fff1e 	bx	lr