os/init/log

2619 lines
126 KiB
Plaintext
Raw Normal View History

init/init: file format elf32-i386
Disassembly of section .text:
08048080 <getsize>:
8048080: 55 push %ebp
8048081: 89 e5 mov %esp,%ebp
8048083: 83 ec 10 sub $0x10,%esp
8048086: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
804808d: c7 45 f4 01 00 00 00 movl $0x1,-0xc(%ebp)
8048094: c7 45 f8 0b 00 00 00 movl $0xb,-0x8(%ebp)
804809b: eb 21 jmp 80480be <getsize+0x3e>
804809d: 8b 45 f8 mov -0x8(%ebp),%eax
80480a0: 8d 50 ff lea -0x1(%eax),%edx
80480a3: 8b 45 08 mov 0x8(%ebp),%eax
80480a6: 01 d0 add %edx,%eax
80480a8: 8a 00 mov (%eax),%al
80480aa: 0f be c0 movsbl %al,%eax
80480ad: 83 e8 30 sub $0x30,%eax
80480b0: 0f af 45 f4 imul -0xc(%ebp),%eax
80480b4: 01 45 fc add %eax,-0x4(%ebp)
80480b7: ff 4d f8 decl -0x8(%ebp)
80480ba: c1 65 f4 03 shll $0x3,-0xc(%ebp)
80480be: 83 7d f8 00 cmpl $0x0,-0x8(%ebp)
80480c2: 75 d9 jne 804809d <getsize+0x1d>
80480c4: 8b 45 fc mov -0x4(%ebp),%eax
80480c7: c9 leave
80480c8: c3 ret
080480c9 <display_msg>:
80480c9: 55 push %ebp
80480ca: 89 e5 mov %esp,%ebp
80480cc: 81 ec 08 01 00 00 sub $0x108,%esp
80480d2: 83 ec 0c sub $0xc,%esp
80480d5: 68 f0 9c 04 08 push $0x8049cf0
80480da: e8 1a 09 00 00 call 80489f9 <vga_write_string>
80480df: 83 c4 10 add $0x10,%esp
80480e2: c6 85 f8 fe ff ff 00 movb $0x0,-0x108(%ebp)
80480e9: 8b 45 08 mov 0x8(%ebp),%eax
80480ec: 8b 00 mov (%eax),%eax
80480ee: 89 c2 mov %eax,%edx
80480f0: 83 ec 08 sub $0x8,%esp
80480f3: 8d 85 f8 fe ff ff lea -0x108(%ebp),%eax
80480f9: 50 push %eax
80480fa: 52 push %edx
80480fb: e8 ca 17 00 00 call 80498ca <int_to_ascii>
8048100: 83 c4 10 add $0x10,%esp
8048103: 83 ec 0c sub $0xc,%esp
8048106: 8d 85 f8 fe ff ff lea -0x108(%ebp),%eax
804810c: 50 push %eax
804810d: e8 e7 08 00 00 call 80489f9 <vga_write_string>
8048112: 83 c4 10 add $0x10,%esp
8048115: 83 ec 0c sub $0xc,%esp
8048118: 68 01 9d 04 08 push $0x8049d01
804811d: e8 d7 08 00 00 call 80489f9 <vga_write_string>
8048122: 83 c4 10 add $0x10,%esp
8048125: 83 ec 0c sub $0xc,%esp
8048128: 68 03 9d 04 08 push $0x8049d03
804812d: e8 c7 08 00 00 call 80489f9 <vga_write_string>
8048132: 83 c4 10 add $0x10,%esp
8048135: c6 85 f8 fe ff ff 00 movb $0x0,-0x108(%ebp)
804813c: 8b 45 08 mov 0x8(%ebp),%eax
804813f: 8b 40 04 mov 0x4(%eax),%eax
8048142: 89 c2 mov %eax,%edx
8048144: 83 ec 08 sub $0x8,%esp
8048147: 8d 85 f8 fe ff ff lea -0x108(%ebp),%eax
804814d: 50 push %eax
804814e: 52 push %edx
804814f: e8 76 17 00 00 call 80498ca <int_to_ascii>
8048154: 83 c4 10 add $0x10,%esp
8048157: 83 ec 0c sub $0xc,%esp
804815a: 8d 85 f8 fe ff ff lea -0x108(%ebp),%eax
8048160: 50 push %eax
8048161: e8 93 08 00 00 call 80489f9 <vga_write_string>
8048166: 83 c4 10 add $0x10,%esp
8048169: 83 ec 0c sub $0xc,%esp
804816c: 68 01 9d 04 08 push $0x8049d01
8048171: e8 83 08 00 00 call 80489f9 <vga_write_string>
8048176: 83 c4 10 add $0x10,%esp
8048179: 83 ec 0c sub $0xc,%esp
804817c: 68 07 9d 04 08 push $0x8049d07
8048181: e8 73 08 00 00 call 80489f9 <vga_write_string>
8048186: 83 c4 10 add $0x10,%esp
8048189: 8b 45 08 mov 0x8(%ebp),%eax
804818c: 83 c0 08 add $0x8,%eax
804818f: 83 ec 0c sub $0xc,%esp
8048192: 50 push %eax
8048193: e8 61 08 00 00 call 80489f9 <vga_write_string>
8048198: 83 c4 10 add $0x10,%esp
804819b: 83 ec 0c sub $0xc,%esp
804819e: 68 01 9d 04 08 push $0x8049d01
80481a3: e8 51 08 00 00 call 80489f9 <vga_write_string>
80481a8: 83 c4 10 add $0x10,%esp
80481ab: 83 ec 0c sub $0xc,%esp
80481ae: 68 0d 9d 04 08 push $0x8049d0d
80481b3: e8 41 08 00 00 call 80489f9 <vga_write_string>
80481b8: 83 c4 10 add $0x10,%esp
80481bb: c6 85 f8 fe ff ff 00 movb $0x0,-0x108(%ebp)
80481c2: 8b 45 08 mov 0x8(%ebp),%eax
80481c5: 8b 40 14 mov 0x14(%eax),%eax
80481c8: 89 c2 mov %eax,%edx
80481ca: 83 ec 08 sub $0x8,%esp
80481cd: 8d 85 f8 fe ff ff lea -0x108(%ebp),%eax
80481d3: 50 push %eax
80481d4: 52 push %edx
80481d5: e8 f0 16 00 00 call 80498ca <int_to_ascii>
80481da: 83 c4 10 add $0x10,%esp
80481dd: 83 ec 0c sub $0xc,%esp
80481e0: 8d 85 f8 fe ff ff lea -0x108(%ebp),%eax
80481e6: 50 push %eax
80481e7: e8 0d 08 00 00 call 80489f9 <vga_write_string>
80481ec: 83 c4 10 add $0x10,%esp
80481ef: 83 ec 0c sub $0xc,%esp
80481f2: 68 01 9d 04 08 push $0x8049d01
80481f7: e8 fd 07 00 00 call 80489f9 <vga_write_string>
80481fc: 83 c4 10 add $0x10,%esp
80481ff: 83 ec 0c sub $0xc,%esp
8048202: 68 11 9d 04 08 push $0x8049d11
8048207: e8 ed 07 00 00 call 80489f9 <vga_write_string>
804820c: 83 c4 10 add $0x10,%esp
804820f: 8b 45 08 mov 0x8(%ebp),%eax
8048212: 83 c0 18 add $0x18,%eax
8048215: 83 ec 0c sub $0xc,%esp
8048218: 50 push %eax
8048219: e8 db 07 00 00 call 80489f9 <vga_write_string>
804821e: 83 c4 10 add $0x10,%esp
8048221: 83 ec 0c sub $0xc,%esp
8048224: 68 01 9d 04 08 push $0x8049d01
8048229: e8 cb 07 00 00 call 80489f9 <vga_write_string>
804822e: 83 c4 10 add $0x10,%esp
8048231: 83 ec 0c sub $0xc,%esp
8048234: 68 17 9d 04 08 push $0x8049d17
8048239: e8 bb 07 00 00 call 80489f9 <vga_write_string>
804823e: 83 c4 10 add $0x10,%esp
8048241: c6 85 f8 fe ff ff 00 movb $0x0,-0x108(%ebp)
8048248: 8b 45 08 mov 0x8(%ebp),%eax
804824b: 8a 80 1c 10 00 00 mov 0x101c(%eax),%al
8048251: 0f be c0 movsbl %al,%eax
8048254: 83 ec 08 sub $0x8,%esp
8048257: 8d 95 f8 fe ff ff lea -0x108(%ebp),%edx
804825d: 52 push %edx
804825e: 50 push %eax
804825f: e8 f7 16 00 00 call 804995b <hex_to_ascii>
8048264: 83 c4 10 add $0x10,%esp
8048267: 83 ec 0c sub $0xc,%esp
804826a: 8d 85 f8 fe ff ff lea -0x108(%ebp),%eax
8048270: 50 push %eax
8048271: e8 83 07 00 00 call 80489f9 <vga_write_string>
8048276: 83 c4 10 add $0x10,%esp
8048279: 83 ec 0c sub $0xc,%esp
804827c: 68 01 9d 04 08 push $0x8049d01
8048281: e8 73 07 00 00 call 80489f9 <vga_write_string>
8048286: 83 c4 10 add $0x10,%esp
8048289: 90 nop
804828a: c9 leave
804828b: c3 ret
0804828c <find_loc>:
804828c: 55 push %ebp
804828d: 89 e5 mov %esp,%ebp
804828f: 81 ec c8 00 00 00 sub $0xc8,%esp
8048295: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
804829c: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
80482a3: 8d 85 47 ff ff ff lea -0xb9(%ebp),%eax
80482a9: 89 45 e8 mov %eax,-0x18(%ebp)
80482ac: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
80482b3: eb 1c jmp 80482d1 <find_loc+0x45>
80482b5: 8b 55 f4 mov -0xc(%ebp),%edx
80482b8: 8b 45 ec mov -0x14(%ebp),%eax
80482bb: 01 c2 add %eax,%edx
80482bd: 8b 45 0c mov 0xc(%ebp),%eax
80482c0: 01 d0 add %edx,%eax
80482c2: 8b 4d e8 mov -0x18(%ebp),%ecx
80482c5: 8b 55 ec mov -0x14(%ebp),%edx
80482c8: 01 ca add %ecx,%edx
80482ca: 8a 00 mov (%eax),%al
80482cc: 88 02 mov %al,(%edx)
80482ce: ff 45 ec incl -0x14(%ebp)
80482d1: 81 7d ec 9c 00 00 00 cmpl $0x9c,-0x14(%ebp)
80482d8: 76 db jbe 80482b5 <find_loc+0x29>
80482da: 8a 85 47 ff ff ff mov -0xb9(%ebp),%al
80482e0: 84 c0 test %al,%al
80482e2: 74 64 je 8048348 <find_loc+0xbc>
80482e4: 8d 85 47 ff ff ff lea -0xb9(%ebp),%eax
80482ea: 83 c0 7c add $0x7c,%eax
80482ed: 50 push %eax
80482ee: e8 8d fd ff ff call 8048080 <getsize>
80482f3: 83 c4 04 add $0x4,%esp
80482f6: 89 45 e4 mov %eax,-0x1c(%ebp)
80482f9: 81 45 f4 00 02 00 00 addl $0x200,-0xc(%ebp)
8048300: 83 ec 08 sub $0x8,%esp
8048303: ff 75 08 pushl 0x8(%ebp)
8048306: 8d 85 47 ff ff ff lea -0xb9(%ebp),%eax
804830c: 50 push %eax
804830d: e8 8f 14 00 00 call 80497a1 <strcmp>
8048312: 83 c4 10 add $0x10,%esp
8048315: 85 c0 test %eax,%eax
8048317: 75 05 jne 804831e <find_loc+0x92>
8048319: 8b 45 f4 mov -0xc(%ebp),%eax
804831c: eb 30 jmp 804834e <find_loc+0xc2>
804831e: 8b 45 e4 mov -0x1c(%ebp),%eax
8048321: 01 45 f4 add %eax,-0xc(%ebp)
8048324: 8b 45 f4 mov -0xc(%ebp),%eax
8048327: 25 ff 01 00 00 and $0x1ff,%eax
804832c: 85 c0 test %eax,%eax
804832e: 74 10 je 8048340 <find_loc+0xb4>
8048330: 8b 45 f4 mov -0xc(%ebp),%eax
8048333: 25 00 fe ff ff and $0xfffffe00,%eax
8048338: 05 00 02 00 00 add $0x200,%eax
804833d: 89 45 f4 mov %eax,-0xc(%ebp)
8048340: ff 45 f0 incl -0x10(%ebp)
8048343: e9 5b ff ff ff jmp 80482a3 <find_loc+0x17>
8048348: 90 nop
8048349: b8 00 00 00 00 mov $0x0,%eax
804834e: c9 leave
804834f: c3 ret
08048350 <load_task>:
8048350: 55 push %ebp
8048351: 89 e5 mov %esp,%ebp
8048353: 81 ec 88 00 00 00 sub $0x88,%esp
8048359: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
8048360: 8b 45 08 mov 0x8(%ebp),%eax
8048363: 89 45 f4 mov %eax,-0xc(%ebp)
8048366: 8d 45 a0 lea -0x60(%ebp),%eax
8048369: 89 45 e0 mov %eax,-0x20(%ebp)
804836c: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
8048373: eb 1a jmp 804838f <load_task+0x3f>
8048375: 8b 55 f4 mov -0xc(%ebp),%edx
8048378: 8b 45 0c mov 0xc(%ebp),%eax
804837b: 01 d0 add %edx,%eax
804837d: 8b 4d e0 mov -0x20(%ebp),%ecx
8048380: 8b 55 f0 mov -0x10(%ebp),%edx
8048383: 01 ca add %ecx,%edx
8048385: 8a 00 mov (%eax),%al
8048387: 88 02 mov %al,(%edx)
8048389: ff 45 f4 incl -0xc(%ebp)
804838c: ff 45 f0 incl -0x10(%ebp)
804838f: 83 7d f0 33 cmpl $0x33,-0x10(%ebp)
8048393: 76 e0 jbe 8048375 <load_task+0x25>
8048395: 8b 45 a0 mov -0x60(%ebp),%eax
8048398: 3d 7f 45 4c 46 cmp $0x464c457f,%eax
804839d: 74 17 je 80483b6 <load_task+0x66>
804839f: 83 ec 0c sub $0xc,%esp
80483a2: 68 1e 9d 04 08 push $0x8049d1e
80483a7: e8 4d 06 00 00 call 80489f9 <vga_write_string>
80483ac: 83 c4 10 add $0x10,%esp
80483af: b0 00 mov $0x0,%al
80483b1: e9 00 01 00 00 jmp 80484b6 <load_task+0x166>
80483b6: e8 87 08 00 00 call 8048c42 <new_address_space>
80483bb: 89 45 dc mov %eax,-0x24(%ebp)
80483be: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
80483c5: e9 c9 00 00 00 jmp 8048493 <load_task+0x143>
80483ca: 8b 55 bc mov -0x44(%ebp),%edx
80483cd: 66 8b 45 ca mov -0x36(%ebp),%ax
80483d1: 0f b7 c0 movzwl %ax,%eax
80483d4: 0f af 45 ec imul -0x14(%ebp),%eax
80483d8: 01 c2 add %eax,%edx
80483da: 8b 45 08 mov 0x8(%ebp),%eax
80483dd: 01 d0 add %edx,%eax
80483df: 89 45 f4 mov %eax,-0xc(%ebp)
80483e2: 8d 45 80 lea -0x80(%ebp),%eax
80483e5: 89 45 d8 mov %eax,-0x28(%ebp)
80483e8: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp)
80483ef: eb 1a jmp 804840b <load_task+0xbb>
80483f1: 8b 55 f4 mov -0xc(%ebp),%edx
80483f4: 8b 45 0c mov 0xc(%ebp),%eax
80483f7: 01 d0 add %edx,%eax
80483f9: 8b 4d d8 mov -0x28(%ebp),%ecx
80483fc: 8b 55 e8 mov -0x18(%ebp),%edx
80483ff: 01 ca add %ecx,%edx
8048401: 8a 00 mov (%eax),%al
8048403: 88 02 mov %al,(%edx)
8048405: ff 45 f4 incl -0xc(%ebp)
8048408: ff 45 e8 incl -0x18(%ebp)
804840b: 83 7d e8 1f cmpl $0x1f,-0x18(%ebp)
804840f: 76 e0 jbe 80483f1 <load_task+0xa1>
8048411: 8b 45 94 mov -0x6c(%ebp),%eax
8048414: c1 e8 0c shr $0xc,%eax
8048417: 40 inc %eax
8048418: 83 ec 0c sub $0xc,%esp
804841b: 50 push %eax
804841c: e8 e7 07 00 00 call 8048c08 <alloc_memory>
8048421: 83 c4 10 add $0x10,%esp
8048424: 89 45 d4 mov %eax,-0x2c(%ebp)
8048427: 8b 45 94 mov -0x6c(%ebp),%eax
804842a: 83 ec 04 sub $0x4,%esp
804842d: 50 push %eax
804842e: 6a 00 push $0x0
8048430: ff 75 d4 pushl -0x2c(%ebp)
8048433: e8 37 13 00 00 call 804976f <memset>
8048438: 83 c4 10 add $0x10,%esp
804843b: 8b 45 90 mov -0x70(%ebp),%eax
804843e: 85 c0 test %eax,%eax
8048440: 74 36 je 8048478 <load_task+0x128>
8048442: 8b 55 84 mov -0x7c(%ebp),%edx
8048445: 8b 45 08 mov 0x8(%ebp),%eax
8048448: 01 d0 add %edx,%eax
804844a: 89 45 f4 mov %eax,-0xc(%ebp)
804844d: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp)
8048454: eb 1a jmp 8048470 <load_task+0x120>
8048456: 8b 55 f4 mov -0xc(%ebp),%edx
8048459: 8b 45 0c mov 0xc(%ebp),%eax
804845c: 01 d0 add %edx,%eax
804845e: 8b 4d d4 mov -0x2c(%ebp),%ecx
8048461: 8b 55 e4 mov -0x1c(%ebp),%edx
8048464: 01 ca add %ecx,%edx
8048466: 8a 00 mov (%eax),%al
8048468: 88 02 mov %al,(%edx)
804846a: ff 45 f4 incl -0xc(%ebp)
804846d: ff 45 e4 incl -0x1c(%ebp)
8048470: 8b 45 90 mov -0x70(%ebp),%eax
8048473: 39 45 e4 cmp %eax,-0x1c(%ebp)
8048476: 72 de jb 8048456 <load_task+0x106>
8048478: 8b 45 88 mov -0x78(%ebp),%eax
804847b: 89 c2 mov %eax,%edx
804847d: 8b 45 94 mov -0x6c(%ebp),%eax
8048480: 52 push %edx
8048481: 50 push %eax
8048482: ff 75 d4 pushl -0x2c(%ebp)
8048485: ff 75 dc pushl -0x24(%ebp)
8048488: e8 d1 07 00 00 call 8048c5e <copy_data>
804848d: 83 c4 10 add $0x10,%esp
8048490: ff 45 ec incl -0x14(%ebp)
8048493: 8b 45 cc mov -0x34(%ebp),%eax
8048496: 0f b7 c0 movzwl %ax,%eax
8048499: 39 45 ec cmp %eax,-0x14(%ebp)
804849c: 0f 8c 28 ff ff ff jl 80483ca <load_task+0x7a>
80484a2: 8b 45 b8 mov -0x48(%ebp),%eax
80484a5: 83 ec 08 sub $0x8,%esp
80484a8: ff 75 dc pushl -0x24(%ebp)
80484ab: 50 push %eax
80484ac: e8 47 17 00 00 call 8049bf8 <createTaskCr3>
80484b1: 83 c4 10 add $0x10,%esp
80484b4: b0 01 mov $0x1,%al
80484b6: c9 leave
80484b7: c3 ret
080484b8 <make_msg>:
80484b8: 55 push %ebp
80484b9: 89 e5 mov %esp,%ebp
80484bb: 83 ec 18 sub $0x18,%esp
80484be: 83 ec 0c sub $0xc,%esp
80484c1: 68 24 10 00 00 push $0x1024
80484c6: e8 64 0f 00 00 call 804942f <malloc>
80484cb: 83 c4 10 add $0x10,%esp
80484ce: 89 45 f4 mov %eax,-0xc(%ebp)
80484d1: 8b 45 f4 mov -0xc(%ebp),%eax
80484d4: 8b 55 08 mov 0x8(%ebp),%edx
80484d7: 89 10 mov %edx,(%eax)
80484d9: 8b 15 80 b6 04 08 mov 0x804b680,%edx
80484df: 8b 45 f4 mov -0xc(%ebp),%eax
80484e2: 89 50 04 mov %edx,0x4(%eax)
80484e5: a1 80 b6 04 08 mov 0x804b680,%eax
80484ea: 40 inc %eax
80484eb: a3 80 b6 04 08 mov %eax,0x804b680
80484f0: 8b 45 f4 mov -0xc(%ebp),%eax
80484f3: 83 c0 08 add $0x8,%eax
80484f6: 83 ec 08 sub $0x8,%esp
80484f9: ff 75 0c pushl 0xc(%ebp)
80484fc: 50 push %eax
80484fd: e8 23 13 00 00 call 8049825 <strcpy>
8048502: 83 c4 10 add $0x10,%esp
8048505: 8b 45 f4 mov -0xc(%ebp),%eax
8048508: 83 c0 18 add $0x18,%eax
804850b: 83 ec 08 sub $0x8,%esp
804850e: ff 75 10 pushl 0x10(%ebp)
8048511: 50 push %eax
8048512: e8 0e 13 00 00 call 8049825 <strcpy>
8048517: 83 c4 10 add $0x10,%esp
804851a: 8b 45 f4 mov -0xc(%ebp),%eax
804851d: c9 leave
804851e: c3 ret
0804851f <test_vfs>:
804851f: 55 push %ebp
8048520: 89 e5 mov %esp,%ebp
8048522: 83 ec 28 sub $0x28,%esp
8048525: 83 ec 0c sub $0xc,%esp
8048528: 68 3b 9d 04 08 push $0x8049d3b
804852d: e8 c7 04 00 00 call 80489f9 <vga_write_string>
8048532: 83 c4 10 add $0x10,%esp
8048535: 83 ec 04 sub $0x4,%esp
8048538: ff 75 08 pushl 0x8(%ebp)
804853b: 68 51 9d 04 08 push $0x8049d51
8048540: 6a 00 push $0x0
8048542: e8 71 ff ff ff call 80484b8 <make_msg>
8048547: 83 c4 10 add $0x10,%esp
804854a: 89 45 f4 mov %eax,-0xc(%ebp)
804854d: 8b 45 0c mov 0xc(%ebp),%eax
8048550: 89 45 e4 mov %eax,-0x1c(%ebp)
8048553: c7 45 e8 01 00 00 00 movl $0x1,-0x18(%ebp)
804855a: 8b 45 f4 mov -0xc(%ebp),%eax
804855d: 89 45 e0 mov %eax,-0x20(%ebp)
8048560: c7 45 ec 24 10 00 00 movl $0x1024,-0x14(%ebp)
8048567: 83 ec 0c sub $0xc,%esp
804856a: 8d 45 e0 lea -0x20(%ebp),%eax
804856d: 50 push %eax
804856e: e8 67 06 00 00 call 8048bda <mailbox_send_msg>
8048573: 83 c4 10 add $0x10,%esp
8048576: 8b 45 e0 mov -0x20(%ebp),%eax
8048579: 83 ec 0c sub $0xc,%esp
804857c: 50 push %eax
804857d: e8 1a 11 00 00 call 804969c <free>
8048582: 83 c4 10 add $0x10,%esp
8048585: e8 4d 16 00 00 call 8049bd7 <yield>
804858a: 83 ec 0c sub $0xc,%esp
804858d: 68 53 9d 04 08 push $0x8049d53
8048592: e8 62 04 00 00 call 80489f9 <vga_write_string>
8048597: 83 c4 10 add $0x10,%esp
804859a: e8 38 16 00 00 call 8049bd7 <yield>
804859f: 83 ec 0c sub $0xc,%esp
80485a2: 68 6b 9d 04 08 push $0x8049d6b
80485a7: e8 4d 04 00 00 call 80489f9 <vga_write_string>
80485ac: 83 c4 10 add $0x10,%esp
80485af: 83 ec 0c sub $0xc,%esp
80485b2: 68 24 10 00 00 push $0x1024
80485b7: e8 73 0e 00 00 call 804942f <malloc>
80485bc: 83 c4 10 add $0x10,%esp
80485bf: 89 45 e0 mov %eax,-0x20(%ebp)
80485c2: 83 ec 04 sub $0x4,%esp
80485c5: 68 24 10 00 00 push $0x1024
80485ca: 8d 45 e0 lea -0x20(%ebp),%eax
80485cd: 50 push %eax
80485ce: ff 75 0c pushl 0xc(%ebp)
80485d1: e8 18 06 00 00 call 8048bee <mailbox_get_msg>
80485d6: 83 c4 10 add $0x10,%esp
80485d9: 8b 45 e4 mov -0x1c(%ebp),%eax
80485dc: 85 c0 test %eax,%eax
80485de: 75 12 jne 80485f2 <test_vfs+0xd3>
80485e0: 83 ec 0c sub $0xc,%esp
80485e3: 68 7c 9d 04 08 push $0x8049d7c
80485e8: e8 0c 04 00 00 call 80489f9 <vga_write_string>
80485ed: 83 c4 10 add $0x10,%esp
80485f0: eb 14 jmp 8048606 <test_vfs+0xe7>
80485f2: 8b 45 e0 mov -0x20(%ebp),%eax
80485f5: 89 45 f0 mov %eax,-0x10(%ebp)
80485f8: 83 ec 0c sub $0xc,%esp
80485fb: ff 75 f0 pushl -0x10(%ebp)
80485fe: e8 c6 fa ff ff call 80480c9 <display_msg>
8048603: 83 c4 10 add $0x10,%esp
8048606: 8b 45 e0 mov -0x20(%ebp),%eax
8048609: 83 ec 0c sub $0xc,%esp
804860c: 50 push %eax
804860d: e8 8a 10 00 00 call 804969c <free>
8048612: 83 c4 10 add $0x10,%esp
8048615: 90 nop
8048616: c9 leave
8048617: c3 ret
08048618 <main>:
8048618: 8d 4c 24 04 lea 0x4(%esp),%ecx
804861c: 83 e4 f0 and $0xfffffff0,%esp
804861f: ff 71 fc pushl -0x4(%ecx)
8048622: 55 push %ebp
8048623: 89 e5 mov %esp,%ebp
8048625: 57 push %edi
8048626: 56 push %esi
8048627: 53 push %ebx
8048628: 51 push %ecx
8048629: 83 ec 28 sub $0x28,%esp
804862c: 89 cb mov %ecx,%ebx
804862e: 83 ec 08 sub $0x8,%esp
8048631: 6a 0a push $0xa
8048633: 68 00 80 0b 00 push $0xb8000
8048638: e8 67 06 00 00 call 8048ca4 <map_phys>
804863d: 83 c4 10 add $0x10,%esp
8048640: 89 45 d4 mov %eax,-0x2c(%ebp)
8048643: c7 45 d8 50 00 00 00 movl $0x50,-0x28(%ebp)
804864a: c7 45 dc 19 00 00 00 movl $0x19,-0x24(%ebp)
8048651: 83 ec 04 sub $0x4,%esp
8048654: 83 ec 0c sub $0xc,%esp
8048657: 89 e0 mov %esp,%eax
8048659: 89 c7 mov %eax,%edi
804865b: 8d 45 d4 lea -0x2c(%ebp),%eax
804865e: ba 03 00 00 00 mov $0x3,%edx
8048663: 89 c6 mov %eax,%esi
8048665: 89 d1 mov %edx,%ecx
8048667: f3 a5 rep movsl %ds:(%esi),%es:(%edi)
8048669: e8 b6 02 00 00 call 8048924 <vga_init>
804866e: 83 c4 10 add $0x10,%esp
8048671: 83 ec 0c sub $0xc,%esp
8048674: 68 88 9d 04 08 push $0x8049d88
8048679: e8 7b 03 00 00 call 80489f9 <vga_write_string>
804867e: 83 c4 10 add $0x10,%esp
8048681: 83 ec 08 sub $0x8,%esp
8048684: ff 33 pushl (%ebx)
8048686: 68 8e 9d 04 08 push $0x8049d8e
804868b: e8 fc fb ff ff call 804828c <find_loc>
8048690: 83 c4 10 add $0x10,%esp
8048693: 89 45 e4 mov %eax,-0x1c(%ebp)
8048696: 83 ec 08 sub $0x8,%esp
8048699: ff 33 pushl (%ebx)
804869b: ff 75 e4 pushl -0x1c(%ebp)
804869e: e8 ad fc ff ff call 8048350 <load_task>
80486a3: 83 c4 10 add $0x10,%esp
80486a6: e8 2c 15 00 00 call 8049bd7 <yield>
80486ab: 83 ec 08 sub $0x8,%esp
80486ae: ff 33 pushl (%ebx)
80486b0: 68 92 9d 04 08 push $0x8049d92
80486b5: e8 d2 fb ff ff call 804828c <find_loc>
80486ba: 83 c4 10 add $0x10,%esp
80486bd: 89 45 e4 mov %eax,-0x1c(%ebp)
80486c0: 83 ec 08 sub $0x8,%esp
80486c3: ff 33 pushl (%ebx)
80486c5: ff 75 e4 pushl -0x1c(%ebp)
80486c8: e8 83 fc ff ff call 8048350 <load_task>
80486cd: 83 c4 10 add $0x10,%esp
80486d0: 83 ec 0c sub $0xc,%esp
80486d3: 6a 03 push $0x3
80486d5: e8 56 15 00 00 call 8049c30 <yieldToPID>
80486da: 83 c4 10 add $0x10,%esp
80486dd: 83 ec 0c sub $0xc,%esp
80486e0: 68 98 9d 04 08 push $0x8049d98
80486e5: e8 0f 03 00 00 call 80489f9 <vga_write_string>
80486ea: 83 c4 10 add $0x10,%esp
80486ed: 83 ec 08 sub $0x8,%esp
80486f0: 68 a7 9d 04 08 push $0x8049da7
80486f5: 68 a9 9d 04 08 push $0x8049da9
80486fa: e8 6e 06 00 00 call 8048d6d <fopen>
80486ff: 83 c4 10 add $0x10,%esp
8048702: 89 45 e0 mov %eax,-0x20(%ebp)
8048705: 83 ec 0c sub $0xc,%esp
8048708: 68 b2 9d 04 08 push $0x8049db2
804870d: e8 e7 02 00 00 call 80489f9 <vga_write_string>
8048712: 83 c4 10 add $0x10,%esp
8048715: 83 7d e0 00 cmpl $0x0,-0x20(%ebp)
8048719: 74 c2 je 80486dd <main+0xc5>
804871b: 83 ec 0c sub $0xc,%esp
804871e: 68 c2 9d 04 08 push $0x8049dc2
8048723: e8 d1 02 00 00 call 80489f9 <vga_write_string>
8048728: 83 c4 10 add $0x10,%esp
804872b: ff 75 e0 pushl -0x20(%ebp)
804872e: 6a 0c push $0xc
8048730: 6a 01 push $0x1
8048732: 68 d1 9d 04 08 push $0x8049dd1
8048737: e8 8e 08 00 00 call 8048fca <fwrite>
804873c: 83 c4 10 add $0x10,%esp
804873f: 83 ec 0c sub $0xc,%esp
8048742: 68 de 9d 04 08 push $0x8049dde
8048747: e8 ad 02 00 00 call 80489f9 <vga_write_string>
804874c: 83 c4 10 add $0x10,%esp
804874f: b8 00 00 00 00 mov $0x0,%eax
8048754: 8d 65 f0 lea -0x10(%ebp),%esp
8048757: 59 pop %ecx
8048758: 5b pop %ebx
8048759: 5e pop %esi
804875a: 5f pop %edi
804875b: 5d pop %ebp
804875c: 8d 61 fc lea -0x4(%ecx),%esp
804875f: c3 ret
08048760 <port_byte_in>:
8048760: 55 push %ebp
8048761: 89 e5 mov %esp,%ebp
8048763: 83 ec 14 sub $0x14,%esp
8048766: 8b 45 08 mov 0x8(%ebp),%eax
8048769: 66 89 45 ec mov %ax,-0x14(%ebp)
804876d: 8b 45 ec mov -0x14(%ebp),%eax
8048770: 89 c2 mov %eax,%edx
8048772: ec in (%dx),%al
8048773: 88 45 ff mov %al,-0x1(%ebp)
8048776: 8a 45 ff mov -0x1(%ebp),%al
8048779: c9 leave
804877a: c3 ret
0804877b <port_byte_out>:
804877b: 55 push %ebp
804877c: 89 e5 mov %esp,%ebp
804877e: 83 ec 08 sub $0x8,%esp
8048781: 8b 45 08 mov 0x8(%ebp),%eax
8048784: 8b 55 0c mov 0xc(%ebp),%edx
8048787: 66 89 45 fc mov %ax,-0x4(%ebp)
804878b: 88 d0 mov %dl,%al
804878d: 88 45 f8 mov %al,-0x8(%ebp)
8048790: 8a 45 f8 mov -0x8(%ebp),%al
8048793: 8b 55 fc mov -0x4(%ebp),%edx
8048796: ee out %al,(%dx)
8048797: 90 nop
8048798: c9 leave
8048799: c3 ret
0804879a <port_word_in>:
804879a: 55 push %ebp
804879b: 89 e5 mov %esp,%ebp
804879d: 83 ec 14 sub $0x14,%esp
80487a0: 8b 45 08 mov 0x8(%ebp),%eax
80487a3: 66 89 45 ec mov %ax,-0x14(%ebp)
80487a7: 8b 45 ec mov -0x14(%ebp),%eax
80487aa: 89 c2 mov %eax,%edx
80487ac: 66 ed in (%dx),%ax
80487ae: 66 89 45 fe mov %ax,-0x2(%ebp)
80487b2: 66 8b 45 fe mov -0x2(%ebp),%ax
80487b6: c9 leave
80487b7: c3 ret
080487b8 <port_word_out>:
80487b8: 55 push %ebp
80487b9: 89 e5 mov %esp,%ebp
80487bb: 83 ec 08 sub $0x8,%esp
80487be: 8b 55 08 mov 0x8(%ebp),%edx
80487c1: 8b 45 0c mov 0xc(%ebp),%eax
80487c4: 66 89 55 fc mov %dx,-0x4(%ebp)
80487c8: 66 89 45 f8 mov %ax,-0x8(%ebp)
80487cc: 8b 45 f8 mov -0x8(%ebp),%eax
80487cf: 8b 55 fc mov -0x4(%ebp),%edx
80487d2: 66 ef out %ax,(%dx)
80487d4: 90 nop
80487d5: c9 leave
80487d6: c3 ret
080487d7 <port_long_in>:
80487d7: 55 push %ebp
80487d8: 89 e5 mov %esp,%ebp
80487da: 83 ec 14 sub $0x14,%esp
80487dd: 8b 45 08 mov 0x8(%ebp),%eax
80487e0: 66 89 45 ec mov %ax,-0x14(%ebp)
80487e4: 8b 45 ec mov -0x14(%ebp),%eax
80487e7: 89 c2 mov %eax,%edx
80487e9: ed in (%dx),%eax
80487ea: 89 45 fc mov %eax,-0x4(%ebp)
80487ed: 8b 45 fc mov -0x4(%ebp),%eax
80487f0: c9 leave
80487f1: c3 ret
080487f2 <port_long_out>:
80487f2: 55 push %ebp
80487f3: 89 e5 mov %esp,%ebp
80487f5: 83 ec 04 sub $0x4,%esp
80487f8: 8b 45 08 mov 0x8(%ebp),%eax
80487fb: 66 89 45 fc mov %ax,-0x4(%ebp)
80487ff: 8b 45 0c mov 0xc(%ebp),%eax
8048802: 8b 55 fc mov -0x4(%ebp),%edx
8048805: ef out %eax,(%dx)
8048806: 90 nop
8048807: c9 leave
8048808: c3 ret
08048809 <set_char>:
8048809: 55 push %ebp
804880a: 89 e5 mov %esp,%ebp
804880c: 53 push %ebx
804880d: 83 ec 04 sub $0x4,%esp
8048810: 8b 45 10 mov 0x10(%ebp),%eax
8048813: 88 45 f8 mov %al,-0x8(%ebp)
8048816: 8b 15 a0 b6 04 08 mov 0x804b6a0,%edx
804881c: a1 a4 b6 04 08 mov 0x804b6a4,%eax
8048821: 0f af 45 0c imul 0xc(%ebp),%eax
8048825: 89 c1 mov %eax,%ecx
8048827: 8b 45 08 mov 0x8(%ebp),%eax
804882a: 01 c8 add %ecx,%eax
804882c: 01 c0 add %eax,%eax
804882e: 01 c2 add %eax,%edx
8048830: 8a 45 f8 mov -0x8(%ebp),%al
8048833: 88 02 mov %al,(%edx)
8048835: a1 b8 b6 04 08 mov 0x804b6b8,%eax
804883a: c1 e0 04 shl $0x4,%eax
804883d: 88 c2 mov %al,%dl
804883f: a1 b4 b6 04 08 mov 0x804b6b4,%eax
8048844: 88 d3 mov %dl,%bl
8048846: 09 c3 or %eax,%ebx
8048848: 8b 15 a0 b6 04 08 mov 0x804b6a0,%edx
804884e: a1 a4 b6 04 08 mov 0x804b6a4,%eax
8048853: 0f af 45 0c imul 0xc(%ebp),%eax
8048857: 89 c1 mov %eax,%ecx
8048859: 8b 45 08 mov 0x8(%ebp),%eax
804885c: 01 c8 add %ecx,%eax
804885e: 01 c0 add %eax,%eax
8048860: 40 inc %eax
8048861: 01 d0 add %edx,%eax
8048863: 88 da mov %bl,%dl
8048865: 88 10 mov %dl,(%eax)
8048867: 90 nop
8048868: 83 c4 04 add $0x4,%esp
804886b: 5b pop %ebx
804886c: 5d pop %ebp
804886d: c3 ret
0804886e <vga_clear>:
804886e: 55 push %ebp
804886f: 89 e5 mov %esp,%ebp
8048871: 83 ec 10 sub $0x10,%esp
8048874: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
804887b: eb 29 jmp 80488a6 <vga_clear+0x38>
804887d: c7 45 f8 00 00 00 00 movl $0x0,-0x8(%ebp)
8048884: eb 13 jmp 8048899 <vga_clear+0x2b>
8048886: 6a 20 push $0x20
8048888: ff 75 fc pushl -0x4(%ebp)
804888b: ff 75 f8 pushl -0x8(%ebp)
804888e: e8 76 ff ff ff call 8048809 <set_char>
8048893: 83 c4 0c add $0xc,%esp
8048896: ff 45 f8 incl -0x8(%ebp)
8048899: a1 a4 b6 04 08 mov 0x804b6a4,%eax
804889e: 39 45 f8 cmp %eax,-0x8(%ebp)
80488a1: 7c e3 jl 8048886 <vga_clear+0x18>
80488a3: ff 45 fc incl -0x4(%ebp)
80488a6: a1 a8 b6 04 08 mov 0x804b6a8,%eax
80488ab: 39 45 fc cmp %eax,-0x4(%ebp)
80488ae: 7c cd jl 804887d <vga_clear+0xf>
80488b0: 90 nop
80488b1: c9 leave
80488b2: c3 ret
080488b3 <set_cursor>:
80488b3: 55 push %ebp
80488b4: 89 e5 mov %esp,%ebp
80488b6: 83 ec 18 sub $0x18,%esp
80488b9: a1 a4 b6 04 08 mov 0x804b6a4,%eax
80488be: 0f af 45 0c imul 0xc(%ebp),%eax
80488c2: 89 c2 mov %eax,%edx
80488c4: 8b 45 08 mov 0x8(%ebp),%eax
80488c7: 01 d0 add %edx,%eax
80488c9: 89 45 f4 mov %eax,-0xc(%ebp)
80488cc: 83 ec 08 sub $0x8,%esp
80488cf: 6a 0f push $0xf
80488d1: 68 d4 03 00 00 push $0x3d4
80488d6: e8 a0 fe ff ff call 804877b <port_byte_out>
80488db: 83 c4 10 add $0x10,%esp
80488de: 8b 45 f4 mov -0xc(%ebp),%eax
80488e1: 0f b6 c0 movzbl %al,%eax
80488e4: 83 ec 08 sub $0x8,%esp
80488e7: 50 push %eax
80488e8: 68 d5 03 00 00 push $0x3d5
80488ed: e8 89 fe ff ff call 804877b <port_byte_out>
80488f2: 83 c4 10 add $0x10,%esp
80488f5: 83 ec 08 sub $0x8,%esp
80488f8: 6a 0e push $0xe
80488fa: 68 d4 03 00 00 push $0x3d4
80488ff: e8 77 fe ff ff call 804877b <port_byte_out>
8048904: 83 c4 10 add $0x10,%esp
8048907: 8b 45 f4 mov -0xc(%ebp),%eax
804890a: c1 f8 08 sar $0x8,%eax
804890d: 0f b6 c0 movzbl %al,%eax
8048910: 83 ec 08 sub $0x8,%esp
8048913: 50 push %eax
8048914: 68 d5 03 00 00 push $0x3d5
8048919: e8 5d fe ff ff call 804877b <port_byte_out>
804891e: 83 c4 10 add $0x10,%esp
8048921: 90 nop
8048922: c9 leave
8048923: c3 ret
08048924 <vga_init>:
8048924: 55 push %ebp
8048925: 89 e5 mov %esp,%ebp
8048927: 83 ec 08 sub $0x8,%esp
804892a: c7 05 ac b6 04 08 00 movl $0x0,0x804b6ac
8048931: 00 00 00
8048934: c7 05 b0 b6 04 08 00 movl $0x0,0x804b6b0
804893b: 00 00 00
804893e: c7 05 b4 b6 04 08 0f movl $0xf,0x804b6b4
8048945: 00 00 00
8048948: c7 05 b8 b6 04 08 00 movl $0x0,0x804b6b8
804894f: 00 00 00
8048952: 8b 45 08 mov 0x8(%ebp),%eax
8048955: a3 a0 b6 04 08 mov %eax,0x804b6a0
804895a: 8b 45 0c mov 0xc(%ebp),%eax
804895d: a3 a4 b6 04 08 mov %eax,0x804b6a4
8048962: 8b 45 10 mov 0x10(%ebp),%eax
8048965: a3 a8 b6 04 08 mov %eax,0x804b6a8
804896a: 83 ec 08 sub $0x8,%esp
804896d: 6a 0a push $0xa
804896f: 68 d4 03 00 00 push $0x3d4
8048974: e8 02 fe ff ff call 804877b <port_byte_out>
8048979: 83 c4 10 add $0x10,%esp
804897c: 83 ec 0c sub $0xc,%esp
804897f: 68 d5 03 00 00 push $0x3d5
8048984: e8 d7 fd ff ff call 8048760 <port_byte_in>
8048989: 83 c4 10 add $0x10,%esp
804898c: 83 e0 c0 and $0xffffffc0,%eax
804898f: 83 c8 0e or $0xe,%eax
8048992: 0f b6 c0 movzbl %al,%eax
8048995: 83 ec 08 sub $0x8,%esp
8048998: 50 push %eax
8048999: 68 d5 03 00 00 push $0x3d5
804899e: e8 d8 fd ff ff call 804877b <port_byte_out>
80489a3: 83 c4 10 add $0x10,%esp
80489a6: 83 ec 08 sub $0x8,%esp
80489a9: 6a 0b push $0xb
80489ab: 68 d4 03 00 00 push $0x3d4
80489b0: e8 c6 fd ff ff call 804877b <port_byte_out>
80489b5: 83 c4 10 add $0x10,%esp
80489b8: 83 ec 0c sub $0xc,%esp
80489bb: 68 d5 03 00 00 push $0x3d5
80489c0: e8 9b fd ff ff call 8048760 <port_byte_in>
80489c5: 83 c4 10 add $0x10,%esp
80489c8: 83 e0 e0 and $0xffffffe0,%eax
80489cb: 83 c8 0f or $0xf,%eax
80489ce: 0f b6 c0 movzbl %al,%eax
80489d1: 83 ec 08 sub $0x8,%esp
80489d4: 50 push %eax
80489d5: 68 d5 03 00 00 push $0x3d5
80489da: e8 9c fd ff ff call 804877b <port_byte_out>
80489df: 83 c4 10 add $0x10,%esp
80489e2: 83 ec 08 sub $0x8,%esp
80489e5: 6a 00 push $0x0
80489e7: 6a 00 push $0x0
80489e9: e8 c5 fe ff ff call 80488b3 <set_cursor>
80489ee: 83 c4 10 add $0x10,%esp
80489f1: e8 78 fe ff ff call 804886e <vga_clear>
80489f6: 90 nop
80489f7: c9 leave
80489f8: c3 ret
080489f9 <vga_write_string>:
80489f9: 55 push %ebp
80489fa: 89 e5 mov %esp,%ebp
80489fc: 83 ec 18 sub $0x18,%esp
80489ff: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
8048a06: e9 16 01 00 00 jmp 8048b21 <vga_write_string+0x128>
8048a0b: 8b 55 08 mov 0x8(%ebp),%edx
8048a0e: 8b 45 f4 mov -0xc(%ebp),%eax
8048a11: 01 d0 add %edx,%eax
8048a13: 8a 00 mov (%eax),%al
8048a15: 88 45 ef mov %al,-0x11(%ebp)
8048a18: 80 7d ef 0a cmpb $0xa,-0x11(%ebp)
8048a1c: 75 2c jne 8048a4a <vga_write_string+0x51>
8048a1e: c7 05 ac b6 04 08 00 movl $0x0,0x804b6ac
8048a25: 00 00 00
8048a28: a1 b0 b6 04 08 mov 0x804b6b0,%eax
8048a2d: 40 inc %eax
8048a2e: a3 b0 b6 04 08 mov %eax,0x804b6b0
8048a33: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
8048a3a: eb 03 jmp 8048a3f <vga_write_string+0x46>
8048a3c: ff 45 f0 incl -0x10(%ebp)
8048a3f: 81 7d f0 ff ff ff 03 cmpl $0x3ffffff,-0x10(%ebp)
8048a46: 7e f4 jle 8048a3c <vga_write_string+0x43>
8048a48: eb 25 jmp 8048a6f <vga_write_string+0x76>
8048a4a: 0f be 4d ef movsbl -0x11(%ebp),%ecx
8048a4e: 8b 15 b0 b6 04 08 mov 0x804b6b0,%edx
8048a54: a1 ac b6 04 08 mov 0x804b6ac,%eax
8048a59: 51 push %ecx
8048a5a: 52 push %edx
8048a5b: 50 push %eax
8048a5c: e8 a8 fd ff ff call 8048809 <set_char>
8048a61: 83 c4 0c add $0xc,%esp
8048a64: a1 ac b6 04 08 mov 0x804b6ac,%eax
8048a69: 40 inc %eax
8048a6a: a3 ac b6 04 08 mov %eax,0x804b6ac
8048a6f: 8b 15 ac b6 04 08 mov 0x804b6ac,%edx
8048a75: a1 a4 b6 04 08 mov 0x804b6a4,%eax
8048a7a: 39 c2 cmp %eax,%edx
8048a7c: 75 15 jne 8048a93 <vga_write_string+0x9a>
8048a7e: c7 05 ac b6 04 08 00 movl $0x0,0x804b6ac
8048a85: 00 00 00
8048a88: a1 b0 b6 04 08 mov 0x804b6b0,%eax
8048a8d: 40 inc %eax
8048a8e: a3 b0 b6 04 08 mov %eax,0x804b6b0
8048a93: 8b 15 b0 b6 04 08 mov 0x804b6b0,%edx
8048a99: a1 a8 b6 04 08 mov 0x804b6a8,%eax
8048a9e: 39 c2 cmp %eax,%edx
8048aa0: 75 7c jne 8048b1e <vga_write_string+0x125>
8048aa2: c7 05 ac b6 04 08 00 movl $0x0,0x804b6ac
8048aa9: 00 00 00
8048aac: c7 05 b0 b6 04 08 18 movl $0x18,0x804b6b0
8048ab3: 00 00 00
8048ab6: 8b 15 a4 b6 04 08 mov 0x804b6a4,%edx
8048abc: 89 d0 mov %edx,%eax
8048abe: 01 c0 add %eax,%eax
8048ac0: 01 d0 add %edx,%eax
8048ac2: c1 e0 04 shl $0x4,%eax
8048ac5: 89 c2 mov %eax,%edx
8048ac7: 8b 0d a0 b6 04 08 mov 0x804b6a0,%ecx
8048acd: a1 a4 b6 04 08 mov 0x804b6a4,%eax
8048ad2: 01 c0 add %eax,%eax
8048ad4: 01 c8 add %ecx,%eax
8048ad6: 83 ec 04 sub $0x4,%esp
8048ad9: 52 push %edx
8048ada: 50 push %eax
8048adb: 68 c0 b6 04 08 push $0x804b6c0
8048ae0: e8 4b 0c 00 00 call 8049730 <memcpy>
8048ae5: 83 c4 10 add $0x10,%esp
8048ae8: e8 81 fd ff ff call 804886e <vga_clear>
8048aed: 8b 15 a4 b6 04 08 mov 0x804b6a4,%edx
8048af3: 89 d0 mov %edx,%eax
8048af5: c1 e0 02 shl $0x2,%eax
8048af8: 01 d0 add %edx,%eax
8048afa: 8d 14 85 00 00 00 00 lea 0x0(,%eax,4),%edx
8048b01: 01 d0 add %edx,%eax
8048b03: 01 c0 add %eax,%eax
8048b05: 89 c2 mov %eax,%edx
8048b07: a1 a0 b6 04 08 mov 0x804b6a0,%eax
8048b0c: 83 ec 04 sub $0x4,%esp
8048b0f: 52 push %edx
8048b10: 68 c0 b6 04 08 push $0x804b6c0
8048b15: 50 push %eax
8048b16: e8 15 0c 00 00 call 8049730 <memcpy>
8048b1b: 83 c4 10 add $0x10,%esp
8048b1e: ff 45 f4 incl -0xc(%ebp)
8048b21: 83 ec 0c sub $0xc,%esp
8048b24: ff 75 08 pushl 0x8(%ebp)
8048b27: e8 d4 0c 00 00 call 8049800 <strlen>
8048b2c: 83 c4 10 add $0x10,%esp
8048b2f: 39 45 f4 cmp %eax,-0xc(%ebp)
8048b32: 0f 82 d3 fe ff ff jb 8048a0b <vga_write_string+0x12>
8048b38: 8b 15 b0 b6 04 08 mov 0x804b6b0,%edx
8048b3e: a1 ac b6 04 08 mov 0x804b6ac,%eax
8048b43: 83 ec 08 sub $0x8,%esp
8048b46: 52 push %edx
8048b47: 50 push %eax
8048b48: e8 66 fd ff ff call 80488b3 <set_cursor>
8048b4d: 83 c4 10 add $0x10,%esp
8048b50: 90 nop
8048b51: c9 leave
8048b52: c3 ret
08048b53 <vga_backspace>:
8048b53: 55 push %ebp
8048b54: 89 e5 mov %esp,%ebp
8048b56: 83 ec 08 sub $0x8,%esp
8048b59: a1 ac b6 04 08 mov 0x804b6ac,%eax
8048b5e: 85 c0 test %eax,%eax
8048b60: 74 3a je 8048b9c <vga_backspace+0x49>
8048b62: a1 ac b6 04 08 mov 0x804b6ac,%eax
8048b67: 48 dec %eax
8048b68: a3 ac b6 04 08 mov %eax,0x804b6ac
8048b6d: 8b 15 b0 b6 04 08 mov 0x804b6b0,%edx
8048b73: a1 ac b6 04 08 mov 0x804b6ac,%eax
8048b78: 6a 20 push $0x20
8048b7a: 52 push %edx
8048b7b: 50 push %eax
8048b7c: e8 88 fc ff ff call 8048809 <set_char>
8048b81: 83 c4 0c add $0xc,%esp
8048b84: 8b 15 b0 b6 04 08 mov 0x804b6b0,%edx
8048b8a: a1 ac b6 04 08 mov 0x804b6ac,%eax
8048b8f: 83 ec 08 sub $0x8,%esp
8048b92: 52 push %edx
8048b93: 50 push %eax
8048b94: e8 1a fd ff ff call 80488b3 <set_cursor>
8048b99: 83 c4 10 add $0x10,%esp
8048b9c: 90 nop
8048b9d: c9 leave
8048b9e: c3 ret
8048b9f: 90 nop
08048ba0 <_start>:
8048ba0: e8 25 01 00 00 call 8048cca <__stdio_init>
8048ba5: e8 6e fa ff ff call 8048618 <main>
8048baa: 6a 00 push $0x0
8048bac: e8 93 10 00 00 call 8049c44 <exit>
8048bb1: c3 ret
08048bb2 <mailbox_new>:
8048bb2: 55 push %ebp
8048bb3: 89 e5 mov %esp,%ebp
8048bb5: 53 push %ebx
8048bb6: 83 ec 14 sub $0x14,%esp
8048bb9: 8b 45 08 mov 0x8(%ebp),%eax
8048bbc: 66 89 45 e8 mov %ax,-0x18(%ebp)
8048bc0: 8b 45 e8 mov -0x18(%ebp),%eax
8048bc3: 89 c3 mov %eax,%ebx
8048bc5: b8 0e 00 00 00 mov $0xe,%eax
8048bca: cd 50 int $0x50
8048bcc: 89 d8 mov %ebx,%eax
8048bce: 89 45 f8 mov %eax,-0x8(%ebp)
8048bd1: 8b 45 f8 mov -0x8(%ebp),%eax
8048bd4: 83 c4 14 add $0x14,%esp
8048bd7: 5b pop %ebx
8048bd8: 5d pop %ebp
8048bd9: c3 ret
08048bda <mailbox_send_msg>:
8048bda: 55 push %ebp
8048bdb: 89 e5 mov %esp,%ebp
8048bdd: 53 push %ebx
8048bde: 8b 45 08 mov 0x8(%ebp),%eax
8048be1: 89 c3 mov %eax,%ebx
8048be3: b8 07 00 00 00 mov $0x7,%eax
8048be8: cd 50 int $0x50
8048bea: 90 nop
8048beb: 5b pop %ebx
8048bec: 5d pop %ebp
8048bed: c3 ret
08048bee <mailbox_get_msg>:
8048bee: 55 push %ebp
8048bef: 89 e5 mov %esp,%ebp
8048bf1: 53 push %ebx
8048bf2: 8b 45 08 mov 0x8(%ebp),%eax
8048bf5: 8b 4d 0c mov 0xc(%ebp),%ecx
8048bf8: 8b 55 10 mov 0x10(%ebp),%edx
8048bfb: 89 c3 mov %eax,%ebx
8048bfd: b8 06 00 00 00 mov $0x6,%eax
8048c02: cd 50 int $0x50
8048c04: 90 nop
8048c05: 5b pop %ebx
8048c06: 5d pop %ebp
8048c07: c3 ret
08048c08 <alloc_memory>:
8048c08: 55 push %ebp
8048c09: 89 e5 mov %esp,%ebp
8048c0b: 53 push %ebx
8048c0c: 83 ec 10 sub $0x10,%esp
8048c0f: 8b 45 08 mov 0x8(%ebp),%eax
8048c12: 89 c3 mov %eax,%ebx
8048c14: b8 03 00 00 00 mov $0x3,%eax
8048c19: cd 50 int $0x50
8048c1b: 89 d8 mov %ebx,%eax
8048c1d: 89 45 f8 mov %eax,-0x8(%ebp)
8048c20: 8b 45 f8 mov -0x8(%ebp),%eax
8048c23: 83 c4 10 add $0x10,%esp
8048c26: 5b pop %ebx
8048c27: 5d pop %ebp
8048c28: c3 ret
08048c29 <alloc_memory_virt>:
8048c29: 55 push %ebp
8048c2a: 89 e5 mov %esp,%ebp
8048c2c: 53 push %ebx
8048c2d: 8b 45 08 mov 0x8(%ebp),%eax
8048c30: 8b 55 0c mov 0xc(%ebp),%edx
8048c33: 89 c3 mov %eax,%ebx
8048c35: 89 d1 mov %edx,%ecx
8048c37: b8 04 00 00 00 mov $0x4,%eax
8048c3c: cd 50 int $0x50
8048c3e: 90 nop
8048c3f: 5b pop %ebx
8048c40: 5d pop %ebp
8048c41: c3 ret
08048c42 <new_address_space>:
8048c42: 55 push %ebp
8048c43: 89 e5 mov %esp,%ebp
8048c45: 53 push %ebx
8048c46: 83 ec 10 sub $0x10,%esp
8048c49: b8 08 00 00 00 mov $0x8,%eax
8048c4e: cd 50 int $0x50
8048c50: 89 d8 mov %ebx,%eax
8048c52: 89 45 f8 mov %eax,-0x8(%ebp)
8048c55: 8b 45 f8 mov -0x8(%ebp),%eax
8048c58: 83 c4 10 add $0x10,%esp
8048c5b: 5b pop %ebx
8048c5c: 5d pop %ebp
8048c5d: c3 ret
08048c5e <copy_data>:
8048c5e: 55 push %ebp
8048c5f: 89 e5 mov %esp,%ebp
8048c61: 56 push %esi
8048c62: 53 push %ebx
8048c63: 8b 45 08 mov 0x8(%ebp),%eax
8048c66: 8b 4d 0c mov 0xc(%ebp),%ecx
8048c69: 8b 55 10 mov 0x10(%ebp),%edx
8048c6c: 8b 75 14 mov 0x14(%ebp),%esi
8048c6f: 89 c3 mov %eax,%ebx
8048c71: b8 0a 00 00 00 mov $0xa,%eax
8048c76: cd 50 int $0x50
8048c78: 90 nop
8048c79: 5b pop %ebx
8048c7a: 5e pop %esi
8048c7b: 5d pop %ebp
8048c7c: c3 ret
08048c7d <put_data>:
8048c7d: 55 push %ebp
8048c7e: 89 e5 mov %esp,%ebp
8048c80: 53 push %ebx
8048c81: 83 ec 10 sub $0x10,%esp
8048c84: 8b 45 08 mov 0x8(%ebp),%eax
8048c87: 8b 4d 0c mov 0xc(%ebp),%ecx
8048c8a: 8b 55 10 mov 0x10(%ebp),%edx
8048c8d: 89 c3 mov %eax,%ebx
8048c8f: b8 0d 00 00 00 mov $0xd,%eax
8048c94: cd 50 int $0x50
8048c96: 89 d8 mov %ebx,%eax
8048c98: 89 45 f8 mov %eax,-0x8(%ebp)
8048c9b: 8b 45 f8 mov -0x8(%ebp),%eax
8048c9e: 83 c4 10 add $0x10,%esp
8048ca1: 5b pop %ebx
8048ca2: 5d pop %ebp
8048ca3: c3 ret
08048ca4 <map_phys>:
8048ca4: 55 push %ebp
8048ca5: 89 e5 mov %esp,%ebp
8048ca7: 53 push %ebx
8048ca8: 83 ec 10 sub $0x10,%esp
8048cab: 8b 45 08 mov 0x8(%ebp),%eax
8048cae: 8b 55 0c mov 0xc(%ebp),%edx
8048cb1: 89 c3 mov %eax,%ebx
8048cb3: 89 d1 mov %edx,%ecx
8048cb5: b8 0b 00 00 00 mov $0xb,%eax
8048cba: cd 50 int $0x50
8048cbc: 89 d8 mov %ebx,%eax
8048cbe: 89 45 f8 mov %eax,-0x8(%ebp)
8048cc1: 8b 45 f8 mov -0x8(%ebp),%eax
8048cc4: 83 c4 10 add $0x10,%esp
8048cc7: 5b pop %ebx
8048cc8: 5d pop %ebp
8048cc9: c3 ret
08048cca <__stdio_init>:
8048cca: 55 push %ebp
8048ccb: 89 e5 mov %esp,%ebp
8048ccd: 83 ec 08 sub $0x8,%esp
8048cd0: 83 ec 0c sub $0xc,%esp
8048cd3: 6a 10 push $0x10
8048cd5: e8 d8 fe ff ff call 8048bb2 <mailbox_new>
8048cda: 83 c4 10 add $0x10,%esp
8048cdd: a3 40 f5 04 08 mov %eax,0x804f540
8048ce2: 90 nop
8048ce3: c9 leave
8048ce4: c3 ret
08048ce5 <make_msg>:
8048ce5: 55 push %ebp
8048ce6: 89 e5 mov %esp,%ebp
8048ce8: 83 ec 18 sub $0x18,%esp
8048ceb: 83 ec 0c sub $0xc,%esp
8048cee: 68 24 10 00 00 push $0x1024
8048cf3: e8 37 07 00 00 call 804942f <malloc>
8048cf8: 83 c4 10 add $0x10,%esp
8048cfb: 89 45 f4 mov %eax,-0xc(%ebp)
8048cfe: 8b 45 f4 mov -0xc(%ebp),%eax
8048d01: 8b 55 08 mov 0x8(%ebp),%edx
8048d04: 89 10 mov %edx,(%eax)
8048d06: 8b 15 44 f5 04 08 mov 0x804f544,%edx
8048d0c: 8b 45 f4 mov -0xc(%ebp),%eax
8048d0f: 89 50 04 mov %edx,0x4(%eax)
8048d12: 8b 45 f4 mov -0xc(%ebp),%eax
8048d15: 8b 55 14 mov 0x14(%ebp),%edx
8048d18: 89 50 14 mov %edx,0x14(%eax)
8048d1b: 8b 45 f4 mov -0xc(%ebp),%eax
8048d1e: 8b 55 18 mov 0x18(%ebp),%edx
8048d21: 89 90 20 10 00 00 mov %edx,0x1020(%eax)
8048d27: a1 44 f5 04 08 mov 0x804f544,%eax
8048d2c: 40 inc %eax
8048d2d: a3 44 f5 04 08 mov %eax,0x804f544
8048d32: 83 7d 0c 00 cmpl $0x0,0xc(%ebp)
8048d36: 74 15 je 8048d4d <make_msg+0x68>
8048d38: 8b 45 f4 mov -0xc(%ebp),%eax
8048d3b: 83 c0 08 add $0x8,%eax
8048d3e: 83 ec 08 sub $0x8,%esp
8048d41: ff 75 0c pushl 0xc(%ebp)
8048d44: 50 push %eax
8048d45: e8 db 0a 00 00 call 8049825 <strcpy>
8048d4a: 83 c4 10 add $0x10,%esp
8048d4d: 83 7d 10 00 cmpl $0x0,0x10(%ebp)
8048d51: 74 15 je 8048d68 <make_msg+0x83>
8048d53: 8b 45 f4 mov -0xc(%ebp),%eax
8048d56: 83 c0 18 add $0x18,%eax
8048d59: 83 ec 08 sub $0x8,%esp
8048d5c: ff 75 10 pushl 0x10(%ebp)
8048d5f: 50 push %eax
8048d60: e8 c0 0a 00 00 call 8049825 <strcpy>
8048d65: 83 c4 10 add $0x10,%esp
8048d68: 8b 45 f4 mov -0xc(%ebp),%eax
8048d6b: c9 leave
8048d6c: c3 ret
08048d6d <fopen>:
8048d6d: 55 push %ebp
8048d6e: 89 e5 mov %esp,%ebp
8048d70: 83 ec 28 sub $0x28,%esp
8048d73: 83 ec 0c sub $0xc,%esp
8048d76: ff 75 08 pushl 0x8(%ebp)
8048d79: e8 82 0a 00 00 call 8049800 <strlen>
8048d7e: 83 c4 10 add $0x10,%esp
8048d81: 3d 00 10 00 00 cmp $0x1000,%eax
8048d86: 77 13 ja 8048d9b <fopen+0x2e>
8048d88: 83 ec 0c sub $0xc,%esp
8048d8b: ff 75 0c pushl 0xc(%ebp)
8048d8e: e8 6d 0a 00 00 call 8049800 <strlen>
8048d93: 83 c4 10 add $0x10,%esp
8048d96: 83 f8 0a cmp $0xa,%eax
8048d99: 76 0a jbe 8048da5 <fopen+0x38>
8048d9b: b8 00 00 00 00 mov $0x0,%eax
8048da0: e9 f2 00 00 00 jmp 8048e97 <fopen+0x12a>
8048da5: 83 ec 0c sub $0xc,%esp
8048da8: 6a 00 push $0x0
8048daa: 6a 00 push $0x0
8048dac: ff 75 08 pushl 0x8(%ebp)
8048daf: ff 75 0c pushl 0xc(%ebp)
8048db2: 6a 00 push $0x0
8048db4: e8 2c ff ff ff call 8048ce5 <make_msg>
8048db9: 83 c4 20 add $0x20,%esp
8048dbc: 89 45 f4 mov %eax,-0xc(%ebp)
8048dbf: a1 40 f5 04 08 mov 0x804f540,%eax
8048dc4: 89 45 e0 mov %eax,-0x20(%ebp)
8048dc7: c7 45 e4 03 00 00 00 movl $0x3,-0x1c(%ebp)
8048dce: 8b 45 f4 mov -0xc(%ebp),%eax
8048dd1: 89 45 dc mov %eax,-0x24(%ebp)
8048dd4: c7 45 e8 24 10 00 00 movl $0x1024,-0x18(%ebp)
8048ddb: 83 ec 0c sub $0xc,%esp
8048dde: 8d 45 dc lea -0x24(%ebp),%eax
8048de1: 50 push %eax
8048de2: e8 f3 fd ff ff call 8048bda <mailbox_send_msg>
8048de7: 83 c4 10 add $0x10,%esp
8048dea: 83 ec 0c sub $0xc,%esp
8048ded: 6a 02 push $0x2
8048def: e8 3c 0e 00 00 call 8049c30 <yieldToPID>
8048df4: 83 c4 10 add $0x10,%esp
8048df7: a1 40 f5 04 08 mov 0x804f540,%eax
8048dfc: 83 ec 04 sub $0x4,%esp
8048dff: 68 24 10 00 00 push $0x1024
8048e04: 8d 55 dc lea -0x24(%ebp),%edx
8048e07: 52 push %edx
8048e08: 50 push %eax
8048e09: e8 e0 fd ff ff call 8048bee <mailbox_get_msg>
8048e0e: 83 c4 10 add $0x10,%esp
8048e11: eb 27 jmp 8048e3a <fopen+0xcd>
8048e13: 83 ec 0c sub $0xc,%esp
8048e16: 6a 02 push $0x2
8048e18: e8 13 0e 00 00 call 8049c30 <yieldToPID>
8048e1d: 83 c4 10 add $0x10,%esp
8048e20: a1 40 f5 04 08 mov 0x804f540,%eax
8048e25: 83 ec 04 sub $0x4,%esp
8048e28: 68 24 10 00 00 push $0x1024
8048e2d: 8d 55 dc lea -0x24(%ebp),%edx
8048e30: 52 push %edx
8048e31: 50 push %eax
8048e32: e8 b7 fd ff ff call 8048bee <mailbox_get_msg>
8048e37: 83 c4 10 add $0x10,%esp
8048e3a: 8b 45 e0 mov -0x20(%ebp),%eax
8048e3d: 85 c0 test %eax,%eax
8048e3f: 74 d2 je 8048e13 <fopen+0xa6>
8048e41: 8b 45 dc mov -0x24(%ebp),%eax
8048e44: 89 45 f0 mov %eax,-0x10(%ebp)
8048e47: 8b 45 f0 mov -0x10(%ebp),%eax
8048e4a: 8a 80 1c 10 00 00 mov 0x101c(%eax),%al
8048e50: 84 c0 test %al,%al
8048e52: 74 16 je 8048e6a <fopen+0xfd>
8048e54: 8b 45 dc mov -0x24(%ebp),%eax
8048e57: 83 ec 0c sub $0xc,%esp
8048e5a: 50 push %eax
8048e5b: e8 3c 08 00 00 call 804969c <free>
8048e60: 83 c4 10 add $0x10,%esp
8048e63: b8 00 00 00 00 mov $0x0,%eax
8048e68: eb 2d jmp 8048e97 <fopen+0x12a>
8048e6a: 83 ec 0c sub $0xc,%esp
8048e6d: 6a 04 push $0x4
8048e6f: e8 bb 05 00 00 call 804942f <malloc>
8048e74: 83 c4 10 add $0x10,%esp
8048e77: 89 45 ec mov %eax,-0x14(%ebp)
8048e7a: 8b 45 f0 mov -0x10(%ebp),%eax
8048e7d: 8b 50 14 mov 0x14(%eax),%edx
8048e80: 8b 45 ec mov -0x14(%ebp),%eax
8048e83: 89 10 mov %edx,(%eax)
8048e85: 8b 45 dc mov -0x24(%ebp),%eax
8048e88: 83 ec 0c sub $0xc,%esp
8048e8b: 50 push %eax
8048e8c: e8 0b 08 00 00 call 804969c <free>
8048e91: 83 c4 10 add $0x10,%esp
8048e94: 8b 45 ec mov -0x14(%ebp),%eax
8048e97: c9 leave
8048e98: c3 ret
08048e99 <fputc>:
8048e99: 55 push %ebp
8048e9a: 89 e5 mov %esp,%ebp
8048e9c: 83 ec 28 sub $0x28,%esp
8048e9f: 8b 45 0c mov 0xc(%ebp),%eax
8048ea2: 8b 00 mov (%eax),%eax
8048ea4: 83 ec 0c sub $0xc,%esp
8048ea7: ff 75 08 pushl 0x8(%ebp)
8048eaa: 50 push %eax
8048eab: 6a 00 push $0x0
8048ead: 6a 00 push $0x0
8048eaf: 6a 01 push $0x1
8048eb1: e8 2f fe ff ff call 8048ce5 <make_msg>
8048eb6: 83 c4 20 add $0x20,%esp
8048eb9: 89 45 f4 mov %eax,-0xc(%ebp)
8048ebc: a1 40 f5 04 08 mov 0x804f540,%eax
8048ec1: 89 45 e4 mov %eax,-0x1c(%ebp)
8048ec4: c7 45 e8 03 00 00 00 movl $0x3,-0x18(%ebp)
8048ecb: 8b 45 f4 mov -0xc(%ebp),%eax
8048ece: 89 45 e0 mov %eax,-0x20(%ebp)
8048ed1: c7 45 ec 24 10 00 00 movl $0x1024,-0x14(%ebp)
8048ed8: 83 ec 0c sub $0xc,%esp
8048edb: 8d 45 e0 lea -0x20(%ebp),%eax
8048ede: 50 push %eax
8048edf: e8 f6 fc ff ff call 8048bda <mailbox_send_msg>
8048ee4: 83 c4 10 add $0x10,%esp
8048ee7: 83 ec 0c sub $0xc,%esp
8048eea: 6a 02 push $0x2
8048eec: e8 3f 0d 00 00 call 8049c30 <yieldToPID>
8048ef1: 83 c4 10 add $0x10,%esp
8048ef4: a1 40 f5 04 08 mov 0x804f540,%eax
8048ef9: 83 ec 04 sub $0x4,%esp
8048efc: 68 24 10 00 00 push $0x1024
8048f01: 8d 55 e0 lea -0x20(%ebp),%edx
8048f04: 52 push %edx
8048f05: 50 push %eax
8048f06: e8 e3 fc ff ff call 8048bee <mailbox_get_msg>
8048f0b: 83 c4 10 add $0x10,%esp
8048f0e: eb 27 jmp 8048f37 <fputc+0x9e>
8048f10: 83 ec 0c sub $0xc,%esp
8048f13: 6a 02 push $0x2
8048f15: e8 16 0d 00 00 call 8049c30 <yieldToPID>
8048f1a: 83 c4 10 add $0x10,%esp
8048f1d: a1 40 f5 04 08 mov 0x804f540,%eax
8048f22: 83 ec 04 sub $0x4,%esp
8048f25: 68 24 10 00 00 push $0x1024
8048f2a: 8d 55 e0 lea -0x20(%ebp),%edx
8048f2d: 52 push %edx
8048f2e: 50 push %eax
8048f2f: e8 ba fc ff ff call 8048bee <mailbox_get_msg>
8048f34: 83 c4 10 add $0x10,%esp
8048f37: 8b 45 e4 mov -0x1c(%ebp),%eax
8048f3a: 85 c0 test %eax,%eax
8048f3c: 74 d2 je 8048f10 <fputc+0x77>
8048f3e: 8b 45 e0 mov -0x20(%ebp),%eax
8048f41: 89 45 f0 mov %eax,-0x10(%ebp)
8048f44: 8b 45 f0 mov -0x10(%ebp),%eax
8048f47: 8a 80 1c 10 00 00 mov 0x101c(%eax),%al
8048f4d: 84 c0 test %al,%al
8048f4f: 74 16 je 8048f67 <fputc+0xce>
8048f51: 8b 45 e0 mov -0x20(%ebp),%eax
8048f54: 83 ec 0c sub $0xc,%esp
8048f57: 50 push %eax
8048f58: e8 3f 07 00 00 call 804969c <free>
8048f5d: 83 c4 10 add $0x10,%esp
8048f60: b8 ff ff ff ff mov $0xffffffff,%eax
8048f65: eb 12 jmp 8048f79 <fputc+0xe0>
8048f67: 8b 45 e0 mov -0x20(%ebp),%eax
8048f6a: 83 ec 0c sub $0xc,%esp
8048f6d: 50 push %eax
8048f6e: e8 29 07 00 00 call 804969c <free>
8048f73: 83 c4 10 add $0x10,%esp
8048f76: 8b 45 08 mov 0x8(%ebp),%eax
8048f79: c9 leave
8048f7a: c3 ret
08048f7b <fputs>:
8048f7b: 55 push %ebp
8048f7c: 89 e5 mov %esp,%ebp
8048f7e: 83 ec 18 sub $0x18,%esp
8048f81: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
8048f88: eb 2b jmp 8048fb5 <fputs+0x3a>
8048f8a: 8b 55 f4 mov -0xc(%ebp),%edx
8048f8d: 8b 45 08 mov 0x8(%ebp),%eax
8048f90: 01 d0 add %edx,%eax
8048f92: 8a 00 mov (%eax),%al
8048f94: 0f be c0 movsbl %al,%eax
8048f97: 83 ec 08 sub $0x8,%esp
8048f9a: ff 75 0c pushl 0xc(%ebp)
8048f9d: 50 push %eax
8048f9e: e8 f6 fe ff ff call 8048e99 <fputc>
8048fa3: 83 c4 10 add $0x10,%esp
8048fa6: 83 f8 ff cmp $0xffffffff,%eax
8048fa9: 75 07 jne 8048fb2 <fputs+0x37>
8048fab: b8 ff ff ff ff mov $0xffffffff,%eax
8048fb0: eb 16 jmp 8048fc8 <fputs+0x4d>
8048fb2: ff 45 f4 incl -0xc(%ebp)
8048fb5: 8b 55 f4 mov -0xc(%ebp),%edx
8048fb8: 8b 45 08 mov 0x8(%ebp),%eax
8048fbb: 01 d0 add %edx,%eax
8048fbd: 8a 00 mov (%eax),%al
8048fbf: 84 c0 test %al,%al
8048fc1: 75 c7 jne 8048f8a <fputs+0xf>
8048fc3: b8 00 00 00 00 mov $0x0,%eax
8048fc8: c9 leave
8048fc9: c3 ret
08048fca <fwrite>:
8048fca: 55 push %ebp
8048fcb: 89 e5 mov %esp,%ebp
8048fcd: 83 ec 18 sub $0x18,%esp
8048fd0: 8b 45 08 mov 0x8(%ebp),%eax
8048fd3: 89 45 f0 mov %eax,-0x10(%ebp)
8048fd6: 8b 45 0c mov 0xc(%ebp),%eax
8048fd9: 0f af 45 10 imul 0x10(%ebp),%eax
8048fdd: 89 45 ec mov %eax,-0x14(%ebp)
8048fe0: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
8048fe7: eb 35 jmp 804901e <fwrite+0x54>
8048fe9: 8b 55 f0 mov -0x10(%ebp),%edx
8048fec: 8b 45 f4 mov -0xc(%ebp),%eax
8048fef: 01 d0 add %edx,%eax
8048ff1: 8a 00 mov (%eax),%al
8048ff3: 0f b6 c0 movzbl %al,%eax
8048ff6: 83 ec 08 sub $0x8,%esp
8048ff9: ff 75 14 pushl 0x14(%ebp)
8048ffc: 50 push %eax
8048ffd: e8 97 fe ff ff call 8048e99 <fputc>
8049002: 83 c4 10 add $0x10,%esp
8049005: 89 45 e8 mov %eax,-0x18(%ebp)
8049008: 83 7d e8 ff cmpl $0xffffffff,-0x18(%ebp)
804900c: 75 0d jne 804901b <fwrite+0x51>
804900e: 8b 45 f4 mov -0xc(%ebp),%eax
8049011: ba 00 00 00 00 mov $0x0,%edx
8049016: f7 75 0c divl 0xc(%ebp)
8049019: eb 0e jmp 8049029 <fwrite+0x5f>
804901b: ff 45 f4 incl -0xc(%ebp)
804901e: 8b 45 f4 mov -0xc(%ebp),%eax
8049021: 3b 45 ec cmp -0x14(%ebp),%eax
8049024: 72 c3 jb 8048fe9 <fwrite+0x1f>
8049026: 8b 45 10 mov 0x10(%ebp),%eax
8049029: c9 leave
804902a: c3 ret
0804902b <register_fs>:
804902b: 55 push %ebp
804902c: 89 e5 mov %esp,%ebp
804902e: 83 ec 28 sub $0x28,%esp
8049031: 83 ec 0c sub $0xc,%esp
8049034: 6a 00 push $0x0
8049036: ff 75 0c pushl 0xc(%ebp)
8049039: 6a 00 push $0x0
804903b: ff 75 08 pushl 0x8(%ebp)
804903e: 6a 04 push $0x4
8049040: e8 a0 fc ff ff call 8048ce5 <make_msg>
8049045: 83 c4 20 add $0x20,%esp
8049048: 89 45 f4 mov %eax,-0xc(%ebp)
804904b: a1 40 f5 04 08 mov 0x804f540,%eax
8049050: 89 45 e8 mov %eax,-0x18(%ebp)
8049053: c7 45 ec 03 00 00 00 movl $0x3,-0x14(%ebp)
804905a: 8b 45 f4 mov -0xc(%ebp),%eax
804905d: 89 45 e4 mov %eax,-0x1c(%ebp)
8049060: c7 45 f0 24 10 00 00 movl $0x1024,-0x10(%ebp)
8049067: 83 ec 0c sub $0xc,%esp
804906a: 8d 45 e4 lea -0x1c(%ebp),%eax
804906d: 50 push %eax
804906e: e8 67 fb ff ff call 8048bda <mailbox_send_msg>
8049073: 83 c4 10 add $0x10,%esp
8049076: 8b 45 e4 mov -0x1c(%ebp),%eax
8049079: 83 ec 0c sub $0xc,%esp
804907c: 50 push %eax
804907d: e8 1a 06 00 00 call 804969c <free>
8049082: 83 c4 10 add $0x10,%esp
8049085: 83 ec 0c sub $0xc,%esp
8049088: 6a 02 push $0x2
804908a: e8 a1 0b 00 00 call 8049c30 <yieldToPID>
804908f: 83 c4 10 add $0x10,%esp
8049092: 83 ec 0c sub $0xc,%esp
8049095: 68 24 10 00 00 push $0x1024
804909a: e8 90 03 00 00 call 804942f <malloc>
804909f: 83 c4 10 add $0x10,%esp
80490a2: 89 45 e4 mov %eax,-0x1c(%ebp)
80490a5: a1 40 f5 04 08 mov 0x804f540,%eax
80490aa: 83 ec 04 sub $0x4,%esp
80490ad: 68 24 10 00 00 push $0x1024
80490b2: 8d 55 e4 lea -0x1c(%ebp),%edx
80490b5: 52 push %edx
80490b6: 50 push %eax
80490b7: e8 32 fb ff ff call 8048bee <mailbox_get_msg>
80490bc: 83 c4 10 add $0x10,%esp
80490bf: eb 27 jmp 80490e8 <register_fs+0xbd>
80490c1: 83 ec 0c sub $0xc,%esp
80490c4: 6a 02 push $0x2
80490c6: e8 65 0b 00 00 call 8049c30 <yieldToPID>
80490cb: 83 c4 10 add $0x10,%esp
80490ce: a1 40 f5 04 08 mov 0x804f540,%eax
80490d3: 83 ec 04 sub $0x4,%esp
80490d6: 68 24 10 00 00 push $0x1024
80490db: 8d 55 e4 lea -0x1c(%ebp),%edx
80490de: 52 push %edx
80490df: 50 push %eax
80490e0: e8 09 fb ff ff call 8048bee <mailbox_get_msg>
80490e5: 83 c4 10 add $0x10,%esp
80490e8: 8b 45 e8 mov -0x18(%ebp),%eax
80490eb: 85 c0 test %eax,%eax
80490ed: 74 d2 je 80490c1 <register_fs+0x96>
80490ef: 8b 45 e4 mov -0x1c(%ebp),%eax
80490f2: 83 ec 0c sub $0xc,%esp
80490f5: 50 push %eax
80490f6: e8 a1 05 00 00 call 804969c <free>
80490fb: 83 c4 10 add $0x10,%esp
80490fe: 90 nop
80490ff: c9 leave
8049100: c3 ret
08049101 <mount>:
8049101: 55 push %ebp
8049102: 89 e5 mov %esp,%ebp
8049104: 83 ec 28 sub $0x28,%esp
8049107: 83 ec 0c sub $0xc,%esp
804910a: ff 75 08 pushl 0x8(%ebp)
804910d: e8 ee 06 00 00 call 8049800 <strlen>
8049112: 83 c4 10 add $0x10,%esp
8049115: 40 inc %eax
8049116: 83 ec 0c sub $0xc,%esp
8049119: 50 push %eax
804911a: 6a 00 push $0x0
804911c: ff 75 10 pushl 0x10(%ebp)
804911f: ff 75 0c pushl 0xc(%ebp)
8049122: 6a 05 push $0x5
8049124: e8 bc fb ff ff call 8048ce5 <make_msg>
8049129: 83 c4 20 add $0x20,%esp
804912c: 89 45 f4 mov %eax,-0xc(%ebp)
804912f: a1 40 f5 04 08 mov 0x804f540,%eax
8049134: 89 45 e8 mov %eax,-0x18(%ebp)
8049137: c7 45 ec 03 00 00 00 movl $0x3,-0x14(%ebp)
804913e: 8b 45 f4 mov -0xc(%ebp),%eax
8049141: 89 45 e4 mov %eax,-0x1c(%ebp)
8049144: c7 45 f0 24 10 00 00 movl $0x1024,-0x10(%ebp)
804914b: 83 ec 0c sub $0xc,%esp
804914e: 8d 45 e4 lea -0x1c(%ebp),%eax
8049151: 50 push %eax
8049152: e8 83 fa ff ff call 8048bda <mailbox_send_msg>
8049157: 83 c4 10 add $0x10,%esp
804915a: 8b 45 08 mov 0x8(%ebp),%eax
804915d: 89 45 e4 mov %eax,-0x1c(%ebp)
8049160: 83 ec 0c sub $0xc,%esp
8049163: ff 75 08 pushl 0x8(%ebp)
8049166: e8 95 06 00 00 call 8049800 <strlen>
804916b: 83 c4 10 add $0x10,%esp
804916e: 40 inc %eax
804916f: 89 45 f0 mov %eax,-0x10(%ebp)
8049172: 83 ec 0c sub $0xc,%esp
8049175: 8d 45 e4 lea -0x1c(%ebp),%eax
8049178: 50 push %eax
8049179: e8 5c fa ff ff call 8048bda <mailbox_send_msg>
804917e: 83 c4 10 add $0x10,%esp
8049181: 83 ec 0c sub $0xc,%esp
8049184: 6a 02 push $0x2
8049186: e8 a5 0a 00 00 call 8049c30 <yieldToPID>
804918b: 83 c4 10 add $0x10,%esp
804918e: 8b 45 f4 mov -0xc(%ebp),%eax
8049191: 89 45 e4 mov %eax,-0x1c(%ebp)
8049194: a1 40 f5 04 08 mov 0x804f540,%eax
8049199: 83 ec 04 sub $0x4,%esp
804919c: 68 24 10 00 00 push $0x1024
80491a1: 8d 55 e4 lea -0x1c(%ebp),%edx
80491a4: 52 push %edx
80491a5: 50 push %eax
80491a6: e8 43 fa ff ff call 8048bee <mailbox_get_msg>
80491ab: 83 c4 10 add $0x10,%esp
80491ae: eb 27 jmp 80491d7 <mount+0xd6>
80491b0: 83 ec 0c sub $0xc,%esp
80491b3: 6a 02 push $0x2
80491b5: e8 76 0a 00 00 call 8049c30 <yieldToPID>
80491ba: 83 c4 10 add $0x10,%esp
80491bd: a1 40 f5 04 08 mov 0x804f540,%eax
80491c2: 83 ec 04 sub $0x4,%esp
80491c5: 68 24 10 00 00 push $0x1024
80491ca: 8d 55 e4 lea -0x1c(%ebp),%edx
80491cd: 52 push %edx
80491ce: 50 push %eax
80491cf: e8 1a fa ff ff call 8048bee <mailbox_get_msg>
80491d4: 83 c4 10 add $0x10,%esp
80491d7: 8b 45 e8 mov -0x18(%ebp),%eax
80491da: 85 c0 test %eax,%eax
80491dc: 74 d2 je 80491b0 <mount+0xaf>
80491de: 8b 45 e4 mov -0x1c(%ebp),%eax
80491e1: 83 ec 0c sub $0xc,%esp
80491e4: 50 push %eax
80491e5: e8 b2 04 00 00 call 804969c <free>
80491ea: 83 c4 10 add $0x10,%esp
80491ed: 90 nop
80491ee: c9 leave
80491ef: c3 ret
080491f0 <get_bmap_bit>:
80491f0: 55 push %ebp
80491f1: 89 e5 mov %esp,%ebp
80491f3: 53 push %ebx
80491f4: 83 ec 10 sub $0x10,%esp
80491f7: 8b 45 0c mov 0xc(%ebp),%eax
80491fa: c1 e8 03 shr $0x3,%eax
80491fd: 89 45 f8 mov %eax,-0x8(%ebp)
8049200: 8b 45 0c mov 0xc(%ebp),%eax
8049203: 83 e0 07 and $0x7,%eax
8049206: 89 45 f4 mov %eax,-0xc(%ebp)
8049209: 8b 55 08 mov 0x8(%ebp),%edx
804920c: 8b 45 f8 mov -0x8(%ebp),%eax
804920f: 01 d0 add %edx,%eax
8049211: 8a 00 mov (%eax),%al
8049213: 88 45 f3 mov %al,-0xd(%ebp)
8049216: 0f be 55 f3 movsbl -0xd(%ebp),%edx
804921a: 8b 45 f4 mov -0xc(%ebp),%eax
804921d: bb 01 00 00 00 mov $0x1,%ebx
8049222: 88 c1 mov %al,%cl
8049224: d3 e3 shl %cl,%ebx
8049226: 89 d8 mov %ebx,%eax
8049228: 21 d0 and %edx,%eax
804922a: 85 c0 test %eax,%eax
804922c: 0f 9f c0 setg %al
804922f: 83 c4 10 add $0x10,%esp
8049232: 5b pop %ebx
8049233: 5d pop %ebp
8049234: c3 ret
08049235 <set_bmap_bit>:
8049235: 55 push %ebp
8049236: 89 e5 mov %esp,%ebp
8049238: 53 push %ebx
8049239: 83 ec 10 sub $0x10,%esp
804923c: 8b 45 0c mov 0xc(%ebp),%eax
804923f: c1 e8 03 shr $0x3,%eax
8049242: 89 45 f8 mov %eax,-0x8(%ebp)
8049245: 8b 45 0c mov 0xc(%ebp),%eax
8049248: 83 e0 07 and $0x7,%eax
804924b: 89 45 f4 mov %eax,-0xc(%ebp)
804924e: 8b 55 08 mov 0x8(%ebp),%edx
8049251: 8b 45 f8 mov -0x8(%ebp),%eax
8049254: 01 d0 add %edx,%eax
8049256: 8a 10 mov (%eax),%dl
8049258: 8b 45 f4 mov -0xc(%ebp),%eax
804925b: bb 01 00 00 00 mov $0x1,%ebx
8049260: 88 c1 mov %al,%cl
8049262: d3 e3 shl %cl,%ebx
8049264: 89 d8 mov %ebx,%eax
8049266: 88 c3 mov %al,%bl
8049268: 8b 4d 08 mov 0x8(%ebp),%ecx
804926b: 8b 45 f8 mov -0x8(%ebp),%eax
804926e: 01 c8 add %ecx,%eax
8049270: 09 da or %ebx,%edx
8049272: 88 10 mov %dl,(%eax)
8049274: 90 nop
8049275: 83 c4 10 add $0x10,%esp
8049278: 5b pop %ebx
8049279: 5d pop %ebp
804927a: c3 ret
0804927b <clear_bmap_bit>:
804927b: 55 push %ebp
804927c: 89 e5 mov %esp,%ebp
804927e: 53 push %ebx
804927f: 83 ec 10 sub $0x10,%esp
8049282: 8b 45 0c mov 0xc(%ebp),%eax
8049285: c1 e8 03 shr $0x3,%eax
8049288: 89 45 f8 mov %eax,-0x8(%ebp)
804928b: 8b 45 0c mov 0xc(%ebp),%eax
804928e: 83 e0 07 and $0x7,%eax
8049291: 89 45 f4 mov %eax,-0xc(%ebp)
8049294: 8b 55 08 mov 0x8(%ebp),%edx
8049297: 8b 45 f8 mov -0x8(%ebp),%eax
804929a: 01 d0 add %edx,%eax
804929c: 8a 10 mov (%eax),%dl
804929e: 8b 45 f4 mov -0xc(%ebp),%eax
80492a1: bb 01 00 00 00 mov $0x1,%ebx
80492a6: 88 c1 mov %al,%cl
80492a8: d3 e3 shl %cl,%ebx
80492aa: 89 d8 mov %ebx,%eax
80492ac: f7 d0 not %eax
80492ae: 88 c3 mov %al,%bl
80492b0: 8b 4d 08 mov 0x8(%ebp),%ecx
80492b3: 8b 45 f8 mov -0x8(%ebp),%eax
80492b6: 01 c8 add %ecx,%eax
80492b8: 21 da and %ebx,%edx
80492ba: 88 10 mov %dl,(%eax)
80492bc: 90 nop
80492bd: 83 c4 10 add $0x10,%esp
80492c0: 5b pop %ebx
80492c1: 5d pop %ebp
80492c2: c3 ret
080492c3 <reserve_block>:
80492c3: 55 push %ebp
80492c4: 89 e5 mov %esp,%ebp
80492c6: 53 push %ebx
80492c7: 83 ec 34 sub $0x34,%esp
80492ca: 8b 45 08 mov 0x8(%ebp),%eax
80492cd: c1 e0 0c shl $0xc,%eax
80492d0: c1 e8 05 shr $0x5,%eax
80492d3: 89 45 f0 mov %eax,-0x10(%ebp)
80492d6: 8b 45 f0 mov -0x10(%ebp),%eax
80492d9: ba 00 00 00 00 mov $0x0,%edx
80492de: 89 45 c8 mov %eax,-0x38(%ebp)
80492e1: 89 55 cc mov %edx,-0x34(%ebp)
80492e4: df 6d c8 fildll -0x38(%ebp)
80492e7: dd 5d e0 fstpl -0x20(%ebp)
80492ea: dd 45 e0 fldl -0x20(%ebp)
80492ed: dd 05 f0 9d 04 08 fldl 0x8049df0
80492f3: de f9 fdivrp %st,%st(1)
80492f5: d9 5d dc fstps -0x24(%ebp)
80492f8: 8b 45 dc mov -0x24(%ebp),%eax
80492fb: 83 ec 0c sub $0xc,%esp
80492fe: 50 push %eax
80492ff: e8 59 09 00 00 call 8049c5d <ceilf>
8049304: 83 c4 10 add $0x10,%esp
8049307: d9 7d da fnstcw -0x26(%ebp)
804930a: 66 8b 45 da mov -0x26(%ebp),%ax
804930e: 80 cc 0c or $0xc,%ah
8049311: 66 89 45 d8 mov %ax,-0x28(%ebp)
8049315: d9 6d d8 fldcw -0x28(%ebp)
8049318: df 7d d0 fistpll -0x30(%ebp)
804931b: d9 6d da fldcw -0x26(%ebp)
804931e: 8b 45 d0 mov -0x30(%ebp),%eax
8049321: 8b 55 d4 mov -0x2c(%ebp),%edx
8049324: 8b 1d 60 1d 05 08 mov 0x8051d60,%ebx
804932a: 83 ec 0c sub $0xc,%esp
804932d: 50 push %eax
804932e: e8 d5 f8 ff ff call 8048c08 <alloc_memory>
8049333: 83 c4 10 add $0x10,%esp
8049336: 89 c2 mov %eax,%edx
8049338: 89 d8 mov %ebx,%eax
804933a: c1 e0 02 shl $0x2,%eax
804933d: 01 d8 add %ebx,%eax
804933f: c1 e0 02 shl $0x2,%eax
8049342: 05 60 f5 04 08 add $0x804f560,%eax
8049347: 89 10 mov %edx,(%eax)
8049349: 8b 15 60 1d 05 08 mov 0x8051d60,%edx
804934f: 89 d0 mov %edx,%eax
8049351: c1 e0 02 shl $0x2,%eax
8049354: 01 d0 add %edx,%eax
8049356: c1 e0 02 shl $0x2,%eax
8049359: 8d 90 64 f5 04 08 lea 0x804f564(%eax),%edx
804935f: 8b 45 f0 mov -0x10(%ebp),%eax
8049362: 89 02 mov %eax,(%edx)
8049364: 8b 15 60 1d 05 08 mov 0x8051d60,%edx
804936a: 8b 45 f0 mov -0x10(%ebp),%eax
804936d: 8d 0c c5 00 00 00 00 lea 0x0(,%eax,8),%ecx
8049374: 89 d0 mov %edx,%eax
8049376: c1 e0 02 shl $0x2,%eax
8049379: 01 d0 add %edx,%eax
804937b: c1 e0 02 shl $0x2,%eax
804937e: 05 68 f5 04 08 add $0x804f568,%eax
8049383: 89 08 mov %ecx,(%eax)
8049385: 8b 15 60 1d 05 08 mov 0x8051d60,%edx
804938b: 89 d0 mov %edx,%eax
804938d: c1 e0 02 shl $0x2,%eax
8049390: 01 d0 add %edx,%eax
8049392: c1 e0 02 shl $0x2,%eax
8049395: 05 60 f5 04 08 add $0x804f560,%eax
804939a: 8b 00 mov (%eax),%eax
804939c: 89 45 ec mov %eax,-0x14(%ebp)
804939f: 8b 15 60 1d 05 08 mov 0x8051d60,%edx
80493a5: 89 d0 mov %edx,%eax
80493a7: c1 e0 02 shl $0x2,%eax
80493aa: 01 d0 add %edx,%eax
80493ac: c1 e0 02 shl $0x2,%eax
80493af: 05 64 f5 04 08 add $0x804f564,%eax
80493b4: 8b 00 mov (%eax),%eax
80493b6: 89 45 e8 mov %eax,-0x18(%ebp)
80493b9: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
80493c0: eb 0e jmp 80493d0 <reserve_block+0x10d>
80493c2: 8b 55 ec mov -0x14(%ebp),%edx
80493c5: 8b 45 f4 mov -0xc(%ebp),%eax
80493c8: 01 d0 add %edx,%eax
80493ca: c6 00 00 movb $0x0,(%eax)
80493cd: ff 45 f4 incl -0xc(%ebp)
80493d0: 8b 45 f4 mov -0xc(%ebp),%eax
80493d3: 3b 45 e8 cmp -0x18(%ebp),%eax
80493d6: 72 ea jb 80493c2 <reserve_block+0xff>
80493d8: 8b 15 60 1d 05 08 mov 0x8051d60,%edx
80493de: 8b 45 08 mov 0x8(%ebp),%eax
80493e1: c1 e0 0c shl $0xc,%eax
80493e4: 89 c1 mov %eax,%ecx
80493e6: 89 d0 mov %edx,%eax
80493e8: c1 e0 02 shl $0x2,%eax
80493eb: 01 d0 add %edx,%eax
80493ed: c1 e0 02 shl $0x2,%eax
80493f0: 05 6c f5 04 08 add $0x804f56c,%eax
80493f5: 89 08 mov %ecx,(%eax)
80493f7: 8b 1d 60 1d 05 08 mov 0x8051d60,%ebx
80493fd: 83 ec 0c sub $0xc,%esp
8049400: ff 75 08 pushl 0x8(%ebp)
8049403: e8 00 f8 ff ff call 8048c08 <alloc_memory>
8049408: 83 c4 10 add $0x10,%esp
804940b: 89 c2 mov %eax,%edx
804940d: 89 d8 mov %ebx,%eax
804940f: c1 e0 02 shl $0x2,%eax
8049412: 01 d8 add %ebx,%eax
8049414: c1 e0 02 shl $0x2,%eax
8049417: 05 70 f5 04 08 add $0x804f570,%eax
804941c: 89 10 mov %edx,(%eax)
804941e: a1 60 1d 05 08 mov 0x8051d60,%eax
8049423: 40 inc %eax
8049424: a3 60 1d 05 08 mov %eax,0x8051d60
8049429: 90 nop
804942a: 8b 5d fc mov -0x4(%ebp),%ebx
804942d: c9 leave
804942e: c3 ret
0804942f <malloc>:
804942f: 55 push %ebp
8049430: 89 e5 mov %esp,%ebp
8049432: 57 push %edi
8049433: 56 push %esi
8049434: 53 push %ebx
8049435: 83 ec 7c sub $0x7c,%esp
8049438: 8b 45 08 mov 0x8(%ebp),%eax
804943b: ba 00 00 00 00 mov $0x0,%edx
8049440: 89 45 80 mov %eax,-0x80(%ebp)
8049443: 89 55 84 mov %edx,-0x7c(%ebp)
8049446: df 6d 80 fildll -0x80(%ebp)
8049449: d9 5d 94 fstps -0x6c(%ebp)
804944c: d9 45 94 flds -0x6c(%ebp)
804944f: d9 05 f8 9d 04 08 flds 0x8049df8
8049455: de f9 fdivrp %st,%st(1)
8049457: 83 ec 0c sub $0xc,%esp
804945a: 8d 64 24 fc lea -0x4(%esp),%esp
804945e: d9 1c 24 fstps (%esp)
8049461: e8 f7 07 00 00 call 8049c5d <ceilf>
8049466: 83 c4 10 add $0x10,%esp
8049469: d9 7d 92 fnstcw -0x6e(%ebp)
804946c: 66 8b 45 92 mov -0x6e(%ebp),%ax
8049470: 80 cc 0c or $0xc,%ah
8049473: 66 89 45 90 mov %ax,-0x70(%ebp)
8049477: d9 6d 90 fldcw -0x70(%ebp)
804947a: df 7d 88 fistpll -0x78(%ebp)
804947d: d9 6d 92 fldcw -0x6e(%ebp)
8049480: 8b 45 88 mov -0x78(%ebp),%eax
8049483: 8b 55 8c mov -0x74(%ebp),%edx
8049486: 89 45 c0 mov %eax,-0x40(%ebp)
8049489: 83 45 c0 03 addl $0x3,-0x40(%ebp)
804948d: c7 45 e4 ff ff ff ff movl $0xffffffff,-0x1c(%ebp)
8049494: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%ebp)
804949b: e9 ec 00 00 00 jmp 804958c <malloc+0x15d>
80494a0: 8b 55 dc mov -0x24(%ebp),%edx
80494a3: 89 d0 mov %edx,%eax
80494a5: c1 e0 02 shl $0x2,%eax
80494a8: 01 d0 add %edx,%eax
80494aa: c1 e0 02 shl $0x2,%eax
80494ad: 8d 90 60 f5 04 08 lea 0x804f560(%eax),%edx
80494b3: 8d 45 98 lea -0x68(%ebp),%eax
80494b6: 89 d3 mov %edx,%ebx
80494b8: ba 05 00 00 00 mov $0x5,%edx
80494bd: 89 c7 mov %eax,%edi
80494bf: 89 de mov %ebx,%esi
80494c1: 89 d1 mov %edx,%ecx
80494c3: f3 a5 rep movsl %ds:(%esi),%es:(%edi)
80494c5: 8b 45 a4 mov -0x5c(%ebp),%eax
80494c8: 39 45 08 cmp %eax,0x8(%ebp)
80494cb: 0f 87 aa 00 00 00 ja 804957b <malloc+0x14c>
80494d1: 8b 45 98 mov -0x68(%ebp),%eax
80494d4: 89 45 bc mov %eax,-0x44(%ebp)
80494d7: 8b 45 9c mov -0x64(%ebp),%eax
80494da: 89 45 b8 mov %eax,-0x48(%ebp)
80494dd: c7 45 d4 00 00 00 00 movl $0x0,-0x2c(%ebp)
80494e4: e9 83 00 00 00 jmp 804956c <malloc+0x13d>
80494e9: c6 45 d3 00 movb $0x0,-0x2d(%ebp)
80494ed: 8b 45 c0 mov -0x40(%ebp),%eax
80494f0: 89 45 d8 mov %eax,-0x28(%ebp)
80494f3: 8b 45 d4 mov -0x2c(%ebp),%eax
80494f6: c1 e0 03 shl $0x3,%eax
80494f9: 89 45 c8 mov %eax,-0x38(%ebp)
80494fc: 83 ec 08 sub $0x8,%esp
80494ff: ff 75 c8 pushl -0x38(%ebp)
8049502: ff 75 bc pushl -0x44(%ebp)
8049505: e8 e6 fc ff ff call 80491f0 <get_bmap_bit>
804950a: 83 c4 10 add $0x10,%esp
804950d: 88 45 b7 mov %al,-0x49(%ebp)
8049510: 80 7d d3 00 cmpb $0x0,-0x2d(%ebp)
8049514: 74 27 je 804953d <malloc+0x10e>
8049516: 80 7d b7 00 cmpb $0x0,-0x49(%ebp)
804951a: 74 1c je 8049538 <malloc+0x109>
804951c: 83 7d d8 00 cmpl $0x0,-0x28(%ebp)
8049520: 75 08 jne 804952a <malloc+0xfb>
8049522: 8b 45 cc mov -0x34(%ebp),%eax
8049525: 89 45 e0 mov %eax,-0x20(%ebp)
8049528: eb 39 jmp 8049563 <malloc+0x134>
804952a: 8b 45 c8 mov -0x38(%ebp),%eax
804952d: c1 e8 03 shr $0x3,%eax
8049530: 01 45 d4 add %eax,-0x2c(%ebp)
8049533: ff 4d d4 decl -0x2c(%ebp)
8049536: eb 2b jmp 8049563 <malloc+0x134>
8049538: ff 4d d8 decl -0x28(%ebp)
804953b: eb 13 jmp 8049550 <malloc+0x121>
804953d: 80 7d b7 00 cmpb $0x0,-0x49(%ebp)
8049541: 75 0d jne 8049550 <malloc+0x121>
8049543: c6 45 d3 01 movb $0x1,-0x2d(%ebp)
8049547: 8b 45 c8 mov -0x38(%ebp),%eax
804954a: 89 45 cc mov %eax,-0x34(%ebp)
804954d: ff 4d d8 decl -0x28(%ebp)
8049550: 83 7d d8 00 cmpl $0x0,-0x28(%ebp)
8049554: 75 08 jne 804955e <malloc+0x12f>
8049556: 8b 45 cc mov -0x34(%ebp),%eax
8049559: 89 45 e0 mov %eax,-0x20(%ebp)
804955c: eb 05 jmp 8049563 <malloc+0x134>
804955e: ff 45 c8 incl -0x38(%ebp)
8049561: eb 99 jmp 80494fc <malloc+0xcd>
8049563: 83 7d d8 00 cmpl $0x0,-0x28(%ebp)
8049567: 74 11 je 804957a <malloc+0x14b>
8049569: ff 45 d4 incl -0x2c(%ebp)
804956c: 8b 45 d4 mov -0x2c(%ebp),%eax
804956f: 3b 45 b8 cmp -0x48(%ebp),%eax
8049572: 0f 82 71 ff ff ff jb 80494e9 <malloc+0xba>
8049578: eb 01 jmp 804957b <malloc+0x14c>
804957a: 90 nop
804957b: 83 7d d8 00 cmpl $0x0,-0x28(%ebp)
804957f: 75 08 jne 8049589 <malloc+0x15a>
8049581: 8b 45 dc mov -0x24(%ebp),%eax
8049584: 89 45 e4 mov %eax,-0x1c(%ebp)
8049587: eb 11 jmp 804959a <malloc+0x16b>
8049589: ff 45 dc incl -0x24(%ebp)
804958c: a1 60 1d 05 08 mov 0x8051d60,%eax
8049591: 39 45 dc cmp %eax,-0x24(%ebp)
8049594: 0f 82 06 ff ff ff jb 80494a0 <malloc+0x71>
804959a: 83 7d e4 ff cmpl $0xffffffff,-0x1c(%ebp)
804959e: 75 20 jne 80495c0 <malloc+0x191>
80495a0: 83 ec 0c sub $0xc,%esp
80495a3: 68 00 01 00 00 push $0x100
80495a8: e8 16 fd ff ff call 80492c3 <reserve_block>
80495ad: 83 c4 10 add $0x10,%esp
80495b0: 83 ec 0c sub $0xc,%esp
80495b3: ff 75 08 pushl 0x8(%ebp)
80495b6: e8 74 fe ff ff call 804942f <malloc>
80495bb: 83 c4 10 add $0x10,%esp
80495be: eb 78 jmp 8049638 <malloc+0x209>
80495c0: c7 45 c4 00 00 00 00 movl $0x0,-0x3c(%ebp)
80495c7: eb 1b jmp 80495e4 <malloc+0x1b5>
80495c9: 8b 55 e0 mov -0x20(%ebp),%edx
80495cc: 8b 45 c4 mov -0x3c(%ebp),%eax
80495cf: 01 c2 add %eax,%edx
80495d1: 8b 45 98 mov -0x68(%ebp),%eax
80495d4: 83 ec 08 sub $0x8,%esp
80495d7: 52 push %edx
80495d8: 50 push %eax
80495d9: e8 57 fc ff ff call 8049235 <set_bmap_bit>
80495de: 83 c4 10 add $0x10,%esp
80495e1: ff 45 c4 incl -0x3c(%ebp)
80495e4: 8b 45 c4 mov -0x3c(%ebp),%eax
80495e7: 3b 45 c0 cmp -0x40(%ebp),%eax
80495ea: 72 dd jb 80495c9 <malloc+0x19a>
80495ec: 8b 45 e0 mov -0x20(%ebp),%eax
80495ef: c1 e0 03 shl $0x3,%eax
80495f2: 83 c0 0c add $0xc,%eax
80495f5: 89 45 b0 mov %eax,-0x50(%ebp)
80495f8: 8b 45 a8 mov -0x58(%ebp),%eax
80495fb: 8b 55 b0 mov -0x50(%ebp),%edx
80495fe: 83 ea 0c sub $0xc,%edx
8049601: 01 d0 add %edx,%eax
8049603: 89 45 ac mov %eax,-0x54(%ebp)
8049606: 8b 45 ac mov -0x54(%ebp),%eax
8049609: 8b 55 c0 mov -0x40(%ebp),%edx
804960c: 89 10 mov %edx,(%eax)
804960e: 8b 45 ac mov -0x54(%ebp),%eax
8049611: 8d 50 04 lea 0x4(%eax),%edx
8049614: 8b 45 e0 mov -0x20(%ebp),%eax
8049617: 89 02 mov %eax,(%edx)
8049619: 8b 45 ac mov -0x54(%ebp),%eax
804961c: 8d 50 08 lea 0x8(%eax),%edx
804961f: 8b 45 e4 mov -0x1c(%ebp),%eax
8049622: 89 02 mov %eax,(%edx)
8049624: 8b 45 a4 mov -0x5c(%ebp),%eax
8049627: 2b 45 08 sub 0x8(%ebp),%eax
804962a: 83 e8 0c sub $0xc,%eax
804962d: 89 45 a4 mov %eax,-0x5c(%ebp)
8049630: 8b 55 a8 mov -0x58(%ebp),%edx
8049633: 8b 45 b0 mov -0x50(%ebp),%eax
8049636: 01 d0 add %edx,%eax
8049638: 8d 65 f4 lea -0xc(%ebp),%esp
804963b: 5b pop %ebx
804963c: 5e pop %esi
804963d: 5f pop %edi
804963e: 5d pop %ebp
804963f: c3 ret
08049640 <realloc>:
8049640: 55 push %ebp
8049641: 89 e5 mov %esp,%ebp
8049643: 83 ec 18 sub $0x18,%esp
8049646: 83 ec 0c sub $0xc,%esp
8049649: ff 75 0c pushl 0xc(%ebp)
804964c: e8 de fd ff ff call 804942f <malloc>
8049651: 83 c4 10 add $0x10,%esp
8049654: 89 45 f4 mov %eax,-0xc(%ebp)
8049657: 83 7d 08 00 cmpl $0x0,0x8(%ebp)
804965b: 75 05 jne 8049662 <realloc+0x22>
804965d: 8b 45 f4 mov -0xc(%ebp),%eax
8049660: eb 38 jmp 804969a <realloc+0x5a>
8049662: 8b 45 08 mov 0x8(%ebp),%eax
8049665: 8b 40 f4 mov -0xc(%eax),%eax
8049668: 89 45 f0 mov %eax,-0x10(%ebp)
804966b: 8b 45 f0 mov -0x10(%ebp),%eax
804966e: c1 e0 02 shl $0x2,%eax
8049671: 83 ec 04 sub $0x4,%esp
8049674: 50 push %eax
8049675: ff 75 08 pushl 0x8(%ebp)
8049678: ff 75 f4 pushl -0xc(%ebp)
804967b: e8 b0 00 00 00 call 8049730 <memcpy>
8049680: 83 c4 10 add $0x10,%esp
8049683: 83 ec 0c sub $0xc,%esp
8049686: ff 75 08 pushl 0x8(%ebp)
8049689: e8 0e 00 00 00 call 804969c <free>
804968e: 83 c4 10 add $0x10,%esp
8049691: 8b 45 f4 mov -0xc(%ebp),%eax
8049694: 89 45 08 mov %eax,0x8(%ebp)
8049697: 8b 45 f4 mov -0xc(%ebp),%eax
804969a: c9 leave
804969b: c3 ret
0804969c <free>:
804969c: 55 push %ebp
804969d: 89 e5 mov %esp,%ebp
804969f: 57 push %edi
80496a0: 56 push %esi
80496a1: 53 push %ebx
80496a2: 83 ec 30 sub $0x30,%esp
80496a5: 8b 45 08 mov 0x8(%ebp),%eax
80496a8: 83 e8 0c sub $0xc,%eax
80496ab: 89 45 ec mov %eax,-0x14(%ebp)
80496ae: 8b 45 ec mov -0x14(%ebp),%eax
80496b1: 8b 00 mov (%eax),%eax
80496b3: 89 45 e8 mov %eax,-0x18(%ebp)
80496b6: 8b 45 ec mov -0x14(%ebp),%eax
80496b9: 8b 40 04 mov 0x4(%eax),%eax
80496bc: 89 45 e4 mov %eax,-0x1c(%ebp)
80496bf: 8b 45 ec mov -0x14(%ebp),%eax
80496c2: 8b 40 08 mov 0x8(%eax),%eax
80496c5: 89 45 e0 mov %eax,-0x20(%ebp)
80496c8: 8b 55 e0 mov -0x20(%ebp),%edx
80496cb: 89 d0 mov %edx,%eax
80496cd: c1 e0 02 shl $0x2,%eax
80496d0: 01 d0 add %edx,%eax
80496d2: c1 e0 02 shl $0x2,%eax
80496d5: 8d 90 60 f5 04 08 lea 0x804f560(%eax),%edx
80496db: 8d 45 cc lea -0x34(%ebp),%eax
80496de: 89 d3 mov %edx,%ebx
80496e0: ba 05 00 00 00 mov $0x5,%edx
80496e5: 89 c7 mov %eax,%edi
80496e7: 89 de mov %ebx,%esi
80496e9: 89 d1 mov %edx,%ecx
80496eb: f3 a5 rep movsl %ds:(%esi),%es:(%edi)
80496ed: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
80496f4: eb 18 jmp 804970e <free+0x72>
80496f6: 8b 55 e4 mov -0x1c(%ebp),%edx
80496f9: 8b 45 f0 mov -0x10(%ebp),%eax
80496fc: 01 c2 add %eax,%edx
80496fe: 8b 45 cc mov -0x34(%ebp),%eax
8049701: 52 push %edx
8049702: 50 push %eax
8049703: e8 73 fb ff ff call 804927b <clear_bmap_bit>
8049708: 83 c4 08 add $0x8,%esp
804970b: ff 45 f0 incl -0x10(%ebp)
804970e: 8b 45 f0 mov -0x10(%ebp),%eax
8049711: 3b 45 e8 cmp -0x18(%ebp),%eax
8049714: 72 e0 jb 80496f6 <free+0x5a>
8049716: 8b 45 d8 mov -0x28(%ebp),%eax
8049719: 8b 55 e8 mov -0x18(%ebp),%edx
804971c: 83 c2 03 add $0x3,%edx
804971f: c1 e2 02 shl $0x2,%edx
8049722: 01 d0 add %edx,%eax
8049724: 89 45 d8 mov %eax,-0x28(%ebp)
8049727: 90 nop
8049728: 8d 65 f4 lea -0xc(%ebp),%esp
804972b: 5b pop %ebx
804972c: 5e pop %esi
804972d: 5f pop %edi
804972e: 5d pop %ebp
804972f: c3 ret
08049730 <memcpy>:
8049730: 55 push %ebp
8049731: 89 e5 mov %esp,%ebp
8049733: 83 ec 10 sub $0x10,%esp
8049736: 8b 45 0c mov 0xc(%ebp),%eax
8049739: 89 45 f8 mov %eax,-0x8(%ebp)
804973c: 8b 45 08 mov 0x8(%ebp),%eax
804973f: 89 45 f4 mov %eax,-0xc(%ebp)
8049742: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
8049749: eb 17 jmp 8049762 <memcpy+0x32>
804974b: 8b 55 f8 mov -0x8(%ebp),%edx
804974e: 8b 45 fc mov -0x4(%ebp),%eax
8049751: 01 d0 add %edx,%eax
8049753: 8b 4d f4 mov -0xc(%ebp),%ecx
8049756: 8b 55 fc mov -0x4(%ebp),%edx
8049759: 01 ca add %ecx,%edx
804975b: 8a 00 mov (%eax),%al
804975d: 88 02 mov %al,(%edx)
804975f: ff 45 fc incl -0x4(%ebp)
8049762: 8b 45 fc mov -0x4(%ebp),%eax
8049765: 3b 45 10 cmp 0x10(%ebp),%eax
8049768: 72 e1 jb 804974b <memcpy+0x1b>
804976a: 8b 45 08 mov 0x8(%ebp),%eax
804976d: c9 leave
804976e: c3 ret
0804976f <memset>:
804976f: 55 push %ebp
8049770: 89 e5 mov %esp,%ebp
8049772: 83 ec 10 sub $0x10,%esp
8049775: 8b 45 08 mov 0x8(%ebp),%eax
8049778: 89 45 f8 mov %eax,-0x8(%ebp)
804977b: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
8049782: eb 10 jmp 8049794 <memset+0x25>
8049784: 8b 55 f8 mov -0x8(%ebp),%edx
8049787: 8b 45 fc mov -0x4(%ebp),%eax
804978a: 01 d0 add %edx,%eax
804978c: 8b 55 0c mov 0xc(%ebp),%edx
804978f: 88 10 mov %dl,(%eax)
8049791: ff 45 fc incl -0x4(%ebp)
8049794: 8b 45 fc mov -0x4(%ebp),%eax
8049797: 3b 45 10 cmp 0x10(%ebp),%eax
804979a: 72 e8 jb 8049784 <memset+0x15>
804979c: 8b 45 08 mov 0x8(%ebp),%eax
804979f: c9 leave
80497a0: c3 ret
080497a1 <strcmp>:
80497a1: 55 push %ebp
80497a2: 89 e5 mov %esp,%ebp
80497a4: 83 ec 10 sub $0x10,%esp
80497a7: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
80497ae: eb 18 jmp 80497c8 <strcmp+0x27>
80497b0: 8b 55 fc mov -0x4(%ebp),%edx
80497b3: 8b 45 08 mov 0x8(%ebp),%eax
80497b6: 01 d0 add %edx,%eax
80497b8: 8a 00 mov (%eax),%al
80497ba: 84 c0 test %al,%al
80497bc: 75 07 jne 80497c5 <strcmp+0x24>
80497be: b8 00 00 00 00 mov $0x0,%eax
80497c3: eb 39 jmp 80497fe <strcmp+0x5d>
80497c5: ff 45 fc incl -0x4(%ebp)
80497c8: 8b 55 fc mov -0x4(%ebp),%edx
80497cb: 8b 45 08 mov 0x8(%ebp),%eax
80497ce: 01 d0 add %edx,%eax
80497d0: 8a 10 mov (%eax),%dl
80497d2: 8b 4d fc mov -0x4(%ebp),%ecx
80497d5: 8b 45 0c mov 0xc(%ebp),%eax
80497d8: 01 c8 add %ecx,%eax
80497da: 8a 00 mov (%eax),%al
80497dc: 38 c2 cmp %al,%dl
80497de: 74 d0 je 80497b0 <strcmp+0xf>
80497e0: 8b 55 fc mov -0x4(%ebp),%edx
80497e3: 8b 45 08 mov 0x8(%ebp),%eax
80497e6: 01 d0 add %edx,%eax
80497e8: 8a 00 mov (%eax),%al
80497ea: 0f be d0 movsbl %al,%edx
80497ed: 8b 4d fc mov -0x4(%ebp),%ecx
80497f0: 8b 45 0c mov 0xc(%ebp),%eax
80497f3: 01 c8 add %ecx,%eax
80497f5: 8a 00 mov (%eax),%al
80497f7: 0f be c0 movsbl %al,%eax
80497fa: 29 c2 sub %eax,%edx
80497fc: 89 d0 mov %edx,%eax
80497fe: c9 leave
80497ff: c3 ret
08049800 <strlen>:
8049800: 55 push %ebp
8049801: 89 e5 mov %esp,%ebp
8049803: 83 ec 10 sub $0x10,%esp
8049806: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
804980d: eb 03 jmp 8049812 <strlen+0x12>
804980f: ff 45 fc incl -0x4(%ebp)
8049812: 8b 55 08 mov 0x8(%ebp),%edx
8049815: 8b 45 fc mov -0x4(%ebp),%eax
8049818: 01 d0 add %edx,%eax
804981a: 8a 00 mov (%eax),%al
804981c: 84 c0 test %al,%al
804981e: 75 ef jne 804980f <strlen+0xf>
8049820: 8b 45 fc mov -0x4(%ebp),%eax
8049823: c9 leave
8049824: c3 ret
08049825 <strcpy>:
8049825: 55 push %ebp
8049826: 89 e5 mov %esp,%ebp
8049828: 83 ec 10 sub $0x10,%esp
804982b: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
8049832: eb 17 jmp 804984b <strcpy+0x26>
8049834: 8b 55 0c mov 0xc(%ebp),%edx
8049837: 8b 45 fc mov -0x4(%ebp),%eax
804983a: 01 d0 add %edx,%eax
804983c: 8b 4d 08 mov 0x8(%ebp),%ecx
804983f: 8b 55 fc mov -0x4(%ebp),%edx
8049842: 01 ca add %ecx,%edx
8049844: 8a 00 mov (%eax),%al
8049846: 88 02 mov %al,(%edx)
8049848: ff 45 fc incl -0x4(%ebp)
804984b: ff 75 0c pushl 0xc(%ebp)
804984e: e8 ad ff ff ff call 8049800 <strlen>
8049853: 83 c4 04 add $0x4,%esp
8049856: 39 45 fc cmp %eax,-0x4(%ebp)
8049859: 72 d9 jb 8049834 <strcpy+0xf>
804985b: 8b 55 08 mov 0x8(%ebp),%edx
804985e: 8b 45 fc mov -0x4(%ebp),%eax
8049861: 01 d0 add %edx,%eax
8049863: c6 00 00 movb $0x0,(%eax)
8049866: 8b 45 08 mov 0x8(%ebp),%eax
8049869: c9 leave
804986a: c3 ret
0804986b <strrev>:
804986b: 55 push %ebp
804986c: 89 e5 mov %esp,%ebp
804986e: 83 ec 10 sub $0x10,%esp
8049871: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
8049878: ff 75 08 pushl 0x8(%ebp)
804987b: e8 80 ff ff ff call 8049800 <strlen>
8049880: 83 c4 04 add $0x4,%esp
8049883: 48 dec %eax
8049884: 89 45 f8 mov %eax,-0x8(%ebp)
8049887: eb 34 jmp 80498bd <strrev+0x52>
8049889: 8b 55 fc mov -0x4(%ebp),%edx
804988c: 8b 45 08 mov 0x8(%ebp),%eax
804988f: 01 d0 add %edx,%eax
8049891: 8a 00 mov (%eax),%al
8049893: 88 45 f7 mov %al,-0x9(%ebp)
8049896: 8b 55 f8 mov -0x8(%ebp),%edx
8049899: 8b 45 08 mov 0x8(%ebp),%eax
804989c: 01 d0 add %edx,%eax
804989e: 8b 4d fc mov -0x4(%ebp),%ecx
80498a1: 8b 55 08 mov 0x8(%ebp),%edx
80498a4: 01 ca add %ecx,%edx
80498a6: 8a 00 mov (%eax),%al
80498a8: 88 02 mov %al,(%edx)
80498aa: 8b 55 f8 mov -0x8(%ebp),%edx
80498ad: 8b 45 08 mov 0x8(%ebp),%eax
80498b0: 01 c2 add %eax,%edx
80498b2: 8a 45 f7 mov -0x9(%ebp),%al
80498b5: 88 02 mov %al,(%edx)
80498b7: ff 45 fc incl -0x4(%ebp)
80498ba: ff 4d f8 decl -0x8(%ebp)
80498bd: 8b 45 fc mov -0x4(%ebp),%eax
80498c0: 3b 45 f8 cmp -0x8(%ebp),%eax
80498c3: 7c c4 jl 8049889 <strrev+0x1e>
80498c5: 8b 45 08 mov 0x8(%ebp),%eax
80498c8: c9 leave
80498c9: c3 ret
080498ca <int_to_ascii>:
80498ca: 55 push %ebp
80498cb: 89 e5 mov %esp,%ebp
80498cd: 83 ec 10 sub $0x10,%esp
80498d0: 8b 45 08 mov 0x8(%ebp),%eax
80498d3: 89 45 f8 mov %eax,-0x8(%ebp)
80498d6: 83 7d f8 00 cmpl $0x0,-0x8(%ebp)
80498da: 79 03 jns 80498df <int_to_ascii+0x15>
80498dc: f7 5d 08 negl 0x8(%ebp)
80498df: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
80498e6: 8b 45 08 mov 0x8(%ebp),%eax
80498e9: b9 0a 00 00 00 mov $0xa,%ecx
80498ee: 99 cltd
80498ef: f7 f9 idiv %ecx
80498f1: 89 d0 mov %edx,%eax
80498f3: 8d 48 30 lea 0x30(%eax),%ecx
80498f6: 8b 45 fc mov -0x4(%ebp),%eax
80498f9: 8d 50 01 lea 0x1(%eax),%edx
80498fc: 89 55 fc mov %edx,-0x4(%ebp)
80498ff: 89 c2 mov %eax,%edx
8049901: 8b 45 0c mov 0xc(%ebp),%eax
8049904: 01 d0 add %edx,%eax
8049906: 88 ca mov %cl,%dl
8049908: 88 10 mov %dl,(%eax)
804990a: 8b 4d 08 mov 0x8(%ebp),%ecx
804990d: b8 67 66 66 66 mov $0x66666667,%eax
8049912: f7 e9 imul %ecx
8049914: c1 fa 02 sar $0x2,%edx
8049917: 89 c8 mov %ecx,%eax
8049919: c1 f8 1f sar $0x1f,%eax
804991c: 29 c2 sub %eax,%edx
804991e: 89 d0 mov %edx,%eax
8049920: 89 45 08 mov %eax,0x8(%ebp)
8049923: 83 7d 08 00 cmpl $0x0,0x8(%ebp)
8049927: 7f bd jg 80498e6 <int_to_ascii+0x1c>
8049929: 83 7d f8 00 cmpl $0x0,-0x8(%ebp)
804992d: 79 13 jns 8049942 <int_to_ascii+0x78>
804992f: 8b 45 fc mov -0x4(%ebp),%eax
8049932: 8d 50 01 lea 0x1(%eax),%edx
8049935: 89 55 fc mov %edx,-0x4(%ebp)
8049938: 89 c2 mov %eax,%edx
804993a: 8b 45 0c mov 0xc(%ebp),%eax
804993d: 01 d0 add %edx,%eax
804993f: c6 00 2d movb $0x2d,(%eax)
8049942: 8b 55 fc mov -0x4(%ebp),%edx
8049945: 8b 45 0c mov 0xc(%ebp),%eax
8049948: 01 d0 add %edx,%eax
804994a: c6 00 00 movb $0x0,(%eax)
804994d: ff 75 0c pushl 0xc(%ebp)
8049950: e8 16 ff ff ff call 804986b <strrev>
8049955: 83 c4 04 add $0x4,%esp
8049958: 90 nop
8049959: c9 leave
804995a: c3 ret
0804995b <hex_to_ascii>:
804995b: 55 push %ebp
804995c: 89 e5 mov %esp,%ebp
804995e: 83 ec 18 sub $0x18,%esp
8049961: 83 ec 08 sub $0x8,%esp
8049964: 6a 30 push $0x30
8049966: ff 75 0c pushl 0xc(%ebp)
8049969: e8 cb 00 00 00 call 8049a39 <append>
804996e: 83 c4 10 add $0x10,%esp
8049971: 83 ec 08 sub $0x8,%esp
8049974: 6a 78 push $0x78
8049976: ff 75 0c pushl 0xc(%ebp)
8049979: e8 bb 00 00 00 call 8049a39 <append>
804997e: 83 c4 10 add $0x10,%esp
8049981: c6 45 f7 00 movb $0x0,-0x9(%ebp)
8049985: c7 45 f0 1c 00 00 00 movl $0x1c,-0x10(%ebp)
804998c: eb 61 jmp 80499ef <hex_to_ascii+0x94>
804998e: 8b 45 f0 mov -0x10(%ebp),%eax
8049991: 8b 55 08 mov 0x8(%ebp),%edx
8049994: 88 c1 mov %al,%cl
8049996: d3 fa sar %cl,%edx
8049998: 89 d0 mov %edx,%eax
804999a: 83 e0 0f and $0xf,%eax
804999d: 89 45 ec mov %eax,-0x14(%ebp)
80499a0: 83 7d ec 00 cmpl $0x0,-0x14(%ebp)
80499a4: 75 06 jne 80499ac <hex_to_ascii+0x51>
80499a6: 80 7d f7 00 cmpb $0x0,-0x9(%ebp)
80499aa: 74 3e je 80499ea <hex_to_ascii+0x8f>
80499ac: c6 45 f7 01 movb $0x1,-0x9(%ebp)
80499b0: 83 7d ec 0a cmpl $0xa,-0x14(%ebp)
80499b4: 76 1a jbe 80499d0 <hex_to_ascii+0x75>
80499b6: 8b 45 ec mov -0x14(%ebp),%eax
80499b9: 83 c0 57 add $0x57,%eax
80499bc: 0f be c0 movsbl %al,%eax
80499bf: 83 ec 08 sub $0x8,%esp
80499c2: 50 push %eax
80499c3: ff 75 0c pushl 0xc(%ebp)
80499c6: e8 6e 00 00 00 call 8049a39 <append>
80499cb: 83 c4 10 add $0x10,%esp
80499ce: eb 1b jmp 80499eb <hex_to_ascii+0x90>
80499d0: 8b 45 ec mov -0x14(%ebp),%eax
80499d3: 83 c0 30 add $0x30,%eax
80499d6: 0f be c0 movsbl %al,%eax
80499d9: 83 ec 08 sub $0x8,%esp
80499dc: 50 push %eax
80499dd: ff 75 0c pushl 0xc(%ebp)
80499e0: e8 54 00 00 00 call 8049a39 <append>
80499e5: 83 c4 10 add $0x10,%esp
80499e8: eb 01 jmp 80499eb <hex_to_ascii+0x90>
80499ea: 90 nop
80499eb: 83 6d f0 04 subl $0x4,-0x10(%ebp)
80499ef: 83 7d f0 00 cmpl $0x0,-0x10(%ebp)
80499f3: 7f 99 jg 804998e <hex_to_ascii+0x33>
80499f5: 8b 45 08 mov 0x8(%ebp),%eax
80499f8: 83 e0 0f and $0xf,%eax
80499fb: 89 45 ec mov %eax,-0x14(%ebp)
80499fe: 83 7d ec 09 cmpl $0x9,-0x14(%ebp)
8049a02: 76 1a jbe 8049a1e <hex_to_ascii+0xc3>
8049a04: 8b 45 ec mov -0x14(%ebp),%eax
8049a07: 83 c0 57 add $0x57,%eax
8049a0a: 0f be c0 movsbl %al,%eax
8049a0d: 83 ec 08 sub $0x8,%esp
8049a10: 50 push %eax
8049a11: ff 75 0c pushl 0xc(%ebp)
8049a14: e8 20 00 00 00 call 8049a39 <append>
8049a19: 83 c4 10 add $0x10,%esp
8049a1c: eb 18 jmp 8049a36 <hex_to_ascii+0xdb>
8049a1e: 8b 45 ec mov -0x14(%ebp),%eax
8049a21: 83 c0 30 add $0x30,%eax
8049a24: 0f be c0 movsbl %al,%eax
8049a27: 83 ec 08 sub $0x8,%esp
8049a2a: 50 push %eax
8049a2b: ff 75 0c pushl 0xc(%ebp)
8049a2e: e8 06 00 00 00 call 8049a39 <append>
8049a33: 83 c4 10 add $0x10,%esp
8049a36: 90 nop
8049a37: c9 leave
8049a38: c3 ret
08049a39 <append>:
8049a39: 55 push %ebp
8049a3a: 89 e5 mov %esp,%ebp
8049a3c: 83 ec 14 sub $0x14,%esp
8049a3f: 8b 45 0c mov 0xc(%ebp),%eax
8049a42: 88 45 ec mov %al,-0x14(%ebp)
8049a45: ff 75 08 pushl 0x8(%ebp)
8049a48: e8 b3 fd ff ff call 8049800 <strlen>
8049a4d: 83 c4 04 add $0x4,%esp
8049a50: 89 45 fc mov %eax,-0x4(%ebp)
8049a53: 8b 55 fc mov -0x4(%ebp),%edx
8049a56: 8b 45 08 mov 0x8(%ebp),%eax
8049a59: 01 c2 add %eax,%edx
8049a5b: 8a 45 ec mov -0x14(%ebp),%al
8049a5e: 88 02 mov %al,(%edx)
8049a60: 8b 45 fc mov -0x4(%ebp),%eax
8049a63: 8d 50 01 lea 0x1(%eax),%edx
8049a66: 8b 45 08 mov 0x8(%ebp),%eax
8049a69: 01 d0 add %edx,%eax
8049a6b: c6 00 00 movb $0x0,(%eax)
8049a6e: 90 nop
8049a6f: c9 leave
8049a70: c3 ret
08049a71 <backspace>:
8049a71: 55 push %ebp
8049a72: 89 e5 mov %esp,%ebp
8049a74: 83 ec 10 sub $0x10,%esp
8049a77: ff 75 08 pushl 0x8(%ebp)
8049a7a: e8 81 fd ff ff call 8049800 <strlen>
8049a7f: 83 c4 04 add $0x4,%esp
8049a82: 89 45 fc mov %eax,-0x4(%ebp)
8049a85: 8b 45 fc mov -0x4(%ebp),%eax
8049a88: 8d 50 ff lea -0x1(%eax),%edx
8049a8b: 8b 45 08 mov 0x8(%ebp),%eax
8049a8e: 01 d0 add %edx,%eax
8049a90: c6 00 00 movb $0x0,(%eax)
8049a93: 90 nop
8049a94: c9 leave
8049a95: c3 ret
08049a96 <strtok_delim_check>:
8049a96: 55 push %ebp
8049a97: 89 e5 mov %esp,%ebp
8049a99: 83 ec 10 sub $0x10,%esp
8049a9c: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
8049aa3: eb 37 jmp 8049adc <strtok_delim_check+0x46>
8049aa5: 8b 15 64 1d 05 08 mov 0x8051d64,%edx
8049aab: a1 68 1d 05 08 mov 0x8051d68,%eax
8049ab0: 01 d0 add %edx,%eax
8049ab2: 8a 10 mov (%eax),%dl
8049ab4: 8b 4d 08 mov 0x8(%ebp),%ecx
8049ab7: 8b 45 fc mov -0x4(%ebp),%eax
8049aba: 01 c8 add %ecx,%eax
8049abc: 8a 00 mov (%eax),%al
8049abe: 38 c2 cmp %al,%dl
8049ac0: 74 13 je 8049ad5 <strtok_delim_check+0x3f>
8049ac2: 8b 15 64 1d 05 08 mov 0x8051d64,%edx
8049ac8: a1 68 1d 05 08 mov 0x8051d68,%eax
8049acd: 01 d0 add %edx,%eax
8049acf: 8a 00 mov (%eax),%al
8049ad1: 84 c0 test %al,%al
8049ad3: 75 04 jne 8049ad9 <strtok_delim_check+0x43>
8049ad5: b0 00 mov $0x0,%al
8049ad7: eb 15 jmp 8049aee <strtok_delim_check+0x58>
8049ad9: ff 45 fc incl -0x4(%ebp)
8049adc: ff 75 08 pushl 0x8(%ebp)
8049adf: e8 1c fd ff ff call 8049800 <strlen>
8049ae4: 83 c4 04 add $0x4,%esp
8049ae7: 39 45 fc cmp %eax,-0x4(%ebp)
8049aea: 72 b9 jb 8049aa5 <strtok_delim_check+0xf>
8049aec: b0 01 mov $0x1,%al
8049aee: c9 leave
8049aef: c3 ret
08049af0 <strtok>:
8049af0: 55 push %ebp
8049af1: 89 e5 mov %esp,%ebp
8049af3: 83 ec 18 sub $0x18,%esp
8049af6: 83 7d 08 00 cmpl $0x0,0x8(%ebp)
8049afa: 74 12 je 8049b0e <strtok+0x1e>
8049afc: 8b 45 08 mov 0x8(%ebp),%eax
8049aff: a3 64 1d 05 08 mov %eax,0x8051d64
8049b04: c7 05 68 1d 05 08 00 movl $0x0,0x8051d68
8049b0b: 00 00 00
8049b0e: a1 64 1d 05 08 mov 0x8051d64,%eax
8049b13: 85 c0 test %eax,%eax
8049b15: 74 19 je 8049b30 <strtok+0x40>
8049b17: a1 64 1d 05 08 mov 0x8051d64,%eax
8049b1c: 50 push %eax
8049b1d: e8 de fc ff ff call 8049800 <strlen>
8049b22: 83 c4 04 add $0x4,%esp
8049b25: 89 c2 mov %eax,%edx
8049b27: a1 68 1d 05 08 mov 0x8051d68,%eax
8049b2c: 39 c2 cmp %eax,%edx
8049b2e: 73 0a jae 8049b3a <strtok+0x4a>
8049b30: b8 00 00 00 00 mov $0x0,%eax
8049b35: e9 9b 00 00 00 jmp 8049bd5 <strtok+0xe5>
8049b3a: 83 ec 0c sub $0xc,%esp
8049b3d: 6a 20 push $0x20
8049b3f: e8 eb f8 ff ff call 804942f <malloc>
8049b44: 83 c4 10 add $0x10,%esp
8049b47: 89 45 f4 mov %eax,-0xc(%ebp)
8049b4a: 8b 45 f4 mov -0xc(%ebp),%eax
8049b4d: c6 00 00 movb $0x0,(%eax)
8049b50: c7 45 f0 20 00 00 00 movl $0x20,-0x10(%ebp)
8049b57: eb 5c jmp 8049bb5 <strtok+0xc5>
8049b59: 83 ec 0c sub $0xc,%esp
8049b5c: ff 75 f4 pushl -0xc(%ebp)
8049b5f: e8 9c fc ff ff call 8049800 <strlen>
8049b64: 83 c4 10 add $0x10,%esp
8049b67: 40 inc %eax
8049b68: 39 45 f0 cmp %eax,-0x10(%ebp)
8049b6b: 75 1c jne 8049b89 <strtok+0x99>
8049b6d: 8b 45 f0 mov -0x10(%ebp),%eax
8049b70: 83 c0 20 add $0x20,%eax
8049b73: 83 ec 08 sub $0x8,%esp
8049b76: 50 push %eax
8049b77: ff 75 f4 pushl -0xc(%ebp)
8049b7a: e8 c1 fa ff ff call 8049640 <realloc>
8049b7f: 83 c4 10 add $0x10,%esp
8049b82: 89 45 f4 mov %eax,-0xc(%ebp)
8049b85: 83 45 f0 20 addl $0x20,-0x10(%ebp)
8049b89: 8b 15 64 1d 05 08 mov 0x8051d64,%edx
8049b8f: a1 68 1d 05 08 mov 0x8051d68,%eax
8049b94: 01 d0 add %edx,%eax
8049b96: 8a 00 mov (%eax),%al
8049b98: 0f be c0 movsbl %al,%eax
8049b9b: 83 ec 08 sub $0x8,%esp
8049b9e: 50 push %eax
8049b9f: ff 75 f4 pushl -0xc(%ebp)
8049ba2: e8 92 fe ff ff call 8049a39 <append>
8049ba7: 83 c4 10 add $0x10,%esp
8049baa: a1 68 1d 05 08 mov 0x8051d68,%eax
8049baf: 40 inc %eax
8049bb0: a3 68 1d 05 08 mov %eax,0x8051d68
8049bb5: 83 ec 0c sub $0xc,%esp
8049bb8: ff 75 0c pushl 0xc(%ebp)
8049bbb: e8 d6 fe ff ff call 8049a96 <strtok_delim_check>
8049bc0: 83 c4 10 add $0x10,%esp
8049bc3: 84 c0 test %al,%al
8049bc5: 75 92 jne 8049b59 <strtok+0x69>
8049bc7: a1 68 1d 05 08 mov 0x8051d68,%eax
8049bcc: 40 inc %eax
8049bcd: a3 68 1d 05 08 mov %eax,0x8051d68
8049bd2: 8b 45 f4 mov -0xc(%ebp),%eax
8049bd5: c9 leave
8049bd6: c3 ret
08049bd7 <yield>:
8049bd7: 55 push %ebp
8049bd8: 89 e5 mov %esp,%ebp
8049bda: b8 01 00 00 00 mov $0x1,%eax
8049bdf: cd 50 int $0x50
8049be1: 90 nop
8049be2: 5d pop %ebp
8049be3: c3 ret
08049be4 <createTask>:
8049be4: 55 push %ebp
8049be5: 89 e5 mov %esp,%ebp
8049be7: 53 push %ebx
8049be8: 8b 45 08 mov 0x8(%ebp),%eax
8049beb: 89 c3 mov %eax,%ebx
8049bed: b8 02 00 00 00 mov $0x2,%eax
8049bf2: cd 50 int $0x50
8049bf4: 90 nop
8049bf5: 5b pop %ebx
8049bf6: 5d pop %ebp
8049bf7: c3 ret
08049bf8 <createTaskCr3>:
8049bf8: 55 push %ebp
8049bf9: 89 e5 mov %esp,%ebp
8049bfb: 53 push %ebx
8049bfc: 8b 45 08 mov 0x8(%ebp),%eax
8049bff: 8b 55 0c mov 0xc(%ebp),%edx
8049c02: 89 c3 mov %eax,%ebx
8049c04: 89 d1 mov %edx,%ecx
8049c06: b8 09 00 00 00 mov $0x9,%eax
8049c0b: cd 50 int $0x50
8049c0d: 90 nop
8049c0e: 5b pop %ebx
8049c0f: 5d pop %ebp
8049c10: c3 ret
08049c11 <createTaskCr3Param>:
8049c11: 55 push %ebp
8049c12: 89 e5 mov %esp,%ebp
8049c14: 56 push %esi
8049c15: 53 push %ebx
8049c16: 8b 45 08 mov 0x8(%ebp),%eax
8049c19: 8b 4d 0c mov 0xc(%ebp),%ecx
8049c1c: 8b 55 10 mov 0x10(%ebp),%edx
8049c1f: 8b 75 14 mov 0x14(%ebp),%esi
8049c22: 89 c3 mov %eax,%ebx
8049c24: b8 0c 00 00 00 mov $0xc,%eax
8049c29: cd 50 int $0x50
8049c2b: 90 nop
8049c2c: 5b pop %ebx
8049c2d: 5e pop %esi
8049c2e: 5d pop %ebp
8049c2f: c3 ret
08049c30 <yieldToPID>:
8049c30: 55 push %ebp
8049c31: 89 e5 mov %esp,%ebp
8049c33: 53 push %ebx
8049c34: 8b 45 08 mov 0x8(%ebp),%eax
8049c37: 89 c3 mov %eax,%ebx
8049c39: b8 0f 00 00 00 mov $0xf,%eax
8049c3e: cd 50 int $0x50
8049c40: 90 nop
8049c41: 5b pop %ebx
8049c42: 5d pop %ebp
8049c43: c3 ret
08049c44 <exit>:
8049c44: 55 push %ebp
8049c45: 89 e5 mov %esp,%ebp
8049c47: 53 push %ebx
8049c48: 81 65 08 ff 00 00 00 andl $0xff,0x8(%ebp)
8049c4f: 8b 45 08 mov 0x8(%ebp),%eax
8049c52: 89 c3 mov %eax,%ebx
8049c54: b8 11 00 00 00 mov $0x11,%eax
8049c59: cd 50 int $0x50
8049c5b: eb fe jmp 8049c5b <exit+0x17>
08049c5d <ceilf>:
8049c5d: 55 push %ebp
8049c5e: 89 e5 mov %esp,%ebp
8049c60: 83 ec 18 sub $0x18,%esp
8049c63: d9 45 08 flds 0x8(%ebp)
8049c66: d9 7d ee fnstcw -0x12(%ebp)
8049c69: 66 8b 45 ee mov -0x12(%ebp),%ax
8049c6d: 80 cc 0c or $0xc,%ah
8049c70: 66 89 45 ec mov %ax,-0x14(%ebp)
8049c74: d9 6d ec fldcw -0x14(%ebp)
8049c77: db 5d fc fistpl -0x4(%ebp)
8049c7a: d9 6d ee fldcw -0x12(%ebp)
8049c7d: db 45 fc fildl -0x4(%ebp)
8049c80: d9 45 08 flds 0x8(%ebp)
8049c83: da e9 fucompp
8049c85: df e0 fnstsw %ax
8049c87: 80 e4 45 and $0x45,%ah
8049c8a: 80 f4 40 xor $0x40,%ah
8049c8d: 75 05 jne 8049c94 <ceilf+0x37>
8049c8f: db 45 fc fildl -0x4(%ebp)
8049c92: eb 0a jmp 8049c9e <ceilf+0x41>
8049c94: 8b 45 fc mov -0x4(%ebp),%eax
8049c97: 40 inc %eax
8049c98: 89 45 e8 mov %eax,-0x18(%ebp)
8049c9b: db 45 e8 fildl -0x18(%ebp)
8049c9e: c9 leave
8049c9f: c3 ret
08049ca0 <ceil>:
8049ca0: 55 push %ebp
8049ca1: 89 e5 mov %esp,%ebp
8049ca3: 83 ec 20 sub $0x20,%esp
8049ca6: 8b 45 08 mov 0x8(%ebp),%eax
8049ca9: 89 45 e8 mov %eax,-0x18(%ebp)
8049cac: 8b 45 0c mov 0xc(%ebp),%eax
8049caf: 89 45 ec mov %eax,-0x14(%ebp)
8049cb2: dd 45 e8 fldl -0x18(%ebp)
8049cb5: d9 7d e6 fnstcw -0x1a(%ebp)
8049cb8: 66 8b 45 e6 mov -0x1a(%ebp),%ax
8049cbc: 80 cc 0c or $0xc,%ah
8049cbf: 66 89 45 e4 mov %ax,-0x1c(%ebp)
8049cc3: d9 6d e4 fldcw -0x1c(%ebp)
8049cc6: db 5d fc fistpl -0x4(%ebp)
8049cc9: d9 6d e6 fldcw -0x1a(%ebp)
8049ccc: db 45 fc fildl -0x4(%ebp)
8049ccf: dd 45 e8 fldl -0x18(%ebp)
8049cd2: da e9 fucompp
8049cd4: df e0 fnstsw %ax
8049cd6: 80 e4 45 and $0x45,%ah
8049cd9: 80 f4 40 xor $0x40,%ah
8049cdc: 75 05 jne 8049ce3 <ceil+0x43>
8049cde: db 45 fc fildl -0x4(%ebp)
8049ce1: eb 0a jmp 8049ced <ceil+0x4d>
8049ce3: 8b 45 fc mov -0x4(%ebp),%eax
8049ce6: 40 inc %eax
8049ce7: 89 45 e0 mov %eax,-0x20(%ebp)
8049cea: db 45 e0 fildl -0x20(%ebp)
8049ced: c9 leave
8049cee: c3 ret