Mercurial > hg > Members > tobaru > xv6-osx-rpi
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