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


_forktest:     file format elf32-littlearm


Disassembly of section .text:

00000000 <printf>:

#define N  1000

void
printf(int fd, char *s, ...)
{
   0:	e92d4800 	push	{fp, lr}
   4:	e1a0b00d 	mov	fp, sp
   8:	e24dd020 	sub	sp, sp, #32
   c:	e1a02001 	mov	r2, r1
  10:	e1a03000 	mov	r3, r0
  14:	e50b0004 	str	r0, [fp, #-4]
  18:	e50b1008 	str	r1, [fp, #-8]
  1c:	e51b0004 	ldr	r0, [fp, #-4]
  20:	e51b1008 	ldr	r1, [fp, #-8]
  24:	e50b000c 	str	r0, [fp, #-12]
  28:	e1a00001 	mov	r0, r1
  2c:	e58d2010 	str	r2, [sp, #16]
  30:	e58d300c 	str	r3, [sp, #12]
  34:	e58d1008 	str	r1, [sp, #8]
  38:	eb0000a6 	bl	2d8 <strlen>
  3c:	e51b100c 	ldr	r1, [fp, #-12]
  40:	e58d0004 	str	r0, [sp, #4]
  44:	e1a00001 	mov	r0, r1
  48:	e59d1008 	ldr	r1, [sp, #8]
  4c:	e59d2004 	ldr	r2, [sp, #4]
  50:	eb0001fa 	bl	840 <write>
  54:	e58d0000 	str	r0, [sp]
  58:	e1a0d00b 	mov	sp, fp
  5c:	e8bd8800 	pop	{fp, pc}

00000060 <forktest>:
  60:	e92d4800 	push	{fp, lr}
  64:	e1a0b00d 	mov	fp, sp
  68:	e24dd018 	sub	sp, sp, #24
  6c:	e59f1120 	ldr	r1, [pc, #288]	; 194 <forktest+0x134>
  70:	e3a00001 	mov	r0, #1
  74:	ebffffe1 	bl	0 <printf>
  78:	e3a00000 	mov	r0, #0
  7c:	e50b0004 	str	r0, [fp, #-4]
  80:	eaffffff 	b	84 <forktest+0x24>
  84:	e51b0004 	ldr	r0, [fp, #-4]
  88:	e3500ffa 	cmp	r0, #1000	; 0x3e8
  8c:	aa000015 	bge	e8 <forktest+0x88>
  90:	eaffffff 	b	94 <forktest+0x34>
  94:	eb0001bc 	bl	78c <fork>
  98:	e50b0008 	str	r0, [fp, #-8]
  9c:	e51b0008 	ldr	r0, [fp, #-8]
  a0:	e3500000 	cmp	r0, #0
  a4:	aa000004 	bge	bc <forktest+0x5c>
  a8:	eaffffff 	b	ac <forktest+0x4c>
  ac:	e59f10e4 	ldr	r1, [pc, #228]	; 198 <forktest+0x138>
  b0:	e3a00001 	mov	r0, #1
  b4:	ebffffd1 	bl	0 <printf>
  b8:	ea00000a 	b	e8 <forktest+0x88>
  bc:	e51b0008 	ldr	r0, [fp, #-8]
  c0:	e3500000 	cmp	r0, #0
  c4:	1a000002 	bne	d4 <forktest+0x74>
  c8:	eaffffff 	b	cc <forktest+0x6c>
  cc:	eb0001b7 	bl	7b0 <exit>
  d0:	e58d000c 	str	r0, [sp, #12]
  d4:	eaffffff 	b	d8 <forktest+0x78>
  d8:	e51b0004 	ldr	r0, [fp, #-4]
  dc:	e2800001 	add	r0, r0, #1
  e0:	e50b0004 	str	r0, [fp, #-4]
  e4:	eaffffe6 	b	84 <forktest+0x24>
  e8:	e51b0004 	ldr	r0, [fp, #-4]
  ec:	e3500ffa 	cmp	r0, #1000	; 0x3e8
  f0:	1a000006 	bne	110 <forktest+0xb0>
  f4:	eaffffff 	b	f8 <forktest+0x98>
  f8:	e59f10a8 	ldr	r1, [pc, #168]	; 1a8 <forktest+0x148>
  fc:	e3a00001 	mov	r0, #1
 100:	e3a02ffa 	mov	r2, #1000	; 0x3e8
 104:	ebffffbd 	bl	0 <printf>
 108:	eb0001a8 	bl	7b0 <exit>
 10c:	e58d0008 	str	r0, [sp, #8]
 110:	eaffffff 	b	114 <forktest+0xb4>
 114:	e51b0004 	ldr	r0, [fp, #-4]
 118:	e3500001 	cmp	r0, #1
 11c:	ba00000e 	blt	15c <forktest+0xfc>
 120:	eaffffff 	b	124 <forktest+0xc4>
 124:	eb0001aa 	bl	7d4 <wait>
 128:	e3500000 	cmp	r0, #0
 12c:	aa000005 	bge	148 <forktest+0xe8>
 130:	eaffffff 	b	134 <forktest+0xd4>
 134:	e59f1068 	ldr	r1, [pc, #104]	; 1a4 <forktest+0x144>
 138:	e3a00001 	mov	r0, #1
 13c:	ebffffaf 	bl	0 <printf>
 140:	eb00019a 	bl	7b0 <exit>
 144:	e58d0004 	str	r0, [sp, #4]
 148:	eaffffff 	b	14c <forktest+0xec>
 14c:	e51b0004 	ldr	r0, [fp, #-4]
 150:	e2400001 	sub	r0, r0, #1
 154:	e50b0004 	str	r0, [fp, #-4]
 158:	eaffffed 	b	114 <forktest+0xb4>
 15c:	eb00019c 	bl	7d4 <wait>
 160:	e3700001 	cmn	r0, #1
 164:	0a000005 	beq	180 <forktest+0x120>
 168:	eaffffff 	b	16c <forktest+0x10c>
 16c:	e59f102c 	ldr	r1, [pc, #44]	; 1a0 <forktest+0x140>
 170:	e3a00001 	mov	r0, #1
 174:	ebffffa1 	bl	0 <printf>
 178:	eb00018c 	bl	7b0 <exit>
 17c:	e58d0000 	str	r0, [sp]
 180:	e59f1014 	ldr	r1, [pc, #20]	; 19c <forktest+0x13c>
 184:	e3a00001 	mov	r0, #1
 188:	ebffff9c 	bl	0 <printf>
 18c:	e1a0d00b 	mov	sp, fp
 190:	e8bd8800 	pop	{fp, pc}
 194:	00000a80 	.word	0x00000a80
 198:	00000a8b 	.word	0x00000a8b
 19c:	00000adf 	.word	0x00000adf
 1a0:	00000acc 	.word	0x00000acc
 1a4:	00000ab8 	.word	0x00000ab8
 1a8:	00000a99 	.word	0x00000a99

000001ac <main>:
    printf(1, "fork test OK\n");
}

int
main(void)
{
 1ac:	e92d4800 	push	{fp, lr}
 1b0:	e1a0b00d 	mov	fp, sp
 1b4:	e24dd008 	sub	sp, sp, #8
 1b8:	e3a00000 	mov	r0, #0
 1bc:	e58d0004 	str	r0, [sp, #4]
    forktest();
 1c0:	ebffffa6 	bl	60 <forktest>
    exit();
 1c4:	eb000179 	bl	7b0 <exit>
 1c8:	e58d0000 	str	r0, [sp]

000001cc <strcpy>:
#include "fcntl.h"
#include "user.h"

char*
strcpy(char *s, char *t)
{
 1cc:	e24dd014 	sub	sp, sp, #20
 1d0:	e1a02001 	mov	r2, r1
 1d4:	e1a03000 	mov	r3, r0
 1d8:	e58d0010 	str	r0, [sp, #16]
 1dc:	e58d100c 	str	r1, [sp, #12]
 1e0:	e59d0010 	ldr	r0, [sp, #16]
 1e4:	e58d0008 	str	r0, [sp, #8]
 1e8:	e58d2004 	str	r2, [sp, #4]
 1ec:	e58d3000 	str	r3, [sp]
 1f0:	eaffffff 	b	1f4 <strcpy+0x28>
 1f4:	e59d000c 	ldr	r0, [sp, #12]
 1f8:	e2801001 	add	r1, r0, #1
 1fc:	e58d100c 	str	r1, [sp, #12]
 200:	e5d00000 	ldrb	r0, [r0]
 204:	e59d1010 	ldr	r1, [sp, #16]
 208:	e2812001 	add	r2, r1, #1
 20c:	e58d2010 	str	r2, [sp, #16]
 210:	e5c10000 	strb	r0, [r1]
 214:	e3500000 	cmp	r0, #0
 218:	0a000001 	beq	224 <strcpy+0x58>
 21c:	eaffffff 	b	220 <strcpy+0x54>
 220:	eafffff3 	b	1f4 <strcpy+0x28>
 224:	e59d0008 	ldr	r0, [sp, #8]
 228:	e28dd014 	add	sp, sp, #20
 22c:	e12fff1e 	bx	lr

00000230 <strcmp>:
 230:	e24dd014 	sub	sp, sp, #20
 234:	e1a02001 	mov	r2, r1
 238:	e1a03000 	mov	r3, r0
 23c:	e58d0010 	str	r0, [sp, #16]
 240:	e58d100c 	str	r1, [sp, #12]
 244:	e58d2008 	str	r2, [sp, #8]
 248:	e58d3004 	str	r3, [sp, #4]
 24c:	eaffffff 	b	250 <strcmp+0x20>
 250:	e59d0010 	ldr	r0, [sp, #16]
 254:	e5d00000 	ldrb	r0, [r0]
 258:	e3a01000 	mov	r1, #0
 25c:	e3500000 	cmp	r0, #0
 260:	e58d1000 	str	r1, [sp]
 264:	0a000009 	beq	290 <strcmp+0x60>
 268:	eaffffff 	b	26c <strcmp+0x3c>
 26c:	e59d0010 	ldr	r0, [sp, #16]
 270:	e5d00000 	ldrb	r0, [r0]
 274:	e59d100c 	ldr	r1, [sp, #12]
 278:	e5d11000 	ldrb	r1, [r1]
 27c:	e3a02000 	mov	r2, #0
 280:	e1500001 	cmp	r0, r1
 284:	03a02001 	moveq	r2, #1
 288:	e58d2000 	str	r2, [sp]
 28c:	eaffffff 	b	290 <strcmp+0x60>
 290:	e59d0000 	ldr	r0, [sp]
 294:	e3100001 	tst	r0, #1
 298:	0a000007 	beq	2bc <strcmp+0x8c>
 29c:	eaffffff 	b	2a0 <strcmp+0x70>
 2a0:	e59d0010 	ldr	r0, [sp, #16]
 2a4:	e2800001 	add	r0, r0, #1
 2a8:	e58d0010 	str	r0, [sp, #16]
 2ac:	e59d000c 	ldr	r0, [sp, #12]
 2b0:	e2800001 	add	r0, r0, #1
 2b4:	e58d000c 	str	r0, [sp, #12]
 2b8:	eaffffe4 	b	250 <strcmp+0x20>
 2bc:	e59d0010 	ldr	r0, [sp, #16]
 2c0:	e5d00000 	ldrb	r0, [r0]
 2c4:	e59d100c 	ldr	r1, [sp, #12]
 2c8:	e5d11000 	ldrb	r1, [r1]
 2cc:	e0400001 	sub	r0, r0, r1
 2d0:	e28dd014 	add	sp, sp, #20
 2d4:	e12fff1e 	bx	lr

000002d8 <strlen>:
 2d8:	e24dd00c 	sub	sp, sp, #12
 2dc:	e1a01000 	mov	r1, r0
 2e0:	e58d0008 	str	r0, [sp, #8]
 2e4:	e3a00000 	mov	r0, #0
 2e8:	e58d0004 	str	r0, [sp, #4]
 2ec:	e58d1000 	str	r1, [sp]
 2f0:	eaffffff 	b	2f4 <strlen+0x1c>
 2f4:	e59d0008 	ldr	r0, [sp, #8]
 2f8:	e59d1004 	ldr	r1, [sp, #4]
 2fc:	e7d00001 	ldrb	r0, [r0, r1]
 300:	e3500000 	cmp	r0, #0
 304:	0a000005 	beq	320 <strlen+0x48>
 308:	eaffffff 	b	30c <strlen+0x34>
 30c:	eaffffff 	b	310 <strlen+0x38>
 310:	e59d0004 	ldr	r0, [sp, #4]
 314:	e2800001 	add	r0, r0, #1
 318:	e58d0004 	str	r0, [sp, #4]
 31c:	eafffff4 	b	2f4 <strlen+0x1c>
 320:	e59d0004 	ldr	r0, [sp, #4]
 324:	e28dd00c 	add	sp, sp, #12
 328:	e12fff1e 	bx	lr

0000032c <memset>:
 32c:	e92d4800 	push	{fp, lr}
 330:	e1a0b00d 	mov	fp, sp
 334:	e24dd02c 	sub	sp, sp, #44	; 0x2c
 338:	e1a03002 	mov	r3, r2
 33c:	e1a0c001 	mov	ip, r1
 340:	e1a0e000 	mov	lr, r0
 344:	e50b0004 	str	r0, [fp, #-4]
 348:	e50b1008 	str	r1, [fp, #-8]
 34c:	e50b200c 	str	r2, [fp, #-12]
 350:	e51b0004 	ldr	r0, [fp, #-4]
 354:	e50b0010 	str	r0, [fp, #-16]
 358:	e51b0008 	ldr	r0, [fp, #-8]
 35c:	e54b0011 	strb	r0, [fp, #-17]	; 0xffffffef
 360:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
 364:	e1a01c00 	lsl	r1, r0, #24
 368:	e1811800 	orr	r1, r1, r0, lsl #16
 36c:	e1811400 	orr	r1, r1, r0, lsl #8
 370:	e1810000 	orr	r0, r1, r0
 374:	e58d0014 	str	r0, [sp, #20]
 378:	e58d300c 	str	r3, [sp, #12]
 37c:	e58dc008 	str	ip, [sp, #8]
 380:	e58de004 	str	lr, [sp, #4]
 384:	eaffffff 	b	388 <memset+0x5c>
 388:	e51b000c 	ldr	r0, [fp, #-12]
 38c:	e3a01000 	mov	r1, #0
 390:	e3500000 	cmp	r0, #0
 394:	e58d1000 	str	r1, [sp]
 398:	0a000006 	beq	3b8 <memset+0x8c>
 39c:	eaffffff 	b	3a0 <memset+0x74>
 3a0:	e55b0010 	ldrb	r0, [fp, #-16]
 3a4:	e2000003 	and	r0, r0, #3
 3a8:	e3500000 	cmp	r0, #0
 3ac:	13a00001 	movne	r0, #1
 3b0:	e58d0000 	str	r0, [sp]
 3b4:	eaffffff 	b	3b8 <memset+0x8c>
 3b8:	e59d0000 	ldr	r0, [sp]
 3bc:	e3100001 	tst	r0, #1
 3c0:	0a00000b 	beq	3f4 <memset+0xc8>
 3c4:	eaffffff 	b	3c8 <memset+0x9c>
 3c8:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
 3cc:	e51b1010 	ldr	r1, [fp, #-16]
 3d0:	e5c10000 	strb	r0, [r1]
 3d4:	eaffffff 	b	3d8 <memset+0xac>
 3d8:	e51b000c 	ldr	r0, [fp, #-12]
 3dc:	e2400001 	sub	r0, r0, #1
 3e0:	e50b000c 	str	r0, [fp, #-12]
 3e4:	e51b0010 	ldr	r0, [fp, #-16]
 3e8:	e2800001 	add	r0, r0, #1
 3ec:	e50b0010 	str	r0, [fp, #-16]
 3f0:	eaffffe4 	b	388 <memset+0x5c>
 3f4:	e51b0010 	ldr	r0, [fp, #-16]
 3f8:	e58d0010 	str	r0, [sp, #16]
 3fc:	eaffffff 	b	400 <memset+0xd4>
 400:	e51b000c 	ldr	r0, [fp, #-12]
 404:	e3500004 	cmp	r0, #4
 408:	3a00000b 	bcc	43c <memset+0x110>
 40c:	eaffffff 	b	410 <memset+0xe4>
 410:	e59d0014 	ldr	r0, [sp, #20]
 414:	e59d1010 	ldr	r1, [sp, #16]
 418:	e5810000 	str	r0, [r1]
 41c:	eaffffff 	b	420 <memset+0xf4>
 420:	e51b000c 	ldr	r0, [fp, #-12]
 424:	e2400004 	sub	r0, r0, #4
 428:	e50b000c 	str	r0, [fp, #-12]
 42c:	e59d0010 	ldr	r0, [sp, #16]
 430:	e2800004 	add	r0, r0, #4
 434:	e58d0010 	str	r0, [sp, #16]
 438:	eafffff0 	b	400 <memset+0xd4>
 43c:	e59d0010 	ldr	r0, [sp, #16]
 440:	e50b0010 	str	r0, [fp, #-16]
 444:	eaffffff 	b	448 <memset+0x11c>
 448:	e51b000c 	ldr	r0, [fp, #-12]
 44c:	e3500000 	cmp	r0, #0
 450:	0a00000b 	beq	484 <memset+0x158>
 454:	eaffffff 	b	458 <memset+0x12c>
 458:	e55b0011 	ldrb	r0, [fp, #-17]	; 0xffffffef
 45c:	e51b1010 	ldr	r1, [fp, #-16]
 460:	e5c10000 	strb	r0, [r1]
 464:	eaffffff 	b	468 <memset+0x13c>
 468:	e51b000c 	ldr	r0, [fp, #-12]
 46c:	e2400001 	sub	r0, r0, #1
 470:	e50b000c 	str	r0, [fp, #-12]
 474:	e51b0010 	ldr	r0, [fp, #-16]
 478:	e2800001 	add	r0, r0, #1
 47c:	e50b0010 	str	r0, [fp, #-16]
 480:	eafffff0 	b	448 <memset+0x11c>
 484:	e51b0004 	ldr	r0, [fp, #-4]
 488:	e1a0d00b 	mov	sp, fp
 48c:	e8bd8800 	pop	{fp, pc}

00000490 <strchr>:
 490:	e24dd014 	sub	sp, sp, #20
 494:	e1a02001 	mov	r2, r1
 498:	e1a03000 	mov	r3, r0
 49c:	e58d000c 	str	r0, [sp, #12]
 4a0:	e5cd100b 	strb	r1, [sp, #11]
 4a4:	e58d2004 	str	r2, [sp, #4]
 4a8:	e58d3000 	str	r3, [sp]
 4ac:	eaffffff 	b	4b0 <strchr+0x20>
 4b0:	e59d000c 	ldr	r0, [sp, #12]
 4b4:	e5d00000 	ldrb	r0, [r0]
 4b8:	e3500000 	cmp	r0, #0
 4bc:	0a00000e 	beq	4fc <strchr+0x6c>
 4c0:	eaffffff 	b	4c4 <strchr+0x34>
 4c4:	e59d000c 	ldr	r0, [sp, #12]
 4c8:	e5d00000 	ldrb	r0, [r0]
 4cc:	e5dd100b 	ldrb	r1, [sp, #11]
 4d0:	e1500001 	cmp	r0, r1
 4d4:	1a000003 	bne	4e8 <strchr+0x58>
 4d8:	eaffffff 	b	4dc <strchr+0x4c>
 4dc:	e59d000c 	ldr	r0, [sp, #12]
 4e0:	e58d0010 	str	r0, [sp, #16]
 4e4:	ea000007 	b	508 <strchr+0x78>
 4e8:	eaffffff 	b	4ec <strchr+0x5c>
 4ec:	e59d000c 	ldr	r0, [sp, #12]
 4f0:	e2800001 	add	r0, r0, #1
 4f4:	e58d000c 	str	r0, [sp, #12]
 4f8:	eaffffec 	b	4b0 <strchr+0x20>
 4fc:	e3a00000 	mov	r0, #0
 500:	e58d0010 	str	r0, [sp, #16]
 504:	eaffffff 	b	508 <strchr+0x78>
 508:	e59d0010 	ldr	r0, [sp, #16]
 50c:	e28dd014 	add	sp, sp, #20
 510:	e12fff1e 	bx	lr

00000514 <gets>:
 514:	e92d4800 	push	{fp, lr}
 518:	e1a0b00d 	mov	fp, sp
 51c:	e24dd020 	sub	sp, sp, #32
 520:	e1a02001 	mov	r2, r1
 524:	e1a03000 	mov	r3, r0
 528:	e50b0004 	str	r0, [fp, #-4]
 52c:	e50b1008 	str	r1, [fp, #-8]
 530:	e3a00000 	mov	r0, #0
 534:	e50b000c 	str	r0, [fp, #-12]
 538:	e58d2008 	str	r2, [sp, #8]
 53c:	e58d3004 	str	r3, [sp, #4]
 540:	eaffffff 	b	544 <gets+0x30>
 544:	e51b000c 	ldr	r0, [fp, #-12]
 548:	e2800001 	add	r0, r0, #1
 54c:	e51b1008 	ldr	r1, [fp, #-8]
 550:	e1500001 	cmp	r0, r1
 554:	aa00001a 	bge	5c4 <gets+0xb0>
 558:	eaffffff 	b	55c <gets+0x48>
 55c:	e3a00000 	mov	r0, #0
 560:	e28d100f 	add	r1, sp, #15
 564:	e3a02001 	mov	r2, #1
 568:	eb0000ab 	bl	81c <read>
 56c:	e58d0010 	str	r0, [sp, #16]
 570:	e59d0010 	ldr	r0, [sp, #16]
 574:	e3500000 	cmp	r0, #0
 578:	ca000001 	bgt	584 <gets+0x70>
 57c:	eaffffff 	b	580 <gets+0x6c>
 580:	ea00000f 	b	5c4 <gets+0xb0>
 584:	e5dd000f 	ldrb	r0, [sp, #15]
 588:	e51b1004 	ldr	r1, [fp, #-4]
 58c:	e51b200c 	ldr	r2, [fp, #-12]
 590:	e2823001 	add	r3, r2, #1
 594:	e50b300c 	str	r3, [fp, #-12]
 598:	e7c10002 	strb	r0, [r1, r2]
 59c:	e5dd000f 	ldrb	r0, [sp, #15]
 5a0:	e350000a 	cmp	r0, #10
 5a4:	0a000004 	beq	5bc <gets+0xa8>
 5a8:	eaffffff 	b	5ac <gets+0x98>
 5ac:	e5dd000f 	ldrb	r0, [sp, #15]
 5b0:	e350000d 	cmp	r0, #13
 5b4:	1a000001 	bne	5c0 <gets+0xac>
 5b8:	eaffffff 	b	5bc <gets+0xa8>
 5bc:	ea000000 	b	5c4 <gets+0xb0>
 5c0:	eaffffdf 	b	544 <gets+0x30>
 5c4:	e51b0004 	ldr	r0, [fp, #-4]
 5c8:	e51b100c 	ldr	r1, [fp, #-12]
 5cc:	e3a02000 	mov	r2, #0
 5d0:	e7c02001 	strb	r2, [r0, r1]
 5d4:	e51b0004 	ldr	r0, [fp, #-4]
 5d8:	e1a0d00b 	mov	sp, fp
 5dc:	e8bd8800 	pop	{fp, pc}

000005e0 <stat>:
 5e0:	e92d4800 	push	{fp, lr}
 5e4:	e1a0b00d 	mov	fp, sp
 5e8:	e24dd020 	sub	sp, sp, #32
 5ec:	e1a02001 	mov	r2, r1
 5f0:	e1a03000 	mov	r3, r0
 5f4:	e50b0008 	str	r0, [fp, #-8]
 5f8:	e50b100c 	str	r1, [fp, #-12]
 5fc:	e51b0008 	ldr	r0, [fp, #-8]
 600:	e3a01000 	mov	r1, #0
 604:	e58d2008 	str	r2, [sp, #8]
 608:	e58d3004 	str	r3, [sp, #4]
 60c:	eb0000af 	bl	8d0 <open>
 610:	e58d0010 	str	r0, [sp, #16]
 614:	e59d0010 	ldr	r0, [sp, #16]
 618:	e3500000 	cmp	r0, #0
 61c:	aa000003 	bge	630 <stat+0x50>
 620:	eaffffff 	b	624 <stat+0x44>
 624:	e3e00000 	mvn	r0, #0
 628:	e50b0004 	str	r0, [fp, #-4]
 62c:	ea000009 	b	658 <stat+0x78>
 630:	e59d0010 	ldr	r0, [sp, #16]
 634:	e51b100c 	ldr	r1, [fp, #-12]
 638:	eb0000bf 	bl	93c <fstat>
 63c:	e58d000c 	str	r0, [sp, #12]
 640:	e59d0010 	ldr	r0, [sp, #16]
 644:	eb000086 	bl	864 <close>
 648:	e59d100c 	ldr	r1, [sp, #12]
 64c:	e50b1004 	str	r1, [fp, #-4]
 650:	e58d0000 	str	r0, [sp]
 654:	eaffffff 	b	658 <stat+0x78>
 658:	e51b0004 	ldr	r0, [fp, #-4]
 65c:	e1a0d00b 	mov	sp, fp
 660:	e8bd8800 	pop	{fp, pc}

00000664 <atoi>:
 664:	e24dd010 	sub	sp, sp, #16
 668:	e1a01000 	mov	r1, r0
 66c:	e58d000c 	str	r0, [sp, #12]
 670:	e3a00000 	mov	r0, #0
 674:	e58d0008 	str	r0, [sp, #8]
 678:	e58d1004 	str	r1, [sp, #4]
 67c:	eaffffff 	b	680 <atoi+0x1c>
 680:	e59d000c 	ldr	r0, [sp, #12]
 684:	e5d00000 	ldrb	r0, [r0]
 688:	e3a01000 	mov	r1, #0
 68c:	e3500030 	cmp	r0, #48	; 0x30
 690:	e58d1000 	str	r1, [sp]
 694:	ba000007 	blt	6b8 <atoi+0x54>
 698:	eaffffff 	b	69c <atoi+0x38>
 69c:	e59d000c 	ldr	r0, [sp, #12]
 6a0:	e5d00000 	ldrb	r0, [r0]
 6a4:	e3a01000 	mov	r1, #0
 6a8:	e350003a 	cmp	r0, #58	; 0x3a
 6ac:	b3a01001 	movlt	r1, #1
 6b0:	e58d1000 	str	r1, [sp]
 6b4:	eaffffff 	b	6b8 <atoi+0x54>
 6b8:	e59d0000 	ldr	r0, [sp]
 6bc:	e3100001 	tst	r0, #1
 6c0:	0a00000a 	beq	6f0 <atoi+0x8c>
 6c4:	eaffffff 	b	6c8 <atoi+0x64>
 6c8:	e59d0008 	ldr	r0, [sp, #8]
 6cc:	e0800100 	add	r0, r0, r0, lsl #2
 6d0:	e59d100c 	ldr	r1, [sp, #12]
 6d4:	e2812001 	add	r2, r1, #1
 6d8:	e58d200c 	str	r2, [sp, #12]
 6dc:	e5d11000 	ldrb	r1, [r1]
 6e0:	e0810080 	add	r0, r1, r0, lsl #1
 6e4:	e2400030 	sub	r0, r0, #48	; 0x30
 6e8:	e58d0008 	str	r0, [sp, #8]
 6ec:	eaffffe3 	b	680 <atoi+0x1c>
 6f0:	e59d0008 	ldr	r0, [sp, #8]
 6f4:	e28dd010 	add	sp, sp, #16
 6f8:	e12fff1e 	bx	lr

000006fc <memmove>:
 6fc:	e92d4800 	push	{fp, lr}
 700:	e1a0b00d 	mov	fp, sp
 704:	e24dd020 	sub	sp, sp, #32
 708:	e1a03002 	mov	r3, r2
 70c:	e1a0c001 	mov	ip, r1
 710:	e1a0e000 	mov	lr, r0
 714:	e50b0004 	str	r0, [fp, #-4]
 718:	e50b1008 	str	r1, [fp, #-8]
 71c:	e50b200c 	str	r2, [fp, #-12]
 720:	e51b0004 	ldr	r0, [fp, #-4]
 724:	e58d0010 	str	r0, [sp, #16]
 728:	e51b0008 	ldr	r0, [fp, #-8]
 72c:	e58d000c 	str	r0, [sp, #12]
 730:	e58d3008 	str	r3, [sp, #8]
 734:	e58dc004 	str	ip, [sp, #4]
 738:	e58de000 	str	lr, [sp]
 73c:	eaffffff 	b	740 <memmove+0x44>
 740:	e51b000c 	ldr	r0, [fp, #-12]
 744:	e2401001 	sub	r1, r0, #1
 748:	e50b100c 	str	r1, [fp, #-12]
 74c:	e3500001 	cmp	r0, #1
 750:	ba000009 	blt	77c <memmove+0x80>
 754:	eaffffff 	b	758 <memmove+0x5c>
 758:	e59d000c 	ldr	r0, [sp, #12]
 75c:	e2801001 	add	r1, r0, #1
 760:	e58d100c 	str	r1, [sp, #12]
 764:	e5d00000 	ldrb	r0, [r0]
 768:	e59d1010 	ldr	r1, [sp, #16]
 76c:	e2812001 	add	r2, r1, #1
 770:	e58d2010 	str	r2, [sp, #16]
 774:	e5c10000 	strb	r0, [r1]
 778:	eafffff0 	b	740 <memmove+0x44>
 77c:	e51b0004 	ldr	r0, [fp, #-4]
 780:	e1a0d00b 	mov	sp, fp
 784:	e8bd8800 	pop	{fp, pc}

00000788 <raise>:
    return vdst;
}

void
raise()
{}
 788:	e12fff1e 	bx	lr

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

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

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

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

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

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

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

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

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

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

000008f4 <mknod>:
 8f4:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 8f8:	e1a04003 	mov	r4, r3
 8fc:	e1a03002 	mov	r3, r2
 900:	e1a02001 	mov	r2, r1
 904:	e1a01000 	mov	r1, r0
 908:	e3a00011 	mov	r0, #17
 90c:	ef000000 	svc	0x00000000
 910:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 914:	e12fff1e 	bx	lr

00000918 <unlink>:
 918:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 91c:	e1a04003 	mov	r4, r3
 920:	e1a03002 	mov	r3, r2
 924:	e1a02001 	mov	r2, r1
 928:	e1a01000 	mov	r1, r0
 92c:	e3a00012 	mov	r0, #18
 930:	ef000000 	svc	0x00000000
 934:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 938:	e12fff1e 	bx	lr

0000093c <fstat>:
 93c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 940:	e1a04003 	mov	r4, r3
 944:	e1a03002 	mov	r3, r2
 948:	e1a02001 	mov	r2, r1
 94c:	e1a01000 	mov	r1, r0
 950:	e3a00008 	mov	r0, #8
 954:	ef000000 	svc	0x00000000
 958:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 95c:	e12fff1e 	bx	lr

00000960 <link>:
 960:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 964:	e1a04003 	mov	r4, r3
 968:	e1a03002 	mov	r3, r2
 96c:	e1a02001 	mov	r2, r1
 970:	e1a01000 	mov	r1, r0
 974:	e3a00013 	mov	r0, #19
 978:	ef000000 	svc	0x00000000
 97c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 980:	e12fff1e 	bx	lr

00000984 <mkdir>:
 984:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 988:	e1a04003 	mov	r4, r3
 98c:	e1a03002 	mov	r3, r2
 990:	e1a02001 	mov	r2, r1
 994:	e1a01000 	mov	r1, r0
 998:	e3a00014 	mov	r0, #20
 99c:	ef000000 	svc	0x00000000
 9a0:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 9a4:	e12fff1e 	bx	lr

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

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

000009f0 <getpid>:
 9f0:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 9f4:	e1a04003 	mov	r4, r3
 9f8:	e1a03002 	mov	r3, r2
 9fc:	e1a02001 	mov	r2, r1
 a00:	e1a01000 	mov	r1, r0
 a04:	e3a0000b 	mov	r0, #11
 a08:	ef000000 	svc	0x00000000
 a0c:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 a10:	e12fff1e 	bx	lr

00000a14 <sbrk>:
 a14:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 a18:	e1a04003 	mov	r4, r3
 a1c:	e1a03002 	mov	r3, r2
 a20:	e1a02001 	mov	r2, r1
 a24:	e1a01000 	mov	r1, r0
 a28:	e3a0000c 	mov	r0, #12
 a2c:	ef000000 	svc	0x00000000
 a30:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 a34:	e12fff1e 	bx	lr

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

00000a5c <uptime>:
 a5c:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
 a60:	e1a04003 	mov	r4, r3
 a64:	e1a03002 	mov	r3, r2
 a68:	e1a02001 	mov	r2, r1
 a6c:	e1a01000 	mov	r1, r0
 a70:	e3a0000e 	mov	r0, #14
 a74:	ef000000 	svc	0x00000000
 a78:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
 a7c:	e12fff1e 	bx	lr