diff options
| author | Aleksa Vučković <aleksav013@gmail.com> | 2021-11-01 23:59:59 +0100 |
|---|---|---|
| committer | Aleksa Vučković <aleksav013@gmail.com> | 2021-11-01 23:59:59 +0100 |
| commit | 2a56405579be6dc341c503420e40cb30c5144a35 (patch) | |
| tree | 6548a001ead2a2df6068e2157a1b15adbe174aff | |
| parent | 89f7f1b114c1bbea3ad62808bf3653e1d2337d1f (diff) | |
Temporary heap fix
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | file | 6116 | ||||
| -rw-r--r-- | src/c/heap.c | 36 | ||||
| -rw-r--r-- | src/c/irq.c | 32 | ||||
| -rw-r--r-- | src/c/kernel.c | 10 | ||||
| -rw-r--r-- | src/c/paging.c | 17 | ||||
| -rw-r--r-- | src/c/string.c | 2 | ||||
| -rw-r--r-- | src/include/heap.h | 25 |
8 files changed, 6186 insertions, 55 deletions
@@ -8,6 +8,7 @@ MKDIR=mkdir -p RM=rm -rf CP=cp QEMU=qemu-system-x86_64 +#QEMU_DEBUG=-d int -D qemu.log SOURCE_DIR=src BUILD_DIR=${CURDIR}/build @@ -64,7 +65,7 @@ $(ISO): $(BINARY) grub-mkrescue -o $(ISO) $(ISO_DIR) run: compile - $(QEMU) -kernel $(BINARY) + $(QEMU) -kernel $(BINARY) $(QEMU_DEBUG) run-iso: compile $(ISO) $(QEMU) -cdrom $(ISO) @@ -0,0 +1,6116 @@ + +build/myos.bin: file format elf32-i386 + + +Disassembly of section .text: + +00100000 <load_gdt-0xc>: + 100000: 02 b0 ad 1b 03 00 add 0x31bad(%eax),%dh + 100006: 00 00 add %al,(%eax) + 100008: fb sti + 100009: 4f dec %edi + 10000a: 52 push %edx + 10000b: e4 in $0x8b,%al + +0010000c <load_gdt>: + 10000c: 8b 54 24 04 mov 0x4(%esp),%edx + 100010: 0f 01 12 lgdtl (%edx) + 100013: c3 ret + +00100014 <load_idt>: + 100014: 8b 54 24 04 mov 0x4(%esp),%edx + 100018: 0f 01 1a lidtl (%edx) + 10001b: fb sti + 10001c: c3 ret + +0010001d <ioport_in>: + 10001d: 8b 54 24 04 mov 0x4(%esp),%edx + 100021: ec in (%dx),%al + 100022: c3 ret + +00100023 <ioport_out>: + 100023: 8b 54 24 04 mov 0x4(%esp),%edx + 100027: 8b 44 24 08 mov 0x8(%esp),%eax + 10002b: ee out %al,(%dx) + 10002c: c3 ret + 10002d: 66 90 xchg %ax,%ax + 10002f: 90 nop + +00100030 <deregister_tm_clones>: + 100030: b8 18 50 10 00 mov $0x105018,%eax + 100035: 3d 18 50 10 00 cmp $0x105018,%eax + 10003a: 74 24 je 100060 <deregister_tm_clones+0x30> + 10003c: b8 00 00 00 00 mov $0x0,%eax + 100041: 85 c0 test %eax,%eax + 100043: 74 1b je 100060 <deregister_tm_clones+0x30> + 100045: 55 push %ebp + 100046: 89 e5 mov %esp,%ebp + 100048: 83 ec 14 sub $0x14,%esp + 10004b: 68 18 50 10 00 push $0x105018 + 100050: ff d0 call *%eax + 100052: 83 c4 10 add $0x10,%esp + 100055: c9 leave + 100056: c3 ret + 100057: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 10005e: 66 90 xchg %ax,%ax + 100060: c3 ret + 100061: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 100068: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 10006f: 90 nop + +00100070 <register_tm_clones>: + 100070: b8 18 50 10 00 mov $0x105018,%eax + 100075: 2d 18 50 10 00 sub $0x105018,%eax + 10007a: 89 c2 mov %eax,%edx + 10007c: c1 e8 1f shr $0x1f,%eax + 10007f: c1 fa 02 sar $0x2,%edx + 100082: 01 d0 add %edx,%eax + 100084: d1 f8 sar %eax + 100086: 74 28 je 1000b0 <register_tm_clones+0x40> + 100088: ba 00 00 00 00 mov $0x0,%edx + 10008d: 85 d2 test %edx,%edx + 10008f: 74 1f je 1000b0 <register_tm_clones+0x40> + 100091: 55 push %ebp + 100092: 89 e5 mov %esp,%ebp + 100094: 83 ec 10 sub $0x10,%esp + 100097: 50 push %eax + 100098: 68 18 50 10 00 push $0x105018 + 10009d: ff d2 call *%edx + 10009f: 83 c4 10 add $0x10,%esp + 1000a2: c9 leave + 1000a3: c3 ret + 1000a4: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 1000ab: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi + 1000af: 90 nop + 1000b0: c3 ret + 1000b1: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 1000b8: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 1000bf: 90 nop + +001000c0 <__do_global_dtors_aux>: + 1000c0: 80 3d 00 60 10 00 00 cmpb $0x0,0x106000 + 1000c7: 75 67 jne 100130 <__do_global_dtors_aux+0x70> + 1000c9: 55 push %ebp + 1000ca: a1 04 60 10 00 mov 0x106004,%eax + 1000cf: 89 e5 mov %esp,%ebp + 1000d1: 56 push %esi + 1000d2: be 10 50 10 00 mov $0x105010,%esi + 1000d7: 53 push %ebx + 1000d8: bb 14 50 10 00 mov $0x105014,%ebx + 1000dd: 81 eb 10 50 10 00 sub $0x105010,%ebx + 1000e3: c1 fb 02 sar $0x2,%ebx + 1000e6: 83 eb 01 sub $0x1,%ebx + 1000e9: 39 d8 cmp %ebx,%eax + 1000eb: 73 17 jae 100104 <__do_global_dtors_aux+0x44> + 1000ed: 8d 76 00 lea 0x0(%esi),%esi + 1000f0: 83 c0 01 add $0x1,%eax + 1000f3: a3 04 60 10 00 mov %eax,0x106004 + 1000f8: ff 14 86 call *(%esi,%eax,4) + 1000fb: a1 04 60 10 00 mov 0x106004,%eax + 100100: 39 d8 cmp %ebx,%eax + 100102: 72 ec jb 1000f0 <__do_global_dtors_aux+0x30> + 100104: e8 27 ff ff ff call 100030 <deregister_tm_clones> + 100109: b8 00 00 00 00 mov $0x0,%eax + 10010e: 85 c0 test %eax,%eax + 100110: 74 10 je 100122 <__do_global_dtors_aux+0x62> + 100112: 83 ec 0c sub $0xc,%esp + 100115: 68 3c 47 10 00 push $0x10473c + 10011a: e8 e1 fe ef ff call 0 <ALIGN-0x1> + 10011f: 83 c4 10 add $0x10,%esp + 100122: c6 05 00 60 10 00 01 movb $0x1,0x106000 + 100129: 8d 65 f8 lea -0x8(%ebp),%esp + 10012c: 5b pop %ebx + 10012d: 5e pop %esi + 10012e: 5d pop %ebp + 10012f: c3 ret + 100130: c3 ret + 100131: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 100138: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 10013f: 90 nop + +00100140 <frame_dummy>: + 100140: b8 00 00 00 00 mov $0x0,%eax + 100145: 85 c0 test %eax,%eax + 100147: 74 27 je 100170 <frame_dummy+0x30> + 100149: 55 push %ebp + 10014a: 89 e5 mov %esp,%ebp + 10014c: 83 ec 10 sub $0x10,%esp + 10014f: 68 08 60 10 00 push $0x106008 + 100154: 68 3c 47 10 00 push $0x10473c + 100159: e8 a2 fe ef ff call 0 <ALIGN-0x1> + 10015e: 83 c4 10 add $0x10,%esp + 100161: c9 leave + 100162: e9 09 ff ff ff jmp 100070 <register_tm_clones> + 100167: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 10016e: 66 90 xchg %ax,%ax + 100170: e9 fb fe ff ff jmp 100070 <register_tm_clones> + +00100175 <_start>: + 100175: e8 1d 02 00 00 call 100397 <init_gdt_table> + 10017a: ea 81 01 10 00 08 00 ljmp $0x8,$0x100181 + +00100181 <code>: + 100181: 66 b8 10 00 mov $0x10,%ax + 100185: 8e d8 mov %eax,%ds + 100187: 8e c0 mov %eax,%es + 100189: 8e e0 mov %eax,%fs + 10018b: 8e e8 mov %eax,%gs + 10018d: 8e d0 mov %eax,%ss + 10018f: bc 20 a0 10 00 mov $0x10a020,%esp + 100194: fa cli + 100195: e8 87 39 00 00 call 103b21 <_init> + 10019a: e8 52 0c 00 00 call 100df1 <kernel_main> + 10019f: f4 hlt + +001001a0 <irq0>: + 1001a0: 60 pusha + 1001a1: fc cld + 1001a2: e8 a0 2c 00 00 call 102e47 <irq0_handler> + 1001a7: 61 popa + 1001a8: cf iret + +001001a9 <irq1>: + 1001a9: 60 pusha + 1001aa: fc cld + 1001ab: e8 e9 2c 00 00 call 102e99 <irq1_handler> + 1001b0: 61 popa + 1001b1: cf iret + +001001b2 <irq2>: + 1001b2: 60 pusha + 1001b3: fc cld + 1001b4: e8 32 2d 00 00 call 102eeb <irq2_handler> + 1001b9: 61 popa + 1001ba: cf iret + +001001bb <irq3>: + 1001bb: 60 pusha + 1001bc: fc cld + 1001bd: e8 7b 2d 00 00 call 102f3d <irq3_handler> + 1001c2: 61 popa + 1001c3: cf iret + +001001c4 <irq4>: + 1001c4: 60 pusha + 1001c5: fc cld + 1001c6: e8 c4 2d 00 00 call 102f8f <irq4_handler> + 1001cb: 61 popa + 1001cc: cf iret + +001001cd <irq5>: + 1001cd: 60 pusha + 1001ce: fc cld + 1001cf: e8 0d 2e 00 00 call 102fe1 <irq5_handler> + 1001d4: 61 popa + 1001d5: cf iret + +001001d6 <irq6>: + 1001d6: 60 pusha + 1001d7: fc cld + 1001d8: e8 56 2e 00 00 call 103033 <irq6_handler> + 1001dd: 61 popa + 1001de: cf iret + +001001df <irq7>: + 1001df: 60 pusha + 1001e0: fc cld + 1001e1: e8 9f 2e 00 00 call 103085 <irq7_handler> + 1001e6: 61 popa + 1001e7: cf iret + +001001e8 <irq8>: + 1001e8: 60 pusha + 1001e9: fc cld + 1001ea: e8 e8 2e 00 00 call 1030d7 <irq8_handler> + 1001ef: 61 popa + 1001f0: cf iret + +001001f1 <irq9>: + 1001f1: 60 pusha + 1001f2: fc cld + 1001f3: e8 31 2f 00 00 call 103129 <irq9_handler> + 1001f8: 61 popa + 1001f9: cf iret + +001001fa <irq10>: + 1001fa: 60 pusha + 1001fb: fc cld + 1001fc: e8 7a 2f 00 00 call 10317b <irq10_handler> + 100201: 61 popa + 100202: cf iret + +00100203 <irq11>: + 100203: 60 pusha + 100204: fc cld + 100205: e8 c3 2f 00 00 call 1031cd <irq11_handler> + 10020a: 61 popa + 10020b: cf iret + +0010020c <irq12>: + 10020c: 60 pusha + 10020d: fc cld + 10020e: e8 0c 30 00 00 call 10321f <irq12_handler> + 100213: 61 popa + 100214: cf iret + +00100215 <irq13>: + 100215: 60 pusha + 100216: fc cld + 100217: e8 55 30 00 00 call 103271 <irq13_handler> + 10021c: 61 popa + 10021d: cf iret + +0010021e <irq14>: + 10021e: 60 pusha + 10021f: fc cld + 100220: e8 9e 30 00 00 call 1032c3 <irq14_handler> + 100225: 61 popa + 100226: cf iret + +00100227 <irq15>: + 100227: 60 pusha + 100228: fc cld + 100229: e8 e7 30 00 00 call 103315 <irq15_handler> + 10022e: 61 popa + 10022f: cf iret + +00100230 <irq16>: + 100230: 60 pusha + 100231: fc cld + 100232: e8 30 31 00 00 call 103367 <irq16_handler> + 100237: 61 popa + 100238: cf iret + +00100239 <irq17>: + 100239: 60 pusha + 10023a: fc cld + 10023b: e8 79 31 00 00 call 1033b9 <irq17_handler> + 100240: 61 popa + 100241: cf iret + +00100242 <irq18>: + 100242: 60 pusha + 100243: fc cld + 100244: e8 c2 31 00 00 call 10340b <irq18_handler> + 100249: 61 popa + 10024a: cf iret + +0010024b <irq19>: + 10024b: 60 pusha + 10024c: fc cld + 10024d: e8 0b 32 00 00 call 10345d <irq19_handler> + 100252: 61 popa + 100253: cf iret + +00100254 <irq20>: + 100254: 60 pusha + 100255: fc cld + 100256: e8 54 32 00 00 call 1034af <irq20_handler> + 10025b: 61 popa + 10025c: cf iret + +0010025d <irq21>: + 10025d: 60 pusha + 10025e: fc cld + 10025f: e8 9d 32 00 00 call 103501 <irq21_handler> + 100264: 61 popa + 100265: cf iret + +00100266 <irq22>: + 100266: 60 pusha + 100267: fc cld + 100268: e8 e6 32 00 00 call 103553 <irq22_handler> + 10026d: 61 popa + 10026e: cf iret + +0010026f <irq23>: + 10026f: 60 pusha + 100270: fc cld + 100271: e8 2f 33 00 00 call 1035a5 <irq23_handler> + 100276: 61 popa + 100277: cf iret + +00100278 <irq24>: + 100278: 60 pusha + 100279: fc cld + 10027a: e8 78 33 00 00 call 1035f7 <irq24_handler> + 10027f: 61 popa + 100280: cf iret + +00100281 <irq25>: + 100281: 60 pusha + 100282: fc cld + 100283: e8 c1 33 00 00 call 103649 <irq25_handler> + 100288: 61 popa + 100289: cf iret + +0010028a <irq26>: + 10028a: 60 pusha + 10028b: fc cld + 10028c: e8 0a 34 00 00 call 10369b <irq26_handler> + 100291: 61 popa + 100292: cf iret + +00100293 <irq27>: + 100293: 60 pusha + 100294: fc cld + 100295: e8 53 34 00 00 call 1036ed <irq27_handler> + 10029a: 61 popa + 10029b: cf iret + +0010029c <irq28>: + 10029c: 60 pusha + 10029d: fc cld + 10029e: e8 9c 34 00 00 call 10373f <irq28_handler> + 1002a3: 61 popa + 1002a4: cf iret + +001002a5 <irq29>: + 1002a5: 60 pusha + 1002a6: fc cld + 1002a7: e8 e5 34 00 00 call 103791 <irq29_handler> + 1002ac: 61 popa + 1002ad: cf iret + +001002ae <irq30>: + 1002ae: 60 pusha + 1002af: fc cld + 1002b0: e8 2e 35 00 00 call 1037e3 <irq30_handler> + 1002b5: 61 popa + 1002b6: cf iret + +001002b7 <irq31>: + 1002b7: 60 pusha + 1002b8: fc cld + 1002b9: e8 77 35 00 00 call 103835 <irq31_handler> + 1002be: 61 popa + 1002bf: cf iret + +001002c0 <timer_irq>: + 1002c0: 60 pusha + 1002c1: fc cld + 1002c2: e8 e3 35 00 00 call 1038aa <timer_handler> + 1002c7: 61 popa + 1002c8: cf iret + +001002c9 <keyboard_irq>: + 1002c9: 60 pusha + 1002ca: fc cld + 1002cb: e8 1c 0e 00 00 call 1010ec <keyboard_handler> + 1002d0: 61 popa + 1002d1: cf iret + +001002d2 <loadPageDirectory>: + 1002d2: 55 push %ebp + 1002d3: 89 e5 mov %esp,%ebp + 1002d5: 8b 44 24 08 mov 0x8(%esp),%eax + 1002d9: 0f 22 d8 mov %eax,%cr3 + 1002dc: 89 ec mov %ebp,%esp + 1002de: 5d pop %ebp + 1002df: c3 ret + +001002e0 <enablePaging>: + 1002e0: 55 push %ebp + 1002e1: 89 e5 mov %esp,%ebp + 1002e3: 0f 20 c0 mov %cr0,%eax + 1002e6: 0d 00 00 00 80 or $0x80000000,%eax + 1002eb: 0f 22 c0 mov %eax,%cr0 + 1002ee: 89 ec mov %ebp,%esp + 1002f0: 5d pop %ebp + 1002f1: c3 ret + +001002f2 <init_gdt_entry>: + 1002f2: 55 push %ebp + 1002f3: 89 e5 mov %esp,%ebp + 1002f5: 83 ec 38 sub $0x38,%esp + 1002f8: 8b 4d 14 mov 0x14(%ebp),%ecx + 1002fb: 8b 55 18 mov 0x18(%ebp),%edx + 1002fe: 8b 45 08 mov 0x8(%ebp),%eax + 100301: 89 45 e4 mov %eax,-0x1c(%ebp) + 100304: 8b 45 0c mov 0xc(%ebp),%eax + 100307: 89 45 e0 mov %eax,-0x20(%ebp) + 10030a: 8b 45 10 mov 0x10(%ebp),%eax + 10030d: 89 45 dc mov %eax,-0x24(%ebp) + 100310: 89 c8 mov %ecx,%eax + 100312: 88 45 d8 mov %al,-0x28(%ebp) + 100315: 89 d0 mov %edx,%eax + 100317: 88 45 d4 mov %al,-0x2c(%ebp) + 10031a: a1 04 50 10 00 mov 0x105004,%eax + 10031f: 89 45 f4 mov %eax,-0xc(%ebp) + 100322: 31 c0 xor %eax,%eax + 100324: 8b 45 e0 mov -0x20(%ebp),%eax + 100327: 89 c2 mov %eax,%edx + 100329: 8b 45 e4 mov -0x1c(%ebp),%eax + 10032c: 66 89 14 c5 20 a0 10 mov %dx,0x10a020(,%eax,8) + 100333: 00 + 100334: 8b 45 dc mov -0x24(%ebp),%eax + 100337: 89 c2 mov %eax,%edx + 100339: 8b 45 e4 mov -0x1c(%ebp),%eax + 10033c: 66 89 14 c5 22 a0 10 mov %dx,0x10a022(,%eax,8) + 100343: 00 + 100344: 8b 45 dc mov -0x24(%ebp),%eax + 100347: c1 e8 10 shr $0x10,%eax + 10034a: 89 c2 mov %eax,%edx + 10034c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10034f: 88 14 c5 24 a0 10 00 mov %dl,0x10a024(,%eax,8) + 100356: 8b 45 e4 mov -0x1c(%ebp),%eax + 100359: 0f b6 55 d8 movzbl -0x28(%ebp),%edx + 10035d: 88 14 c5 25 a0 10 00 mov %dl,0x10a025(,%eax,8) + 100364: 8b 45 e4 mov -0x1c(%ebp),%eax + 100367: 0f b6 55 d4 movzbl -0x2c(%ebp),%edx + 10036b: 88 14 c5 26 a0 10 00 mov %dl,0x10a026(,%eax,8) + 100372: 8b 45 dc mov -0x24(%ebp),%eax + 100375: c1 e8 18 shr $0x18,%eax + 100378: 89 c2 mov %eax,%edx + 10037a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10037d: 88 14 c5 27 a0 10 00 mov %dl,0x10a027(,%eax,8) + 100384: 90 nop + 100385: 8b 45 f4 mov -0xc(%ebp),%eax + 100388: 2b 05 04 50 10 00 sub 0x105004,%eax + 10038e: 74 05 je 100395 <init_gdt_entry+0xa3> + 100390: e8 f2 34 00 00 call 103887 <__stack_chk_fail> + 100395: c9 leave + 100396: c3 ret + +00100397 <init_gdt_table>: + 100397: 55 push %ebp + 100398: 89 e5 mov %esp,%ebp + 10039a: 83 ec 18 sub $0x18,%esp + 10039d: a1 04 50 10 00 mov 0x105004,%eax + 1003a2: 89 45 f4 mov %eax,-0xc(%ebp) + 1003a5: 31 c0 xor %eax,%eax + 1003a7: 66 c7 05 48 a0 10 00 movw $0x27,0x10a048 + 1003ae: 27 00 + 1003b0: b8 20 a0 10 00 mov $0x10a020,%eax + 1003b5: a3 4a a0 10 00 mov %eax,0x10a04a + 1003ba: 83 ec 0c sub $0xc,%esp + 1003bd: 6a 00 push $0x0 + 1003bf: 6a 00 push $0x0 + 1003c1: 6a 00 push $0x0 + 1003c3: 6a 00 push $0x0 + 1003c5: 6a 00 push $0x0 + 1003c7: e8 26 ff ff ff call 1002f2 <init_gdt_entry> + 1003cc: 83 c4 20 add $0x20,%esp + 1003cf: 83 ec 0c sub $0xc,%esp + 1003d2: 68 cf 00 00 00 push $0xcf + 1003d7: 68 9a 00 00 00 push $0x9a + 1003dc: 6a 00 push $0x0 + 1003de: 6a ff push $0xffffffff + 1003e0: 6a 01 push $0x1 + 1003e2: e8 0b ff ff ff call 1002f2 <init_gdt_entry> + 1003e7: 83 c4 20 add $0x20,%esp + 1003ea: 83 ec 0c sub $0xc,%esp + 1003ed: 68 cf 00 00 00 push $0xcf + 1003f2: 68 92 00 00 00 push $0x92 + 1003f7: 6a 00 push $0x0 + 1003f9: 6a ff push $0xffffffff + 1003fb: 6a 02 push $0x2 + 1003fd: e8 f0 fe ff ff call 1002f2 <init_gdt_entry> + 100402: 83 c4 20 add $0x20,%esp + 100405: 83 ec 0c sub $0xc,%esp + 100408: 68 cf 00 00 00 push $0xcf + 10040d: 68 fa 00 00 00 push $0xfa + 100412: 6a 00 push $0x0 + 100414: 6a ff push $0xffffffff + 100416: 6a 03 push $0x3 + 100418: e8 d5 fe ff ff call 1002f2 <init_gdt_entry> + 10041d: 83 c4 20 add $0x20,%esp + 100420: 83 ec 0c sub $0xc,%esp + 100423: 68 cf 00 00 00 push $0xcf + 100428: 68 f2 00 00 00 push $0xf2 + 10042d: 6a 00 push $0x0 + 10042f: 6a ff push $0xffffffff + 100431: 6a 04 push $0x4 + 100433: e8 ba fe ff ff call 1002f2 <init_gdt_entry> + 100438: 83 c4 20 add $0x20,%esp + 10043b: 83 ec 0c sub $0xc,%esp + 10043e: 68 48 a0 10 00 push $0x10a048 + 100443: e8 c4 fb ff ff call 10000c <load_gdt> + 100448: 83 c4 10 add $0x10,%esp + 10044b: 90 nop + 10044c: 8b 45 f4 mov -0xc(%ebp),%eax + 10044f: 2b 05 04 50 10 00 sub 0x105004,%eax + 100455: 74 05 je 10045c <init_gdt_table+0xc5> + 100457: e8 2b 34 00 00 call 103887 <__stack_chk_fail> + 10045c: c9 leave + 10045d: c3 ret + +0010045e <k_heapBMInit>: + 10045e: 55 push %ebp + 10045f: 89 e5 mov %esp,%ebp + 100461: 83 ec 28 sub $0x28,%esp + 100464: 8b 45 08 mov 0x8(%ebp),%eax + 100467: 89 45 e4 mov %eax,-0x1c(%ebp) + 10046a: a1 04 50 10 00 mov 0x105004,%eax + 10046f: 89 45 f4 mov %eax,-0xc(%ebp) + 100472: 31 c0 xor %eax,%eax + 100474: 8b 45 e4 mov -0x1c(%ebp),%eax + 100477: c7 00 00 00 00 00 movl $0x0,(%eax) + 10047d: 90 nop + 10047e: 8b 45 f4 mov -0xc(%ebp),%eax + 100481: 2b 05 04 50 10 00 sub 0x105004,%eax + 100487: 74 05 je 10048e <k_heapBMInit+0x30> + 100489: e8 f9 33 00 00 call 103887 <__stack_chk_fail> + 10048e: c9 leave + 10048f: c3 ret + +00100490 <k_heapBMAddBlock>: + 100490: 55 push %ebp + 100491: 89 e5 mov %esp,%ebp + 100493: 83 ec 38 sub $0x38,%esp + 100496: 8b 45 08 mov 0x8(%ebp),%eax + 100499: 89 45 d4 mov %eax,-0x2c(%ebp) + 10049c: 8b 45 0c mov 0xc(%ebp),%eax + 10049f: 89 45 d0 mov %eax,-0x30(%ebp) + 1004a2: 8b 45 10 mov 0x10(%ebp),%eax + 1004a5: 89 45 cc mov %eax,-0x34(%ebp) + 1004a8: 8b 45 14 mov 0x14(%ebp),%eax + 1004ab: 89 45 c8 mov %eax,-0x38(%ebp) + 1004ae: a1 04 50 10 00 mov 0x105004,%eax + 1004b3: 89 45 f4 mov %eax,-0xc(%ebp) + 1004b6: 31 c0 xor %eax,%eax + 1004b8: 8b 45 d0 mov -0x30(%ebp),%eax + 1004bb: 89 45 e8 mov %eax,-0x18(%ebp) + 1004be: 8b 45 cc mov -0x34(%ebp),%eax + 1004c1: 8d 50 ec lea -0x14(%eax),%edx + 1004c4: 8b 45 e8 mov -0x18(%ebp),%eax + 1004c7: 89 50 04 mov %edx,0x4(%eax) + 1004ca: 8b 45 e8 mov -0x18(%ebp),%eax + 1004cd: 8b 55 c8 mov -0x38(%ebp),%edx + 1004d0: 89 50 0c mov %edx,0xc(%eax) + 1004d3: 8b 45 d4 mov -0x2c(%ebp),%eax + 1004d6: 8b 10 mov (%eax),%edx + 1004d8: 8b 45 e8 mov -0x18(%ebp),%eax + 1004db: 89 10 mov %edx,(%eax) + 1004dd: 8b 45 d4 mov -0x2c(%ebp),%eax + 1004e0: 8b 55 e8 mov -0x18(%ebp),%edx + 1004e3: 89 10 mov %edx,(%eax) + 1004e5: 8b 45 e8 mov -0x18(%ebp),%eax + 1004e8: 8b 40 04 mov 0x4(%eax),%eax + 1004eb: 8b 55 e8 mov -0x18(%ebp),%edx + 1004ee: 8b 4a 0c mov 0xc(%edx),%ecx + 1004f1: ba 00 00 00 00 mov $0x0,%edx + 1004f6: f7 f1 div %ecx + 1004f8: 89 45 ec mov %eax,-0x14(%ebp) + 1004fb: 8b 45 e8 mov -0x18(%ebp),%eax + 1004fe: 83 c0 14 add $0x14,%eax + 100501: 89 45 f0 mov %eax,-0x10(%ebp) + 100504: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp) + 10050b: eb 0f jmp 10051c <k_heapBMAddBlock+0x8c> + 10050d: 8b 55 f0 mov -0x10(%ebp),%edx + 100510: 8b 45 e4 mov -0x1c(%ebp),%eax + 100513: 01 d0 add %edx,%eax + 100515: c6 00 00 movb $0x0,(%eax) + 100518: 83 45 e4 01 addl $0x1,-0x1c(%ebp) + 10051c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10051f: 3b 45 ec cmp -0x14(%ebp),%eax + 100522: 72 e9 jb 10050d <k_heapBMAddBlock+0x7d> + 100524: 8b 45 ec mov -0x14(%ebp),%eax + 100527: ba 00 00 00 00 mov $0x0,%edx + 10052c: f7 75 c8 divl -0x38(%ebp) + 10052f: 0f af 45 c8 imul -0x38(%ebp),%eax + 100533: 39 45 ec cmp %eax,-0x14(%ebp) + 100536: 76 10 jbe 100548 <k_heapBMAddBlock+0xb8> + 100538: 8b 45 ec mov -0x14(%ebp),%eax + 10053b: ba 00 00 00 00 mov $0x0,%edx + 100540: f7 75 c8 divl -0x38(%ebp) + 100543: 83 c0 01 add $0x1,%eax + 100546: eb 0b jmp 100553 <k_heapBMAddBlock+0xc3> + 100548: 8b 45 ec mov -0x14(%ebp),%eax + 10054b: ba 00 00 00 00 mov $0x0,%edx + 100550: f7 75 c8 divl -0x38(%ebp) + 100553: 89 45 ec mov %eax,-0x14(%ebp) + 100556: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp) + 10055d: eb 0f jmp 10056e <k_heapBMAddBlock+0xde> + 10055f: 8b 55 f0 mov -0x10(%ebp),%edx + 100562: 8b 45 e4 mov -0x1c(%ebp),%eax + 100565: 01 d0 add %edx,%eax + 100567: c6 00 05 movb $0x5,(%eax) + 10056a: 83 45 e4 01 addl $0x1,-0x1c(%ebp) + 10056e: 8b 45 e4 mov -0x1c(%ebp),%eax + 100571: 3b 45 ec cmp -0x14(%ebp),%eax + 100574: 72 e9 jb 10055f <k_heapBMAddBlock+0xcf> + 100576: 8b 45 ec mov -0x14(%ebp),%eax + 100579: 8d 50 ff lea -0x1(%eax),%edx + 10057c: 8b 45 e8 mov -0x18(%ebp),%eax + 10057f: 89 50 10 mov %edx,0x10(%eax) + 100582: 8b 45 e8 mov -0x18(%ebp),%eax + 100585: 8b 55 ec mov -0x14(%ebp),%edx + 100588: 89 50 08 mov %edx,0x8(%eax) + 10058b: b8 01 00 00 00 mov $0x1,%eax + 100590: 8b 55 f4 mov -0xc(%ebp),%edx + 100593: 2b 15 04 50 10 00 sub 0x105004,%edx + 100599: 74 05 je 1005a0 <k_heapBMAddBlock+0x110> + 10059b: e8 e7 32 00 00 call 103887 <__stack_chk_fail> + 1005a0: c9 leave + 1005a1: c3 ret + +001005a2 <k_heapBMGetNID>: + 1005a2: 55 push %ebp + 1005a3: 89 e5 mov %esp,%ebp + 1005a5: 83 ec 28 sub $0x28,%esp + 1005a8: 8b 55 08 mov 0x8(%ebp),%edx + 1005ab: 8b 45 0c mov 0xc(%ebp),%eax + 1005ae: 88 55 e4 mov %dl,-0x1c(%ebp) + 1005b1: 88 45 e0 mov %al,-0x20(%ebp) + 1005b4: a1 04 50 10 00 mov 0x105004,%eax + 1005b9: 89 45 f4 mov %eax,-0xc(%ebp) + 1005bc: 31 c0 xor %eax,%eax + 1005be: 0f b6 45 e4 movzbl -0x1c(%ebp),%eax + 1005c2: 83 c0 01 add $0x1,%eax + 1005c5: 88 45 f3 mov %al,-0xd(%ebp) + 1005c8: eb 04 jmp 1005ce <k_heapBMGetNID+0x2c> + 1005ca: 80 45 f3 01 addb $0x1,-0xd(%ebp) + 1005ce: 0f b6 45 f3 movzbl -0xd(%ebp),%eax + 1005d2: 3a 45 e0 cmp -0x20(%ebp),%al + 1005d5: 74 f3 je 1005ca <k_heapBMGetNID+0x28> + 1005d7: 80 7d f3 00 cmpb $0x0,-0xd(%ebp) + 1005db: 74 ed je 1005ca <k_heapBMGetNID+0x28> + 1005dd: 0f b6 45 f3 movzbl -0xd(%ebp),%eax + 1005e1: 8b 55 f4 mov -0xc(%ebp),%edx + 1005e4: 2b 15 04 50 10 00 sub 0x105004,%edx + 1005ea: 74 05 je 1005f1 <k_heapBMGetNID+0x4f> + 1005ec: e8 96 32 00 00 call 103887 <__stack_chk_fail> + 1005f1: c9 leave + 1005f2: c3 ret + +001005f3 <k_heapBMAlloc>: + 1005f3: 55 push %ebp + 1005f4: 89 e5 mov %esp,%ebp + 1005f6: 83 ec 48 sub $0x48,%esp + 1005f9: 8b 45 08 mov 0x8(%ebp),%eax + 1005fc: 89 45 c4 mov %eax,-0x3c(%ebp) + 1005ff: 8b 45 0c mov 0xc(%ebp),%eax + 100602: 89 45 c0 mov %eax,-0x40(%ebp) + 100605: a1 04 50 10 00 mov 0x105004,%eax + 10060a: 89 45 f4 mov %eax,-0xc(%ebp) + 10060d: 31 c0 xor %eax,%eax + 10060f: 8b 45 c4 mov -0x3c(%ebp),%eax + 100612: 8b 00 mov (%eax),%eax + 100614: 89 45 d8 mov %eax,-0x28(%ebp) + 100617: e9 c2 01 00 00 jmp 1007de <k_heapBMAlloc+0x1eb> + 10061c: 8b 45 d8 mov -0x28(%ebp),%eax + 10061f: 8b 50 04 mov 0x4(%eax),%edx + 100622: 8b 45 d8 mov -0x28(%ebp),%eax + 100625: 8b 48 08 mov 0x8(%eax),%ecx + 100628: 8b 45 d8 mov -0x28(%ebp),%eax + 10062b: 8b 40 0c mov 0xc(%eax),%eax + 10062e: 0f af c8 imul %eax,%ecx + 100631: 89 d0 mov %edx,%eax + 100633: 29 c8 sub %ecx,%eax + 100635: 39 45 c0 cmp %eax,-0x40(%ebp) + 100638: 0f 87 98 01 00 00 ja 1007d6 <k_heapBMAlloc+0x1e3> + 10063e: 8b 45 d8 mov -0x28(%ebp),%eax + 100641: 8b 40 04 mov 0x4(%eax),%eax + 100644: 8b 55 d8 mov -0x28(%ebp),%edx + 100647: 8b 4a 0c mov 0xc(%edx),%ecx + 10064a: ba 00 00 00 00 mov $0x0,%edx + 10064f: f7 f1 div %ecx + 100651: 89 45 e8 mov %eax,-0x18(%ebp) + 100654: 8b 45 d8 mov -0x28(%ebp),%eax + 100657: 8b 48 0c mov 0xc(%eax),%ecx + 10065a: 8b 45 c0 mov -0x40(%ebp),%eax + 10065d: ba 00 00 00 00 mov $0x0,%edx + 100662: f7 f1 div %ecx + 100664: 89 c2 mov %eax,%edx + 100666: 8b 45 d8 mov -0x28(%ebp),%eax + 100669: 8b 40 0c mov 0xc(%eax),%eax + 10066c: 0f af c2 imul %edx,%eax + 10066f: 39 45 c0 cmp %eax,-0x40(%ebp) + 100672: 76 15 jbe 100689 <k_heapBMAlloc+0x96> + 100674: 8b 45 d8 mov -0x28(%ebp),%eax + 100677: 8b 48 0c mov 0xc(%eax),%ecx + 10067a: 8b 45 c0 mov -0x40(%ebp),%eax + 10067d: ba 00 00 00 00 mov $0x0,%edx + 100682: f7 f1 div %ecx + 100684: 83 c0 01 add $0x1,%eax + 100687: eb 10 jmp 100699 <k_heapBMAlloc+0xa6> + 100689: 8b 45 d8 mov -0x28(%ebp),%eax + 10068c: 8b 48 0c mov 0xc(%eax),%ecx + 10068f: 8b 45 c0 mov -0x40(%ebp),%eax + 100692: ba 00 00 00 00 mov $0x0,%edx + 100697: f7 f1 div %ecx + 100699: 89 45 ec mov %eax,-0x14(%ebp) + 10069c: 8b 45 d8 mov -0x28(%ebp),%eax + 10069f: 83 c0 14 add $0x14,%eax + 1006a2: 89 45 f0 mov %eax,-0x10(%ebp) + 1006a5: 8b 45 d8 mov -0x28(%ebp),%eax + 1006a8: 8b 40 10 mov 0x10(%eax),%eax + 1006ab: 83 c0 01 add $0x1,%eax + 1006ae: 39 45 e8 cmp %eax,-0x18(%ebp) + 1006b1: 76 0b jbe 1006be <k_heapBMAlloc+0xcb> + 1006b3: 8b 45 d8 mov -0x28(%ebp),%eax + 1006b6: 8b 40 10 mov 0x10(%eax),%eax + 1006b9: 83 c0 01 add $0x1,%eax + 1006bc: eb 05 jmp 1006c3 <k_heapBMAlloc+0xd0> + 1006be: b8 00 00 00 00 mov $0x0,%eax + 1006c3: 89 45 dc mov %eax,-0x24(%ebp) + 1006c6: 8b 45 dc mov -0x24(%ebp),%eax + 1006c9: 3b 45 e8 cmp -0x18(%ebp),%eax + 1006cc: 72 07 jb 1006d5 <k_heapBMAlloc+0xe2> + 1006ce: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%ebp) + 1006d5: 8b 55 f0 mov -0x10(%ebp),%edx + 1006d8: 8b 45 dc mov -0x24(%ebp),%eax + 1006db: 01 d0 add %edx,%eax + 1006dd: 0f b6 00 movzbl (%eax),%eax + 1006e0: 84 c0 test %al,%al + 1006e2: 0f 85 e5 00 00 00 jne 1007cd <k_heapBMAlloc+0x1da> + 1006e8: c7 45 e0 00 00 00 00 movl $0x0,-0x20(%ebp) + 1006ef: eb 04 jmp 1006f5 <k_heapBMAlloc+0x102> + 1006f1: 83 45 e0 01 addl $0x1,-0x20(%ebp) + 1006f5: 8b 55 dc mov -0x24(%ebp),%edx + 1006f8: 8b 45 e0 mov -0x20(%ebp),%eax + 1006fb: 01 c2 add %eax,%edx + 1006fd: 8b 45 f0 mov -0x10(%ebp),%eax + 100700: 01 d0 add %edx,%eax + 100702: 0f b6 00 movzbl (%eax),%eax + 100705: 84 c0 test %al,%al + 100707: 75 15 jne 10071e <k_heapBMAlloc+0x12b> + 100709: 8b 45 e0 mov -0x20(%ebp),%eax + 10070c: 3b 45 ec cmp -0x14(%ebp),%eax + 10070f: 73 0d jae 10071e <k_heapBMAlloc+0x12b> + 100711: 8b 55 dc mov -0x24(%ebp),%edx + 100714: 8b 45 e0 mov -0x20(%ebp),%eax + 100717: 01 d0 add %edx,%eax + 100719: 39 45 e8 cmp %eax,-0x18(%ebp) + 10071c: 77 d3 ja 1006f1 <k_heapBMAlloc+0xfe> + 10071e: 8b 45 e0 mov -0x20(%ebp),%eax + 100721: 3b 45 ec cmp -0x14(%ebp),%eax + 100724: 0f 85 94 00 00 00 jne 1007be <k_heapBMAlloc+0x1cb> + 10072a: 8b 55 dc mov -0x24(%ebp),%edx + 10072d: 8b 45 e0 mov -0x20(%ebp),%eax + 100730: 01 c2 add %eax,%edx + 100732: 8b 45 f0 mov -0x10(%ebp),%eax + 100735: 01 d0 add %edx,%eax + 100737: 0f b6 00 movzbl (%eax),%eax + 10073a: 0f b6 d0 movzbl %al,%edx + 10073d: 8b 45 dc mov -0x24(%ebp),%eax + 100740: 8d 48 ff lea -0x1(%eax),%ecx + 100743: 8b 45 f0 mov -0x10(%ebp),%eax + 100746: 01 c8 add %ecx,%eax + 100748: 0f b6 00 movzbl (%eax),%eax + 10074b: 0f b6 c0 movzbl %al,%eax + 10074e: 83 ec 08 sub $0x8,%esp + 100751: 52 push %edx + 100752: 50 push %eax + 100753: e8 4a fe ff ff call 1005a2 <k_heapBMGetNID> + 100758: 83 c4 10 add $0x10,%esp + 10075b: 88 45 d7 mov %al,-0x29(%ebp) + 10075e: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp) + 100765: eb 17 jmp 10077e <k_heapBMAlloc+0x18b> + 100767: 8b 55 dc mov -0x24(%ebp),%edx + 10076a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10076d: 01 c2 add %eax,%edx + 10076f: 8b 45 f0 mov -0x10(%ebp),%eax + 100772: 01 c2 add %eax,%edx + 100774: 0f b6 45 d7 movzbl -0x29(%ebp),%eax + 100778: 88 02 mov %al,(%edx) + 10077a: 83 45 e4 01 addl $0x1,-0x1c(%ebp) + 10077e: 8b 45 e4 mov -0x1c(%ebp),%eax + 100781: 3b 45 e0 cmp -0x20(%ebp),%eax + 100784: 72 e1 jb 100767 <k_heapBMAlloc+0x174> + 100786: 8b 55 dc mov -0x24(%ebp),%edx + 100789: 8b 45 ec mov -0x14(%ebp),%eax + 10078c: 01 d0 add %edx,%eax + 10078e: 8d 50 fe lea -0x2(%eax),%edx + 100791: 8b 45 d8 mov -0x28(%ebp),%eax + 100794: 89 50 10 mov %edx,0x10(%eax) + 100797: 8b 45 d8 mov -0x28(%ebp),%eax + 10079a: 8b 50 08 mov 0x8(%eax),%edx + 10079d: 8b 45 e0 mov -0x20(%ebp),%eax + 1007a0: 01 c2 add %eax,%edx + 1007a2: 8b 45 d8 mov -0x28(%ebp),%eax + 1007a5: 89 50 08 mov %edx,0x8(%eax) + 1007a8: 8b 45 d8 mov -0x28(%ebp),%eax + 1007ab: 8b 40 0c mov 0xc(%eax),%eax + 1007ae: 0f af 45 dc imul -0x24(%ebp),%eax + 1007b2: 89 c2 mov %eax,%edx + 1007b4: 8b 45 d8 mov -0x28(%ebp),%eax + 1007b7: 01 d0 add %edx,%eax + 1007b9: 83 c0 14 add $0x14,%eax + 1007bc: eb 2f jmp 1007ed <k_heapBMAlloc+0x1fa> + 1007be: 8b 55 e0 mov -0x20(%ebp),%edx + 1007c1: 8b 45 dc mov -0x24(%ebp),%eax + 1007c4: 01 d0 add %edx,%eax + 1007c6: 83 e8 01 sub $0x1,%eax + 1007c9: 89 45 dc mov %eax,-0x24(%ebp) + 1007cc: 90 nop + 1007cd: 83 45 dc 01 addl $0x1,-0x24(%ebp) + 1007d1: e9 f0 fe ff ff jmp 1006c6 <k_heapBMAlloc+0xd3> + 1007d6: 8b 45 d8 mov -0x28(%ebp),%eax + 1007d9: 8b 00 mov (%eax),%eax + 1007db: 89 45 d8 mov %eax,-0x28(%ebp) + 1007de: 83 7d d8 00 cmpl $0x0,-0x28(%ebp) + 1007e2: 0f 85 34 fe ff ff jne 10061c <k_heapBMAlloc+0x29> + 1007e8: b8 00 00 00 00 mov $0x0,%eax + 1007ed: 8b 55 f4 mov -0xc(%ebp),%edx + 1007f0: 2b 15 04 50 10 00 sub 0x105004,%edx + 1007f6: 74 05 je 1007fd <k_heapBMAlloc+0x20a> + 1007f8: e8 8a 30 00 00 call 103887 <__stack_chk_fail> + 1007fd: c9 leave + 1007fe: c3 ret + +001007ff <k_heapBMFree>: + 1007ff: 55 push %ebp + 100800: 89 e5 mov %esp,%ebp + 100802: 83 ec 38 sub $0x38,%esp + 100805: 8b 45 08 mov 0x8(%ebp),%eax + 100808: 89 45 d4 mov %eax,-0x2c(%ebp) + 10080b: 8b 45 0c mov 0xc(%ebp),%eax + 10080e: 89 45 d0 mov %eax,-0x30(%ebp) + 100811: a1 04 50 10 00 mov 0x105004,%eax + 100816: 89 45 f4 mov %eax,-0xc(%ebp) + 100819: 31 c0 xor %eax,%eax + 10081b: 8b 45 d4 mov -0x2c(%ebp),%eax + 10081e: 8b 00 mov (%eax),%eax + 100820: 89 45 dc mov %eax,-0x24(%ebp) + 100823: e9 c2 00 00 00 jmp 1008ea <k_heapBMFree+0xeb> + 100828: 8b 55 d0 mov -0x30(%ebp),%edx + 10082b: 8b 45 dc mov -0x24(%ebp),%eax + 10082e: 39 c2 cmp %eax,%edx + 100830: 0f 86 ac 00 00 00 jbe 1008e2 <k_heapBMFree+0xe3> + 100836: 8b 45 dc mov -0x24(%ebp),%eax + 100839: 8b 50 04 mov 0x4(%eax),%edx + 10083c: 8b 45 dc mov -0x24(%ebp),%eax + 10083f: 01 d0 add %edx,%eax + 100841: 8d 50 14 lea 0x14(%eax),%edx + 100844: 8b 45 d0 mov -0x30(%ebp),%eax + 100847: 39 c2 cmp %eax,%edx + 100849: 0f 86 93 00 00 00 jbe 1008e2 <k_heapBMFree+0xe3> + 10084f: 8b 45 d0 mov -0x30(%ebp),%eax + 100852: 8b 55 dc mov -0x24(%ebp),%edx + 100855: 29 d0 sub %edx,%eax + 100857: 83 e8 14 sub $0x14,%eax + 10085a: 89 45 e4 mov %eax,-0x1c(%ebp) + 10085d: 8b 45 dc mov -0x24(%ebp),%eax + 100860: 8b 48 0c mov 0xc(%eax),%ecx + 100863: 8b 45 e4 mov -0x1c(%ebp),%eax + 100866: ba 00 00 00 00 mov $0x0,%edx + 10086b: f7 f1 div %ecx + 10086d: 89 45 e8 mov %eax,-0x18(%ebp) + 100870: 8b 45 dc mov -0x24(%ebp),%eax + 100873: 83 c0 14 add $0x14,%eax + 100876: 89 45 ec mov %eax,-0x14(%ebp) + 100879: 8b 55 ec mov -0x14(%ebp),%edx + 10087c: 8b 45 e8 mov -0x18(%ebp),%eax + 10087f: 01 d0 add %edx,%eax + 100881: 0f b6 00 movzbl (%eax),%eax + 100884: 88 45 db mov %al,-0x25(%ebp) + 100887: 8b 45 dc mov -0x24(%ebp),%eax + 10088a: 8b 40 04 mov 0x4(%eax),%eax + 10088d: 8b 55 dc mov -0x24(%ebp),%edx + 100890: 8b 4a 0c mov 0xc(%edx),%ecx + 100893: ba 00 00 00 00 mov $0x0,%edx + 100898: f7 f1 div %ecx + 10089a: 89 45 f0 mov %eax,-0x10(%ebp) + 10089d: 8b 45 e8 mov -0x18(%ebp),%eax + 1008a0: 89 45 e0 mov %eax,-0x20(%ebp) + 1008a3: eb 0f jmp 1008b4 <k_heapBMFree+0xb5> + 1008a5: 8b 55 ec mov -0x14(%ebp),%edx + 1008a8: 8b 45 e0 mov -0x20(%ebp),%eax + 1008ab: 01 d0 add %edx,%eax + 1008ad: c6 00 00 movb $0x0,(%eax) + 1008b0: 83 45 e0 01 addl $0x1,-0x20(%ebp) + 1008b4: 8b 55 ec mov -0x14(%ebp),%edx + 1008b7: 8b 45 e0 mov -0x20(%ebp),%eax + 1008ba: 01 d0 add %edx,%eax + 1008bc: 0f b6 00 movzbl (%eax),%eax + 1008bf: 38 45 db cmp %al,-0x25(%ebp) + 1008c2: 75 08 jne 1008cc <k_heapBMFree+0xcd> + 1008c4: 8b 45 e0 mov -0x20(%ebp),%eax + 1008c7: 3b 45 f0 cmp -0x10(%ebp),%eax + 1008ca: 72 d9 jb 1008a5 <k_heapBMFree+0xa6> + 1008cc: 8b 45 dc mov -0x24(%ebp),%eax + 1008cf: 8b 50 08 mov 0x8(%eax),%edx + 1008d2: 8b 45 e8 mov -0x18(%ebp),%eax + 1008d5: 2b 45 e0 sub -0x20(%ebp),%eax + 1008d8: 01 c2 add %eax,%edx + 1008da: 8b 45 dc mov -0x24(%ebp),%eax + 1008dd: 89 50 08 mov %edx,0x8(%eax) + 1008e0: eb 13 jmp 1008f5 <k_heapBMFree+0xf6> + 1008e2: 8b 45 dc mov -0x24(%ebp),%eax + 1008e5: 8b 00 mov (%eax),%eax + 1008e7: 89 45 dc mov %eax,-0x24(%ebp) + 1008ea: 83 7d dc 00 cmpl $0x0,-0x24(%ebp) + 1008ee: 0f 85 34 ff ff ff jne 100828 <k_heapBMFree+0x29> + 1008f4: 90 nop + 1008f5: 8b 45 f4 mov -0xc(%ebp),%eax + 1008f8: 2b 05 04 50 10 00 sub 0x105004,%eax + 1008fe: 74 05 je 100905 <k_heapBMFree+0x106> + 100900: e8 82 2f 00 00 call 103887 <__stack_chk_fail> + 100905: c9 leave + 100906: c3 ret + +00100907 <heap>: + 100907: 55 push %ebp + 100908: 89 e5 mov %esp,%ebp + 10090a: 83 ec 18 sub $0x18,%esp + 10090d: a1 04 50 10 00 mov 0x105004,%eax + 100912: 89 45 f4 mov %eax,-0xc(%ebp) + 100915: 31 c0 xor %eax,%eax + 100917: 83 ec 0c sub $0xc,%esp + 10091a: 8d 45 ec lea -0x14(%ebp),%eax + 10091d: 50 push %eax + 10091e: e8 3b fb ff ff call 10045e <k_heapBMInit> + 100923: 83 c4 10 add $0x10,%esp + 100926: 6a 10 push $0x10 + 100928: 68 00 00 10 00 push $0x100000 + 10092d: 68 00 00 10 00 push $0x100000 + 100932: 8d 45 ec lea -0x14(%ebp),%eax + 100935: 50 push %eax + 100936: e8 55 fb ff ff call 100490 <k_heapBMAddBlock> + 10093b: 83 c4 10 add $0x10,%esp + 10093e: 83 ec 08 sub $0x8,%esp + 100941: 68 00 01 00 00 push $0x100 + 100946: 8d 45 ec lea -0x14(%ebp),%eax + 100949: 50 push %eax + 10094a: e8 a4 fc ff ff call 1005f3 <k_heapBMAlloc> + 10094f: 83 c4 10 add $0x10,%esp + 100952: 89 45 f0 mov %eax,-0x10(%ebp) + 100955: 83 ec 08 sub $0x8,%esp + 100958: ff 75 f0 push -0x10(%ebp) + 10095b: 8d 45 ec lea -0x14(%ebp),%eax + 10095e: 50 push %eax + 10095f: e8 9b fe ff ff call 1007ff <k_heapBMFree> + 100964: 83 c4 10 add $0x10,%esp + 100967: 90 nop + 100968: 8b 45 f4 mov -0xc(%ebp),%eax + 10096b: 2b 05 04 50 10 00 sub 0x105004,%eax + 100971: 74 05 je 100978 <heap+0x71> + 100973: e8 0f 2f 00 00 call 103887 <__stack_chk_fail> + 100978: c9 leave + 100979: c3 ret + +0010097a <init_idt_entry>: + 10097a: 55 push %ebp + 10097b: 89 e5 mov %esp,%ebp + 10097d: 83 ec 28 sub $0x28,%esp + 100980: 8b 55 10 mov 0x10(%ebp),%edx + 100983: 8b 4d 14 mov 0x14(%ebp),%ecx + 100986: 8b 45 08 mov 0x8(%ebp),%eax + 100989: 89 45 e4 mov %eax,-0x1c(%ebp) + 10098c: 8b 45 0c mov 0xc(%ebp),%eax + 10098f: 89 45 e0 mov %eax,-0x20(%ebp) + 100992: 89 d0 mov %edx,%eax + 100994: 66 89 45 dc mov %ax,-0x24(%ebp) + 100998: 89 c8 mov %ecx,%eax + 10099a: 88 45 d8 mov %al,-0x28(%ebp) + 10099d: a1 04 50 10 00 mov 0x105004,%eax + 1009a2: 89 45 f4 mov %eax,-0xc(%ebp) + 1009a5: 31 c0 xor %eax,%eax + 1009a7: 8b 45 e0 mov -0x20(%ebp),%eax + 1009aa: 89 c2 mov %eax,%edx + 1009ac: 8b 45 e4 mov -0x1c(%ebp),%eax + 1009af: 66 89 14 c5 60 a0 10 mov %dx,0x10a060(,%eax,8) + 1009b6: 00 + 1009b7: 8b 45 e4 mov -0x1c(%ebp),%eax + 1009ba: 0f b7 55 dc movzwl -0x24(%ebp),%edx + 1009be: 66 89 14 c5 62 a0 10 mov %dx,0x10a062(,%eax,8) + 1009c5: 00 + 1009c6: 8b 45 e4 mov -0x1c(%ebp),%eax + 1009c9: c6 04 c5 64 a0 10 00 movb $0x0,0x10a064(,%eax,8) + 1009d0: 00 + 1009d1: 8b 45 e4 mov -0x1c(%ebp),%eax + 1009d4: 0f b6 55 d8 movzbl -0x28(%ebp),%edx + 1009d8: 88 14 c5 65 a0 10 00 mov %dl,0x10a065(,%eax,8) + 1009df: 8b 45 e0 mov -0x20(%ebp),%eax + 1009e2: c1 e8 10 shr $0x10,%eax + 1009e5: 89 c2 mov %eax,%edx + 1009e7: 8b 45 e4 mov -0x1c(%ebp),%eax + 1009ea: 66 89 14 c5 66 a0 10 mov %dx,0x10a066(,%eax,8) + 1009f1: 00 + 1009f2: 90 nop + 1009f3: 8b 45 f4 mov -0xc(%ebp),%eax + 1009f6: 2b 05 04 50 10 00 sub 0x105004,%eax + 1009fc: 74 05 je 100a03 <init_idt_entry+0x89> + 1009fe: e8 84 2e 00 00 call 103887 <__stack_chk_fail> + 100a03: c9 leave + 100a04: c3 ret + +00100a05 <add_idt_entry>: + 100a05: 55 push %ebp + 100a06: 89 e5 mov %esp,%ebp + 100a08: 83 ec 28 sub $0x28,%esp + 100a0b: 8b 45 08 mov 0x8(%ebp),%eax + 100a0e: 89 45 e4 mov %eax,-0x1c(%ebp) + 100a11: 8b 45 0c mov 0xc(%ebp),%eax + 100a14: 89 45 e0 mov %eax,-0x20(%ebp) + 100a17: a1 04 50 10 00 mov 0x105004,%eax + 100a1c: 89 45 f4 mov %eax,-0xc(%ebp) + 100a1f: 31 c0 xor %eax,%eax + 100a21: 68 8e 00 00 00 push $0x8e + 100a26: 6a 08 push $0x8 + 100a28: ff 75 e0 push -0x20(%ebp) + 100a2b: ff 75 e4 push -0x1c(%ebp) + 100a2e: e8 47 ff ff ff call 10097a <init_idt_entry> + 100a33: 83 c4 10 add $0x10,%esp + 100a36: 90 nop + 100a37: 8b 45 f4 mov -0xc(%ebp),%eax + 100a3a: 2b 05 04 50 10 00 sub 0x105004,%eax + 100a40: 74 05 je 100a47 <add_idt_entry+0x42> + 100a42: e8 40 2e 00 00 call 103887 <__stack_chk_fail> + 100a47: c9 leave + 100a48: c3 ret + +00100a49 <init_pic>: + 100a49: 55 push %ebp + 100a4a: 89 e5 mov %esp,%ebp + 100a4c: 83 ec 18 sub $0x18,%esp + 100a4f: a1 04 50 10 00 mov 0x105004,%eax + 100a54: 89 45 f4 mov %eax,-0xc(%ebp) + 100a57: 31 c0 xor %eax,%eax + 100a59: 83 ec 08 sub $0x8,%esp + 100a5c: 6a 11 push $0x11 + 100a5e: 6a 20 push $0x20 + 100a60: e8 be f5 ff ff call 100023 <ioport_out> + 100a65: 83 c4 10 add $0x10,%esp + 100a68: 83 ec 08 sub $0x8,%esp + 100a6b: 6a 11 push $0x11 + 100a6d: 68 a0 00 00 00 push $0xa0 + 100a72: e8 ac f5 ff ff call 100023 <ioport_out> + 100a77: 83 c4 10 add $0x10,%esp + 100a7a: 83 ec 08 sub $0x8,%esp + 100a7d: 6a 20 push $0x20 + 100a7f: 6a 21 push $0x21 + 100a81: e8 9d f5 ff ff call 100023 <ioport_out> + 100a86: 83 c4 10 add $0x10,%esp + 100a89: 83 ec 08 sub $0x8,%esp + 100a8c: 6a 28 push $0x28 + 100a8e: 68 a1 00 00 00 push $0xa1 + 100a93: e8 8b f5 ff ff call 100023 <ioport_out> + 100a98: 83 c4 10 add $0x10,%esp + 100a9b: 83 ec 08 sub $0x8,%esp + 100a9e: 6a 04 push $0x4 + 100aa0: 6a 21 push $0x21 + 100aa2: e8 7c f5 ff ff call 100023 <ioport_out> + 100aa7: 83 c4 10 add $0x10,%esp + 100aaa: 83 ec 08 sub $0x8,%esp + 100aad: 6a 02 push $0x2 + 100aaf: 68 a1 00 00 00 push $0xa1 + 100ab4: e8 6a f5 ff ff call 100023 <ioport_out> + 100ab9: 83 c4 10 add $0x10,%esp + 100abc: 83 ec 08 sub $0x8,%esp + 100abf: 6a 01 push $0x1 + 100ac1: 6a 21 push $0x21 + 100ac3: e8 5b f5 ff ff call 100023 <ioport_out> + 100ac8: 83 c4 10 add $0x10,%esp + 100acb: 83 ec 08 sub $0x8,%esp + 100ace: 6a 01 push $0x1 + 100ad0: 68 a1 00 00 00 push $0xa1 + 100ad5: e8 49 f5 ff ff call 100023 <ioport_out> + 100ada: 83 c4 10 add $0x10,%esp + 100add: 83 ec 08 sub $0x8,%esp + 100ae0: 6a ff push $0xffffffff + 100ae2: 6a 21 push $0x21 + 100ae4: e8 3a f5 ff ff call 100023 <ioport_out> + 100ae9: 83 c4 10 add $0x10,%esp + 100aec: 83 ec 08 sub $0x8,%esp + 100aef: 6a ff push $0xffffffff + 100af1: 68 a1 00 00 00 push $0xa1 + 100af6: e8 28 f5 ff ff call 100023 <ioport_out> + 100afb: 83 c4 10 add $0x10,%esp + 100afe: 83 ec 08 sub $0x8,%esp + 100b01: 6a fc push $0xfffffffc + 100b03: 6a 21 push $0x21 + 100b05: e8 19 f5 ff ff call 100023 <ioport_out> + 100b0a: 83 c4 10 add $0x10,%esp + 100b0d: 90 nop + 100b0e: 8b 45 f4 mov -0xc(%ebp),%eax + 100b11: 2b 05 04 50 10 00 sub 0x105004,%eax + 100b17: 74 05 je 100b1e <init_pic+0xd5> + 100b19: e8 69 2d 00 00 call 103887 <__stack_chk_fail> + 100b1e: c9 leave + 100b1f: c3 ret + +00100b20 <init_idt_table>: + 100b20: 55 push %ebp + 100b21: 89 e5 mov %esp,%ebp + 100b23: 83 ec 18 sub $0x18,%esp + 100b26: a1 04 50 10 00 mov 0x105004,%eax + 100b2b: 89 45 f4 mov %eax,-0xc(%ebp) + 100b2e: 31 c0 xor %eax,%eax + 100b30: e8 14 ff ff ff call 100a49 <init_pic> + 100b35: b8 a0 01 10 00 mov $0x1001a0,%eax + 100b3a: 83 ec 08 sub $0x8,%esp + 100b3d: 50 push %eax + 100b3e: 6a 00 push $0x0 + 100b40: e8 c0 fe ff ff call 100a05 <add_idt_entry> + 100b45: 83 c4 10 add $0x10,%esp + 100b48: b8 a9 01 10 00 mov $0x1001a9,%eax + 100b4d: 83 ec 08 sub $0x8,%esp + 100b50: 50 push %eax + 100b51: 6a 01 push $0x1 + 100b53: e8 ad fe ff ff call 100a05 <add_idt_entry> + 100b58: 83 c4 10 add $0x10,%esp + 100b5b: b8 b2 01 10 00 mov $0x1001b2,%eax + 100b60: 83 ec 08 sub $0x8,%esp + 100b63: 50 push %eax + 100b64: 6a 02 push $0x2 + 100b66: e8 9a fe ff ff call 100a05 <add_idt_entry> + 100b6b: 83 c4 10 add $0x10,%esp + 100b6e: b8 bb 01 10 00 mov $0x1001bb,%eax + 100b73: 83 ec 08 sub $0x8,%esp + 100b76: 50 push %eax + 100b77: 6a 03 push $0x3 + 100b79: e8 87 fe ff ff call 100a05 <add_idt_entry> + 100b7e: 83 c4 10 add $0x10,%esp + 100b81: b8 c4 01 10 00 mov $0x1001c4,%eax + 100b86: 83 ec 08 sub $0x8,%esp + 100b89: 50 push %eax + 100b8a: 6a 04 push $0x4 + 100b8c: e8 74 fe ff ff call 100a05 <add_idt_entry> + 100b91: 83 c4 10 add $0x10,%esp + 100b94: b8 cd 01 10 00 mov $0x1001cd,%eax + 100b99: 83 ec 08 sub $0x8,%esp + 100b9c: 50 push %eax + 100b9d: 6a 05 push $0x5 + 100b9f: e8 61 fe ff ff call 100a05 <add_idt_entry> + 100ba4: 83 c4 10 add $0x10,%esp + 100ba7: b8 d6 01 10 00 mov $0x1001d6,%eax + 100bac: 83 ec 08 sub $0x8,%esp + 100baf: 50 push %eax + 100bb0: 6a 06 push $0x6 + 100bb2: e8 4e fe ff ff call 100a05 <add_idt_entry> + 100bb7: 83 c4 10 add $0x10,%esp + 100bba: b8 df 01 10 00 mov $0x1001df,%eax + 100bbf: 83 ec 08 sub $0x8,%esp + 100bc2: 50 push %eax + 100bc3: 6a 07 push $0x7 + 100bc5: e8 3b fe ff ff call 100a05 <add_idt_entry> + 100bca: 83 c4 10 add $0x10,%esp + 100bcd: b8 e8 01 10 00 mov $0x1001e8,%eax + 100bd2: 83 ec 08 sub $0x8,%esp + 100bd5: 50 push %eax + 100bd6: 6a 08 push $0x8 + 100bd8: e8 28 fe ff ff call 100a05 <add_idt_entry> + 100bdd: 83 c4 10 add $0x10,%esp + 100be0: b8 f1 01 10 00 mov $0x1001f1,%eax + 100be5: 83 ec 08 sub $0x8,%esp + 100be8: 50 push %eax + 100be9: 6a 09 push $0x9 + 100beb: e8 15 fe ff ff call 100a05 <add_idt_entry> + 100bf0: 83 c4 10 add $0x10,%esp + 100bf3: b8 fa 01 10 00 mov $0x1001fa,%eax + 100bf8: 83 ec 08 sub $0x8,%esp + 100bfb: 50 push %eax + 100bfc: 6a 0a push $0xa + 100bfe: e8 02 fe ff ff call 100a05 <add_idt_entry> + 100c03: 83 c4 10 add $0x10,%esp + 100c06: b8 03 02 10 00 mov $0x100203,%eax + 100c0b: 83 ec 08 sub $0x8,%esp + 100c0e: 50 push %eax + 100c0f: 6a 0b push $0xb + 100c11: e8 ef fd ff ff call 100a05 <add_idt_entry> + 100c16: 83 c4 10 add $0x10,%esp + 100c19: b8 0c 02 10 00 mov $0x10020c,%eax + 100c1e: 83 ec 08 sub $0x8,%esp + 100c21: 50 push %eax + 100c22: 6a 0c push $0xc + 100c24: e8 dc fd ff ff call 100a05 <add_idt_entry> + 100c29: 83 c4 10 add $0x10,%esp + 100c2c: b8 15 02 10 00 mov $0x100215,%eax + 100c31: 83 ec 08 sub $0x8,%esp + 100c34: 50 push %eax + 100c35: 6a 0d push $0xd + 100c37: e8 c9 fd ff ff call 100a05 <add_idt_entry> + 100c3c: 83 c4 10 add $0x10,%esp + 100c3f: b8 1e 02 10 00 mov $0x10021e,%eax + 100c44: 83 ec 08 sub $0x8,%esp + 100c47: 50 push %eax + 100c48: 6a 0e push $0xe + 100c4a: e8 b6 fd ff ff call 100a05 <add_idt_entry> + 100c4f: 83 c4 10 add $0x10,%esp + 100c52: b8 27 02 10 00 mov $0x100227,%eax + 100c57: 83 ec 08 sub $0x8,%esp + 100c5a: 50 push %eax + 100c5b: 6a 0f push $0xf + 100c5d: e8 a3 fd ff ff call 100a05 <add_idt_entry> + 100c62: 83 c4 10 add $0x10,%esp + 100c65: b8 30 02 10 00 mov $0x100230,%eax + 100c6a: 83 ec 08 sub $0x8,%esp + 100c6d: 50 push %eax + 100c6e: 6a 10 push $0x10 + 100c70: e8 90 fd ff ff call 100a05 <add_idt_entry> + 100c75: 83 c4 10 add $0x10,%esp + 100c78: b8 39 02 10 00 mov $0x100239,%eax + 100c7d: 83 ec 08 sub $0x8,%esp + 100c80: 50 push %eax + 100c81: 6a 11 push $0x11 + 100c83: e8 7d fd ff ff call 100a05 <add_idt_entry> + 100c88: 83 c4 10 add $0x10,%esp + 100c8b: b8 42 02 10 00 mov $0x100242,%eax + 100c90: 83 ec 08 sub $0x8,%esp + 100c93: 50 push %eax + 100c94: 6a 12 push $0x12 + 100c96: e8 6a fd ff ff call 100a05 <add_idt_entry> + 100c9b: 83 c4 10 add $0x10,%esp + 100c9e: b8 4b 02 10 00 mov $0x10024b,%eax + 100ca3: 83 ec 08 sub $0x8,%esp + 100ca6: 50 push %eax + 100ca7: 6a 13 push $0x13 + 100ca9: e8 57 fd ff ff call 100a05 <add_idt_entry> + 100cae: 83 c4 10 add $0x10,%esp + 100cb1: b8 54 02 10 00 mov $0x100254,%eax + 100cb6: 83 ec 08 sub $0x8,%esp + 100cb9: 50 push %eax + 100cba: 6a 14 push $0x14 + 100cbc: e8 44 fd ff ff call 100a05 <add_idt_entry> + 100cc1: 83 c4 10 add $0x10,%esp + 100cc4: b8 5d 02 10 00 mov $0x10025d,%eax + 100cc9: 83 ec 08 sub $0x8,%esp + 100ccc: 50 push %eax + 100ccd: 6a 15 push $0x15 + 100ccf: e8 31 fd ff ff call 100a05 <add_idt_entry> + 100cd4: 83 c4 10 add $0x10,%esp + 100cd7: b8 66 02 10 00 mov $0x100266,%eax + 100cdc: 83 ec 08 sub $0x8,%esp + 100cdf: 50 push %eax + 100ce0: 6a 16 push $0x16 + 100ce2: e8 1e fd ff ff call 100a05 <add_idt_entry> + 100ce7: 83 c4 10 add $0x10,%esp + 100cea: b8 6f 02 10 00 mov $0x10026f,%eax + 100cef: 83 ec 08 sub $0x8,%esp + 100cf2: 50 push %eax + 100cf3: 6a 17 push $0x17 + 100cf5: e8 0b fd ff ff call 100a05 <add_idt_entry> + 100cfa: 83 c4 10 add $0x10,%esp + 100cfd: b8 78 02 10 00 mov $0x100278,%eax + 100d02: 83 ec 08 sub $0x8,%esp + 100d05: 50 push %eax + 100d06: 6a 18 push $0x18 + 100d08: e8 f8 fc ff ff call 100a05 <add_idt_entry> + 100d0d: 83 c4 10 add $0x10,%esp + 100d10: b8 81 02 10 00 mov $0x100281,%eax + 100d15: 83 ec 08 sub $0x8,%esp + 100d18: 50 push %eax + 100d19: 6a 19 push $0x19 + 100d1b: e8 e5 fc ff ff call 100a05 <add_idt_entry> + 100d20: 83 c4 10 add $0x10,%esp + 100d23: b8 8a 02 10 00 mov $0x10028a,%eax + 100d28: 83 ec 08 sub $0x8,%esp + 100d2b: 50 push %eax + 100d2c: 6a 1a push $0x1a + 100d2e: e8 d2 fc ff ff call 100a05 <add_idt_entry> + 100d33: 83 c4 10 add $0x10,%esp + 100d36: b8 93 02 10 00 mov $0x100293,%eax + 100d3b: 83 ec 08 sub $0x8,%esp + 100d3e: 50 push %eax + 100d3f: 6a 1b push $0x1b + 100d41: e8 bf fc ff ff call 100a05 <add_idt_entry> + 100d46: 83 c4 10 add $0x10,%esp + 100d49: b8 9c 02 10 00 mov $0x10029c,%eax + 100d4e: 83 ec 08 sub $0x8,%esp + 100d51: 50 push %eax + 100d52: 6a 1c push $0x1c + 100d54: e8 ac fc ff ff call 100a05 <add_idt_entry> + 100d59: 83 c4 10 add $0x10,%esp + 100d5c: b8 a5 02 10 00 mov $0x1002a5,%eax + 100d61: 83 ec 08 sub $0x8,%esp + 100d64: 50 push %eax + 100d65: 6a 1d push $0x1d + 100d67: e8 99 fc ff ff call 100a05 <add_idt_entry> + 100d6c: 83 c4 10 add $0x10,%esp + 100d6f: b8 ae 02 10 00 mov $0x1002ae,%eax + 100d74: 83 ec 08 sub $0x8,%esp + 100d77: 50 push %eax + 100d78: 6a 1e push $0x1e + 100d7a: e8 86 fc ff ff call 100a05 <add_idt_entry> + 100d7f: 83 c4 10 add $0x10,%esp + 100d82: b8 b7 02 10 00 mov $0x1002b7,%eax + 100d87: 83 ec 08 sub $0x8,%esp + 100d8a: 50 push %eax + 100d8b: 6a 1f push $0x1f + 100d8d: e8 73 fc ff ff call 100a05 <add_idt_entry> + 100d92: 83 c4 10 add $0x10,%esp + 100d95: b8 c0 02 10 00 mov $0x1002c0,%eax + 100d9a: 83 ec 08 sub $0x8,%esp + 100d9d: 50 push %eax + 100d9e: 6a 20 push $0x20 + 100da0: e8 60 fc ff ff call 100a05 <add_idt_entry> + 100da5: 83 c4 10 add $0x10,%esp + 100da8: b8 c9 02 10 00 mov $0x1002c9,%eax + 100dad: 83 ec 08 sub $0x8,%esp + 100db0: 50 push %eax + 100db1: 6a 21 push $0x21 + 100db3: e8 4d fc ff ff call 100a05 <add_idt_entry> + 100db8: 83 c4 10 add $0x10,%esp + 100dbb: 66 c7 05 60 a8 10 00 movw $0x7ff,0x10a860 + 100dc2: ff 07 + 100dc4: b8 60 a0 10 00 mov $0x10a060,%eax + 100dc9: a3 62 a8 10 00 mov %eax,0x10a862 + 100dce: 83 ec 0c sub $0xc,%esp + 100dd1: 68 60 a8 10 00 push $0x10a860 + 100dd6: e8 39 f2 ff ff call 100014 <load_idt> + 100ddb: 83 c4 10 add $0x10,%esp + 100dde: 90 nop + 100ddf: 8b 45 f4 mov -0xc(%ebp),%eax + 100de2: 2b 05 04 50 10 00 sub 0x105004,%eax + 100de8: 74 05 je 100def <init_idt_table+0x2cf> + 100dea: e8 98 2a 00 00 call 103887 <__stack_chk_fail> + 100def: c9 leave + 100df0: c3 ret + +00100df1 <kernel_main>: + 100df1: 55 push %ebp + 100df2: 89 e5 mov %esp,%ebp + 100df4: 83 ec 18 sub $0x18,%esp + 100df7: a1 04 50 10 00 mov 0x105004,%eax + 100dfc: 89 45 f4 mov %eax,-0xc(%ebp) + 100dff: 31 c0 xor %eax,%eax + 100e01: e8 67 2c 00 00 call 103a6d <set_paging> + 100e06: e8 15 fd ff ff call 100b20 <init_idt_table> + 100e0b: 83 ec 0c sub $0xc,%esp + 100e0e: 6a 32 push $0x32 + 100e10: e8 0b 2b 00 00 call 103920 <init_timer> + 100e15: 83 c4 10 add $0x10,%esp + 100e18: e8 77 01 00 00 call 100f94 <init_keyboard> + 100e1d: 83 ec 0c sub $0xc,%esp + 100e20: 68 50 a0 10 00 push $0x10a050 + 100e25: e8 34 f6 ff ff call 10045e <k_heapBMInit> + 100e2a: 83 c4 10 add $0x10,%esp + 100e2d: 6a 10 push $0x10 + 100e2f: 68 00 00 10 00 push $0x100000 + 100e34: 68 00 00 20 00 push $0x200000 + 100e39: 68 50 a0 10 00 push $0x10a050 + 100e3e: e8 4d f6 ff ff call 100490 <k_heapBMAddBlock> + 100e43: 83 c4 10 add $0x10,%esp + 100e46: e8 39 1b 00 00 call 102984 <terminal_initialize> + 100e4b: e8 f9 14 00 00 call 102349 <prompt> + 100e50: 83 ec 08 sub $0x8,%esp + 100e53: 6a 05 push $0x5 + 100e55: 68 50 a0 10 00 push $0x10a050 + 100e5a: e8 94 f7 ff ff call 1005f3 <k_heapBMAlloc> + 100e5f: 83 c4 10 add $0x10,%esp + 100e62: 89 45 f0 mov %eax,-0x10(%ebp) + 100e65: 83 7d f0 00 cmpl $0x0,-0x10(%ebp) + 100e69: 74 13 je 100e7e <kernel_main+0x8d> + 100e6b: 83 ec 08 sub $0x8,%esp + 100e6e: ff 75 f0 push -0x10(%ebp) + 100e71: 68 00 40 10 00 push $0x104000 + 100e76: e8 8d 0a 00 00 call 101908 <printf> + 100e7b: 83 c4 10 add $0x10,%esp + 100e7e: f4 hlt + 100e7f: eb fd jmp 100e7e <kernel_main+0x8d> + +00100e81 <f>: + 100e81: 55 push %ebp + 100e82: 89 e5 mov %esp,%ebp + 100e84: 83 ec 18 sub $0x18,%esp + 100e87: a1 04 50 10 00 mov 0x105004,%eax + 100e8c: 89 45 f4 mov %eax,-0xc(%ebp) + 100e8f: 31 c0 xor %eax,%eax + 100e91: 83 ec 08 sub $0x8,%esp + 100e94: 6a 05 push $0x5 + 100e96: 68 50 a0 10 00 push $0x10a050 + 100e9b: e8 53 f7 ff ff call 1005f3 <k_heapBMAlloc> + 100ea0: 83 c4 10 add $0x10,%esp + 100ea3: 89 45 ec mov %eax,-0x14(%ebp) + 100ea6: 8b 45 ec mov -0x14(%ebp),%eax + 100ea9: c6 00 61 movb $0x61,(%eax) + 100eac: 8b 45 ec mov -0x14(%ebp),%eax + 100eaf: 83 c0 01 add $0x1,%eax + 100eb2: c6 00 6c movb $0x6c,(%eax) + 100eb5: 8b 45 ec mov -0x14(%ebp),%eax + 100eb8: 83 c0 02 add $0x2,%eax + 100ebb: c6 00 65 movb $0x65,(%eax) + 100ebe: 8b 45 ec mov -0x14(%ebp),%eax + 100ec1: 83 c0 03 add $0x3,%eax + 100ec4: c6 00 6b movb $0x6b,(%eax) + 100ec7: 8b 45 ec mov -0x14(%ebp),%eax + 100eca: 83 c0 04 add $0x4,%eax + 100ecd: c6 00 00 movb $0x0,(%eax) + 100ed0: 83 ec 08 sub $0x8,%esp + 100ed3: 6a 05 push $0x5 + 100ed5: 68 50 a0 10 00 push $0x10a050 + 100eda: e8 14 f7 ff ff call 1005f3 <k_heapBMAlloc> + 100edf: 83 c4 10 add $0x10,%esp + 100ee2: 89 45 f0 mov %eax,-0x10(%ebp) + 100ee5: 8b 45 ec mov -0x14(%ebp),%eax + 100ee8: c6 00 6d movb $0x6d,(%eax) + 100eeb: 8b 45 ec mov -0x14(%ebp),%eax + 100eee: 83 c0 01 add $0x1,%eax + 100ef1: c6 00 72 movb $0x72,(%eax) + 100ef4: 8b 45 ec mov -0x14(%ebp),%eax + 100ef7: 83 c0 02 add $0x2,%eax + 100efa: c6 00 6b movb $0x6b,(%eax) + 100efd: 8b 45 ec mov -0x14(%ebp),%eax + 100f00: 83 c0 03 add $0x3,%eax + 100f03: c6 00 69 movb $0x69,(%eax) + 100f06: 8b 45 ec mov -0x14(%ebp),%eax + 100f09: 83 c0 04 add $0x4,%eax + 100f0c: c6 00 00 movb $0x0,(%eax) + 100f0f: 83 ec 08 sub $0x8,%esp + 100f12: ff 75 ec push -0x14(%ebp) + 100f15: 68 04 40 10 00 push $0x104004 + 100f1a: e8 e9 09 00 00 call 101908 <printf> + 100f1f: 83 c4 10 add $0x10,%esp + 100f22: 83 ec 08 sub $0x8,%esp + 100f25: ff 75 ec push -0x14(%ebp) + 100f28: 68 00 40 10 00 push $0x104000 + 100f2d: e8 d6 09 00 00 call 101908 <printf> + 100f32: 83 c4 10 add $0x10,%esp + 100f35: 83 ec 08 sub $0x8,%esp + 100f38: ff 75 f0 push -0x10(%ebp) + 100f3b: 68 04 40 10 00 push $0x104004 + 100f40: e8 c3 09 00 00 call 101908 <printf> + 100f45: 83 c4 10 add $0x10,%esp + 100f48: 83 ec 08 sub $0x8,%esp + 100f4b: ff 75 f0 push -0x10(%ebp) + 100f4e: 68 00 40 10 00 push $0x104000 + 100f53: e8 b0 09 00 00 call 101908 <printf> + 100f58: 83 c4 10 add $0x10,%esp + 100f5b: 83 ec 08 sub $0x8,%esp + 100f5e: ff 75 ec push -0x14(%ebp) + 100f61: 68 50 a0 10 00 push $0x10a050 + 100f66: e8 94 f8 ff ff call 1007ff <k_heapBMFree> + 100f6b: 83 c4 10 add $0x10,%esp + 100f6e: 83 ec 08 sub $0x8,%esp + 100f71: ff 75 f0 push -0x10(%ebp) + 100f74: 68 50 a0 10 00 push $0x10a050 + 100f79: e8 81 f8 ff ff call 1007ff <k_heapBMFree> + 100f7e: 83 c4 10 add $0x10,%esp + 100f81: 90 nop + 100f82: 8b 45 f4 mov -0xc(%ebp),%eax + 100f85: 2b 05 04 50 10 00 sub 0x105004,%eax + 100f8b: 74 05 je 100f92 <f+0x111> + 100f8d: e8 f5 28 00 00 call 103887 <__stack_chk_fail> + 100f92: c9 leave + 100f93: c3 ret + +00100f94 <init_keyboard>: + 100f94: 55 push %ebp + 100f95: 89 e5 mov %esp,%ebp + 100f97: 83 ec 18 sub $0x18,%esp + 100f9a: a1 04 50 10 00 mov 0x105004,%eax + 100f9f: 89 45 f4 mov %eax,-0xc(%ebp) + 100fa2: 31 c0 xor %eax,%eax + 100fa4: 83 ec 0c sub $0xc,%esp + 100fa7: 68 60 a9 10 00 push $0x10a960 + 100fac: e8 8a 02 00 00 call 10123b <us_en> + 100fb1: 83 c4 10 add $0x10,%esp + 100fb4: 90 nop + 100fb5: 8b 45 f4 mov -0xc(%ebp),%eax + 100fb8: 2b 05 04 50 10 00 sub 0x105004,%eax + 100fbe: 74 05 je 100fc5 <init_keyboard+0x31> + 100fc0: e8 c2 28 00 00 call 103887 <__stack_chk_fail> + 100fc5: c9 leave + 100fc6: c3 ret + +00100fc7 <backspace>: + 100fc7: 55 push %ebp + 100fc8: 89 e5 mov %esp,%ebp + 100fca: 83 ec 18 sub $0x18,%esp + 100fcd: a1 04 50 10 00 mov 0x105004,%eax + 100fd2: 89 45 f4 mov %eax,-0xc(%ebp) + 100fd5: 31 c0 xor %eax,%eax + 100fd7: a1 48 a9 10 00 mov 0x10a948,%eax + 100fdc: 85 c0 test %eax,%eax + 100fde: 74 35 je 101015 <backspace+0x4e> + 100fe0: e8 cb 1b 00 00 call 102bb0 <previous_field> + 100fe5: 83 ec 0c sub $0xc,%esp + 100fe8: 68 08 40 10 00 push $0x104008 + 100fed: e8 16 09 00 00 call 101908 <printf> + 100ff2: 83 c4 10 add $0x10,%esp + 100ff5: e8 b6 1b 00 00 call 102bb0 <previous_field> + 100ffa: a1 48 a9 10 00 mov 0x10a948,%eax + 100fff: 83 e8 01 sub $0x1,%eax + 101002: a3 48 a9 10 00 mov %eax,0x10a948 + 101007: a1 48 a9 10 00 mov 0x10a948,%eax + 10100c: c6 80 80 a8 10 00 00 movb $0x0,0x10a880(%eax) + 101013: eb 01 jmp 101016 <backspace+0x4f> + 101015: 90 nop + 101016: 8b 45 f4 mov -0xc(%ebp),%eax + 101019: 2b 05 04 50 10 00 sub 0x105004,%eax + 10101f: 74 05 je 101026 <backspace+0x5f> + 101021: e8 61 28 00 00 call 103887 <__stack_chk_fail> + 101026: c9 leave + 101027: c3 ret + +00101028 <enter>: + 101028: 55 push %ebp + 101029: 89 e5 mov %esp,%ebp + 10102b: 83 ec 18 sub $0x18,%esp + 10102e: a1 04 50 10 00 mov 0x105004,%eax + 101033: 89 45 f4 mov %eax,-0xc(%ebp) + 101036: 31 c0 xor %eax,%eax + 101038: 83 ec 0c sub $0xc,%esp + 10103b: 68 0a 40 10 00 push $0x10400a + 101040: e8 c3 08 00 00 call 101908 <printf> + 101045: 83 c4 10 add $0x10,%esp + 101048: a1 48 a9 10 00 mov 0x10a948,%eax + 10104d: 85 c0 test %eax,%eax + 10104f: 74 3b je 10108c <enter+0x64> + 101051: 83 ec 0c sub $0xc,%esp + 101054: 68 80 a8 10 00 push $0x10a880 + 101059: e8 f7 16 00 00 call 102755 <tty> + 10105e: 83 c4 10 add $0x10,%esp + 101061: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 101068: eb 0f jmp 101079 <enter+0x51> + 10106a: 8b 45 f0 mov -0x10(%ebp),%eax + 10106d: 05 80 a8 10 00 add $0x10a880,%eax + 101072: c6 00 00 movb $0x0,(%eax) + 101075: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101079: 81 7d f0 c7 00 00 00 cmpl $0xc7,-0x10(%ebp) + 101080: 7e e8 jle 10106a <enter+0x42> + 101082: c7 05 48 a9 10 00 00 movl $0x0,0x10a948 + 101089: 00 00 00 + 10108c: e8 b8 12 00 00 call 102349 <prompt> + 101091: 90 nop + 101092: 8b 45 f4 mov -0xc(%ebp),%eax + 101095: 2b 05 04 50 10 00 sub 0x105004,%eax + 10109b: 74 05 je 1010a2 <enter+0x7a> + 10109d: e8 e5 27 00 00 call 103887 <__stack_chk_fail> + 1010a2: c9 leave + 1010a3: c3 ret + +001010a4 <space>: + 1010a4: 55 push %ebp + 1010a5: 89 e5 mov %esp,%ebp + 1010a7: 83 ec 18 sub $0x18,%esp + 1010aa: a1 04 50 10 00 mov 0x105004,%eax + 1010af: 89 45 f4 mov %eax,-0xc(%ebp) + 1010b2: 31 c0 xor %eax,%eax + 1010b4: a1 48 a9 10 00 mov 0x10a948,%eax + 1010b9: 8d 50 01 lea 0x1(%eax),%edx + 1010bc: 89 15 48 a9 10 00 mov %edx,0x10a948 + 1010c2: c6 80 80 a8 10 00 20 movb $0x20,0x10a880(%eax) + 1010c9: 83 ec 0c sub $0xc,%esp + 1010cc: 68 08 40 10 00 push $0x104008 + 1010d1: e8 32 08 00 00 call 101908 <printf> + 1010d6: 83 c4 10 add $0x10,%esp + 1010d9: 90 nop + 1010da: 8b 45 f4 mov -0xc(%ebp),%eax + 1010dd: 2b 05 04 50 10 00 sub 0x105004,%eax + 1010e3: 74 05 je 1010ea <space+0x46> + 1010e5: e8 9d 27 00 00 call 103887 <__stack_chk_fail> + 1010ea: c9 leave + 1010eb: c3 ret + +001010ec <keyboard_handler>: + 1010ec: 55 push %ebp + 1010ed: 89 e5 mov %esp,%ebp + 1010ef: 83 ec 18 sub $0x18,%esp + 1010f2: a1 04 50 10 00 mov 0x105004,%eax + 1010f7: 89 45 f4 mov %eax,-0xc(%ebp) + 1010fa: 31 c0 xor %eax,%eax + 1010fc: 83 ec 08 sub $0x8,%esp + 1010ff: 6a 20 push $0x20 + 101101: 6a 20 push $0x20 + 101103: e8 1b ef ff ff call 100023 <ioport_out> + 101108: 83 c4 10 add $0x10,%esp + 10110b: 83 ec 0c sub $0xc,%esp + 10110e: 6a 64 push $0x64 + 101110: e8 08 ef ff ff call 10001d <ioport_in> + 101115: 83 c4 10 add $0x10,%esp + 101118: 88 45 f2 mov %al,-0xe(%ebp) + 10111b: 0f b6 45 f2 movzbl -0xe(%ebp),%eax + 10111f: 83 e0 01 and $0x1,%eax + 101122: 85 c0 test %eax,%eax + 101124: 0f 84 ff 00 00 00 je 101229 <keyboard_handler+0x13d> + 10112a: 83 ec 0c sub $0xc,%esp + 10112d: 6a 60 push $0x60 + 10112f: e8 e9 ee ff ff call 10001d <ioport_in> + 101134: 83 c4 10 add $0x10,%esp + 101137: 88 45 f3 mov %al,-0xd(%ebp) + 10113a: 0f b6 45 f3 movzbl -0xd(%ebp),%eax + 10113e: 84 c0 test %al,%al + 101140: 0f 88 d5 00 00 00 js 10121b <keyboard_handler+0x12f> + 101146: 0f b6 45 f3 movzbl -0xd(%ebp),%eax + 10114a: c6 80 60 aa 10 00 01 movb $0x1,0x10aa60(%eax) + 101151: 80 7d f3 0e cmpb $0xe,-0xd(%ebp) + 101155: 75 0a jne 101161 <keyboard_handler+0x75> + 101157: e8 6b fe ff ff call 100fc7 <backspace> + 10115c: e9 c8 00 00 00 jmp 101229 <keyboard_handler+0x13d> + 101161: 80 7d f3 1c cmpb $0x1c,-0xd(%ebp) + 101165: 75 0a jne 101171 <keyboard_handler+0x85> + 101167: e8 bc fe ff ff call 101028 <enter> + 10116c: e9 b8 00 00 00 jmp 101229 <keyboard_handler+0x13d> + 101171: 80 7d f3 39 cmpb $0x39,-0xd(%ebp) + 101175: 75 0a jne 101181 <keyboard_handler+0x95> + 101177: e8 28 ff ff ff call 1010a4 <space> + 10117c: e9 a8 00 00 00 jmp 101229 <keyboard_handler+0x13d> + 101181: 0f b6 45 f3 movzbl -0xd(%ebp),%eax + 101185: 0f b6 80 60 a9 10 00 movzbl 0x10a960(%eax),%eax + 10118c: 88 45 f1 mov %al,-0xf(%ebp) + 10118f: 80 7d f1 20 cmpb $0x20,-0xf(%ebp) + 101193: 0f 84 90 00 00 00 je 101229 <keyboard_handler+0x13d> + 101199: 0f b6 05 8a aa 10 00 movzbl 0x10aa8a,%eax + 1011a0: 84 c0 test %al,%al + 1011a2: 74 16 je 1011ba <keyboard_handler+0xce> + 1011a4: 80 7d f1 60 cmpb $0x60,-0xf(%ebp) + 1011a8: 7e 10 jle 1011ba <keyboard_handler+0xce> + 1011aa: 80 7d f1 7a cmpb $0x7a,-0xf(%ebp) + 1011ae: 7f 0a jg 1011ba <keyboard_handler+0xce> + 1011b0: 0f b6 45 f1 movzbl -0xf(%ebp),%eax + 1011b4: 83 e8 20 sub $0x20,%eax + 1011b7: 88 45 f1 mov %al,-0xf(%ebp) + 1011ba: 0f b6 05 7d aa 10 00 movzbl 0x10aa7d,%eax + 1011c1: 84 c0 test %al,%al + 1011c3: 74 27 je 1011ec <keyboard_handler+0x100> + 1011c5: 80 7d f1 6c cmpb $0x6c,-0xf(%ebp) + 1011c9: 75 21 jne 1011ec <keyboard_handler+0x100> + 1011cb: e8 05 1c 00 00 call 102dd5 <clear> + 1011d0: e8 74 11 00 00 call 102349 <prompt> + 1011d5: 83 ec 08 sub $0x8,%esp + 1011d8: 68 80 a8 10 00 push $0x10a880 + 1011dd: 68 0c 40 10 00 push $0x10400c + 1011e2: e8 21 07 00 00 call 101908 <printf> + 1011e7: 83 c4 10 add $0x10,%esp + 1011ea: eb 3d jmp 101229 <keyboard_handler+0x13d> + 1011ec: a1 48 a9 10 00 mov 0x10a948,%eax + 1011f1: 8d 50 01 lea 0x1(%eax),%edx + 1011f4: 89 15 48 a9 10 00 mov %edx,0x10a948 + 1011fa: 0f b6 55 f1 movzbl -0xf(%ebp),%edx + 1011fe: 88 90 80 a8 10 00 mov %dl,0x10a880(%eax) + 101204: 0f be 45 f1 movsbl -0xf(%ebp),%eax + 101208: 83 ec 08 sub $0x8,%esp + 10120b: 50 push %eax + 10120c: 68 0f 40 10 00 push $0x10400f + 101211: e8 f2 06 00 00 call 101908 <printf> + 101216: 83 c4 10 add $0x10,%esp + 101219: eb 0e jmp 101229 <keyboard_handler+0x13d> + 10121b: 0f b6 45 f3 movzbl -0xd(%ebp),%eax + 10121f: 83 c0 80 add $0xffffff80,%eax + 101222: c6 80 60 aa 10 00 00 movb $0x0,0x10aa60(%eax) + 101229: 8b 45 f4 mov -0xc(%ebp),%eax + 10122c: 2b 05 04 50 10 00 sub 0x105004,%eax + 101232: 74 05 je 101239 <keyboard_handler+0x14d> + 101234: e8 4e 26 00 00 call 103887 <__stack_chk_fail> + 101239: c9 leave + 10123a: c3 ret + +0010123b <us_en>: + 10123b: 55 push %ebp + 10123c: 89 e5 mov %esp,%ebp + 10123e: 83 ec 28 sub $0x28,%esp + 101241: 8b 45 08 mov 0x8(%ebp),%eax + 101244: 89 45 e4 mov %eax,-0x1c(%ebp) + 101247: a1 04 50 10 00 mov 0x105004,%eax + 10124c: 89 45 f4 mov %eax,-0xc(%ebp) + 10124f: 31 c0 xor %eax,%eax + 101251: 8b 45 e4 mov -0x1c(%ebp),%eax + 101254: 83 c0 01 add $0x1,%eax + 101257: c6 00 20 movb $0x20,(%eax) + 10125a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10125d: 83 c0 02 add $0x2,%eax + 101260: c6 00 31 movb $0x31,(%eax) + 101263: 8b 45 e4 mov -0x1c(%ebp),%eax + 101266: 83 c0 03 add $0x3,%eax + 101269: c6 00 32 movb $0x32,(%eax) + 10126c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10126f: 83 c0 04 add $0x4,%eax + 101272: c6 00 33 movb $0x33,(%eax) + 101275: 8b 45 e4 mov -0x1c(%ebp),%eax + 101278: 83 c0 05 add $0x5,%eax + 10127b: c6 00 34 movb $0x34,(%eax) + 10127e: 8b 45 e4 mov -0x1c(%ebp),%eax + 101281: 83 c0 06 add $0x6,%eax + 101284: c6 00 35 movb $0x35,(%eax) + 101287: 8b 45 e4 mov -0x1c(%ebp),%eax + 10128a: 83 c0 07 add $0x7,%eax + 10128d: c6 00 36 movb $0x36,(%eax) + 101290: 8b 45 e4 mov -0x1c(%ebp),%eax + 101293: 83 c0 08 add $0x8,%eax + 101296: c6 00 37 movb $0x37,(%eax) + 101299: 8b 45 e4 mov -0x1c(%ebp),%eax + 10129c: 83 c0 09 add $0x9,%eax + 10129f: c6 00 38 movb $0x38,(%eax) + 1012a2: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012a5: 83 c0 0a add $0xa,%eax + 1012a8: c6 00 39 movb $0x39,(%eax) + 1012ab: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012ae: 83 c0 0b add $0xb,%eax + 1012b1: c6 00 30 movb $0x30,(%eax) + 1012b4: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012b7: 83 c0 0c add $0xc,%eax + 1012ba: c6 00 2d movb $0x2d,(%eax) + 1012bd: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012c0: 83 c0 0d add $0xd,%eax + 1012c3: c6 00 3d movb $0x3d,(%eax) + 1012c6: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012c9: 83 c0 0e add $0xe,%eax + 1012cc: c6 00 20 movb $0x20,(%eax) + 1012cf: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012d2: 83 c0 0f add $0xf,%eax + 1012d5: c6 00 20 movb $0x20,(%eax) + 1012d8: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012db: 83 c0 10 add $0x10,%eax + 1012de: c6 00 71 movb $0x71,(%eax) + 1012e1: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012e4: 83 c0 11 add $0x11,%eax + 1012e7: c6 00 77 movb $0x77,(%eax) + 1012ea: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012ed: 83 c0 12 add $0x12,%eax + 1012f0: c6 00 65 movb $0x65,(%eax) + 1012f3: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012f6: 83 c0 13 add $0x13,%eax + 1012f9: c6 00 72 movb $0x72,(%eax) + 1012fc: 8b 45 e4 mov -0x1c(%ebp),%eax + 1012ff: 83 c0 14 add $0x14,%eax + 101302: c6 00 74 movb $0x74,(%eax) + 101305: 8b 45 e4 mov -0x1c(%ebp),%eax + 101308: 83 c0 15 add $0x15,%eax + 10130b: c6 00 79 movb $0x79,(%eax) + 10130e: 8b 45 e4 mov -0x1c(%ebp),%eax + 101311: 83 c0 16 add $0x16,%eax + 101314: c6 00 75 movb $0x75,(%eax) + 101317: 8b 45 e4 mov -0x1c(%ebp),%eax + 10131a: 83 c0 17 add $0x17,%eax + 10131d: c6 00 69 movb $0x69,(%eax) + 101320: 8b 45 e4 mov -0x1c(%ebp),%eax + 101323: 83 c0 18 add $0x18,%eax + 101326: c6 00 6f movb $0x6f,(%eax) + 101329: 8b 45 e4 mov -0x1c(%ebp),%eax + 10132c: 83 c0 19 add $0x19,%eax + 10132f: c6 00 70 movb $0x70,(%eax) + 101332: 8b 45 e4 mov -0x1c(%ebp),%eax + 101335: 83 c0 1a add $0x1a,%eax + 101338: c6 00 5b movb $0x5b,(%eax) + 10133b: 8b 45 e4 mov -0x1c(%ebp),%eax + 10133e: 83 c0 1b add $0x1b,%eax + 101341: c6 00 5d movb $0x5d,(%eax) + 101344: 8b 45 e4 mov -0x1c(%ebp),%eax + 101347: 83 c0 1c add $0x1c,%eax + 10134a: c6 00 0a movb $0xa,(%eax) + 10134d: 8b 45 e4 mov -0x1c(%ebp),%eax + 101350: 83 c0 1d add $0x1d,%eax + 101353: c6 00 20 movb $0x20,(%eax) + 101356: 8b 45 e4 mov -0x1c(%ebp),%eax + 101359: 83 c0 1e add $0x1e,%eax + 10135c: c6 00 61 movb $0x61,(%eax) + 10135f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101362: 83 c0 1f add $0x1f,%eax + 101365: c6 00 73 movb $0x73,(%eax) + 101368: 8b 45 e4 mov -0x1c(%ebp),%eax + 10136b: 83 c0 20 add $0x20,%eax + 10136e: c6 00 64 movb $0x64,(%eax) + 101371: 8b 45 e4 mov -0x1c(%ebp),%eax + 101374: 83 c0 21 add $0x21,%eax + 101377: c6 00 66 movb $0x66,(%eax) + 10137a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10137d: 83 c0 22 add $0x22,%eax + 101380: c6 00 67 movb $0x67,(%eax) + 101383: 8b 45 e4 mov -0x1c(%ebp),%eax + 101386: 83 c0 23 add $0x23,%eax + 101389: c6 00 68 movb $0x68,(%eax) + 10138c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10138f: 83 c0 24 add $0x24,%eax + 101392: c6 00 6a movb $0x6a,(%eax) + 101395: 8b 45 e4 mov -0x1c(%ebp),%eax + 101398: 83 c0 25 add $0x25,%eax + 10139b: c6 00 6b movb $0x6b,(%eax) + 10139e: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013a1: 83 c0 26 add $0x26,%eax + 1013a4: c6 00 6c movb $0x6c,(%eax) + 1013a7: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013aa: 83 c0 27 add $0x27,%eax + 1013ad: c6 00 3b movb $0x3b,(%eax) + 1013b0: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013b3: 83 c0 28 add $0x28,%eax + 1013b6: c6 00 27 movb $0x27,(%eax) + 1013b9: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013bc: 83 c0 29 add $0x29,%eax + 1013bf: c6 00 60 movb $0x60,(%eax) + 1013c2: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013c5: 83 c0 2a add $0x2a,%eax + 1013c8: c6 00 20 movb $0x20,(%eax) + 1013cb: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013ce: 83 c0 2b add $0x2b,%eax + 1013d1: c6 00 5c movb $0x5c,(%eax) + 1013d4: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013d7: 83 c0 2c add $0x2c,%eax + 1013da: c6 00 7a movb $0x7a,(%eax) + 1013dd: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013e0: 83 c0 2d add $0x2d,%eax + 1013e3: c6 00 78 movb $0x78,(%eax) + 1013e6: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013e9: 83 c0 2e add $0x2e,%eax + 1013ec: c6 00 63 movb $0x63,(%eax) + 1013ef: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013f2: 83 c0 2f add $0x2f,%eax + 1013f5: c6 00 76 movb $0x76,(%eax) + 1013f8: 8b 45 e4 mov -0x1c(%ebp),%eax + 1013fb: 83 c0 30 add $0x30,%eax + 1013fe: c6 00 62 movb $0x62,(%eax) + 101401: 8b 45 e4 mov -0x1c(%ebp),%eax + 101404: 83 c0 31 add $0x31,%eax + 101407: c6 00 6e movb $0x6e,(%eax) + 10140a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10140d: 83 c0 32 add $0x32,%eax + 101410: c6 00 6d movb $0x6d,(%eax) + 101413: 8b 45 e4 mov -0x1c(%ebp),%eax + 101416: 83 c0 33 add $0x33,%eax + 101419: c6 00 2c movb $0x2c,(%eax) + 10141c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10141f: 83 c0 34 add $0x34,%eax + 101422: c6 00 2e movb $0x2e,(%eax) + 101425: 8b 45 e4 mov -0x1c(%ebp),%eax + 101428: 83 c0 35 add $0x35,%eax + 10142b: c6 00 2f movb $0x2f,(%eax) + 10142e: 8b 45 e4 mov -0x1c(%ebp),%eax + 101431: 83 c0 36 add $0x36,%eax + 101434: c6 00 20 movb $0x20,(%eax) + 101437: 8b 45 e4 mov -0x1c(%ebp),%eax + 10143a: 83 c0 37 add $0x37,%eax + 10143d: c6 00 20 movb $0x20,(%eax) + 101440: 8b 45 e4 mov -0x1c(%ebp),%eax + 101443: 83 c0 38 add $0x38,%eax + 101446: c6 00 20 movb $0x20,(%eax) + 101449: 8b 45 e4 mov -0x1c(%ebp),%eax + 10144c: 83 c0 39 add $0x39,%eax + 10144f: c6 00 20 movb $0x20,(%eax) + 101452: 8b 45 e4 mov -0x1c(%ebp),%eax + 101455: 83 c0 3a add $0x3a,%eax + 101458: c6 00 20 movb $0x20,(%eax) + 10145b: 8b 45 e4 mov -0x1c(%ebp),%eax + 10145e: 83 c0 3b add $0x3b,%eax + 101461: c6 00 20 movb $0x20,(%eax) + 101464: 8b 45 e4 mov -0x1c(%ebp),%eax + 101467: 83 c0 3c add $0x3c,%eax + 10146a: c6 00 20 movb $0x20,(%eax) + 10146d: 8b 45 e4 mov -0x1c(%ebp),%eax + 101470: 83 c0 3d add $0x3d,%eax + 101473: c6 00 20 movb $0x20,(%eax) + 101476: 8b 45 e4 mov -0x1c(%ebp),%eax + 101479: 83 c0 3e add $0x3e,%eax + 10147c: c6 00 20 movb $0x20,(%eax) + 10147f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101482: 83 c0 3f add $0x3f,%eax + 101485: c6 00 20 movb $0x20,(%eax) + 101488: 8b 45 e4 mov -0x1c(%ebp),%eax + 10148b: 83 c0 40 add $0x40,%eax + 10148e: c6 00 20 movb $0x20,(%eax) + 101491: 8b 45 e4 mov -0x1c(%ebp),%eax + 101494: 83 c0 41 add $0x41,%eax + 101497: c6 00 20 movb $0x20,(%eax) + 10149a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10149d: 83 c0 42 add $0x42,%eax + 1014a0: c6 00 20 movb $0x20,(%eax) + 1014a3: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014a6: 83 c0 43 add $0x43,%eax + 1014a9: c6 00 20 movb $0x20,(%eax) + 1014ac: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014af: 83 c0 44 add $0x44,%eax + 1014b2: c6 00 20 movb $0x20,(%eax) + 1014b5: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014b8: 83 c0 45 add $0x45,%eax + 1014bb: c6 00 20 movb $0x20,(%eax) + 1014be: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014c1: 83 c0 46 add $0x46,%eax + 1014c4: c6 00 20 movb $0x20,(%eax) + 1014c7: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014ca: 83 c0 47 add $0x47,%eax + 1014cd: c6 00 37 movb $0x37,(%eax) + 1014d0: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014d3: 83 c0 48 add $0x48,%eax + 1014d6: c6 00 38 movb $0x38,(%eax) + 1014d9: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014dc: 83 c0 49 add $0x49,%eax + 1014df: c6 00 39 movb $0x39,(%eax) + 1014e2: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014e5: 83 c0 4a add $0x4a,%eax + 1014e8: c6 00 2d movb $0x2d,(%eax) + 1014eb: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014ee: 83 c0 4b add $0x4b,%eax + 1014f1: c6 00 34 movb $0x34,(%eax) + 1014f4: 8b 45 e4 mov -0x1c(%ebp),%eax + 1014f7: 83 c0 4c add $0x4c,%eax + 1014fa: c6 00 35 movb $0x35,(%eax) + 1014fd: 8b 45 e4 mov -0x1c(%ebp),%eax + 101500: 83 c0 4d add $0x4d,%eax + 101503: c6 00 36 movb $0x36,(%eax) + 101506: 8b 45 e4 mov -0x1c(%ebp),%eax + 101509: 83 c0 4e add $0x4e,%eax + 10150c: c6 00 2b movb $0x2b,(%eax) + 10150f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101512: 83 c0 4f add $0x4f,%eax + 101515: c6 00 31 movb $0x31,(%eax) + 101518: 8b 45 e4 mov -0x1c(%ebp),%eax + 10151b: 83 c0 50 add $0x50,%eax + 10151e: c6 00 32 movb $0x32,(%eax) + 101521: 8b 45 e4 mov -0x1c(%ebp),%eax + 101524: 83 c0 51 add $0x51,%eax + 101527: c6 00 33 movb $0x33,(%eax) + 10152a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10152d: 83 c0 52 add $0x52,%eax + 101530: c6 00 30 movb $0x30,(%eax) + 101533: 8b 45 e4 mov -0x1c(%ebp),%eax + 101536: 83 c0 53 add $0x53,%eax + 101539: c6 00 2e movb $0x2e,(%eax) + 10153c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10153f: 83 c0 57 add $0x57,%eax + 101542: c6 00 20 movb $0x20,(%eax) + 101545: 8b 45 e4 mov -0x1c(%ebp),%eax + 101548: 83 c0 58 add $0x58,%eax + 10154b: c6 00 20 movb $0x20,(%eax) + 10154e: 8b 45 e4 mov -0x1c(%ebp),%eax + 101551: 05 81 00 00 00 add $0x81,%eax + 101556: c6 00 20 movb $0x20,(%eax) + 101559: 8b 45 e4 mov -0x1c(%ebp),%eax + 10155c: 05 82 00 00 00 add $0x82,%eax + 101561: c6 00 20 movb $0x20,(%eax) + 101564: 8b 45 e4 mov -0x1c(%ebp),%eax + 101567: 05 83 00 00 00 add $0x83,%eax + 10156c: c6 00 20 movb $0x20,(%eax) + 10156f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101572: 05 84 00 00 00 add $0x84,%eax + 101577: c6 00 20 movb $0x20,(%eax) + 10157a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10157d: 05 85 00 00 00 add $0x85,%eax + 101582: c6 00 20 movb $0x20,(%eax) + 101585: 8b 45 e4 mov -0x1c(%ebp),%eax + 101588: 05 86 00 00 00 add $0x86,%eax + 10158d: c6 00 20 movb $0x20,(%eax) + 101590: 8b 45 e4 mov -0x1c(%ebp),%eax + 101593: 05 87 00 00 00 add $0x87,%eax + 101598: c6 00 20 movb $0x20,(%eax) + 10159b: 8b 45 e4 mov -0x1c(%ebp),%eax + 10159e: 05 88 00 00 00 add $0x88,%eax + 1015a3: c6 00 20 movb $0x20,(%eax) + 1015a6: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015a9: 05 89 00 00 00 add $0x89,%eax + 1015ae: c6 00 20 movb $0x20,(%eax) + 1015b1: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015b4: 05 8a 00 00 00 add $0x8a,%eax + 1015b9: c6 00 20 movb $0x20,(%eax) + 1015bc: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015bf: 05 8b 00 00 00 add $0x8b,%eax + 1015c4: c6 00 20 movb $0x20,(%eax) + 1015c7: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015ca: 05 8c 00 00 00 add $0x8c,%eax + 1015cf: c6 00 20 movb $0x20,(%eax) + 1015d2: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015d5: 05 8d 00 00 00 add $0x8d,%eax + 1015da: c6 00 20 movb $0x20,(%eax) + 1015dd: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015e0: 05 8e 00 00 00 add $0x8e,%eax + 1015e5: c6 00 20 movb $0x20,(%eax) + 1015e8: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015eb: 05 8f 00 00 00 add $0x8f,%eax + 1015f0: c6 00 20 movb $0x20,(%eax) + 1015f3: 8b 45 e4 mov -0x1c(%ebp),%eax + 1015f6: 05 90 00 00 00 add $0x90,%eax + 1015fb: c6 00 20 movb $0x20,(%eax) + 1015fe: 8b 45 e4 mov -0x1c(%ebp),%eax + 101601: 05 91 00 00 00 add $0x91,%eax + 101606: c6 00 20 movb $0x20,(%eax) + 101609: 8b 45 e4 mov -0x1c(%ebp),%eax + 10160c: 05 92 00 00 00 add $0x92,%eax + 101611: c6 00 20 movb $0x20,(%eax) + 101614: 8b 45 e4 mov -0x1c(%ebp),%eax + 101617: 05 93 00 00 00 add $0x93,%eax + 10161c: c6 00 20 movb $0x20,(%eax) + 10161f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101622: 05 94 00 00 00 add $0x94,%eax + 101627: c6 00 20 movb $0x20,(%eax) + 10162a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10162d: 05 95 00 00 00 add $0x95,%eax + 101632: c6 00 20 movb $0x20,(%eax) + 101635: 8b 45 e4 mov -0x1c(%ebp),%eax + 101638: 05 96 00 00 00 add $0x96,%eax + 10163d: c6 00 20 movb $0x20,(%eax) + 101640: 8b 45 e4 mov -0x1c(%ebp),%eax + 101643: 05 97 00 00 00 add $0x97,%eax + 101648: c6 00 20 movb $0x20,(%eax) + 10164b: 8b 45 e4 mov -0x1c(%ebp),%eax + 10164e: 05 98 00 00 00 add $0x98,%eax + 101653: c6 00 20 movb $0x20,(%eax) + 101656: 8b 45 e4 mov -0x1c(%ebp),%eax + 101659: 05 99 00 00 00 add $0x99,%eax + 10165e: c6 00 20 movb $0x20,(%eax) + 101661: 8b 45 e4 mov -0x1c(%ebp),%eax + 101664: 05 9a 00 00 00 add $0x9a,%eax + 101669: c6 00 20 movb $0x20,(%eax) + 10166c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10166f: 05 9b 00 00 00 add $0x9b,%eax + 101674: c6 00 20 movb $0x20,(%eax) + 101677: 8b 45 e4 mov -0x1c(%ebp),%eax + 10167a: 05 9c 00 00 00 add $0x9c,%eax + 10167f: c6 00 20 movb $0x20,(%eax) + 101682: 8b 45 e4 mov -0x1c(%ebp),%eax + 101685: 05 9d 00 00 00 add $0x9d,%eax + 10168a: c6 00 20 movb $0x20,(%eax) + 10168d: 8b 45 e4 mov -0x1c(%ebp),%eax + 101690: 05 9e 00 00 00 add $0x9e,%eax + 101695: c6 00 20 movb $0x20,(%eax) + 101698: 8b 45 e4 mov -0x1c(%ebp),%eax + 10169b: 05 9f 00 00 00 add $0x9f,%eax + 1016a0: c6 00 20 movb $0x20,(%eax) + 1016a3: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016a6: 05 a0 00 00 00 add $0xa0,%eax + 1016ab: c6 00 20 movb $0x20,(%eax) + 1016ae: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016b1: 05 a1 00 00 00 add $0xa1,%eax + 1016b6: c6 00 20 movb $0x20,(%eax) + 1016b9: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016bc: 05 a2 00 00 00 add $0xa2,%eax + 1016c1: c6 00 20 movb $0x20,(%eax) + 1016c4: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016c7: 05 a3 00 00 00 add $0xa3,%eax + 1016cc: c6 00 20 movb $0x20,(%eax) + 1016cf: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016d2: 05 a4 00 00 00 add $0xa4,%eax + 1016d7: c6 00 20 movb $0x20,(%eax) + 1016da: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016dd: 05 a5 00 00 00 add $0xa5,%eax + 1016e2: c6 00 20 movb $0x20,(%eax) + 1016e5: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016e8: 05 a6 00 00 00 add $0xa6,%eax + 1016ed: c6 00 20 movb $0x20,(%eax) + 1016f0: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016f3: 05 a7 00 00 00 add $0xa7,%eax + 1016f8: c6 00 20 movb $0x20,(%eax) + 1016fb: 8b 45 e4 mov -0x1c(%ebp),%eax + 1016fe: 05 a8 00 00 00 add $0xa8,%eax + 101703: c6 00 20 movb $0x20,(%eax) + 101706: 8b 45 e4 mov -0x1c(%ebp),%eax + 101709: 05 a9 00 00 00 add $0xa9,%eax + 10170e: c6 00 20 movb $0x20,(%eax) + 101711: 8b 45 e4 mov -0x1c(%ebp),%eax + 101714: 05 aa 00 00 00 add $0xaa,%eax + 101719: c6 00 20 movb $0x20,(%eax) + 10171c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10171f: 05 ab 00 00 00 add $0xab,%eax + 101724: c6 00 20 movb $0x20,(%eax) + 101727: 8b 45 e4 mov -0x1c(%ebp),%eax + 10172a: 05 ac 00 00 00 add $0xac,%eax + 10172f: c6 00 20 movb $0x20,(%eax) + 101732: 8b 45 e4 mov -0x1c(%ebp),%eax + 101735: 05 ad 00 00 00 add $0xad,%eax + 10173a: c6 00 20 movb $0x20,(%eax) + 10173d: 8b 45 e4 mov -0x1c(%ebp),%eax + 101740: 05 ae 00 00 00 add $0xae,%eax + 101745: c6 00 20 movb $0x20,(%eax) + 101748: 8b 45 e4 mov -0x1c(%ebp),%eax + 10174b: 05 af 00 00 00 add $0xaf,%eax + 101750: c6 00 20 movb $0x20,(%eax) + 101753: 8b 45 e4 mov -0x1c(%ebp),%eax + 101756: 05 b0 00 00 00 add $0xb0,%eax + 10175b: c6 00 20 movb $0x20,(%eax) + 10175e: 8b 45 e4 mov -0x1c(%ebp),%eax + 101761: 05 b1 00 00 00 add $0xb1,%eax + 101766: c6 00 20 movb $0x20,(%eax) + 101769: 8b 45 e4 mov -0x1c(%ebp),%eax + 10176c: 05 b2 00 00 00 add $0xb2,%eax + 101771: c6 00 20 movb $0x20,(%eax) + 101774: 8b 45 e4 mov -0x1c(%ebp),%eax + 101777: 05 b3 00 00 00 add $0xb3,%eax + 10177c: c6 00 20 movb $0x20,(%eax) + 10177f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101782: 05 b4 00 00 00 add $0xb4,%eax + 101787: c6 00 20 movb $0x20,(%eax) + 10178a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10178d: 05 b5 00 00 00 add $0xb5,%eax + 101792: c6 00 20 movb $0x20,(%eax) + 101795: 8b 45 e4 mov -0x1c(%ebp),%eax + 101798: 05 b6 00 00 00 add $0xb6,%eax + 10179d: c6 00 20 movb $0x20,(%eax) + 1017a0: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017a3: 05 b7 00 00 00 add $0xb7,%eax + 1017a8: c6 00 20 movb $0x20,(%eax) + 1017ab: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017ae: 05 b8 00 00 00 add $0xb8,%eax + 1017b3: c6 00 20 movb $0x20,(%eax) + 1017b6: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017b9: 05 b9 00 00 00 add $0xb9,%eax + 1017be: c6 00 20 movb $0x20,(%eax) + 1017c1: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017c4: 05 ba 00 00 00 add $0xba,%eax + 1017c9: c6 00 20 movb $0x20,(%eax) + 1017cc: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017cf: 05 bb 00 00 00 add $0xbb,%eax + 1017d4: c6 00 20 movb $0x20,(%eax) + 1017d7: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017da: 05 bc 00 00 00 add $0xbc,%eax + 1017df: c6 00 20 movb $0x20,(%eax) + 1017e2: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017e5: 05 bd 00 00 00 add $0xbd,%eax + 1017ea: c6 00 20 movb $0x20,(%eax) + 1017ed: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017f0: 05 be 00 00 00 add $0xbe,%eax + 1017f5: c6 00 20 movb $0x20,(%eax) + 1017f8: 8b 45 e4 mov -0x1c(%ebp),%eax + 1017fb: 05 bf 00 00 00 add $0xbf,%eax + 101800: c6 00 20 movb $0x20,(%eax) + 101803: 8b 45 e4 mov -0x1c(%ebp),%eax + 101806: 05 c0 00 00 00 add $0xc0,%eax + 10180b: c6 00 20 movb $0x20,(%eax) + 10180e: 8b 45 e4 mov -0x1c(%ebp),%eax + 101811: 05 c1 00 00 00 add $0xc1,%eax + 101816: c6 00 20 movb $0x20,(%eax) + 101819: 8b 45 e4 mov -0x1c(%ebp),%eax + 10181c: 05 c2 00 00 00 add $0xc2,%eax + 101821: c6 00 20 movb $0x20,(%eax) + 101824: 8b 45 e4 mov -0x1c(%ebp),%eax + 101827: 05 c3 00 00 00 add $0xc3,%eax + 10182c: c6 00 20 movb $0x20,(%eax) + 10182f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101832: 05 c4 00 00 00 add $0xc4,%eax + 101837: c6 00 20 movb $0x20,(%eax) + 10183a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10183d: 05 c5 00 00 00 add $0xc5,%eax + 101842: c6 00 20 movb $0x20,(%eax) + 101845: 8b 45 e4 mov -0x1c(%ebp),%eax + 101848: 05 c6 00 00 00 add $0xc6,%eax + 10184d: c6 00 20 movb $0x20,(%eax) + 101850: 8b 45 e4 mov -0x1c(%ebp),%eax + 101853: 05 c7 00 00 00 add $0xc7,%eax + 101858: c6 00 20 movb $0x20,(%eax) + 10185b: 8b 45 e4 mov -0x1c(%ebp),%eax + 10185e: 05 c8 00 00 00 add $0xc8,%eax + 101863: c6 00 20 movb $0x20,(%eax) + 101866: 8b 45 e4 mov -0x1c(%ebp),%eax + 101869: 05 c9 00 00 00 add $0xc9,%eax + 10186e: c6 00 20 movb $0x20,(%eax) + 101871: 8b 45 e4 mov -0x1c(%ebp),%eax + 101874: 05 ca 00 00 00 add $0xca,%eax + 101879: c6 00 20 movb $0x20,(%eax) + 10187c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10187f: 05 cb 00 00 00 add $0xcb,%eax + 101884: c6 00 20 movb $0x20,(%eax) + 101887: 8b 45 e4 mov -0x1c(%ebp),%eax + 10188a: 05 cc 00 00 00 add $0xcc,%eax + 10188f: c6 00 20 movb $0x20,(%eax) + 101892: 8b 45 e4 mov -0x1c(%ebp),%eax + 101895: 05 cd 00 00 00 add $0xcd,%eax + 10189a: c6 00 20 movb $0x20,(%eax) + 10189d: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018a0: 05 ce 00 00 00 add $0xce,%eax + 1018a5: c6 00 20 movb $0x20,(%eax) + 1018a8: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018ab: 05 cf 00 00 00 add $0xcf,%eax + 1018b0: c6 00 20 movb $0x20,(%eax) + 1018b3: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018b6: 05 d0 00 00 00 add $0xd0,%eax + 1018bb: c6 00 20 movb $0x20,(%eax) + 1018be: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018c1: 05 d1 00 00 00 add $0xd1,%eax + 1018c6: c6 00 20 movb $0x20,(%eax) + 1018c9: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018cc: 05 d2 00 00 00 add $0xd2,%eax + 1018d1: c6 00 20 movb $0x20,(%eax) + 1018d4: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018d7: 05 d3 00 00 00 add $0xd3,%eax + 1018dc: c6 00 20 movb $0x20,(%eax) + 1018df: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018e2: 05 d7 00 00 00 add $0xd7,%eax + 1018e7: c6 00 20 movb $0x20,(%eax) + 1018ea: 8b 45 e4 mov -0x1c(%ebp),%eax + 1018ed: 05 d8 00 00 00 add $0xd8,%eax + 1018f2: c6 00 20 movb $0x20,(%eax) + 1018f5: 90 nop + 1018f6: 8b 45 f4 mov -0xc(%ebp),%eax + 1018f9: 2b 05 04 50 10 00 sub 0x105004,%eax + 1018ff: 74 05 je 101906 <us_en+0x6cb> + 101901: e8 81 1f 00 00 call 103887 <__stack_chk_fail> + 101906: c9 leave + 101907: c3 ret + +00101908 <printf>: + 101908: 55 push %ebp + 101909: 89 e5 mov %esp,%ebp + 10190b: 83 ec 38 sub $0x38,%esp + 10190e: 8b 45 08 mov 0x8(%ebp),%eax + 101911: 89 45 d4 mov %eax,-0x2c(%ebp) + 101914: a1 04 50 10 00 mov 0x105004,%eax + 101919: 89 45 f4 mov %eax,-0xc(%ebp) + 10191c: 31 c0 xor %eax,%eax + 10191e: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp) + 101925: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 10192c: eb 17 jmp 101945 <printf+0x3d> + 10192e: 8b 55 d4 mov -0x2c(%ebp),%edx + 101931: 8b 45 ec mov -0x14(%ebp),%eax + 101934: 01 d0 add %edx,%eax + 101936: 0f b6 00 movzbl (%eax),%eax + 101939: 3c 25 cmp $0x25,%al + 10193b: 75 04 jne 101941 <printf+0x39> + 10193d: 83 45 e8 01 addl $0x1,-0x18(%ebp) + 101941: 83 45 ec 01 addl $0x1,-0x14(%ebp) + 101945: 8b 55 d4 mov -0x2c(%ebp),%edx + 101948: 8b 45 ec mov -0x14(%ebp),%eax + 10194b: 01 d0 add %edx,%eax + 10194d: 0f b6 00 movzbl (%eax),%eax + 101950: 84 c0 test %al,%al + 101952: 75 da jne 10192e <printf+0x26> + 101954: 8d 45 0c lea 0xc(%ebp),%eax + 101957: 89 45 e4 mov %eax,-0x1c(%ebp) + 10195a: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 101961: e9 f6 00 00 00 jmp 101a5c <printf+0x154> + 101966: 8b 55 d4 mov -0x2c(%ebp),%edx + 101969: 8b 45 f0 mov -0x10(%ebp),%eax + 10196c: 01 d0 add %edx,%eax + 10196e: 0f b6 00 movzbl (%eax),%eax + 101971: 3c 25 cmp $0x25,%al + 101973: 0f 85 c5 00 00 00 jne 101a3e <printf+0x136> + 101979: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 10197d: 8b 55 d4 mov -0x2c(%ebp),%edx + 101980: 8b 45 f0 mov -0x10(%ebp),%eax + 101983: 01 d0 add %edx,%eax + 101985: 0f b6 00 movzbl (%eax),%eax + 101988: 3c 63 cmp $0x63,%al + 10198a: 75 1f jne 1019ab <printf+0xa3> + 10198c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10198f: 8d 50 04 lea 0x4(%eax),%edx + 101992: 89 55 e4 mov %edx,-0x1c(%ebp) + 101995: 8b 00 mov (%eax),%eax + 101997: 0f be c0 movsbl %al,%eax + 10199a: 83 ec 0c sub $0xc,%esp + 10199d: 50 push %eax + 10199e: e8 62 12 00 00 call 102c05 <terminal_putchar> + 1019a3: 83 c4 10 add $0x10,%esp + 1019a6: e9 ad 00 00 00 jmp 101a58 <printf+0x150> + 1019ab: 8b 55 d4 mov -0x2c(%ebp),%edx + 1019ae: 8b 45 f0 mov -0x10(%ebp),%eax + 1019b1: 01 d0 add %edx,%eax + 1019b3: 0f b6 00 movzbl (%eax),%eax + 1019b6: 3c 73 cmp $0x73,%al + 1019b8: 75 1c jne 1019d6 <printf+0xce> + 1019ba: 8b 45 e4 mov -0x1c(%ebp),%eax + 1019bd: 8d 50 04 lea 0x4(%eax),%edx + 1019c0: 89 55 e4 mov %edx,-0x1c(%ebp) + 1019c3: 8b 00 mov (%eax),%eax + 1019c5: 83 ec 0c sub $0xc,%esp + 1019c8: 50 push %eax + 1019c9: e8 c1 12 00 00 call 102c8f <terminal_writestring> + 1019ce: 83 c4 10 add $0x10,%esp + 1019d1: e9 82 00 00 00 jmp 101a58 <printf+0x150> + 1019d6: 8b 55 d4 mov -0x2c(%ebp),%edx + 1019d9: 8b 45 f0 mov -0x10(%ebp),%eax + 1019dc: 01 d0 add %edx,%eax + 1019de: 0f b6 00 movzbl (%eax),%eax + 1019e1: 3c 64 cmp $0x64,%al + 1019e3: 75 19 jne 1019fe <printf+0xf6> + 1019e5: 8b 45 e4 mov -0x1c(%ebp),%eax + 1019e8: 8d 50 04 lea 0x4(%eax),%edx + 1019eb: 89 55 e4 mov %edx,-0x1c(%ebp) + 1019ee: 8b 00 mov (%eax),%eax + 1019f0: 83 ec 0c sub $0xc,%esp + 1019f3: 50 push %eax + 1019f4: e8 f5 12 00 00 call 102cee <terminal_writeint> + 1019f9: 83 c4 10 add $0x10,%esp + 1019fc: eb 5a jmp 101a58 <printf+0x150> + 1019fe: 8b 55 d4 mov -0x2c(%ebp),%edx + 101a01: 8b 45 f0 mov -0x10(%ebp),%eax + 101a04: 01 d0 add %edx,%eax + 101a06: 0f b6 00 movzbl (%eax),%eax + 101a09: 3c 66 cmp $0x66,%al + 101a0b: 75 1f jne 101a2c <printf+0x124> + 101a0d: 8b 45 e4 mov -0x1c(%ebp),%eax + 101a10: 8d 50 08 lea 0x8(%eax),%edx + 101a13: 89 55 e4 mov %edx,-0x1c(%ebp) + 101a16: dd 00 fldl (%eax) + 101a18: 83 ec 08 sub $0x8,%esp + 101a1b: 8d 64 24 f8 lea -0x8(%esp),%esp + 101a1f: dd 1c 24 fstpl (%esp) + 101a22: e8 36 13 00 00 call 102d5d <terminal_writefloat> + 101a27: 83 c4 10 add $0x10,%esp + 101a2a: eb 2c jmp 101a58 <printf+0x150> + 101a2c: 83 ec 0c sub $0xc,%esp + 101a2f: 68 14 40 10 00 push $0x104014 + 101a34: e8 56 12 00 00 call 102c8f <terminal_writestring> + 101a39: 83 c4 10 add $0x10,%esp + 101a3c: eb 31 jmp 101a6f <printf+0x167> + 101a3e: 8b 55 d4 mov -0x2c(%ebp),%edx + 101a41: 8b 45 f0 mov -0x10(%ebp),%eax + 101a44: 01 d0 add %edx,%eax + 101a46: 0f b6 00 movzbl (%eax),%eax + 101a49: 0f be c0 movsbl %al,%eax + 101a4c: 83 ec 0c sub $0xc,%esp + 101a4f: 50 push %eax + 101a50: e8 b0 11 00 00 call 102c05 <terminal_putchar> + 101a55: 83 c4 10 add $0x10,%esp + 101a58: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101a5c: 8b 55 d4 mov -0x2c(%ebp),%edx + 101a5f: 8b 45 f0 mov -0x10(%ebp),%eax + 101a62: 01 d0 add %edx,%eax + 101a64: 0f b6 00 movzbl (%eax),%eax + 101a67: 84 c0 test %al,%al + 101a69: 0f 85 f7 fe ff ff jne 101966 <printf+0x5e> + 101a6f: 8b 45 f4 mov -0xc(%ebp),%eax + 101a72: 2b 05 04 50 10 00 sub 0x105004,%eax + 101a78: 74 05 je 101a7f <printf+0x177> + 101a7a: e8 08 1e 00 00 call 103887 <__stack_chk_fail> + 101a7f: c9 leave + 101a80: c3 ret + +00101a81 <stringlen>: + 101a81: 55 push %ebp + 101a82: 89 e5 mov %esp,%ebp + 101a84: 83 ec 28 sub $0x28,%esp + 101a87: 8b 45 08 mov 0x8(%ebp),%eax + 101a8a: 89 45 e4 mov %eax,-0x1c(%ebp) + 101a8d: a1 04 50 10 00 mov 0x105004,%eax + 101a92: 89 45 f4 mov %eax,-0xc(%ebp) + 101a95: 31 c0 xor %eax,%eax + 101a97: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 101a9e: eb 04 jmp 101aa4 <stringlen+0x23> + 101aa0: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101aa4: 8b 55 e4 mov -0x1c(%ebp),%edx + 101aa7: 8b 45 f0 mov -0x10(%ebp),%eax + 101aaa: 01 d0 add %edx,%eax + 101aac: 0f b6 00 movzbl (%eax),%eax + 101aaf: 84 c0 test %al,%al + 101ab1: 75 ed jne 101aa0 <stringlen+0x1f> + 101ab3: 8b 45 f0 mov -0x10(%ebp),%eax + 101ab6: 8b 55 f4 mov -0xc(%ebp),%edx + 101ab9: 2b 15 04 50 10 00 sub 0x105004,%edx + 101abf: 74 05 je 101ac6 <stringlen+0x45> + 101ac1: e8 c1 1d 00 00 call 103887 <__stack_chk_fail> + 101ac6: c9 leave + 101ac7: c3 ret + +00101ac8 <stringcmp>: + 101ac8: 55 push %ebp + 101ac9: 89 e5 mov %esp,%ebp + 101acb: 83 ec 28 sub $0x28,%esp + 101ace: 8b 45 08 mov 0x8(%ebp),%eax + 101ad1: 89 45 e4 mov %eax,-0x1c(%ebp) + 101ad4: 8b 45 0c mov 0xc(%ebp),%eax + 101ad7: 89 45 e0 mov %eax,-0x20(%ebp) + 101ada: a1 04 50 10 00 mov 0x105004,%eax + 101adf: 89 45 f4 mov %eax,-0xc(%ebp) + 101ae2: 31 c0 xor %eax,%eax + 101ae4: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 101aeb: eb 25 jmp 101b12 <stringcmp+0x4a> + 101aed: 8b 55 e4 mov -0x1c(%ebp),%edx + 101af0: 8b 45 f0 mov -0x10(%ebp),%eax + 101af3: 01 d0 add %edx,%eax + 101af5: 0f b6 10 movzbl (%eax),%edx + 101af8: 8b 4d e0 mov -0x20(%ebp),%ecx + 101afb: 8b 45 f0 mov -0x10(%ebp),%eax + 101afe: 01 c8 add %ecx,%eax + 101b00: 0f b6 00 movzbl (%eax),%eax + 101b03: 38 c2 cmp %al,%dl + 101b05: 74 07 je 101b0e <stringcmp+0x46> + 101b07: b8 00 00 00 00 mov $0x0,%eax + 101b0c: eb 48 jmp 101b56 <stringcmp+0x8e> + 101b0e: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101b12: 8b 55 e4 mov -0x1c(%ebp),%edx + 101b15: 8b 45 f0 mov -0x10(%ebp),%eax + 101b18: 01 d0 add %edx,%eax + 101b1a: 0f b6 00 movzbl (%eax),%eax + 101b1d: 84 c0 test %al,%al + 101b1f: 75 cc jne 101aed <stringcmp+0x25> + 101b21: 8b 55 e0 mov -0x20(%ebp),%edx + 101b24: 8b 45 f0 mov -0x10(%ebp),%eax + 101b27: 01 d0 add %edx,%eax + 101b29: 0f b6 00 movzbl (%eax),%eax + 101b2c: 84 c0 test %al,%al + 101b2e: 75 bd jne 101aed <stringcmp+0x25> + 101b30: 8b 55 e4 mov -0x1c(%ebp),%edx + 101b33: 8b 45 f0 mov -0x10(%ebp),%eax + 101b36: 01 d0 add %edx,%eax + 101b38: 0f b6 10 movzbl (%eax),%edx + 101b3b: 8b 4d e0 mov -0x20(%ebp),%ecx + 101b3e: 8b 45 f0 mov -0x10(%ebp),%eax + 101b41: 01 c8 add %ecx,%eax + 101b43: 0f b6 00 movzbl (%eax),%eax + 101b46: 38 c2 cmp %al,%dl + 101b48: 75 07 jne 101b51 <stringcmp+0x89> + 101b4a: b8 01 00 00 00 mov $0x1,%eax + 101b4f: eb 05 jmp 101b56 <stringcmp+0x8e> + 101b51: b8 00 00 00 00 mov $0x0,%eax + 101b56: 8b 55 f4 mov -0xc(%ebp),%edx + 101b59: 2b 15 04 50 10 00 sub 0x105004,%edx + 101b5f: 74 05 je 101b66 <stringcmp+0x9e> + 101b61: e8 21 1d 00 00 call 103887 <__stack_chk_fail> + 101b66: c9 leave + 101b67: c3 ret + +00101b68 <stringcat>: + 101b68: 55 push %ebp + 101b69: 89 e5 mov %esp,%ebp + 101b6b: 83 ec 28 sub $0x28,%esp + 101b6e: 8b 45 08 mov 0x8(%ebp),%eax + 101b71: 89 45 e4 mov %eax,-0x1c(%ebp) + 101b74: 8b 45 0c mov 0xc(%ebp),%eax + 101b77: 89 45 e0 mov %eax,-0x20(%ebp) + 101b7a: a1 04 50 10 00 mov 0x105004,%eax + 101b7f: 89 45 f4 mov %eax,-0xc(%ebp) + 101b82: 31 c0 xor %eax,%eax + 101b84: 8b 45 e4 mov -0x1c(%ebp),%eax + 101b87: 89 45 f0 mov %eax,-0x10(%ebp) + 101b8a: eb 04 jmp 101b90 <stringcat+0x28> + 101b8c: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101b90: 8b 45 f0 mov -0x10(%ebp),%eax + 101b93: 0f b6 00 movzbl (%eax),%eax + 101b96: 84 c0 test %al,%al + 101b98: 75 f2 jne 101b8c <stringcat+0x24> + 101b9a: eb 17 jmp 101bb3 <stringcat+0x4b> + 101b9c: 8b 55 e0 mov -0x20(%ebp),%edx + 101b9f: 8d 42 01 lea 0x1(%edx),%eax + 101ba2: 89 45 e0 mov %eax,-0x20(%ebp) + 101ba5: 8b 45 f0 mov -0x10(%ebp),%eax + 101ba8: 8d 48 01 lea 0x1(%eax),%ecx + 101bab: 89 4d f0 mov %ecx,-0x10(%ebp) + 101bae: 0f b6 12 movzbl (%edx),%edx + 101bb1: 88 10 mov %dl,(%eax) + 101bb3: 8b 45 e0 mov -0x20(%ebp),%eax + 101bb6: 0f b6 00 movzbl (%eax),%eax + 101bb9: 84 c0 test %al,%al + 101bbb: 75 df jne 101b9c <stringcat+0x34> + 101bbd: 8b 45 e0 mov -0x20(%ebp),%eax + 101bc0: 0f b6 10 movzbl (%eax),%edx + 101bc3: 8b 45 f0 mov -0x10(%ebp),%eax + 101bc6: 88 10 mov %dl,(%eax) + 101bc8: 90 nop + 101bc9: 8b 45 f4 mov -0xc(%ebp),%eax + 101bcc: 2b 05 04 50 10 00 sub 0x105004,%eax + 101bd2: 74 05 je 101bd9 <stringcat+0x71> + 101bd4: e8 ae 1c 00 00 call 103887 <__stack_chk_fail> + 101bd9: c9 leave + 101bda: c3 ret + +00101bdb <stringcpy>: + 101bdb: 55 push %ebp + 101bdc: 89 e5 mov %esp,%ebp + 101bde: 83 ec 28 sub $0x28,%esp + 101be1: 8b 45 08 mov 0x8(%ebp),%eax + 101be4: 89 45 e4 mov %eax,-0x1c(%ebp) + 101be7: 8b 45 0c mov 0xc(%ebp),%eax + 101bea: 89 45 e0 mov %eax,-0x20(%ebp) + 101bed: a1 04 50 10 00 mov 0x105004,%eax + 101bf2: 89 45 f4 mov %eax,-0xc(%ebp) + 101bf5: 31 c0 xor %eax,%eax + 101bf7: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 101bfe: eb 19 jmp 101c19 <stringcpy+0x3e> + 101c00: 8b 55 e0 mov -0x20(%ebp),%edx + 101c03: 8b 45 f0 mov -0x10(%ebp),%eax + 101c06: 01 d0 add %edx,%eax + 101c08: 8b 4d e4 mov -0x1c(%ebp),%ecx + 101c0b: 8b 55 f0 mov -0x10(%ebp),%edx + 101c0e: 01 ca add %ecx,%edx + 101c10: 0f b6 00 movzbl (%eax),%eax + 101c13: 88 02 mov %al,(%edx) + 101c15: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101c19: 8b 55 e0 mov -0x20(%ebp),%edx + 101c1c: 8b 45 f0 mov -0x10(%ebp),%eax + 101c1f: 01 d0 add %edx,%eax + 101c21: 0f b6 00 movzbl (%eax),%eax + 101c24: 84 c0 test %al,%al + 101c26: 75 d8 jne 101c00 <stringcpy+0x25> + 101c28: 90 nop + 101c29: 8b 45 f4 mov -0xc(%ebp),%eax + 101c2c: 2b 05 04 50 10 00 sub 0x105004,%eax + 101c32: 74 05 je 101c39 <stringcpy+0x5e> + 101c34: e8 4e 1c 00 00 call 103887 <__stack_chk_fail> + 101c39: c9 leave + 101c3a: c3 ret + +00101c3b <stringrev>: + 101c3b: 55 push %ebp + 101c3c: 89 e5 mov %esp,%ebp + 101c3e: 83 ec 28 sub $0x28,%esp + 101c41: 8b 45 08 mov 0x8(%ebp),%eax + 101c44: 89 45 e4 mov %eax,-0x1c(%ebp) + 101c47: a1 04 50 10 00 mov 0x105004,%eax + 101c4c: 89 45 f4 mov %eax,-0xc(%ebp) + 101c4f: 31 c0 xor %eax,%eax + 101c51: 83 ec 0c sub $0xc,%esp + 101c54: ff 75 e4 push -0x1c(%ebp) + 101c57: e8 25 fe ff ff call 101a81 <stringlen> + 101c5c: 83 c4 10 add $0x10,%esp + 101c5f: 83 e8 01 sub $0x1,%eax + 101c62: 89 45 f0 mov %eax,-0x10(%ebp) + 101c65: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 101c6c: eb 40 jmp 101cae <stringrev+0x73> + 101c6e: 8b 45 f0 mov -0x10(%ebp),%eax + 101c71: 2b 45 ec sub -0x14(%ebp),%eax + 101c74: 89 c2 mov %eax,%edx + 101c76: 8b 45 e4 mov -0x1c(%ebp),%eax + 101c79: 01 d0 add %edx,%eax + 101c7b: 0f b6 00 movzbl (%eax),%eax + 101c7e: 88 45 eb mov %al,-0x15(%ebp) + 101c81: 8b 55 e4 mov -0x1c(%ebp),%edx + 101c84: 8b 45 ec mov -0x14(%ebp),%eax + 101c87: 8d 0c 02 lea (%edx,%eax,1),%ecx + 101c8a: 8b 45 f0 mov -0x10(%ebp),%eax + 101c8d: 2b 45 ec sub -0x14(%ebp),%eax + 101c90: 89 c2 mov %eax,%edx + 101c92: 8b 45 e4 mov -0x1c(%ebp),%eax + 101c95: 01 c2 add %eax,%edx + 101c97: 0f b6 01 movzbl (%ecx),%eax + 101c9a: 88 02 mov %al,(%edx) + 101c9c: 8b 55 e4 mov -0x1c(%ebp),%edx + 101c9f: 8b 45 ec mov -0x14(%ebp),%eax + 101ca2: 01 c2 add %eax,%edx + 101ca4: 0f b6 45 eb movzbl -0x15(%ebp),%eax + 101ca8: 88 02 mov %al,(%edx) + 101caa: 83 45 ec 01 addl $0x1,-0x14(%ebp) + 101cae: 8b 45 f0 mov -0x10(%ebp),%eax + 101cb1: 2b 45 ec sub -0x14(%ebp),%eax + 101cb4: 39 45 ec cmp %eax,-0x14(%ebp) + 101cb7: 72 b5 jb 101c6e <stringrev+0x33> + 101cb9: 90 nop + 101cba: 8b 45 f4 mov -0xc(%ebp),%eax + 101cbd: 2b 05 04 50 10 00 sub 0x105004,%eax + 101cc3: 74 05 je 101cca <stringrev+0x8f> + 101cc5: e8 bd 1b 00 00 call 103887 <__stack_chk_fail> + 101cca: c9 leave + 101ccb: c3 ret + +00101ccc <stoi>: + 101ccc: 55 push %ebp + 101ccd: 89 e5 mov %esp,%ebp + 101ccf: 83 ec 28 sub $0x28,%esp + 101cd2: 8b 45 08 mov 0x8(%ebp),%eax + 101cd5: 89 45 e4 mov %eax,-0x1c(%ebp) + 101cd8: a1 04 50 10 00 mov 0x105004,%eax + 101cdd: 89 45 f4 mov %eax,-0xc(%ebp) + 101ce0: 31 c0 xor %eax,%eax + 101ce2: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 101ce9: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 101cf0: eb 4f jmp 101d41 <stoi+0x75> + 101cf2: 8b 55 e4 mov -0x1c(%ebp),%edx + 101cf5: 8b 45 f0 mov -0x10(%ebp),%eax + 101cf8: 01 d0 add %edx,%eax + 101cfa: 0f b6 00 movzbl (%eax),%eax + 101cfd: 3c 2f cmp $0x2f,%al + 101cff: 7e 0f jle 101d10 <stoi+0x44> + 101d01: 8b 55 e4 mov -0x1c(%ebp),%edx + 101d04: 8b 45 f0 mov -0x10(%ebp),%eax + 101d07: 01 d0 add %edx,%eax + 101d09: 0f b6 00 movzbl (%eax),%eax + 101d0c: 3c 39 cmp $0x39,%al + 101d0e: 7e 05 jle 101d15 <stoi+0x49> + 101d10: 8b 45 ec mov -0x14(%ebp),%eax + 101d13: eb 3e jmp 101d53 <stoi+0x87> + 101d15: 8b 55 ec mov -0x14(%ebp),%edx + 101d18: 89 d0 mov %edx,%eax + 101d1a: c1 e0 02 shl $0x2,%eax + 101d1d: 01 d0 add %edx,%eax + 101d1f: 01 c0 add %eax,%eax + 101d21: 89 45 ec mov %eax,-0x14(%ebp) + 101d24: 8b 55 e4 mov -0x1c(%ebp),%edx + 101d27: 8b 45 f0 mov -0x10(%ebp),%eax + 101d2a: 01 d0 add %edx,%eax + 101d2c: 0f b6 00 movzbl (%eax),%eax + 101d2f: 0f be d0 movsbl %al,%edx + 101d32: 8b 45 ec mov -0x14(%ebp),%eax + 101d35: 01 d0 add %edx,%eax + 101d37: 83 e8 30 sub $0x30,%eax + 101d3a: 89 45 ec mov %eax,-0x14(%ebp) + 101d3d: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101d41: 8b 55 e4 mov -0x1c(%ebp),%edx + 101d44: 8b 45 f0 mov -0x10(%ebp),%eax + 101d47: 01 d0 add %edx,%eax + 101d49: 0f b6 00 movzbl (%eax),%eax + 101d4c: 84 c0 test %al,%al + 101d4e: 75 a2 jne 101cf2 <stoi+0x26> + 101d50: 8b 45 ec mov -0x14(%ebp),%eax + 101d53: 8b 55 f4 mov -0xc(%ebp),%edx + 101d56: 2b 15 04 50 10 00 sub 0x105004,%edx + 101d5c: 74 05 je 101d63 <stoi+0x97> + 101d5e: e8 24 1b 00 00 call 103887 <__stack_chk_fail> + 101d63: c9 leave + 101d64: c3 ret + +00101d65 <itos>: + 101d65: 55 push %ebp + 101d66: 89 e5 mov %esp,%ebp + 101d68: 83 ec 28 sub $0x28,%esp + 101d6b: 8b 45 08 mov 0x8(%ebp),%eax + 101d6e: 89 45 e4 mov %eax,-0x1c(%ebp) + 101d71: 8b 45 0c mov 0xc(%ebp),%eax + 101d74: 89 45 e0 mov %eax,-0x20(%ebp) + 101d77: a1 04 50 10 00 mov 0x105004,%eax + 101d7c: 89 45 f4 mov %eax,-0xc(%ebp) + 101d7f: 31 c0 xor %eax,%eax + 101d81: 83 7d e4 00 cmpl $0x0,-0x1c(%ebp) + 101d85: 75 15 jne 101d9c <itos+0x37> + 101d87: 83 ec 08 sub $0x8,%esp + 101d8a: 68 38 40 10 00 push $0x104038 + 101d8f: ff 75 e0 push -0x20(%ebp) + 101d92: e8 44 fe ff ff call 101bdb <stringcpy> + 101d97: 83 c4 10 add $0x10,%esp + 101d9a: eb 6b jmp 101e07 <itos+0xa2> + 101d9c: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 101da3: eb 43 jmp 101de8 <itos+0x83> + 101da5: 8b 4d e4 mov -0x1c(%ebp),%ecx + 101da8: ba cd cc cc cc mov $0xcccccccd,%edx + 101dad: 89 c8 mov %ecx,%eax + 101daf: f7 e2 mul %edx + 101db1: c1 ea 03 shr $0x3,%edx + 101db4: 89 d0 mov %edx,%eax + 101db6: c1 e0 02 shl $0x2,%eax + 101db9: 01 d0 add %edx,%eax + 101dbb: 01 c0 add %eax,%eax + 101dbd: 29 c1 sub %eax,%ecx + 101dbf: 89 ca mov %ecx,%edx + 101dc1: 89 d0 mov %edx,%eax + 101dc3: 8d 48 30 lea 0x30(%eax),%ecx + 101dc6: 8b 55 e0 mov -0x20(%ebp),%edx + 101dc9: 8b 45 f0 mov -0x10(%ebp),%eax + 101dcc: 01 d0 add %edx,%eax + 101dce: 89 ca mov %ecx,%edx + 101dd0: 88 10 mov %dl,(%eax) + 101dd2: 8b 45 e4 mov -0x1c(%ebp),%eax + 101dd5: ba cd cc cc cc mov $0xcccccccd,%edx + 101dda: f7 e2 mul %edx + 101ddc: 89 d0 mov %edx,%eax + 101dde: c1 e8 03 shr $0x3,%eax + 101de1: 89 45 e4 mov %eax,-0x1c(%ebp) + 101de4: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 101de8: 83 7d e4 00 cmpl $0x0,-0x1c(%ebp) + 101dec: 75 b7 jne 101da5 <itos+0x40> + 101dee: 8b 55 e0 mov -0x20(%ebp),%edx + 101df1: 8b 45 f0 mov -0x10(%ebp),%eax + 101df4: 01 d0 add %edx,%eax + 101df6: c6 00 00 movb $0x0,(%eax) + 101df9: 83 ec 0c sub $0xc,%esp + 101dfc: ff 75 e0 push -0x20(%ebp) + 101dff: e8 37 fe ff ff call 101c3b <stringrev> + 101e04: 83 c4 10 add $0x10,%esp + 101e07: 90 nop + 101e08: 8b 45 f4 mov -0xc(%ebp),%eax + 101e0b: 2b 05 04 50 10 00 sub 0x105004,%eax + 101e11: 74 05 je 101e18 <itos+0xb3> + 101e13: e8 6f 1a 00 00 call 103887 <__stack_chk_fail> + 101e18: c9 leave + 101e19: c3 ret + +00101e1a <stof>: + 101e1a: 55 push %ebp + 101e1b: 89 e5 mov %esp,%ebp + 101e1d: 83 ec 38 sub $0x38,%esp + 101e20: 8b 45 08 mov 0x8(%ebp),%eax + 101e23: 89 45 d4 mov %eax,-0x2c(%ebp) + 101e26: a1 04 50 10 00 mov 0x105004,%eax + 101e2b: 89 45 f4 mov %eax,-0xc(%ebp) + 101e2e: 31 c0 xor %eax,%eax + 101e30: d9 ee fldz + 101e32: dd 5d e8 fstpl -0x18(%ebp) + 101e35: c6 45 df 00 movb $0x0,-0x21(%ebp) + 101e39: c7 45 e0 01 00 00 00 movl $0x1,-0x20(%ebp) + 101e40: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp) + 101e47: e9 b2 00 00 00 jmp 101efe <stof+0xe4> + 101e4c: 8b 55 d4 mov -0x2c(%ebp),%edx + 101e4f: 8b 45 e4 mov -0x1c(%ebp),%eax + 101e52: 01 d0 add %edx,%eax + 101e54: 0f b6 00 movzbl (%eax),%eax + 101e57: 3c 2e cmp $0x2e,%al + 101e59: 75 27 jne 101e82 <stof+0x68> + 101e5b: 80 7d df 00 cmpb $0x0,-0x21(%ebp) + 101e5f: 74 1b je 101e7c <stof+0x62> + 101e61: 8b 45 e0 mov -0x20(%ebp),%eax + 101e64: ba 00 00 00 00 mov $0x0,%edx + 101e69: 89 45 c8 mov %eax,-0x38(%ebp) + 101e6c: 89 55 cc mov %edx,-0x34(%ebp) + 101e6f: df 6d c8 fildll -0x38(%ebp) + 101e72: dd 45 e8 fldl -0x18(%ebp) + 101e75: de f1 fdivp %st,%st(1) + 101e77: e9 ab 00 00 00 jmp 101f27 <stof+0x10d> + 101e7c: c6 45 df 01 movb $0x1,-0x21(%ebp) + 101e80: eb 78 jmp 101efa <stof+0xe0> + 101e82: 8b 55 d4 mov -0x2c(%ebp),%edx + 101e85: 8b 45 e4 mov -0x1c(%ebp),%eax + 101e88: 01 d0 add %edx,%eax + 101e8a: 0f b6 00 movzbl (%eax),%eax + 101e8d: 3c 2f cmp $0x2f,%al + 101e8f: 7e 0f jle 101ea0 <stof+0x86> + 101e91: 8b 55 d4 mov -0x2c(%ebp),%edx + 101e94: 8b 45 e4 mov -0x1c(%ebp),%eax + 101e97: 01 d0 add %edx,%eax + 101e99: 0f b6 00 movzbl (%eax),%eax + 101e9c: 3c 39 cmp $0x39,%al + 101e9e: 7e 18 jle 101eb8 <stof+0x9e> + 101ea0: 8b 45 e0 mov -0x20(%ebp),%eax + 101ea3: ba 00 00 00 00 mov $0x0,%edx + 101ea8: 89 45 c8 mov %eax,-0x38(%ebp) + 101eab: 89 55 cc mov %edx,-0x34(%ebp) + 101eae: df 6d c8 fildll -0x38(%ebp) + 101eb1: dd 45 e8 fldl -0x18(%ebp) + 101eb4: de f1 fdivp %st,%st(1) + 101eb6: eb 6f jmp 101f27 <stof+0x10d> + 101eb8: dd 45 e8 fldl -0x18(%ebp) + 101ebb: dd 05 48 40 10 00 fldl 0x104048 + 101ec1: de c9 fmulp %st,%st(1) + 101ec3: dd 5d e8 fstpl -0x18(%ebp) + 101ec6: 8b 55 d4 mov -0x2c(%ebp),%edx + 101ec9: 8b 45 e4 mov -0x1c(%ebp),%eax + 101ecc: 01 d0 add %edx,%eax + 101ece: 0f b6 00 movzbl (%eax),%eax + 101ed1: 0f be c0 movsbl %al,%eax + 101ed4: 83 e8 30 sub $0x30,%eax + 101ed7: 89 45 c8 mov %eax,-0x38(%ebp) + 101eda: db 45 c8 fildl -0x38(%ebp) + 101edd: dd 45 e8 fldl -0x18(%ebp) + 101ee0: de c1 faddp %st,%st(1) + 101ee2: dd 5d e8 fstpl -0x18(%ebp) + 101ee5: 80 7d df 00 cmpb $0x0,-0x21(%ebp) + 101ee9: 74 0f je 101efa <stof+0xe0> + 101eeb: 8b 55 e0 mov -0x20(%ebp),%edx + 101eee: 89 d0 mov %edx,%eax + 101ef0: c1 e0 02 shl $0x2,%eax + 101ef3: 01 d0 add %edx,%eax + 101ef5: 01 c0 add %eax,%eax + 101ef7: 89 45 e0 mov %eax,-0x20(%ebp) + 101efa: 83 45 e4 01 addl $0x1,-0x1c(%ebp) + 101efe: 8b 55 d4 mov -0x2c(%ebp),%edx + 101f01: 8b 45 e4 mov -0x1c(%ebp),%eax + 101f04: 01 d0 add %edx,%eax + 101f06: 0f b6 00 movzbl (%eax),%eax + 101f09: 84 c0 test %al,%al + 101f0b: 0f 85 3b ff ff ff jne 101e4c <stof+0x32> + 101f11: 8b 45 e0 mov -0x20(%ebp),%eax + 101f14: ba 00 00 00 00 mov $0x0,%edx + 101f19: 89 45 c8 mov %eax,-0x38(%ebp) + 101f1c: 89 55 cc mov %edx,-0x34(%ebp) + 101f1f: df 6d c8 fildll -0x38(%ebp) + 101f22: dd 45 e8 fldl -0x18(%ebp) + 101f25: de f1 fdivp %st,%st(1) + 101f27: 8b 45 f4 mov -0xc(%ebp),%eax + 101f2a: 2b 05 04 50 10 00 sub 0x105004,%eax + 101f30: 74 07 je 101f39 <stof+0x11f> + 101f32: dd d8 fstp %st(0) + 101f34: e8 4e 19 00 00 call 103887 <__stack_chk_fail> + 101f39: c9 leave + 101f3a: c3 ret + +00101f3b <ftos>: + 101f3b: 55 push %ebp + 101f3c: 89 e5 mov %esp,%ebp + 101f3e: 83 ec 38 sub $0x38,%esp + 101f41: 8b 45 08 mov 0x8(%ebp),%eax + 101f44: 89 45 e0 mov %eax,-0x20(%ebp) + 101f47: 8b 45 0c mov 0xc(%ebp),%eax + 101f4a: 89 45 e4 mov %eax,-0x1c(%ebp) + 101f4d: 8b 45 10 mov 0x10(%ebp),%eax + 101f50: 89 45 dc mov %eax,-0x24(%ebp) + 101f53: a1 04 50 10 00 mov 0x105004,%eax + 101f58: 89 45 f4 mov %eax,-0xc(%ebp) + 101f5b: 31 c0 xor %eax,%eax + 101f5d: dd 45 e0 fldl -0x20(%ebp) + 101f60: d9 7d da fnstcw -0x26(%ebp) + 101f63: 0f b7 45 da movzwl -0x26(%ebp),%eax + 101f67: 80 cc 0c or $0xc,%ah + 101f6a: 66 89 45 d8 mov %ax,-0x28(%ebp) + 101f6e: d9 6d d8 fldcw -0x28(%ebp) + 101f71: df 7d d0 fistpll -0x30(%ebp) + 101f74: d9 6d da fldcw -0x26(%ebp) + 101f77: 8b 45 d0 mov -0x30(%ebp),%eax + 101f7a: 83 ec 08 sub $0x8,%esp + 101f7d: ff 75 dc push -0x24(%ebp) + 101f80: 50 push %eax + 101f81: e8 df fd ff ff call 101d65 <itos> + 101f86: 83 c4 10 add $0x10,%esp + 101f89: 83 ec 08 sub $0x8,%esp + 101f8c: 68 40 40 10 00 push $0x104040 + 101f91: ff 75 dc push -0x24(%ebp) + 101f94: e8 cf fb ff ff call 101b68 <stringcat> + 101f99: 83 c4 10 add $0x10,%esp + 101f9c: c6 45 f3 00 movb $0x0,-0xd(%ebp) + 101fa0: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 101fa7: eb 6b jmp 102014 <ftos+0xd9> + 101fa9: dd 45 e0 fldl -0x20(%ebp) + 101fac: d9 7d da fnstcw -0x26(%ebp) + 101faf: 0f b7 45 da movzwl -0x26(%ebp),%eax + 101fb3: 80 cc 0c or $0xc,%ah + 101fb6: 66 89 45 d8 mov %ax,-0x28(%ebp) + 101fba: d9 6d d8 fldcw -0x28(%ebp) + 101fbd: df 7d d0 fistpll -0x30(%ebp) + 101fc0: d9 6d da fldcw -0x26(%ebp) + 101fc3: 8b 45 d0 mov -0x30(%ebp),%eax + 101fc6: 89 45 d0 mov %eax,-0x30(%ebp) + 101fc9: c7 45 d4 00 00 00 00 movl $0x0,-0x2c(%ebp) + 101fd0: df 6d d0 fildll -0x30(%ebp) + 101fd3: dd 45 e0 fldl -0x20(%ebp) + 101fd6: de e1 fsubp %st,%st(1) + 101fd8: dd 5d e0 fstpl -0x20(%ebp) + 101fdb: dd 45 e0 fldl -0x20(%ebp) + 101fde: dd 05 48 40 10 00 fldl 0x104048 + 101fe4: de c9 fmulp %st,%st(1) + 101fe6: dd 5d e0 fstpl -0x20(%ebp) + 101fe9: dd 45 e0 fldl -0x20(%ebp) + 101fec: d9 6d d8 fldcw -0x28(%ebp) + 101fef: df 7d d0 fistpll -0x30(%ebp) + 101ff2: d9 6d da fldcw -0x26(%ebp) + 101ff5: 8b 45 d0 mov -0x30(%ebp),%eax + 101ff8: 83 c0 30 add $0x30,%eax + 101ffb: 88 45 f2 mov %al,-0xe(%ebp) + 101ffe: 83 ec 08 sub $0x8,%esp + 102001: 8d 45 f2 lea -0xe(%ebp),%eax + 102004: 50 push %eax + 102005: ff 75 dc push -0x24(%ebp) + 102008: e8 5b fb ff ff call 101b68 <stringcat> + 10200d: 83 c4 10 add $0x10,%esp + 102010: 83 45 ec 01 addl $0x1,-0x14(%ebp) + 102014: b8 07 00 00 00 mov $0x7,%eax + 102019: 39 45 ec cmp %eax,-0x14(%ebp) + 10201c: 72 8b jb 101fa9 <ftos+0x6e> + 10201e: 90 nop + 10201f: 8b 45 f4 mov -0xc(%ebp),%eax + 102022: 2b 05 04 50 10 00 sub 0x105004,%eax + 102028: 74 05 je 10202f <ftos+0xf4> + 10202a: e8 58 18 00 00 call 103887 <__stack_chk_fail> + 10202f: c9 leave + 102030: c3 ret + +00102031 <pieces>: + 102031: 55 push %ebp + 102032: 89 e5 mov %esp,%ebp + 102034: 53 push %ebx + 102035: 83 ec 34 sub $0x34,%esp + 102038: 8b 45 08 mov 0x8(%ebp),%eax + 10203b: 89 45 d4 mov %eax,-0x2c(%ebp) + 10203e: 8b 45 0c mov 0xc(%ebp),%eax + 102041: 89 45 d0 mov %eax,-0x30(%ebp) + 102044: a1 04 50 10 00 mov 0x105004,%eax + 102049: 89 45 f4 mov %eax,-0xc(%ebp) + 10204c: 31 c0 xor %eax,%eax + 10204e: c7 45 e0 00 00 00 00 movl $0x0,-0x20(%ebp) + 102055: eb 33 jmp 10208a <pieces+0x59> + 102057: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp) + 10205e: eb 20 jmp 102080 <pieces+0x4f> + 102060: 8b 55 e0 mov -0x20(%ebp),%edx + 102063: 89 d0 mov %edx,%eax + 102065: c1 e0 02 shl $0x2,%eax + 102068: 01 d0 add %edx,%eax + 10206a: c1 e0 02 shl $0x2,%eax + 10206d: 89 c2 mov %eax,%edx + 10206f: 8b 45 d4 mov -0x2c(%ebp),%eax + 102072: 01 c2 add %eax,%edx + 102074: 8b 45 e4 mov -0x1c(%ebp),%eax + 102077: 01 d0 add %edx,%eax + 102079: c6 00 00 movb $0x0,(%eax) + 10207c: 83 45 e4 01 addl $0x1,-0x1c(%ebp) + 102080: 83 7d e4 13 cmpl $0x13,-0x1c(%ebp) + 102084: 76 da jbe 102060 <pieces+0x2f> + 102086: 83 45 e0 01 addl $0x1,-0x20(%ebp) + 10208a: 83 7d e0 13 cmpl $0x13,-0x20(%ebp) + 10208e: 76 c7 jbe 102057 <pieces+0x26> + 102090: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp) + 102097: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 10209e: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 1020a5: eb 04 jmp 1020ab <pieces+0x7a> + 1020a7: 83 45 e8 01 addl $0x1,-0x18(%ebp) + 1020ab: 8b 55 d0 mov -0x30(%ebp),%edx + 1020ae: 8b 45 e8 mov -0x18(%ebp),%eax + 1020b1: 01 d0 add %edx,%eax + 1020b3: 0f b6 00 movzbl (%eax),%eax + 1020b6: 3c 20 cmp $0x20,%al + 1020b8: 0f 85 86 00 00 00 jne 102144 <pieces+0x113> + 1020be: 8b 55 d0 mov -0x30(%ebp),%edx + 1020c1: 8b 45 e8 mov -0x18(%ebp),%eax + 1020c4: 01 d0 add %edx,%eax + 1020c6: 0f b6 00 movzbl (%eax),%eax + 1020c9: 84 c0 test %al,%al + 1020cb: 75 da jne 1020a7 <pieces+0x76> + 1020cd: eb 75 jmp 102144 <pieces+0x113> + 1020cf: 8b 55 d0 mov -0x30(%ebp),%edx + 1020d2: 8b 45 e8 mov -0x18(%ebp),%eax + 1020d5: 01 d0 add %edx,%eax + 1020d7: 0f b6 00 movzbl (%eax),%eax + 1020da: 3c 20 cmp $0x20,%al + 1020dc: 75 35 jne 102113 <pieces+0xe2> + 1020de: eb 04 jmp 1020e4 <pieces+0xb3> + 1020e0: 83 45 e8 01 addl $0x1,-0x18(%ebp) + 1020e4: 8b 55 d0 mov -0x30(%ebp),%edx + 1020e7: 8b 45 e8 mov -0x18(%ebp),%eax + 1020ea: 01 d0 add %edx,%eax + 1020ec: 0f b6 00 movzbl (%eax),%eax + 1020ef: 3c 20 cmp $0x20,%al + 1020f1: 75 0f jne 102102 <pieces+0xd1> + 1020f3: 8b 55 d0 mov -0x30(%ebp),%edx + 1020f6: 8b 45 e8 mov -0x18(%ebp),%eax + 1020f9: 01 d0 add %edx,%eax + 1020fb: 0f b6 00 movzbl (%eax),%eax + 1020fe: 84 c0 test %al,%al + 102100: 75 de jne 1020e0 <pieces+0xaf> + 102102: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 102109: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 10210d: 83 6d e8 01 subl $0x1,-0x18(%ebp) + 102111: eb 2d jmp 102140 <pieces+0x10f> + 102113: 8b 55 d0 mov -0x30(%ebp),%edx + 102116: 8b 45 e8 mov -0x18(%ebp),%eax + 102119: 8d 1c 02 lea (%edx,%eax,1),%ebx + 10211c: 8b 55 f0 mov -0x10(%ebp),%edx + 10211f: 89 d0 mov %edx,%eax + 102121: c1 e0 02 shl $0x2,%eax + 102124: 01 d0 add %edx,%eax + 102126: c1 e0 02 shl $0x2,%eax + 102129: 89 c2 mov %eax,%edx + 10212b: 8b 45 d4 mov -0x2c(%ebp),%eax + 10212e: 8d 0c 02 lea (%edx,%eax,1),%ecx + 102131: 8b 45 ec mov -0x14(%ebp),%eax + 102134: 8d 50 01 lea 0x1(%eax),%edx + 102137: 89 55 ec mov %edx,-0x14(%ebp) + 10213a: 0f b6 13 movzbl (%ebx),%edx + 10213d: 88 14 01 mov %dl,(%ecx,%eax,1) + 102140: 83 45 e8 01 addl $0x1,-0x18(%ebp) + 102144: 8b 55 d0 mov -0x30(%ebp),%edx + 102147: 8b 45 e8 mov -0x18(%ebp),%eax + 10214a: 01 d0 add %edx,%eax + 10214c: 0f b6 00 movzbl (%eax),%eax + 10214f: 84 c0 test %al,%al + 102151: 0f 85 78 ff ff ff jne 1020cf <pieces+0x9e> + 102157: 8b 45 f0 mov -0x10(%ebp),%eax + 10215a: 83 c0 01 add $0x1,%eax + 10215d: 8b 55 f4 mov -0xc(%ebp),%edx + 102160: 2b 15 04 50 10 00 sub 0x105004,%edx + 102166: 74 05 je 10216d <pieces+0x13c> + 102168: e8 1a 17 00 00 call 103887 <__stack_chk_fail> + 10216d: 8b 5d fc mov -0x4(%ebp),%ebx + 102170: c9 leave + 102171: c3 ret + +00102172 <echo>: + 102172: 55 push %ebp + 102173: 89 e5 mov %esp,%ebp + 102175: 83 ec 28 sub $0x28,%esp + 102178: 8b 45 08 mov 0x8(%ebp),%eax + 10217b: 89 45 e4 mov %eax,-0x1c(%ebp) + 10217e: 8b 45 0c mov 0xc(%ebp),%eax + 102181: 89 45 e0 mov %eax,-0x20(%ebp) + 102184: a1 04 50 10 00 mov 0x105004,%eax + 102189: 89 45 f4 mov %eax,-0xc(%ebp) + 10218c: 31 c0 xor %eax,%eax + 10218e: c7 45 f0 01 00 00 00 movl $0x1,-0x10(%ebp) + 102195: eb 29 jmp 1021c0 <echo+0x4e> + 102197: 8b 55 f0 mov -0x10(%ebp),%edx + 10219a: 89 d0 mov %edx,%eax + 10219c: c1 e0 02 shl $0x2,%eax + 10219f: 01 d0 add %edx,%eax + 1021a1: c1 e0 02 shl $0x2,%eax + 1021a4: 89 c2 mov %eax,%edx + 1021a6: 8b 45 e0 mov -0x20(%ebp),%eax + 1021a9: 01 d0 add %edx,%eax + 1021ab: 83 ec 08 sub $0x8,%esp + 1021ae: 50 push %eax + 1021af: 68 58 40 10 00 push $0x104058 + 1021b4: e8 4f f7 ff ff call 101908 <printf> + 1021b9: 83 c4 10 add $0x10,%esp + 1021bc: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 1021c0: 8b 45 f0 mov -0x10(%ebp),%eax + 1021c3: 3b 45 e4 cmp -0x1c(%ebp),%eax + 1021c6: 72 cf jb 102197 <echo+0x25> + 1021c8: 83 ec 0c sub $0xc,%esp + 1021cb: 68 5c 40 10 00 push $0x10405c + 1021d0: e8 33 f7 ff ff call 101908 <printf> + 1021d5: 83 c4 10 add $0x10,%esp + 1021d8: 90 nop + 1021d9: 8b 45 f4 mov -0xc(%ebp),%eax + 1021dc: 2b 05 04 50 10 00 sub 0x105004,%eax + 1021e2: 74 05 je 1021e9 <echo+0x77> + 1021e4: e8 9e 16 00 00 call 103887 <__stack_chk_fail> + 1021e9: c9 leave + 1021ea: c3 ret + +001021eb <merge>: + 1021eb: 55 push %ebp + 1021ec: 89 e5 mov %esp,%ebp + 1021ee: 83 ec 28 sub $0x28,%esp + 1021f1: 8b 45 08 mov 0x8(%ebp),%eax + 1021f4: 89 45 e4 mov %eax,-0x1c(%ebp) + 1021f7: a1 04 50 10 00 mov 0x105004,%eax + 1021fc: 89 45 f4 mov %eax,-0xc(%ebp) + 1021ff: 31 c0 xor %eax,%eax + 102201: 8b 45 e4 mov -0x1c(%ebp),%eax + 102204: 83 c0 14 add $0x14,%eax + 102207: 89 45 ec mov %eax,-0x14(%ebp) + 10220a: 8b 45 e4 mov -0x1c(%ebp),%eax + 10220d: 83 c0 28 add $0x28,%eax + 102210: 89 45 f0 mov %eax,-0x10(%ebp) + 102213: 83 ec 08 sub $0x8,%esp + 102216: ff 75 f0 push -0x10(%ebp) + 102219: ff 75 ec push -0x14(%ebp) + 10221c: e8 47 f9 ff ff call 101b68 <stringcat> + 102221: 83 c4 10 add $0x10,%esp + 102224: 83 ec 08 sub $0x8,%esp + 102227: ff 75 ec push -0x14(%ebp) + 10222a: 68 5e 40 10 00 push $0x10405e + 10222f: e8 d4 f6 ff ff call 101908 <printf> + 102234: 83 c4 10 add $0x10,%esp + 102237: 90 nop + 102238: 8b 45 f4 mov -0xc(%ebp),%eax + 10223b: 2b 05 04 50 10 00 sub 0x105004,%eax + 102241: 74 05 je 102248 <merge+0x5d> + 102243: e8 3f 16 00 00 call 103887 <__stack_chk_fail> + 102248: c9 leave + 102249: c3 ret + +0010224a <ls>: + 10224a: 55 push %ebp + 10224b: 89 e5 mov %esp,%ebp + 10224d: 83 ec 18 sub $0x18,%esp + 102250: a1 04 50 10 00 mov 0x105004,%eax + 102255: 89 45 f4 mov %eax,-0xc(%ebp) + 102258: 31 c0 xor %eax,%eax + 10225a: 83 ec 0c sub $0xc,%esp + 10225d: 68 64 40 10 00 push $0x104064 + 102262: e8 a1 f6 ff ff call 101908 <printf> + 102267: 83 c4 10 add $0x10,%esp + 10226a: 90 nop + 10226b: 8b 45 f4 mov -0xc(%ebp),%eax + 10226e: 2b 05 04 50 10 00 sub 0x105004,%eax + 102274: 74 05 je 10227b <ls+0x31> + 102276: e8 0c 16 00 00 call 103887 <__stack_chk_fail> + 10227b: c9 leave + 10227c: c3 ret + +0010227d <number>: + 10227d: 55 push %ebp + 10227e: 89 e5 mov %esp,%ebp + 102280: 83 ec 28 sub $0x28,%esp + 102283: 8b 45 08 mov 0x8(%ebp),%eax + 102286: 89 45 e4 mov %eax,-0x1c(%ebp) + 102289: 8b 45 0c mov 0xc(%ebp),%eax + 10228c: 89 45 e0 mov %eax,-0x20(%ebp) + 10228f: a1 04 50 10 00 mov 0x105004,%eax + 102294: 89 45 f4 mov %eax,-0xc(%ebp) + 102297: 31 c0 xor %eax,%eax + 102299: 83 7d e4 01 cmpl $0x1,-0x1c(%ebp) + 10229d: 75 12 jne 1022b1 <number+0x34> + 10229f: 83 ec 0c sub $0xc,%esp + 1022a2: 68 84 40 10 00 push $0x104084 + 1022a7: e8 5c f6 ff ff call 101908 <printf> + 1022ac: 83 c4 10 add $0x10,%esp + 1022af: eb 4c jmp 1022fd <number+0x80> + 1022b1: 8b 45 e0 mov -0x20(%ebp),%eax + 1022b4: 83 c0 14 add $0x14,%eax + 1022b7: 83 ec 0c sub $0xc,%esp + 1022ba: 50 push %eax + 1022bb: e8 0c fa ff ff call 101ccc <stoi> + 1022c0: 83 c4 10 add $0x10,%esp + 1022c3: 83 ec 08 sub $0x8,%esp + 1022c6: 50 push %eax + 1022c7: 68 9b 40 10 00 push $0x10409b + 1022cc: e8 37 f6 ff ff call 101908 <printf> + 1022d1: 83 c4 10 add $0x10,%esp + 1022d4: 8b 45 e0 mov -0x20(%ebp),%eax + 1022d7: 83 c0 14 add $0x14,%eax + 1022da: 83 ec 0c sub $0xc,%esp + 1022dd: 50 push %eax + 1022de: e8 37 fb ff ff call 101e1a <stof> + 1022e3: 83 c4 10 add $0x10,%esp + 1022e6: 83 ec 04 sub $0x4,%esp + 1022e9: 8d 64 24 f8 lea -0x8(%esp),%esp + 1022ed: dd 1c 24 fstpl (%esp) + 1022f0: 68 b9 40 10 00 push $0x1040b9 + 1022f5: e8 0e f6 ff ff call 101908 <printf> + 1022fa: 83 c4 10 add $0x10,%esp + 1022fd: 90 nop + 1022fe: 8b 45 f4 mov -0xc(%ebp),%eax + 102301: 2b 05 04 50 10 00 sub 0x105004,%eax + 102307: 74 05 je 10230e <number+0x91> + 102309: e8 79 15 00 00 call 103887 <__stack_chk_fail> + 10230e: c9 leave + 10230f: c3 ret + +00102310 <uptime>: + 102310: 55 push %ebp + 102311: 89 e5 mov %esp,%ebp + 102313: 83 ec 18 sub $0x18,%esp + 102316: a1 04 50 10 00 mov 0x105004,%eax + 10231b: 89 45 f4 mov %eax,-0xc(%ebp) + 10231e: 31 c0 xor %eax,%eax + 102320: a1 f4 aa 10 00 mov 0x10aaf4,%eax + 102325: 83 ec 08 sub $0x8,%esp + 102328: 50 push %eax + 102329: 68 d6 40 10 00 push $0x1040d6 + 10232e: e8 d5 f5 ff ff call 101908 <printf> + 102333: 83 c4 10 add $0x10,%esp + 102336: 90 nop + 102337: 8b 45 f4 mov -0xc(%ebp),%eax + 10233a: 2b 05 04 50 10 00 sub 0x105004,%eax + 102340: 74 05 je 102347 <uptime+0x37> + 102342: e8 40 15 00 00 call 103887 <__stack_chk_fail> + 102347: c9 leave + 102348: c3 ret + +00102349 <prompt>: + 102349: 55 push %ebp + 10234a: 89 e5 mov %esp,%ebp + 10234c: 83 ec 18 sub $0x18,%esp + 10234f: a1 04 50 10 00 mov 0x105004,%eax + 102354: 89 45 f4 mov %eax,-0xc(%ebp) + 102357: 31 c0 xor %eax,%eax + 102359: 83 ec 08 sub $0x8,%esp + 10235c: 6a 00 push $0x0 + 10235e: 6a 04 push $0x4 + 102360: e8 a3 05 00 00 call 102908 <set_color> + 102365: 83 c4 10 add $0x10,%esp + 102368: 83 ec 0c sub $0xc,%esp + 10236b: 68 f4 40 10 00 push $0x1040f4 + 102370: e8 93 f5 ff ff call 101908 <printf> + 102375: 83 c4 10 add $0x10,%esp + 102378: 83 ec 08 sub $0x8,%esp + 10237b: 6a 00 push $0x0 + 10237d: 6a 0e push $0xe + 10237f: e8 84 05 00 00 call 102908 <set_color> + 102384: 83 c4 10 add $0x10,%esp + 102387: 83 ec 0c sub $0xc,%esp + 10238a: 68 f6 40 10 00 push $0x1040f6 + 10238f: e8 74 f5 ff ff call 101908 <printf> + 102394: 83 c4 10 add $0x10,%esp + 102397: 83 ec 08 sub $0x8,%esp + 10239a: 6a 00 push $0x0 + 10239c: 6a 02 push $0x2 + 10239e: e8 65 05 00 00 call 102908 <set_color> + 1023a3: 83 c4 10 add $0x10,%esp + 1023a6: 83 ec 0c sub $0xc,%esp + 1023a9: 68 fb 40 10 00 push $0x1040fb + 1023ae: e8 55 f5 ff ff call 101908 <printf> + 1023b3: 83 c4 10 add $0x10,%esp + 1023b6: 83 ec 08 sub $0x8,%esp + 1023b9: 6a 00 push $0x0 + 1023bb: 6a 09 push $0x9 + 1023bd: e8 46 05 00 00 call 102908 <set_color> + 1023c2: 83 c4 10 add $0x10,%esp + 1023c5: 83 ec 0c sub $0xc,%esp + 1023c8: 68 fd 40 10 00 push $0x1040fd + 1023cd: e8 36 f5 ff ff call 101908 <printf> + 1023d2: 83 c4 10 add $0x10,%esp + 1023d5: 83 ec 08 sub $0x8,%esp + 1023d8: 6a 00 push $0x0 + 1023da: 6a 04 push $0x4 + 1023dc: e8 27 05 00 00 call 102908 <set_color> + 1023e1: 83 c4 10 add $0x10,%esp + 1023e4: 83 ec 0c sub $0xc,%esp + 1023e7: 68 02 41 10 00 push $0x104102 + 1023ec: e8 17 f5 ff ff call 101908 <printf> + 1023f1: 83 c4 10 add $0x10,%esp + 1023f4: 83 ec 08 sub $0x8,%esp + 1023f7: 6a 00 push $0x0 + 1023f9: 6a 07 push $0x7 + 1023fb: e8 08 05 00 00 call 102908 <set_color> + 102400: 83 c4 10 add $0x10,%esp + 102403: 83 ec 0c sub $0xc,%esp + 102406: 68 04 41 10 00 push $0x104104 + 10240b: e8 f8 f4 ff ff call 101908 <printf> + 102410: 83 c4 10 add $0x10,%esp + 102413: 90 nop + 102414: 8b 45 f4 mov -0xc(%ebp),%eax + 102417: 2b 05 04 50 10 00 sub 0x105004,%eax + 10241d: 74 05 je 102424 <prompt+0xdb> + 10241f: e8 63 14 00 00 call 103887 <__stack_chk_fail> + 102424: c9 leave + 102425: c3 ret + +00102426 <neofetch>: + 102426: 55 push %ebp + 102427: 89 e5 mov %esp,%ebp + 102429: 83 ec 18 sub $0x18,%esp + 10242c: a1 04 50 10 00 mov 0x105004,%eax + 102431: 89 45 f4 mov %eax,-0xc(%ebp) + 102434: 31 c0 xor %eax,%eax + 102436: 83 ec 08 sub $0x8,%esp + 102439: 6a 00 push $0x0 + 10243b: 6a 0f push $0xf + 10243d: e8 c6 04 00 00 call 102908 <set_color> + 102442: 83 c4 10 add $0x10,%esp + 102445: 83 ec 0c sub $0xc,%esp + 102448: 68 07 41 10 00 push $0x104107 + 10244d: e8 b6 f4 ff ff call 101908 <printf> + 102452: 83 c4 10 add $0x10,%esp + 102455: 83 ec 0c sub $0xc,%esp + 102458: 68 1f 41 10 00 push $0x10411f + 10245d: e8 a6 f4 ff ff call 101908 <printf> + 102462: 83 c4 10 add $0x10,%esp + 102465: 83 ec 0c sub $0xc,%esp + 102468: 68 36 41 10 00 push $0x104136 + 10246d: e8 96 f4 ff ff call 101908 <printf> + 102472: 83 c4 10 add $0x10,%esp + 102475: 83 ec 0c sub $0xc,%esp + 102478: 68 4e 41 10 00 push $0x10414e + 10247d: e8 86 f4 ff ff call 101908 <printf> + 102482: 83 c4 10 add $0x10,%esp + 102485: 83 ec 0c sub $0xc,%esp + 102488: 68 65 41 10 00 push $0x104165 + 10248d: e8 76 f4 ff ff call 101908 <printf> + 102492: 83 c4 10 add $0x10,%esp + 102495: 83 ec 0c sub $0xc,%esp + 102498: 68 7d 41 10 00 push $0x10417d + 10249d: e8 66 f4 ff ff call 101908 <printf> + 1024a2: 83 c4 10 add $0x10,%esp + 1024a5: 83 ec 0c sub $0xc,%esp + 1024a8: 68 65 41 10 00 push $0x104165 + 1024ad: e8 56 f4 ff ff call 101908 <printf> + 1024b2: 83 c4 10 add $0x10,%esp + 1024b5: 83 ec 0c sub $0xc,%esp + 1024b8: 68 94 41 10 00 push $0x104194 + 1024bd: e8 46 f4 ff ff call 101908 <printf> + 1024c2: 83 c4 10 add $0x10,%esp + 1024c5: 83 ec 0c sub $0xc,%esp + 1024c8: 68 65 41 10 00 push $0x104165 + 1024cd: e8 36 f4 ff ff call 101908 <printf> + 1024d2: 83 c4 10 add $0x10,%esp + 1024d5: 83 ec 0c sub $0xc,%esp + 1024d8: 68 ab 41 10 00 push $0x1041ab + 1024dd: e8 26 f4 ff ff call 101908 <printf> + 1024e2: 83 c4 10 add $0x10,%esp + 1024e5: 83 ec 0c sub $0xc,%esp + 1024e8: 68 c2 41 10 00 push $0x1041c2 + 1024ed: e8 16 f4 ff ff call 101908 <printf> + 1024f2: 83 c4 10 add $0x10,%esp + 1024f5: 83 ec 0c sub $0xc,%esp + 1024f8: 68 da 41 10 00 push $0x1041da + 1024fd: e8 06 f4 ff ff call 101908 <printf> + 102502: 83 c4 10 add $0x10,%esp + 102505: 83 ec 0c sub $0xc,%esp + 102508: 68 f1 41 10 00 push $0x1041f1 + 10250d: e8 f6 f3 ff ff call 101908 <printf> + 102512: 83 c4 10 add $0x10,%esp + 102515: 83 ec 0c sub $0xc,%esp + 102518: 68 09 42 10 00 push $0x104209 + 10251d: e8 e6 f3 ff ff call 101908 <printf> + 102522: 83 c4 10 add $0x10,%esp + 102525: 83 ec 0c sub $0xc,%esp + 102528: 68 20 42 10 00 push $0x104220 + 10252d: e8 d6 f3 ff ff call 101908 <printf> + 102532: 83 c4 10 add $0x10,%esp + 102535: 83 ec 0c sub $0xc,%esp + 102538: 68 94 41 10 00 push $0x104194 + 10253d: e8 c6 f3 ff ff call 101908 <printf> + 102542: 83 c4 10 add $0x10,%esp + 102545: 83 ec 0c sub $0xc,%esp + 102548: 68 38 42 10 00 push $0x104238 + 10254d: e8 b6 f3 ff ff call 101908 <printf> + 102552: 83 c4 10 add $0x10,%esp + 102555: 83 ec 0c sub $0xc,%esp + 102558: 68 94 41 10 00 push $0x104194 + 10255d: e8 a6 f3 ff ff call 101908 <printf> + 102562: 83 c4 10 add $0x10,%esp + 102565: 83 ec 0c sub $0xc,%esp + 102568: 68 38 42 10 00 push $0x104238 + 10256d: e8 96 f3 ff ff call 101908 <printf> + 102572: 83 c4 10 add $0x10,%esp + 102575: 83 ec 0c sub $0xc,%esp + 102578: 68 94 41 10 00 push $0x104194 + 10257d: e8 86 f3 ff ff call 101908 <printf> + 102582: 83 c4 10 add $0x10,%esp + 102585: 83 ec 0c sub $0xc,%esp + 102588: 68 38 42 10 00 push $0x104238 + 10258d: e8 76 f3 ff ff call 101908 <printf> + 102592: 83 c4 10 add $0x10,%esp + 102595: 83 ec 0c sub $0xc,%esp + 102598: 68 94 41 10 00 push $0x104194 + 10259d: e8 66 f3 ff ff call 101908 <printf> + 1025a2: 83 c4 10 add $0x10,%esp + 1025a5: 83 ec 0c sub $0xc,%esp + 1025a8: 68 50 42 10 00 push $0x104250 + 1025ad: e8 56 f3 ff ff call 101908 <printf> + 1025b2: 83 c4 10 add $0x10,%esp + 1025b5: 83 ec 0c sub $0xc,%esp + 1025b8: 68 94 41 10 00 push $0x104194 + 1025bd: e8 46 f3 ff ff call 101908 <printf> + 1025c2: 83 c4 10 add $0x10,%esp + 1025c5: 83 ec 0c sub $0xc,%esp + 1025c8: 68 68 42 10 00 push $0x104268 + 1025cd: e8 36 f3 ff ff call 101908 <printf> + 1025d2: 83 c4 10 add $0x10,%esp + 1025d5: 83 ec 0c sub $0xc,%esp + 1025d8: 68 94 41 10 00 push $0x104194 + 1025dd: e8 26 f3 ff ff call 101908 <printf> + 1025e2: 83 c4 10 add $0x10,%esp + 1025e5: 83 ec 0c sub $0xc,%esp + 1025e8: 68 80 42 10 00 push $0x104280 + 1025ed: e8 16 f3 ff ff call 101908 <printf> + 1025f2: 83 c4 10 add $0x10,%esp + 1025f5: 83 ec 0c sub $0xc,%esp + 1025f8: 68 94 41 10 00 push $0x104194 + 1025fd: e8 06 f3 ff ff call 101908 <printf> + 102602: 83 c4 10 add $0x10,%esp + 102605: 83 ec 0c sub $0xc,%esp + 102608: 68 98 42 10 00 push $0x104298 + 10260d: e8 f6 f2 ff ff call 101908 <printf> + 102612: 83 c4 10 add $0x10,%esp + 102615: 83 ec 0c sub $0xc,%esp + 102618: 68 94 41 10 00 push $0x104194 + 10261d: e8 e6 f2 ff ff call 101908 <printf> + 102622: 83 c4 10 add $0x10,%esp + 102625: 83 ec 0c sub $0xc,%esp + 102628: 68 98 42 10 00 push $0x104298 + 10262d: e8 d6 f2 ff ff call 101908 <printf> + 102632: 83 c4 10 add $0x10,%esp + 102635: 83 ec 0c sub $0xc,%esp + 102638: 68 94 41 10 00 push $0x104194 + 10263d: e8 c6 f2 ff ff call 101908 <printf> + 102642: 83 c4 10 add $0x10,%esp + 102645: 83 ec 0c sub $0xc,%esp + 102648: 68 98 42 10 00 push $0x104298 + 10264d: e8 b6 f2 ff ff call 101908 <printf> + 102652: 83 c4 10 add $0x10,%esp + 102655: 83 ec 0c sub $0xc,%esp + 102658: 68 b0 42 10 00 push $0x1042b0 + 10265d: e8 a6 f2 ff ff call 101908 <printf> + 102662: 83 c4 10 add $0x10,%esp + 102665: 83 ec 0c sub $0xc,%esp + 102668: 68 c7 42 10 00 push $0x1042c7 + 10266d: e8 96 f2 ff ff call 101908 <printf> + 102672: 83 c4 10 add $0x10,%esp + 102675: 83 ec 0c sub $0xc,%esp + 102678: 68 df 42 10 00 push $0x1042df + 10267d: e8 86 f2 ff ff call 101908 <printf> + 102682: 83 c4 10 add $0x10,%esp + 102685: 83 ec 0c sub $0xc,%esp + 102688: 68 f6 42 10 00 push $0x1042f6 + 10268d: e8 76 f2 ff ff call 101908 <printf> + 102692: 83 c4 10 add $0x10,%esp + 102695: 83 ec 0c sub $0xc,%esp + 102698: 68 94 41 10 00 push $0x104194 + 10269d: e8 66 f2 ff ff call 101908 <printf> + 1026a2: 83 c4 10 add $0x10,%esp + 1026a5: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 1026ac: eb 27 jmp 1026d5 <neofetch+0x2af> + 1026ae: 83 ec 08 sub $0x8,%esp + 1026b1: ff 75 f0 push -0x10(%ebp) + 1026b4: 6a 00 push $0x0 + 1026b6: e8 4d 02 00 00 call 102908 <set_color> + 1026bb: 83 c4 10 add $0x10,%esp + 1026be: 83 ec 08 sub $0x8,%esp + 1026c1: ff 75 f0 push -0x10(%ebp) + 1026c4: 68 0e 43 10 00 push $0x10430e + 1026c9: e8 3a f2 ff ff call 101908 <printf> + 1026ce: 83 c4 10 add $0x10,%esp + 1026d1: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 1026d5: 83 7d f0 0f cmpl $0xf,-0x10(%ebp) + 1026d9: 76 d3 jbe 1026ae <neofetch+0x288> + 1026db: 83 ec 0c sub $0xc,%esp + 1026de: 68 5c 40 10 00 push $0x10405c + 1026e3: e8 20 f2 ff ff call 101908 <printf> + 1026e8: 83 c4 10 add $0x10,%esp + 1026eb: 83 ec 08 sub $0x8,%esp + 1026ee: 6a 00 push $0x0 + 1026f0: 6a 07 push $0x7 + 1026f2: e8 11 02 00 00 call 102908 <set_color> + 1026f7: 83 c4 10 add $0x10,%esp + 1026fa: e8 11 fc ff ff call 102310 <uptime> + 1026ff: 90 nop + 102700: 8b 45 f4 mov -0xc(%ebp),%eax + 102703: 2b 05 04 50 10 00 sub 0x105004,%eax + 102709: 74 05 je 102710 <neofetch+0x2ea> + 10270b: e8 77 11 00 00 call 103887 <__stack_chk_fail> + 102710: c9 leave + 102711: c3 ret + +00102712 <help>: + 102712: 55 push %ebp + 102713: 89 e5 mov %esp,%ebp + 102715: 83 ec 18 sub $0x18,%esp + 102718: a1 04 50 10 00 mov 0x105004,%eax + 10271d: 89 45 f4 mov %eax,-0xc(%ebp) + 102720: 31 c0 xor %eax,%eax + 102722: 83 ec 0c sub $0xc,%esp + 102725: 68 14 43 10 00 push $0x104314 + 10272a: e8 d9 f1 ff ff call 101908 <printf> + 10272f: 83 c4 10 add $0x10,%esp + 102732: 83 ec 0c sub $0xc,%esp + 102735: 68 34 43 10 00 push $0x104334 + 10273a: e8 c9 f1 ff ff call 101908 <printf> + 10273f: 83 c4 10 add $0x10,%esp + 102742: 90 nop + 102743: 8b 45 f4 mov -0xc(%ebp),%eax + 102746: 2b 05 04 50 10 00 sub 0x105004,%eax + 10274c: 74 05 je 102753 <help+0x41> + 10274e: e8 34 11 00 00 call 103887 <__stack_chk_fail> + 102753: c9 leave + 102754: c3 ret + +00102755 <tty>: + 102755: 55 push %ebp + 102756: 89 e5 mov %esp,%ebp + 102758: 81 ec b8 01 00 00 sub $0x1b8,%esp + 10275e: 8b 45 08 mov 0x8(%ebp),%eax + 102761: 89 85 54 fe ff ff mov %eax,-0x1ac(%ebp) + 102767: a1 04 50 10 00 mov 0x105004,%eax + 10276c: 89 45 f4 mov %eax,-0xc(%ebp) + 10276f: 31 c0 xor %eax,%eax + 102771: 83 ec 08 sub $0x8,%esp + 102774: ff b5 54 fe ff ff push -0x1ac(%ebp) + 10277a: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 102780: 50 push %eax + 102781: e8 ab f8 ff ff call 102031 <pieces> + 102786: 83 c4 10 add $0x10,%esp + 102789: 89 85 60 fe ff ff mov %eax,-0x1a0(%ebp) + 10278f: 83 ec 08 sub $0x8,%esp + 102792: 68 65 43 10 00 push $0x104365 + 102797: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 10279d: 50 push %eax + 10279e: e8 25 f3 ff ff call 101ac8 <stringcmp> + 1027a3: 83 c4 10 add $0x10,%esp + 1027a6: 84 c0 test %al,%al + 1027a8: 74 0a je 1027b4 <tty+0x5f> + 1027aa: e8 26 06 00 00 call 102dd5 <clear> + 1027af: e9 41 01 00 00 jmp 1028f5 <tty+0x1a0> + 1027b4: 83 ec 08 sub $0x8,%esp + 1027b7: 68 6b 43 10 00 push $0x10436b + 1027bc: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 1027c2: 50 push %eax + 1027c3: e8 00 f3 ff ff call 101ac8 <stringcmp> + 1027c8: 83 c4 10 add $0x10,%esp + 1027cb: 84 c0 test %al,%al + 1027cd: 74 1d je 1027ec <tty+0x97> + 1027cf: 83 ec 08 sub $0x8,%esp + 1027d2: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 1027d8: 50 push %eax + 1027d9: ff b5 60 fe ff ff push -0x1a0(%ebp) + 1027df: e8 8e f9 ff ff call 102172 <echo> + 1027e4: 83 c4 10 add $0x10,%esp + 1027e7: e9 09 01 00 00 jmp 1028f5 <tty+0x1a0> + 1027ec: 83 ec 08 sub $0x8,%esp + 1027ef: 68 70 43 10 00 push $0x104370 + 1027f4: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 1027fa: 50 push %eax + 1027fb: e8 c8 f2 ff ff call 101ac8 <stringcmp> + 102800: 83 c4 10 add $0x10,%esp + 102803: 84 c0 test %al,%al + 102805: 74 17 je 10281e <tty+0xc9> + 102807: 83 ec 0c sub $0xc,%esp + 10280a: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 102810: 50 push %eax + 102811: e8 d5 f9 ff ff call 1021eb <merge> + 102816: 83 c4 10 add $0x10,%esp + 102819: e9 d7 00 00 00 jmp 1028f5 <tty+0x1a0> + 10281e: 83 ec 08 sub $0x8,%esp + 102821: 68 76 43 10 00 push $0x104376 + 102826: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 10282c: 50 push %eax + 10282d: e8 96 f2 ff ff call 101ac8 <stringcmp> + 102832: 83 c4 10 add $0x10,%esp + 102835: 84 c0 test %al,%al + 102837: 74 0a je 102843 <tty+0xee> + 102839: e8 0c fa ff ff call 10224a <ls> + 10283e: e9 b2 00 00 00 jmp 1028f5 <tty+0x1a0> + 102843: 83 ec 08 sub $0x8,%esp + 102846: 68 79 43 10 00 push $0x104379 + 10284b: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 102851: 50 push %eax + 102852: e8 71 f2 ff ff call 101ac8 <stringcmp> + 102857: 83 c4 10 add $0x10,%esp + 10285a: 84 c0 test %al,%al + 10285c: 74 1a je 102878 <tty+0x123> + 10285e: 83 ec 08 sub $0x8,%esp + 102861: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 102867: 50 push %eax + 102868: ff b5 60 fe ff ff push -0x1a0(%ebp) + 10286e: e8 0a fa ff ff call 10227d <number> + 102873: 83 c4 10 add $0x10,%esp + 102876: eb 7d jmp 1028f5 <tty+0x1a0> + 102878: 83 ec 08 sub $0x8,%esp + 10287b: 68 80 43 10 00 push $0x104380 + 102880: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 102886: 50 push %eax + 102887: e8 3c f2 ff ff call 101ac8 <stringcmp> + 10288c: 83 c4 10 add $0x10,%esp + 10288f: 84 c0 test %al,%al + 102891: 74 07 je 10289a <tty+0x145> + 102893: e8 78 fa ff ff call 102310 <uptime> + 102898: eb 5b jmp 1028f5 <tty+0x1a0> + 10289a: 83 ec 08 sub $0x8,%esp + 10289d: 68 87 43 10 00 push $0x104387 + 1028a2: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 1028a8: 50 push %eax + 1028a9: e8 1a f2 ff ff call 101ac8 <stringcmp> + 1028ae: 83 c4 10 add $0x10,%esp + 1028b1: 84 c0 test %al,%al + 1028b3: 74 07 je 1028bc <tty+0x167> + 1028b5: e8 6c fb ff ff call 102426 <neofetch> + 1028ba: eb 39 jmp 1028f5 <tty+0x1a0> + 1028bc: 83 ec 08 sub $0x8,%esp + 1028bf: 68 90 43 10 00 push $0x104390 + 1028c4: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 1028ca: 50 push %eax + 1028cb: e8 f8 f1 ff ff call 101ac8 <stringcmp> + 1028d0: 83 c4 10 add $0x10,%esp + 1028d3: 84 c0 test %al,%al + 1028d5: 74 07 je 1028de <tty+0x189> + 1028d7: e8 36 fe ff ff call 102712 <help> + 1028dc: eb 17 jmp 1028f5 <tty+0x1a0> + 1028de: 83 ec 08 sub $0x8,%esp + 1028e1: 8d 85 64 fe ff ff lea -0x19c(%ebp),%eax + 1028e7: 50 push %eax + 1028e8: 68 95 43 10 00 push $0x104395 + 1028ed: e8 16 f0 ff ff call 101908 <printf> + 1028f2: 83 c4 10 add $0x10,%esp + 1028f5: 90 nop + 1028f6: 8b 45 f4 mov -0xc(%ebp),%eax + 1028f9: 2b 05 04 50 10 00 sub 0x105004,%eax + 1028ff: 74 05 je 102906 <tty+0x1b1> + 102901: e8 81 0f 00 00 call 103887 <__stack_chk_fail> + 102906: c9 leave + 102907: c3 ret + +00102908 <set_color>: + 102908: 55 push %ebp + 102909: 89 e5 mov %esp,%ebp + 10290b: 83 ec 28 sub $0x28,%esp + 10290e: 8b 45 08 mov 0x8(%ebp),%eax + 102911: 89 45 e4 mov %eax,-0x1c(%ebp) + 102914: 8b 45 0c mov 0xc(%ebp),%eax + 102917: 89 45 e0 mov %eax,-0x20(%ebp) + 10291a: a1 04 50 10 00 mov 0x105004,%eax + 10291f: 89 45 f4 mov %eax,-0xc(%ebp) + 102922: 31 c0 xor %eax,%eax + 102924: 8b 45 e0 mov -0x20(%ebp),%eax + 102927: c1 e0 04 shl $0x4,%eax + 10292a: 89 c2 mov %eax,%edx + 10292c: 8b 45 e4 mov -0x1c(%ebp),%eax + 10292f: 09 d0 or %edx,%eax + 102931: a2 e8 aa 10 00 mov %al,0x10aae8 + 102936: 90 nop + 102937: 8b 45 f4 mov -0xc(%ebp),%eax + 10293a: 2b 05 04 50 10 00 sub 0x105004,%eax + 102940: 74 05 je 102947 <set_color+0x3f> + 102942: e8 40 0f 00 00 call 103887 <__stack_chk_fail> + 102947: c9 leave + 102948: c3 ret + +00102949 <vga_entry>: + 102949: 55 push %ebp + 10294a: 89 e5 mov %esp,%ebp + 10294c: 83 ec 28 sub $0x28,%esp + 10294f: 8b 55 08 mov 0x8(%ebp),%edx + 102952: 8b 45 0c mov 0xc(%ebp),%eax + 102955: 88 55 e4 mov %dl,-0x1c(%ebp) + 102958: 88 45 e0 mov %al,-0x20(%ebp) + 10295b: a1 04 50 10 00 mov 0x105004,%eax + 102960: 89 45 f4 mov %eax,-0xc(%ebp) + 102963: 31 c0 xor %eax,%eax + 102965: 0f b6 55 e4 movzbl -0x1c(%ebp),%edx + 102969: 0f b6 45 e0 movzbl -0x20(%ebp),%eax + 10296d: c1 e0 08 shl $0x8,%eax + 102970: 09 d0 or %edx,%eax + 102972: 8b 55 f4 mov -0xc(%ebp),%edx + 102975: 2b 15 04 50 10 00 sub 0x105004,%edx + 10297b: 74 05 je 102982 <vga_entry+0x39> + 10297d: e8 05 0f 00 00 call 103887 <__stack_chk_fail> + 102982: c9 leave + 102983: c3 ret + +00102984 <terminal_initialize>: + 102984: 55 push %ebp + 102985: 89 e5 mov %esp,%ebp + 102987: 53 push %ebx + 102988: 83 ec 14 sub $0x14,%esp + 10298b: a1 04 50 10 00 mov 0x105004,%eax + 102990: 89 45 f4 mov %eax,-0xc(%ebp) + 102993: 31 c0 xor %eax,%eax + 102995: c7 05 e0 aa 10 00 00 movl $0x0,0x10aae0 + 10299c: 00 00 00 + 10299f: c7 05 e4 aa 10 00 00 movl $0x0,0x10aae4 + 1029a6: 00 00 00 + 1029a9: 83 ec 08 sub $0x8,%esp + 1029ac: 6a 00 push $0x0 + 1029ae: 6a 07 push $0x7 + 1029b0: e8 53 ff ff ff call 102908 <set_color> + 1029b5: 83 c4 10 add $0x10,%esp + 1029b8: c7 05 ec aa 10 00 00 movl $0xb8000,0x10aaec + 1029bf: 80 0b 00 + 1029c2: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp) + 1029c9: eb 57 jmp 102a22 <terminal_initialize+0x9e> + 1029cb: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 1029d2: eb 40 jmp 102a14 <terminal_initialize+0x90> + 1029d4: b8 50 00 00 00 mov $0x50,%eax + 1029d9: 0f af 45 e8 imul -0x18(%ebp),%eax + 1029dd: 89 c2 mov %eax,%edx + 1029df: 8b 45 ec mov -0x14(%ebp),%eax + 1029e2: 01 d0 add %edx,%eax + 1029e4: 89 45 f0 mov %eax,-0x10(%ebp) + 1029e7: 0f b6 05 e8 aa 10 00 movzbl 0x10aae8,%eax + 1029ee: 0f b6 c0 movzbl %al,%eax + 1029f1: 8b 0d ec aa 10 00 mov 0x10aaec,%ecx + 1029f7: 8b 55 f0 mov -0x10(%ebp),%edx + 1029fa: 01 d2 add %edx,%edx + 1029fc: 8d 1c 11 lea (%ecx,%edx,1),%ebx + 1029ff: 83 ec 08 sub $0x8,%esp + 102a02: 50 push %eax + 102a03: 6a 20 push $0x20 + 102a05: e8 3f ff ff ff call 102949 <vga_entry> + 102a0a: 83 c4 10 add $0x10,%esp + 102a0d: 66 89 03 mov %ax,(%ebx) + 102a10: 83 45 ec 01 addl $0x1,-0x14(%ebp) + 102a14: b8 50 00 00 00 mov $0x50,%eax + 102a19: 39 45 ec cmp %eax,-0x14(%ebp) + 102a1c: 72 b6 jb 1029d4 <terminal_initialize+0x50> + 102a1e: 83 45 e8 01 addl $0x1,-0x18(%ebp) + 102a22: b8 19 00 00 00 mov $0x19,%eax + 102a27: 39 45 e8 cmp %eax,-0x18(%ebp) + 102a2a: 72 9f jb 1029cb <terminal_initialize+0x47> + 102a2c: 90 nop + 102a2d: 8b 45 f4 mov -0xc(%ebp),%eax + 102a30: 2b 05 04 50 10 00 sub 0x105004,%eax + 102a36: 74 05 je 102a3d <terminal_initialize+0xb9> + 102a38: e8 4a 0e 00 00 call 103887 <__stack_chk_fail> + 102a3d: 8b 5d fc mov -0x4(%ebp),%ebx + 102a40: c9 leave + 102a41: c3 ret + +00102a42 <terminal_putentryat>: + 102a42: 55 push %ebp + 102a43: 89 e5 mov %esp,%ebp + 102a45: 53 push %ebx + 102a46: 83 ec 24 sub $0x24,%esp + 102a49: 8b 55 08 mov 0x8(%ebp),%edx + 102a4c: 8b 45 0c mov 0xc(%ebp),%eax + 102a4f: 88 55 e4 mov %dl,-0x1c(%ebp) + 102a52: 88 45 e0 mov %al,-0x20(%ebp) + 102a55: 8b 45 10 mov 0x10(%ebp),%eax + 102a58: 89 45 dc mov %eax,-0x24(%ebp) + 102a5b: 8b 45 14 mov 0x14(%ebp),%eax + 102a5e: 89 45 d8 mov %eax,-0x28(%ebp) + 102a61: a1 04 50 10 00 mov 0x105004,%eax + 102a66: 89 45 f4 mov %eax,-0xc(%ebp) + 102a69: 31 c0 xor %eax,%eax + 102a6b: b8 50 00 00 00 mov $0x50,%eax + 102a70: 0f af 45 d8 imul -0x28(%ebp),%eax + 102a74: 89 c2 mov %eax,%edx + 102a76: 8b 45 dc mov -0x24(%ebp),%eax + 102a79: 01 d0 add %edx,%eax + 102a7b: 89 45 f0 mov %eax,-0x10(%ebp) + 102a7e: 0f b6 55 e0 movzbl -0x20(%ebp),%edx + 102a82: 0f b6 45 e4 movzbl -0x1c(%ebp),%eax + 102a86: 0f b6 c0 movzbl %al,%eax + 102a89: 8b 1d ec aa 10 00 mov 0x10aaec,%ebx + 102a8f: 8b 4d f0 mov -0x10(%ebp),%ecx + 102a92: 01 c9 add %ecx,%ecx + 102a94: 01 cb add %ecx,%ebx + 102a96: 83 ec 08 sub $0x8,%esp + 102a99: 52 push %edx + 102a9a: 50 push %eax + 102a9b: e8 a9 fe ff ff call 102949 <vga_entry> + 102aa0: 83 c4 10 add $0x10,%esp + 102aa3: 66 89 03 mov %ax,(%ebx) + 102aa6: 90 nop + 102aa7: 8b 45 f4 mov -0xc(%ebp),%eax + 102aaa: 2b 05 04 50 10 00 sub 0x105004,%eax + 102ab0: 74 05 je 102ab7 <terminal_putentryat+0x75> + 102ab2: e8 d0 0d 00 00 call 103887 <__stack_chk_fail> + 102ab7: 8b 5d fc mov -0x4(%ebp),%ebx + 102aba: c9 leave + 102abb: c3 ret + +00102abc <movescreen>: + 102abc: 55 push %ebp + 102abd: 89 e5 mov %esp,%ebp + 102abf: 53 push %ebx + 102ac0: 83 ec 14 sub $0x14,%esp + 102ac3: a1 04 50 10 00 mov 0x105004,%eax + 102ac8: 89 45 f4 mov %eax,-0xc(%ebp) + 102acb: 31 c0 xor %eax,%eax + 102acd: a1 e0 aa 10 00 mov 0x10aae0,%eax + 102ad2: 83 e8 01 sub $0x1,%eax + 102ad5: a3 e0 aa 10 00 mov %eax,0x10aae0 + 102ada: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 102ae1: eb 58 jmp 102b3b <movescreen+0x7f> + 102ae3: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 102aea: eb 41 jmp 102b2d <movescreen+0x71> + 102aec: 8b 15 ec aa 10 00 mov 0x10aaec,%edx + 102af2: 8b 45 ec mov -0x14(%ebp),%eax + 102af5: 83 c0 01 add $0x1,%eax + 102af8: b9 50 00 00 00 mov $0x50,%ecx + 102afd: 0f af c8 imul %eax,%ecx + 102b00: 8b 45 f0 mov -0x10(%ebp),%eax + 102b03: 01 c8 add %ecx,%eax + 102b05: 01 c0 add %eax,%eax + 102b07: 01 d0 add %edx,%eax + 102b09: 8b 0d ec aa 10 00 mov 0x10aaec,%ecx + 102b0f: ba 50 00 00 00 mov $0x50,%edx + 102b14: 89 d3 mov %edx,%ebx + 102b16: 0f af 5d ec imul -0x14(%ebp),%ebx + 102b1a: 8b 55 f0 mov -0x10(%ebp),%edx + 102b1d: 01 da add %ebx,%edx + 102b1f: 01 d2 add %edx,%edx + 102b21: 01 ca add %ecx,%edx + 102b23: 0f b7 00 movzwl (%eax),%eax + 102b26: 66 89 02 mov %ax,(%edx) + 102b29: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 102b2d: b8 50 00 00 00 mov $0x50,%eax + 102b32: 39 45 f0 cmp %eax,-0x10(%ebp) + 102b35: 72 b5 jb 102aec <movescreen+0x30> + 102b37: 83 45 ec 01 addl $0x1,-0x14(%ebp) + 102b3b: b8 19 00 00 00 mov $0x19,%eax + 102b40: 39 45 ec cmp %eax,-0x14(%ebp) + 102b43: 72 9e jb 102ae3 <movescreen+0x27> + 102b45: 90 nop + 102b46: 8b 45 f4 mov -0xc(%ebp),%eax + 102b49: 2b 05 04 50 10 00 sub 0x105004,%eax + 102b4f: 74 05 je 102b56 <movescreen+0x9a> + 102b51: e8 31 0d 00 00 call 103887 <__stack_chk_fail> + 102b56: 8b 5d fc mov -0x4(%ebp),%ebx + 102b59: c9 leave + 102b5a: c3 ret + +00102b5b <next_field>: + 102b5b: 55 push %ebp + 102b5c: 89 e5 mov %esp,%ebp + 102b5e: 83 ec 18 sub $0x18,%esp + 102b61: a1 04 50 10 00 mov 0x105004,%eax + 102b66: 89 45 f4 mov %eax,-0xc(%ebp) + 102b69: 31 c0 xor %eax,%eax + 102b6b: a1 e4 aa 10 00 mov 0x10aae4,%eax + 102b70: 83 c0 01 add $0x1,%eax + 102b73: a3 e4 aa 10 00 mov %eax,0x10aae4 + 102b78: a1 e4 aa 10 00 mov 0x10aae4,%eax + 102b7d: ba 50 00 00 00 mov $0x50,%edx + 102b82: 39 d0 cmp %edx,%eax + 102b84: 75 17 jne 102b9d <next_field+0x42> + 102b86: c7 05 e4 aa 10 00 00 movl $0x0,0x10aae4 + 102b8d: 00 00 00 + 102b90: a1 e0 aa 10 00 mov 0x10aae0,%eax + 102b95: 83 c0 01 add $0x1,%eax + 102b98: a3 e0 aa 10 00 mov %eax,0x10aae0 + 102b9d: 90 nop + 102b9e: 8b 45 f4 mov -0xc(%ebp),%eax + 102ba1: 2b 05 04 50 10 00 sub 0x105004,%eax + 102ba7: 74 05 je 102bae <next_field+0x53> + 102ba9: e8 d9 0c 00 00 call 103887 <__stack_chk_fail> + 102bae: c9 leave + 102baf: c3 ret + +00102bb0 <previous_field>: + 102bb0: 55 push %ebp + 102bb1: 89 e5 mov %esp,%ebp + 102bb3: 83 ec 18 sub $0x18,%esp + 102bb6: a1 04 50 10 00 mov 0x105004,%eax + 102bbb: 89 45 f4 mov %eax,-0xc(%ebp) + 102bbe: 31 c0 xor %eax,%eax + 102bc0: a1 e4 aa 10 00 mov 0x10aae4,%eax + 102bc5: 85 c0 test %eax,%eax + 102bc7: 74 0f je 102bd8 <previous_field+0x28> + 102bc9: a1 e4 aa 10 00 mov 0x10aae4,%eax + 102bce: 83 e8 01 sub $0x1,%eax + 102bd1: a3 e4 aa 10 00 mov %eax,0x10aae4 + 102bd6: eb 1a jmp 102bf2 <previous_field+0x42> + 102bd8: a1 e0 aa 10 00 mov 0x10aae0,%eax + 102bdd: 83 e8 01 sub $0x1,%eax + 102be0: a3 e0 aa 10 00 mov %eax,0x10aae0 + 102be5: b8 50 00 00 00 mov $0x50,%eax + 102bea: 83 e8 01 sub $0x1,%eax + 102bed: a3 e4 aa 10 00 mov %eax,0x10aae4 + 102bf2: 90 nop + 102bf3: 8b 45 f4 mov -0xc(%ebp),%eax + 102bf6: 2b 05 04 50 10 00 sub 0x105004,%eax + 102bfc: 74 05 je 102c03 <previous_field+0x53> + 102bfe: e8 84 0c 00 00 call 103887 <__stack_chk_fail> + 102c03: c9 leave + 102c04: c3 ret + +00102c05 <terminal_putchar>: + 102c05: 55 push %ebp + 102c06: 89 e5 mov %esp,%ebp + 102c08: 53 push %ebx + 102c09: 83 ec 24 sub $0x24,%esp + 102c0c: 8b 45 08 mov 0x8(%ebp),%eax + 102c0f: 88 45 e4 mov %al,-0x1c(%ebp) + 102c12: a1 04 50 10 00 mov 0x105004,%eax + 102c17: 89 45 f4 mov %eax,-0xc(%ebp) + 102c1a: 31 c0 xor %eax,%eax + 102c1c: 80 7d e4 0a cmpb $0xa,-0x1c(%ebp) + 102c20: 75 19 jne 102c3b <terminal_putchar+0x36> + 102c22: c7 05 e4 aa 10 00 00 movl $0x0,0x10aae4 + 102c29: 00 00 00 + 102c2c: a1 e0 aa 10 00 mov 0x10aae0,%eax + 102c31: 83 c0 01 add $0x1,%eax + 102c34: a3 e0 aa 10 00 mov %eax,0x10aae0 + 102c39: eb 2b jmp 102c66 <terminal_putchar+0x61> + 102c3b: 8b 1d e0 aa 10 00 mov 0x10aae0,%ebx + 102c41: 8b 0d e4 aa 10 00 mov 0x10aae4,%ecx + 102c47: 0f b6 05 e8 aa 10 00 movzbl 0x10aae8,%eax + 102c4e: 0f b6 d0 movzbl %al,%edx + 102c51: 0f be 45 e4 movsbl -0x1c(%ebp),%eax + 102c55: 53 push %ebx + 102c56: 51 push %ecx + 102c57: 52 push %edx + 102c58: 50 push %eax + 102c59: e8 e4 fd ff ff call 102a42 <terminal_putentryat> + 102c5e: 83 c4 10 add $0x10,%esp + 102c61: e8 f5 fe ff ff call 102b5b <next_field> + 102c66: a1 e0 aa 10 00 mov 0x10aae0,%eax + 102c6b: ba 19 00 00 00 mov $0x19,%edx + 102c70: 39 d0 cmp %edx,%eax + 102c72: 75 05 jne 102c79 <terminal_putchar+0x74> + 102c74: e8 43 fe ff ff call 102abc <movescreen> + 102c79: 90 nop + 102c7a: 8b 45 f4 mov -0xc(%ebp),%eax + 102c7d: 2b 05 04 50 10 00 sub 0x105004,%eax + 102c83: 74 05 je 102c8a <terminal_putchar+0x85> + 102c85: e8 fd 0b 00 00 call 103887 <__stack_chk_fail> + 102c8a: 8b 5d fc mov -0x4(%ebp),%ebx + 102c8d: c9 leave + 102c8e: c3 ret + +00102c8f <terminal_writestring>: + 102c8f: 55 push %ebp + 102c90: 89 e5 mov %esp,%ebp + 102c92: 83 ec 28 sub $0x28,%esp + 102c95: 8b 45 08 mov 0x8(%ebp),%eax + 102c98: 89 45 e4 mov %eax,-0x1c(%ebp) + 102c9b: a1 04 50 10 00 mov 0x105004,%eax + 102ca0: 89 45 f4 mov %eax,-0xc(%ebp) + 102ca3: 31 c0 xor %eax,%eax + 102ca5: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 102cac: eb 1e jmp 102ccc <terminal_writestring+0x3d> + 102cae: 8b 55 f0 mov -0x10(%ebp),%edx + 102cb1: 8b 45 e4 mov -0x1c(%ebp),%eax + 102cb4: 01 d0 add %edx,%eax + 102cb6: 0f b6 00 movzbl (%eax),%eax + 102cb9: 0f be c0 movsbl %al,%eax + 102cbc: 83 ec 0c sub $0xc,%esp + 102cbf: 50 push %eax + 102cc0: e8 40 ff ff ff call 102c05 <terminal_putchar> + 102cc5: 83 c4 10 add $0x10,%esp + 102cc8: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 102ccc: 8b 55 f0 mov -0x10(%ebp),%edx + 102ccf: 8b 45 e4 mov -0x1c(%ebp),%eax + 102cd2: 01 d0 add %edx,%eax + 102cd4: 0f b6 00 movzbl (%eax),%eax + 102cd7: 84 c0 test %al,%al + 102cd9: 75 d3 jne 102cae <terminal_writestring+0x1f> + 102cdb: 90 nop + 102cdc: 8b 45 f4 mov -0xc(%ebp),%eax + 102cdf: 2b 05 04 50 10 00 sub 0x105004,%eax + 102ce5: 74 05 je 102cec <terminal_writestring+0x5d> + 102ce7: e8 9b 0b 00 00 call 103887 <__stack_chk_fail> + 102cec: c9 leave + 102ced: c3 ret + +00102cee <terminal_writeint>: + 102cee: 55 push %ebp + 102cef: 89 e5 mov %esp,%ebp + 102cf1: 81 ec 88 00 00 00 sub $0x88,%esp + 102cf7: 8b 45 08 mov 0x8(%ebp),%eax + 102cfa: 89 45 84 mov %eax,-0x7c(%ebp) + 102cfd: a1 04 50 10 00 mov 0x105004,%eax + 102d02: 89 45 f4 mov %eax,-0xc(%ebp) + 102d05: 31 c0 xor %eax,%eax + 102d07: c7 45 88 00 00 00 00 movl $0x0,-0x78(%ebp) + 102d0e: eb 0f jmp 102d1f <terminal_writeint+0x31> + 102d10: 8d 55 90 lea -0x70(%ebp),%edx + 102d13: 8b 45 88 mov -0x78(%ebp),%eax + 102d16: 01 d0 add %edx,%eax + 102d18: c6 00 00 movb $0x0,(%eax) + 102d1b: 83 45 88 01 addl $0x1,-0x78(%ebp) + 102d1f: 83 7d 88 63 cmpl $0x63,-0x78(%ebp) + 102d23: 7e eb jle 102d10 <terminal_writeint+0x22> + 102d25: 8d 45 90 lea -0x70(%ebp),%eax + 102d28: 89 45 8c mov %eax,-0x74(%ebp) + 102d2b: 83 ec 08 sub $0x8,%esp + 102d2e: ff 75 8c push -0x74(%ebp) + 102d31: ff 75 84 push -0x7c(%ebp) + 102d34: e8 2c f0 ff ff call 101d65 <itos> + 102d39: 83 c4 10 add $0x10,%esp + 102d3c: 83 ec 0c sub $0xc,%esp + 102d3f: ff 75 8c push -0x74(%ebp) + 102d42: e8 48 ff ff ff call 102c8f <terminal_writestring> + 102d47: 83 c4 10 add $0x10,%esp + 102d4a: 90 nop + 102d4b: 8b 45 f4 mov -0xc(%ebp),%eax + 102d4e: 2b 05 04 50 10 00 sub 0x105004,%eax + 102d54: 74 05 je 102d5b <terminal_writeint+0x6d> + 102d56: e8 2c 0b 00 00 call 103887 <__stack_chk_fail> + 102d5b: c9 leave + 102d5c: c3 ret + +00102d5d <terminal_writefloat>: + 102d5d: 55 push %ebp + 102d5e: 89 e5 mov %esp,%ebp + 102d60: 81 ec 88 00 00 00 sub $0x88,%esp + 102d66: 8b 45 08 mov 0x8(%ebp),%eax + 102d69: 89 45 80 mov %eax,-0x80(%ebp) + 102d6c: 8b 45 0c mov 0xc(%ebp),%eax + 102d6f: 89 45 84 mov %eax,-0x7c(%ebp) + 102d72: a1 04 50 10 00 mov 0x105004,%eax + 102d77: 89 45 f4 mov %eax,-0xc(%ebp) + 102d7a: 31 c0 xor %eax,%eax + 102d7c: c7 45 88 00 00 00 00 movl $0x0,-0x78(%ebp) + 102d83: eb 0f jmp 102d94 <terminal_writefloat+0x37> + 102d85: 8d 55 90 lea -0x70(%ebp),%edx + 102d88: 8b 45 88 mov -0x78(%ebp),%eax + 102d8b: 01 d0 add %edx,%eax + 102d8d: c6 00 00 movb $0x0,(%eax) + 102d90: 83 45 88 01 addl $0x1,-0x78(%ebp) + 102d94: 83 7d 88 63 cmpl $0x63,-0x78(%ebp) + 102d98: 7e eb jle 102d85 <terminal_writefloat+0x28> + 102d9a: 8d 45 90 lea -0x70(%ebp),%eax + 102d9d: 89 45 8c mov %eax,-0x74(%ebp) + 102da0: 83 ec 04 sub $0x4,%esp + 102da3: ff 75 8c push -0x74(%ebp) + 102da6: ff 75 84 push -0x7c(%ebp) + 102da9: ff 75 80 push -0x80(%ebp) + 102dac: e8 8a f1 ff ff call 101f3b <ftos> + 102db1: 83 c4 10 add $0x10,%esp + 102db4: 83 ec 0c sub $0xc,%esp + 102db7: ff 75 8c push -0x74(%ebp) + 102dba: e8 d0 fe ff ff call 102c8f <terminal_writestring> + 102dbf: 83 c4 10 add $0x10,%esp + 102dc2: 90 nop + 102dc3: 8b 45 f4 mov -0xc(%ebp),%eax + 102dc6: 2b 05 04 50 10 00 sub 0x105004,%eax + 102dcc: 74 05 je 102dd3 <terminal_writefloat+0x76> + 102dce: e8 b4 0a 00 00 call 103887 <__stack_chk_fail> + 102dd3: c9 leave + 102dd4: c3 ret + +00102dd5 <clear>: + 102dd5: 55 push %ebp + 102dd6: 89 e5 mov %esp,%ebp + 102dd8: 83 ec 18 sub $0x18,%esp + 102ddb: a1 04 50 10 00 mov 0x105004,%eax + 102de0: 89 45 f4 mov %eax,-0xc(%ebp) + 102de3: 31 c0 xor %eax,%eax + 102de5: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp) + 102dec: eb 28 jmp 102e16 <clear+0x41> + 102dee: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 102df5: eb 11 jmp 102e08 <clear+0x33> + 102df7: 83 ec 0c sub $0xc,%esp + 102dfa: 6a 20 push $0x20 + 102dfc: e8 04 fe ff ff call 102c05 <terminal_putchar> + 102e01: 83 c4 10 add $0x10,%esp + 102e04: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 102e08: b8 50 00 00 00 mov $0x50,%eax + 102e0d: 39 45 f0 cmp %eax,-0x10(%ebp) + 102e10: 72 e5 jb 102df7 <clear+0x22> + 102e12: 83 45 ec 01 addl $0x1,-0x14(%ebp) + 102e16: b8 19 00 00 00 mov $0x19,%eax + 102e1b: 39 45 ec cmp %eax,-0x14(%ebp) + 102e1e: 72 ce jb 102dee <clear+0x19> + 102e20: c7 05 e4 aa 10 00 00 movl $0x0,0x10aae4 + 102e27: 00 00 00 + 102e2a: c7 05 e0 aa 10 00 00 movl $0x0,0x10aae0 + 102e31: 00 00 00 + 102e34: 90 nop + 102e35: 8b 45 f4 mov -0xc(%ebp),%eax + 102e38: 2b 05 04 50 10 00 sub 0x105004,%eax + 102e3e: 74 05 je 102e45 <clear+0x70> + 102e40: e8 42 0a 00 00 call 103887 <__stack_chk_fail> + 102e45: c9 leave + 102e46: c3 ret + +00102e47 <irq0_handler>: + 102e47: 55 push %ebp + 102e48: 89 e5 mov %esp,%ebp + 102e4a: 83 ec 18 sub $0x18,%esp + 102e4d: a1 04 50 10 00 mov 0x105004,%eax + 102e52: 89 45 f4 mov %eax,-0xc(%ebp) + 102e55: 31 c0 xor %eax,%eax + 102e57: 83 ec 08 sub $0x8,%esp + 102e5a: 6a 20 push $0x20 + 102e5c: 6a 20 push $0x20 + 102e5e: e8 c0 d1 ff ff call 100023 <ioport_out> + 102e63: 83 c4 10 add $0x10,%esp + 102e66: 83 ec 0c sub $0xc,%esp + 102e69: 68 b4 43 10 00 push $0x1043b4 + 102e6e: e8 95 ea ff ff call 101908 <printf> + 102e73: 83 c4 10 add $0x10,%esp + 102e76: 83 ec 0c sub $0xc,%esp + 102e79: 68 c2 43 10 00 push $0x1043c2 + 102e7e: e8 85 ea ff ff call 101908 <printf> + 102e83: 83 c4 10 add $0x10,%esp + 102e86: 90 nop + 102e87: 8b 45 f4 mov -0xc(%ebp),%eax + 102e8a: 2b 05 04 50 10 00 sub 0x105004,%eax + 102e90: 74 05 je 102e97 <irq0_handler+0x50> + 102e92: e8 f0 09 00 00 call 103887 <__stack_chk_fail> + 102e97: c9 leave + 102e98: c3 ret + +00102e99 <irq1_handler>: + 102e99: 55 push %ebp + 102e9a: 89 e5 mov %esp,%ebp + 102e9c: 83 ec 18 sub $0x18,%esp + 102e9f: a1 04 50 10 00 mov 0x105004,%eax + 102ea4: 89 45 f4 mov %eax,-0xc(%ebp) + 102ea7: 31 c0 xor %eax,%eax + 102ea9: 83 ec 08 sub $0x8,%esp + 102eac: 6a 20 push $0x20 + 102eae: 6a 20 push $0x20 + 102eb0: e8 6e d1 ff ff call 100023 <ioport_out> + 102eb5: 83 c4 10 add $0x10,%esp + 102eb8: 83 ec 0c sub $0xc,%esp + 102ebb: 68 d8 43 10 00 push $0x1043d8 + 102ec0: e8 43 ea ff ff call 101908 <printf> + 102ec5: 83 c4 10 add $0x10,%esp + 102ec8: 83 ec 0c sub $0xc,%esp + 102ecb: 68 e6 43 10 00 push $0x1043e6 + 102ed0: e8 33 ea ff ff call 101908 <printf> + 102ed5: 83 c4 10 add $0x10,%esp + 102ed8: 90 nop + 102ed9: 8b 45 f4 mov -0xc(%ebp),%eax + 102edc: 2b 05 04 50 10 00 sub 0x105004,%eax + 102ee2: 74 05 je 102ee9 <irq1_handler+0x50> + 102ee4: e8 9e 09 00 00 call 103887 <__stack_chk_fail> + 102ee9: c9 leave + 102eea: c3 ret + +00102eeb <irq2_handler>: + 102eeb: 55 push %ebp + 102eec: 89 e5 mov %esp,%ebp + 102eee: 83 ec 18 sub $0x18,%esp + 102ef1: a1 04 50 10 00 mov 0x105004,%eax + 102ef6: 89 45 f4 mov %eax,-0xc(%ebp) + 102ef9: 31 c0 xor %eax,%eax + 102efb: 83 ec 08 sub $0x8,%esp + 102efe: 6a 20 push $0x20 + 102f00: 6a 20 push $0x20 + 102f02: e8 1c d1 ff ff call 100023 <ioport_out> + 102f07: 83 c4 10 add $0x10,%esp + 102f0a: 83 ec 0c sub $0xc,%esp + 102f0d: 68 ed 43 10 00 push $0x1043ed + 102f12: e8 f1 e9 ff ff call 101908 <printf> + 102f17: 83 c4 10 add $0x10,%esp + 102f1a: 83 ec 0c sub $0xc,%esp + 102f1d: 68 fb 43 10 00 push $0x1043fb + 102f22: e8 e1 e9 ff ff call 101908 <printf> + 102f27: 83 c4 10 add $0x10,%esp + 102f2a: 90 nop + 102f2b: 8b 45 f4 mov -0xc(%ebp),%eax + 102f2e: 2b 05 04 50 10 00 sub 0x105004,%eax + 102f34: 74 05 je 102f3b <irq2_handler+0x50> + 102f36: e8 4c 09 00 00 call 103887 <__stack_chk_fail> + 102f3b: c9 leave + 102f3c: c3 ret + +00102f3d <irq3_handler>: + 102f3d: 55 push %ebp + 102f3e: 89 e5 mov %esp,%ebp + 102f40: 83 ec 18 sub $0x18,%esp + 102f43: a1 04 50 10 00 mov 0x105004,%eax + 102f48: 89 45 f4 mov %eax,-0xc(%ebp) + 102f4b: 31 c0 xor %eax,%eax + 102f4d: 83 ec 08 sub $0x8,%esp + 102f50: 6a 20 push $0x20 + 102f52: 6a 20 push $0x20 + 102f54: e8 ca d0 ff ff call 100023 <ioport_out> + 102f59: 83 c4 10 add $0x10,%esp + 102f5c: 83 ec 0c sub $0xc,%esp + 102f5f: 68 13 44 10 00 push $0x104413 + 102f64: e8 9f e9 ff ff call 101908 <printf> + 102f69: 83 c4 10 add $0x10,%esp + 102f6c: 83 ec 0c sub $0xc,%esp + 102f6f: 68 21 44 10 00 push $0x104421 + 102f74: e8 8f e9 ff ff call 101908 <printf> + 102f79: 83 c4 10 add $0x10,%esp + 102f7c: 90 nop + 102f7d: 8b 45 f4 mov -0xc(%ebp),%eax + 102f80: 2b 05 04 50 10 00 sub 0x105004,%eax + 102f86: 74 05 je 102f8d <irq3_handler+0x50> + 102f88: e8 fa 08 00 00 call 103887 <__stack_chk_fail> + 102f8d: c9 leave + 102f8e: c3 ret + +00102f8f <irq4_handler>: + 102f8f: 55 push %ebp + 102f90: 89 e5 mov %esp,%ebp + 102f92: 83 ec 18 sub $0x18,%esp + 102f95: a1 04 50 10 00 mov 0x105004,%eax + 102f9a: 89 45 f4 mov %eax,-0xc(%ebp) + 102f9d: 31 c0 xor %eax,%eax + 102f9f: 83 ec 08 sub $0x8,%esp + 102fa2: 6a 20 push $0x20 + 102fa4: 6a 20 push $0x20 + 102fa6: e8 78 d0 ff ff call 100023 <ioport_out> + 102fab: 83 c4 10 add $0x10,%esp + 102fae: 83 ec 0c sub $0xc,%esp + 102fb1: 68 2d 44 10 00 push $0x10442d + 102fb6: e8 4d e9 ff ff call 101908 <printf> + 102fbb: 83 c4 10 add $0x10,%esp + 102fbe: 83 ec 0c sub $0xc,%esp + 102fc1: 68 3b 44 10 00 push $0x10443b + 102fc6: e8 3d e9 ff ff call 101908 <printf> + 102fcb: 83 c4 10 add $0x10,%esp + 102fce: 90 nop + 102fcf: 8b 45 f4 mov -0xc(%ebp),%eax + 102fd2: 2b 05 04 50 10 00 sub 0x105004,%eax + 102fd8: 74 05 je 102fdf <irq4_handler+0x50> + 102fda: e8 a8 08 00 00 call 103887 <__stack_chk_fail> + 102fdf: c9 leave + 102fe0: c3 ret + +00102fe1 <irq5_handler>: + 102fe1: 55 push %ebp + 102fe2: 89 e5 mov %esp,%ebp + 102fe4: 83 ec 18 sub $0x18,%esp + 102fe7: a1 04 50 10 00 mov 0x105004,%eax + 102fec: 89 45 f4 mov %eax,-0xc(%ebp) + 102fef: 31 c0 xor %eax,%eax + 102ff1: 83 ec 08 sub $0x8,%esp + 102ff4: 6a 20 push $0x20 + 102ff6: 6a 20 push $0x20 + 102ff8: e8 26 d0 ff ff call 100023 <ioport_out> + 102ffd: 83 c4 10 add $0x10,%esp + 103000: 83 ec 0c sub $0xc,%esp + 103003: 68 45 44 10 00 push $0x104445 + 103008: e8 fb e8 ff ff call 101908 <printf> + 10300d: 83 c4 10 add $0x10,%esp + 103010: 83 ec 0c sub $0xc,%esp + 103013: 68 53 44 10 00 push $0x104453 + 103018: e8 eb e8 ff ff call 101908 <printf> + 10301d: 83 c4 10 add $0x10,%esp + 103020: 90 nop + 103021: 8b 45 f4 mov -0xc(%ebp),%eax + 103024: 2b 05 04 50 10 00 sub 0x105004,%eax + 10302a: 74 05 je 103031 <irq5_handler+0x50> + 10302c: e8 56 08 00 00 call 103887 <__stack_chk_fail> + 103031: c9 leave + 103032: c3 ret + +00103033 <irq6_handler>: + 103033: 55 push %ebp + 103034: 89 e5 mov %esp,%ebp + 103036: 83 ec 18 sub $0x18,%esp + 103039: a1 04 50 10 00 mov 0x105004,%eax + 10303e: 89 45 f4 mov %eax,-0xc(%ebp) + 103041: 31 c0 xor %eax,%eax + 103043: 83 ec 08 sub $0x8,%esp + 103046: 6a 20 push $0x20 + 103048: 6a 20 push $0x20 + 10304a: e8 d4 cf ff ff call 100023 <ioport_out> + 10304f: 83 c4 10 add $0x10,%esp + 103052: 83 ec 0c sub $0xc,%esp + 103055: 68 69 44 10 00 push $0x104469 + 10305a: e8 a9 e8 ff ff call 101908 <printf> + 10305f: 83 c4 10 add $0x10,%esp + 103062: 83 ec 0c sub $0xc,%esp + 103065: 68 77 44 10 00 push $0x104477 + 10306a: e8 99 e8 ff ff call 101908 <printf> + 10306f: 83 c4 10 add $0x10,%esp + 103072: 90 nop + 103073: 8b 45 f4 mov -0xc(%ebp),%eax + 103076: 2b 05 04 50 10 00 sub 0x105004,%eax + 10307c: 74 05 je 103083 <irq6_handler+0x50> + 10307e: e8 04 08 00 00 call 103887 <__stack_chk_fail> + 103083: c9 leave + 103084: c3 ret + +00103085 <irq7_handler>: + 103085: 55 push %ebp + 103086: 89 e5 mov %esp,%ebp + 103088: 83 ec 18 sub $0x18,%esp + 10308b: a1 04 50 10 00 mov 0x105004,%eax + 103090: 89 45 f4 mov %eax,-0xc(%ebp) + 103093: 31 c0 xor %eax,%eax + 103095: 83 ec 08 sub $0x8,%esp + 103098: 6a 20 push $0x20 + 10309a: 6a 20 push $0x20 + 10309c: e8 82 cf ff ff call 100023 <ioport_out> + 1030a1: 83 c4 10 add $0x10,%esp + 1030a4: 83 ec 0c sub $0xc,%esp + 1030a7: 68 87 44 10 00 push $0x104487 + 1030ac: e8 57 e8 ff ff call 101908 <printf> + 1030b1: 83 c4 10 add $0x10,%esp + 1030b4: 83 ec 0c sub $0xc,%esp + 1030b7: 68 95 44 10 00 push $0x104495 + 1030bc: e8 47 e8 ff ff call 101908 <printf> + 1030c1: 83 c4 10 add $0x10,%esp + 1030c4: 90 nop + 1030c5: 8b 45 f4 mov -0xc(%ebp),%eax + 1030c8: 2b 05 04 50 10 00 sub 0x105004,%eax + 1030ce: 74 05 je 1030d5 <irq7_handler+0x50> + 1030d0: e8 b2 07 00 00 call 103887 <__stack_chk_fail> + 1030d5: c9 leave + 1030d6: c3 ret + +001030d7 <irq8_handler>: + 1030d7: 55 push %ebp + 1030d8: 89 e5 mov %esp,%ebp + 1030da: 83 ec 18 sub $0x18,%esp + 1030dd: a1 04 50 10 00 mov 0x105004,%eax + 1030e2: 89 45 f4 mov %eax,-0xc(%ebp) + 1030e5: 31 c0 xor %eax,%eax + 1030e7: 83 ec 08 sub $0x8,%esp + 1030ea: 6a 20 push $0x20 + 1030ec: 6a 20 push $0x20 + 1030ee: e8 30 cf ff ff call 100023 <ioport_out> + 1030f3: 83 c4 10 add $0x10,%esp + 1030f6: 83 ec 0c sub $0xc,%esp + 1030f9: 68 ab 44 10 00 push $0x1044ab + 1030fe: e8 05 e8 ff ff call 101908 <printf> + 103103: 83 c4 10 add $0x10,%esp + 103106: 83 ec 0c sub $0xc,%esp + 103109: 68 b9 44 10 00 push $0x1044b9 + 10310e: e8 f5 e7 ff ff call 101908 <printf> + 103113: 83 c4 10 add $0x10,%esp + 103116: 90 nop + 103117: 8b 45 f4 mov -0xc(%ebp),%eax + 10311a: 2b 05 04 50 10 00 sub 0x105004,%eax + 103120: 74 05 je 103127 <irq8_handler+0x50> + 103122: e8 60 07 00 00 call 103887 <__stack_chk_fail> + 103127: c9 leave + 103128: c3 ret + +00103129 <irq9_handler>: + 103129: 55 push %ebp + 10312a: 89 e5 mov %esp,%ebp + 10312c: 83 ec 18 sub $0x18,%esp + 10312f: a1 04 50 10 00 mov 0x105004,%eax + 103134: 89 45 f4 mov %eax,-0xc(%ebp) + 103137: 31 c0 xor %eax,%eax + 103139: 83 ec 08 sub $0x8,%esp + 10313c: 6a 20 push $0x20 + 10313e: 6a 20 push $0x20 + 103140: e8 de ce ff ff call 100023 <ioport_out> + 103145: 83 c4 10 add $0x10,%esp + 103148: 83 ec 0c sub $0xc,%esp + 10314b: 68 c7 44 10 00 push $0x1044c7 + 103150: e8 b3 e7 ff ff call 101908 <printf> + 103155: 83 c4 10 add $0x10,%esp + 103158: 83 ec 0c sub $0xc,%esp + 10315b: 68 d5 44 10 00 push $0x1044d5 + 103160: e8 a3 e7 ff ff call 101908 <printf> + 103165: 83 c4 10 add $0x10,%esp + 103168: 90 nop + 103169: 8b 45 f4 mov -0xc(%ebp),%eax + 10316c: 2b 05 04 50 10 00 sub 0x105004,%eax + 103172: 74 05 je 103179 <irq9_handler+0x50> + 103174: e8 0e 07 00 00 call 103887 <__stack_chk_fail> + 103179: c9 leave + 10317a: c3 ret + +0010317b <irq10_handler>: + 10317b: 55 push %ebp + 10317c: 89 e5 mov %esp,%ebp + 10317e: 83 ec 18 sub $0x18,%esp + 103181: a1 04 50 10 00 mov 0x105004,%eax + 103186: 89 45 f4 mov %eax,-0xc(%ebp) + 103189: 31 c0 xor %eax,%eax + 10318b: 83 ec 08 sub $0x8,%esp + 10318e: 6a 20 push $0x20 + 103190: 6a 20 push $0x20 + 103192: e8 8c ce ff ff call 100023 <ioport_out> + 103197: 83 c4 10 add $0x10,%esp + 10319a: 83 ec 0c sub $0xc,%esp + 10319d: 68 f2 44 10 00 push $0x1044f2 + 1031a2: e8 61 e7 ff ff call 101908 <printf> + 1031a7: 83 c4 10 add $0x10,%esp + 1031aa: 83 ec 0c sub $0xc,%esp + 1031ad: 68 01 45 10 00 push $0x104501 + 1031b2: e8 51 e7 ff ff call 101908 <printf> + 1031b7: 83 c4 10 add $0x10,%esp + 1031ba: 90 nop + 1031bb: 8b 45 f4 mov -0xc(%ebp),%eax + 1031be: 2b 05 04 50 10 00 sub 0x105004,%eax + 1031c4: 74 05 je 1031cb <irq10_handler+0x50> + 1031c6: e8 bc 06 00 00 call 103887 <__stack_chk_fail> + 1031cb: c9 leave + 1031cc: c3 ret + +001031cd <irq11_handler>: + 1031cd: 55 push %ebp + 1031ce: 89 e5 mov %esp,%ebp + 1031d0: 83 ec 18 sub $0x18,%esp + 1031d3: a1 04 50 10 00 mov 0x105004,%eax + 1031d8: 89 45 f4 mov %eax,-0xc(%ebp) + 1031db: 31 c0 xor %eax,%eax + 1031dd: 83 ec 08 sub $0x8,%esp + 1031e0: 6a 20 push $0x20 + 1031e2: 6a 20 push $0x20 + 1031e4: e8 3a ce ff ff call 100023 <ioport_out> + 1031e9: 83 c4 10 add $0x10,%esp + 1031ec: 83 ec 0c sub $0xc,%esp + 1031ef: 68 0e 45 10 00 push $0x10450e + 1031f4: e8 0f e7 ff ff call 101908 <printf> + 1031f9: 83 c4 10 add $0x10,%esp + 1031fc: 83 ec 0c sub $0xc,%esp + 1031ff: 68 1d 45 10 00 push $0x10451d + 103204: e8 ff e6 ff ff call 101908 <printf> + 103209: 83 c4 10 add $0x10,%esp + 10320c: 90 nop + 10320d: 8b 45 f4 mov -0xc(%ebp),%eax + 103210: 2b 05 04 50 10 00 sub 0x105004,%eax + 103216: 74 05 je 10321d <irq11_handler+0x50> + 103218: e8 6a 06 00 00 call 103887 <__stack_chk_fail> + 10321d: c9 leave + 10321e: c3 ret + +0010321f <irq12_handler>: + 10321f: 55 push %ebp + 103220: 89 e5 mov %esp,%ebp + 103222: 83 ec 18 sub $0x18,%esp + 103225: a1 04 50 10 00 mov 0x105004,%eax + 10322a: 89 45 f4 mov %eax,-0xc(%ebp) + 10322d: 31 c0 xor %eax,%eax + 10322f: 83 ec 08 sub $0x8,%esp + 103232: 6a 20 push $0x20 + 103234: 6a 20 push $0x20 + 103236: e8 e8 cd ff ff call 100023 <ioport_out> + 10323b: 83 c4 10 add $0x10,%esp + 10323e: 83 ec 0c sub $0xc,%esp + 103241: 68 32 45 10 00 push $0x104532 + 103246: e8 bd e6 ff ff call 101908 <printf> + 10324b: 83 c4 10 add $0x10,%esp + 10324e: 83 ec 0c sub $0xc,%esp + 103251: 68 41 45 10 00 push $0x104541 + 103256: e8 ad e6 ff ff call 101908 <printf> + 10325b: 83 c4 10 add $0x10,%esp + 10325e: 90 nop + 10325f: 8b 45 f4 mov -0xc(%ebp),%eax + 103262: 2b 05 04 50 10 00 sub 0x105004,%eax + 103268: 74 05 je 10326f <irq12_handler+0x50> + 10326a: e8 18 06 00 00 call 103887 <__stack_chk_fail> + 10326f: c9 leave + 103270: c3 ret + +00103271 <irq13_handler>: + 103271: 55 push %ebp + 103272: 89 e5 mov %esp,%ebp + 103274: 83 ec 18 sub $0x18,%esp + 103277: a1 04 50 10 00 mov 0x105004,%eax + 10327c: 89 45 f4 mov %eax,-0xc(%ebp) + 10327f: 31 c0 xor %eax,%eax + 103281: 83 ec 08 sub $0x8,%esp + 103284: 6a 20 push $0x20 + 103286: 6a 20 push $0x20 + 103288: e8 96 cd ff ff call 100023 <ioport_out> + 10328d: 83 c4 10 add $0x10,%esp + 103290: 83 ec 0c sub $0xc,%esp + 103293: 68 56 45 10 00 push $0x104556 + 103298: e8 6b e6 ff ff call 101908 <printf> + 10329d: 83 c4 10 add $0x10,%esp + 1032a0: 83 ec 0c sub $0xc,%esp + 1032a3: 68 65 45 10 00 push $0x104565 + 1032a8: e8 5b e6 ff ff call 101908 <printf> + 1032ad: 83 c4 10 add $0x10,%esp + 1032b0: 90 nop + 1032b1: 8b 45 f4 mov -0xc(%ebp),%eax + 1032b4: 2b 05 04 50 10 00 sub 0x105004,%eax + 1032ba: 74 05 je 1032c1 <irq13_handler+0x50> + 1032bc: e8 c6 05 00 00 call 103887 <__stack_chk_fail> + 1032c1: c9 leave + 1032c2: c3 ret + +001032c3 <irq14_handler>: + 1032c3: 55 push %ebp + 1032c4: 89 e5 mov %esp,%ebp + 1032c6: 83 ec 18 sub $0x18,%esp + 1032c9: a1 04 50 10 00 mov 0x105004,%eax + 1032ce: 89 45 f4 mov %eax,-0xc(%ebp) + 1032d1: 31 c0 xor %eax,%eax + 1032d3: 83 ec 08 sub $0x8,%esp + 1032d6: 6a 20 push $0x20 + 1032d8: 6a 20 push $0x20 + 1032da: e8 44 cd ff ff call 100023 <ioport_out> + 1032df: 83 c4 10 add $0x10,%esp + 1032e2: 83 ec 0c sub $0xc,%esp + 1032e5: 68 7f 45 10 00 push $0x10457f + 1032ea: e8 19 e6 ff ff call 101908 <printf> + 1032ef: 83 c4 10 add $0x10,%esp + 1032f2: 83 ec 0c sub $0xc,%esp + 1032f5: 68 8e 45 10 00 push $0x10458e + 1032fa: e8 09 e6 ff ff call 101908 <printf> + 1032ff: 83 c4 10 add $0x10,%esp + 103302: 90 nop + 103303: 8b 45 f4 mov -0xc(%ebp),%eax + 103306: 2b 05 04 50 10 00 sub 0x105004,%eax + 10330c: 74 05 je 103313 <irq14_handler+0x50> + 10330e: e8 74 05 00 00 call 103887 <__stack_chk_fail> + 103313: c9 leave + 103314: c3 ret + +00103315 <irq15_handler>: + 103315: 55 push %ebp + 103316: 89 e5 mov %esp,%ebp + 103318: 83 ec 18 sub $0x18,%esp + 10331b: a1 04 50 10 00 mov 0x105004,%eax + 103320: 89 45 f4 mov %eax,-0xc(%ebp) + 103323: 31 c0 xor %eax,%eax + 103325: 83 ec 08 sub $0x8,%esp + 103328: 6a 20 push $0x20 + 10332a: 6a 20 push $0x20 + 10332c: e8 f2 cc ff ff call 100023 <ioport_out> + 103331: 83 c4 10 add $0x10,%esp + 103334: 83 ec 0c sub $0xc,%esp + 103337: 68 9a 45 10 00 push $0x10459a + 10333c: e8 c7 e5 ff ff call 101908 <printf> + 103341: 83 c4 10 add $0x10,%esp + 103344: 83 ec 0c sub $0xc,%esp + 103347: 68 a9 45 10 00 push $0x1045a9 + 10334c: e8 b7 e5 ff ff call 101908 <printf> + 103351: 83 c4 10 add $0x10,%esp + 103354: 90 nop + 103355: 8b 45 f4 mov -0xc(%ebp),%eax + 103358: 2b 05 04 50 10 00 sub 0x105004,%eax + 10335e: 74 05 je 103365 <irq15_handler+0x50> + 103360: e8 22 05 00 00 call 103887 <__stack_chk_fail> + 103365: c9 leave + 103366: c3 ret + +00103367 <irq16_handler>: + 103367: 55 push %ebp + 103368: 89 e5 mov %esp,%ebp + 10336a: 83 ec 18 sub $0x18,%esp + 10336d: a1 04 50 10 00 mov 0x105004,%eax + 103372: 89 45 f4 mov %eax,-0xc(%ebp) + 103375: 31 c0 xor %eax,%eax + 103377: 83 ec 08 sub $0x8,%esp + 10337a: 6a 20 push $0x20 + 10337c: 6a 20 push $0x20 + 10337e: e8 a0 cc ff ff call 100023 <ioport_out> + 103383: 83 c4 10 add $0x10,%esp + 103386: 83 ec 0c sub $0xc,%esp + 103389: 68 b3 45 10 00 push $0x1045b3 + 10338e: e8 75 e5 ff ff call 101908 <printf> + 103393: 83 c4 10 add $0x10,%esp + 103396: 83 ec 0c sub $0xc,%esp + 103399: 68 c2 45 10 00 push $0x1045c2 + 10339e: e8 65 e5 ff ff call 101908 <printf> + 1033a3: 83 c4 10 add $0x10,%esp + 1033a6: 90 nop + 1033a7: 8b 45 f4 mov -0xc(%ebp),%eax + 1033aa: 2b 05 04 50 10 00 sub 0x105004,%eax + 1033b0: 74 05 je 1033b7 <irq16_handler+0x50> + 1033b2: e8 d0 04 00 00 call 103887 <__stack_chk_fail> + 1033b7: c9 leave + 1033b8: c3 ret + +001033b9 <irq17_handler>: + 1033b9: 55 push %ebp + 1033ba: 89 e5 mov %esp,%ebp + 1033bc: 83 ec 18 sub $0x18,%esp + 1033bf: a1 04 50 10 00 mov 0x105004,%eax + 1033c4: 89 45 f4 mov %eax,-0xc(%ebp) + 1033c7: 31 c0 xor %eax,%eax + 1033c9: 83 ec 08 sub $0x8,%esp + 1033cc: 6a 20 push $0x20 + 1033ce: 6a 20 push $0x20 + 1033d0: e8 4e cc ff ff call 100023 <ioport_out> + 1033d5: 83 c4 10 add $0x10,%esp + 1033d8: 83 ec 0c sub $0xc,%esp + 1033db: 68 e0 45 10 00 push $0x1045e0 + 1033e0: e8 23 e5 ff ff call 101908 <printf> + 1033e5: 83 c4 10 add $0x10,%esp + 1033e8: 83 ec 0c sub $0xc,%esp + 1033eb: 68 ef 45 10 00 push $0x1045ef + 1033f0: e8 13 e5 ff ff call 101908 <printf> + 1033f5: 83 c4 10 add $0x10,%esp + 1033f8: 90 nop + 1033f9: 8b 45 f4 mov -0xc(%ebp),%eax + 1033fc: 2b 05 04 50 10 00 sub 0x105004,%eax + 103402: 74 05 je 103409 <irq17_handler+0x50> + 103404: e8 7e 04 00 00 call 103887 <__stack_chk_fail> + 103409: c9 leave + 10340a: c3 ret + +0010340b <irq18_handler>: + 10340b: 55 push %ebp + 10340c: 89 e5 mov %esp,%ebp + 10340e: 83 ec 18 sub $0x18,%esp + 103411: a1 04 50 10 00 mov 0x105004,%eax + 103416: 89 45 f4 mov %eax,-0xc(%ebp) + 103419: 31 c0 xor %eax,%eax + 10341b: 83 ec 08 sub $0x8,%esp + 10341e: 6a 20 push $0x20 + 103420: 6a 20 push $0x20 + 103422: e8 fc cb ff ff call 100023 <ioport_out> + 103427: 83 c4 10 add $0x10,%esp + 10342a: 83 ec 0c sub $0xc,%esp + 10342d: 68 00 46 10 00 push $0x104600 + 103432: e8 d1 e4 ff ff call 101908 <printf> + 103437: 83 c4 10 add $0x10,%esp + 10343a: 83 ec 0c sub $0xc,%esp + 10343d: 68 0f 46 10 00 push $0x10460f + 103442: e8 c1 e4 ff ff call 101908 <printf> + 103447: 83 c4 10 add $0x10,%esp + 10344a: 90 nop + 10344b: 8b 45 f4 mov -0xc(%ebp),%eax + 10344e: 2b 05 04 50 10 00 sub 0x105004,%eax + 103454: 74 05 je 10345b <irq18_handler+0x50> + 103456: e8 2c 04 00 00 call 103887 <__stack_chk_fail> + 10345b: c9 leave + 10345c: c3 ret + +0010345d <irq19_handler>: + 10345d: 55 push %ebp + 10345e: 89 e5 mov %esp,%ebp + 103460: 83 ec 18 sub $0x18,%esp + 103463: a1 04 50 10 00 mov 0x105004,%eax + 103468: 89 45 f4 mov %eax,-0xc(%ebp) + 10346b: 31 c0 xor %eax,%eax + 10346d: 83 ec 08 sub $0x8,%esp + 103470: 6a 20 push $0x20 + 103472: 6a 20 push $0x20 + 103474: e8 aa cb ff ff call 100023 <ioport_out> + 103479: 83 c4 10 add $0x10,%esp + 10347c: 83 ec 0c sub $0xc,%esp + 10347f: 68 1e 46 10 00 push $0x10461e + 103484: e8 7f e4 ff ff call 101908 <printf> + 103489: 83 c4 10 add $0x10,%esp + 10348c: 83 ec 0c sub $0xc,%esp + 10348f: 68 30 46 10 00 push $0x104630 + 103494: e8 6f e4 ff ff call 101908 <printf> + 103499: 83 c4 10 add $0x10,%esp + 10349c: 90 nop + 10349d: 8b 45 f4 mov -0xc(%ebp),%eax + 1034a0: 2b 05 04 50 10 00 sub 0x105004,%eax + 1034a6: 74 05 je 1034ad <irq19_handler+0x50> + 1034a8: e8 da 03 00 00 call 103887 <__stack_chk_fail> + 1034ad: c9 leave + 1034ae: c3 ret + +001034af <irq20_handler>: + 1034af: 55 push %ebp + 1034b0: 89 e5 mov %esp,%ebp + 1034b2: 83 ec 18 sub $0x18,%esp + 1034b5: a1 04 50 10 00 mov 0x105004,%eax + 1034ba: 89 45 f4 mov %eax,-0xc(%ebp) + 1034bd: 31 c0 xor %eax,%eax + 1034bf: 83 ec 08 sub $0x8,%esp + 1034c2: 6a 20 push $0x20 + 1034c4: 6a 20 push $0x20 + 1034c6: e8 58 cb ff ff call 100023 <ioport_out> + 1034cb: 83 c4 10 add $0x10,%esp + 1034ce: 83 ec 0c sub $0xc,%esp + 1034d1: 68 54 46 10 00 push $0x104654 + 1034d6: e8 2d e4 ff ff call 101908 <printf> + 1034db: 83 c4 10 add $0x10,%esp + 1034de: 83 ec 0c sub $0xc,%esp + 1034e1: 68 63 46 10 00 push $0x104663 + 1034e6: e8 1d e4 ff ff call 101908 <printf> + 1034eb: 83 c4 10 add $0x10,%esp + 1034ee: 90 nop + 1034ef: 8b 45 f4 mov -0xc(%ebp),%eax + 1034f2: 2b 05 04 50 10 00 sub 0x105004,%eax + 1034f8: 74 05 je 1034ff <irq20_handler+0x50> + 1034fa: e8 88 03 00 00 call 103887 <__stack_chk_fail> + 1034ff: c9 leave + 103500: c3 ret + +00103501 <irq21_handler>: + 103501: 55 push %ebp + 103502: 89 e5 mov %esp,%ebp + 103504: 83 ec 18 sub $0x18,%esp + 103507: a1 04 50 10 00 mov 0x105004,%eax + 10350c: 89 45 f4 mov %eax,-0xc(%ebp) + 10350f: 31 c0 xor %eax,%eax + 103511: 83 ec 08 sub $0x8,%esp + 103514: 6a 20 push $0x20 + 103516: 6a 20 push $0x20 + 103518: e8 06 cb ff ff call 100023 <ioport_out> + 10351d: 83 c4 10 add $0x10,%esp + 103520: 83 ec 0c sub $0xc,%esp + 103523: 68 7d 46 10 00 push $0x10467d + 103528: e8 db e3 ff ff call 101908 <printf> + 10352d: 83 c4 10 add $0x10,%esp + 103530: 83 ec 0c sub $0xc,%esp + 103533: 68 a9 45 10 00 push $0x1045a9 + 103538: e8 cb e3 ff ff call 101908 <printf> + 10353d: 83 c4 10 add $0x10,%esp + 103540: 90 nop + 103541: 8b 45 f4 mov -0xc(%ebp),%eax + 103544: 2b 05 04 50 10 00 sub 0x105004,%eax + 10354a: 74 05 je 103551 <irq21_handler+0x50> + 10354c: e8 36 03 00 00 call 103887 <__stack_chk_fail> + 103551: c9 leave + 103552: c3 ret + +00103553 <irq22_handler>: + 103553: 55 push %ebp + 103554: 89 e5 mov %esp,%ebp + 103556: 83 ec 18 sub $0x18,%esp + 103559: a1 04 50 10 00 mov 0x105004,%eax + 10355e: 89 45 f4 mov %eax,-0xc(%ebp) + 103561: 31 c0 xor %eax,%eax + 103563: 83 ec 08 sub $0x8,%esp + 103566: 6a 20 push $0x20 + 103568: 6a 20 push $0x20 + 10356a: e8 b4 ca ff ff call 100023 <ioport_out> + 10356f: 83 c4 10 add $0x10,%esp + 103572: 83 ec 0c sub $0xc,%esp + 103575: 68 8c 46 10 00 push $0x10468c + 10357a: e8 89 e3 ff ff call 101908 <printf> + 10357f: 83 c4 10 add $0x10,%esp + 103582: 83 ec 0c sub $0xc,%esp + 103585: 68 a9 45 10 00 push $0x1045a9 + 10358a: e8 79 e3 ff ff call 101908 <printf> + 10358f: 83 c4 10 add $0x10,%esp + 103592: 90 nop + 103593: 8b 45 f4 mov -0xc(%ebp),%eax + 103596: 2b 05 04 50 10 00 sub 0x105004,%eax + 10359c: 74 05 je 1035a3 <irq22_handler+0x50> + 10359e: e8 e4 02 00 00 call 103887 <__stack_chk_fail> + 1035a3: c9 leave + 1035a4: c3 ret + +001035a5 <irq23_handler>: + 1035a5: 55 push %ebp + 1035a6: 89 e5 mov %esp,%ebp + 1035a8: 83 ec 18 sub $0x18,%esp + 1035ab: a1 04 50 10 00 mov 0x105004,%eax + 1035b0: 89 45 f4 mov %eax,-0xc(%ebp) + 1035b3: 31 c0 xor %eax,%eax + 1035b5: 83 ec 08 sub $0x8,%esp + 1035b8: 6a 20 push $0x20 + 1035ba: 6a 20 push $0x20 + 1035bc: e8 62 ca ff ff call 100023 <ioport_out> + 1035c1: 83 c4 10 add $0x10,%esp + 1035c4: 83 ec 0c sub $0xc,%esp + 1035c7: 68 9b 46 10 00 push $0x10469b + 1035cc: e8 37 e3 ff ff call 101908 <printf> + 1035d1: 83 c4 10 add $0x10,%esp + 1035d4: 83 ec 0c sub $0xc,%esp + 1035d7: 68 a9 45 10 00 push $0x1045a9 + 1035dc: e8 27 e3 ff ff call 101908 <printf> + 1035e1: 83 c4 10 add $0x10,%esp + 1035e4: 90 nop + 1035e5: 8b 45 f4 mov -0xc(%ebp),%eax + 1035e8: 2b 05 04 50 10 00 sub 0x105004,%eax + 1035ee: 74 05 je 1035f5 <irq23_handler+0x50> + 1035f0: e8 92 02 00 00 call 103887 <__stack_chk_fail> + 1035f5: c9 leave + 1035f6: c3 ret + +001035f7 <irq24_handler>: + 1035f7: 55 push %ebp + 1035f8: 89 e5 mov %esp,%ebp + 1035fa: 83 ec 18 sub $0x18,%esp + 1035fd: a1 04 50 10 00 mov 0x105004,%eax + 103602: 89 45 f4 mov %eax,-0xc(%ebp) + 103605: 31 c0 xor %eax,%eax + 103607: 83 ec 08 sub $0x8,%esp + 10360a: 6a 20 push $0x20 + 10360c: 6a 20 push $0x20 + 10360e: e8 10 ca ff ff call 100023 <ioport_out> + 103613: 83 c4 10 add $0x10,%esp + 103616: 83 ec 0c sub $0xc,%esp + 103619: 68 aa 46 10 00 push $0x1046aa + 10361e: e8 e5 e2 ff ff call 101908 <printf> + 103623: 83 c4 10 add $0x10,%esp + 103626: 83 ec 0c sub $0xc,%esp + 103629: 68 a9 45 10 00 push $0x1045a9 + 10362e: e8 d5 e2 ff ff call 101908 <printf> + 103633: 83 c4 10 add $0x10,%esp + 103636: 90 nop + 103637: 8b 45 f4 mov -0xc(%ebp),%eax + 10363a: 2b 05 04 50 10 00 sub 0x105004,%eax + 103640: 74 05 je 103647 <irq24_handler+0x50> + 103642: e8 40 02 00 00 call 103887 <__stack_chk_fail> + 103647: c9 leave + 103648: c3 ret + +00103649 <irq25_handler>: + 103649: 55 push %ebp + 10364a: 89 e5 mov %esp,%ebp + 10364c: 83 ec 18 sub $0x18,%esp + 10364f: a1 04 50 10 00 mov 0x105004,%eax + 103654: 89 45 f4 mov %eax,-0xc(%ebp) + 103657: 31 c0 xor %eax,%eax + 103659: 83 ec 08 sub $0x8,%esp + 10365c: 6a 20 push $0x20 + 10365e: 6a 20 push $0x20 + 103660: e8 be c9 ff ff call 100023 <ioport_out> + 103665: 83 c4 10 add $0x10,%esp + 103668: 83 ec 0c sub $0xc,%esp + 10366b: 68 b9 46 10 00 push $0x1046b9 + 103670: e8 93 e2 ff ff call 101908 <printf> + 103675: 83 c4 10 add $0x10,%esp + 103678: 83 ec 0c sub $0xc,%esp + 10367b: 68 a9 45 10 00 push $0x1045a9 + 103680: e8 83 e2 ff ff call 101908 <printf> + 103685: 83 c4 10 add $0x10,%esp + 103688: 90 nop + 103689: 8b 45 f4 mov -0xc(%ebp),%eax + 10368c: 2b 05 04 50 10 00 sub 0x105004,%eax + 103692: 74 05 je 103699 <irq25_handler+0x50> + 103694: e8 ee 01 00 00 call 103887 <__stack_chk_fail> + 103699: c9 leave + 10369a: c3 ret + +0010369b <irq26_handler>: + 10369b: 55 push %ebp + 10369c: 89 e5 mov %esp,%ebp + 10369e: 83 ec 18 sub $0x18,%esp + 1036a1: a1 04 50 10 00 mov 0x105004,%eax + 1036a6: 89 45 f4 mov %eax,-0xc(%ebp) + 1036a9: 31 c0 xor %eax,%eax + 1036ab: 83 ec 08 sub $0x8,%esp + 1036ae: 6a 20 push $0x20 + 1036b0: 6a 20 push $0x20 + 1036b2: e8 6c c9 ff ff call 100023 <ioport_out> + 1036b7: 83 c4 10 add $0x10,%esp + 1036ba: 83 ec 0c sub $0xc,%esp + 1036bd: 68 c8 46 10 00 push $0x1046c8 + 1036c2: e8 41 e2 ff ff call 101908 <printf> + 1036c7: 83 c4 10 add $0x10,%esp + 1036ca: 83 ec 0c sub $0xc,%esp + 1036cd: 68 a9 45 10 00 push $0x1045a9 + 1036d2: e8 31 e2 ff ff call 101908 <printf> + 1036d7: 83 c4 10 add $0x10,%esp + 1036da: 90 nop + 1036db: 8b 45 f4 mov -0xc(%ebp),%eax + 1036de: 2b 05 04 50 10 00 sub 0x105004,%eax + 1036e4: 74 05 je 1036eb <irq26_handler+0x50> + 1036e6: e8 9c 01 00 00 call 103887 <__stack_chk_fail> + 1036eb: c9 leave + 1036ec: c3 ret + +001036ed <irq27_handler>: + 1036ed: 55 push %ebp + 1036ee: 89 e5 mov %esp,%ebp + 1036f0: 83 ec 18 sub $0x18,%esp + 1036f3: a1 04 50 10 00 mov 0x105004,%eax + 1036f8: 89 45 f4 mov %eax,-0xc(%ebp) + 1036fb: 31 c0 xor %eax,%eax + 1036fd: 83 ec 08 sub $0x8,%esp + 103700: 6a 20 push $0x20 + 103702: 6a 20 push $0x20 + 103704: e8 1a c9 ff ff call 100023 <ioport_out> + 103709: 83 c4 10 add $0x10,%esp + 10370c: 83 ec 0c sub $0xc,%esp + 10370f: 68 d7 46 10 00 push $0x1046d7 + 103714: e8 ef e1 ff ff call 101908 <printf> + 103719: 83 c4 10 add $0x10,%esp + 10371c: 83 ec 0c sub $0xc,%esp + 10371f: 68 a9 45 10 00 push $0x1045a9 + 103724: e8 df e1 ff ff call 101908 <printf> + 103729: 83 c4 10 add $0x10,%esp + 10372c: 90 nop + 10372d: 8b 45 f4 mov -0xc(%ebp),%eax + 103730: 2b 05 04 50 10 00 sub 0x105004,%eax + 103736: 74 05 je 10373d <irq27_handler+0x50> + 103738: e8 4a 01 00 00 call 103887 <__stack_chk_fail> + 10373d: c9 leave + 10373e: c3 ret + +0010373f <irq28_handler>: + 10373f: 55 push %ebp + 103740: 89 e5 mov %esp,%ebp + 103742: 83 ec 18 sub $0x18,%esp + 103745: a1 04 50 10 00 mov 0x105004,%eax + 10374a: 89 45 f4 mov %eax,-0xc(%ebp) + 10374d: 31 c0 xor %eax,%eax + 10374f: 83 ec 08 sub $0x8,%esp + 103752: 6a 20 push $0x20 + 103754: 6a 20 push $0x20 + 103756: e8 c8 c8 ff ff call 100023 <ioport_out> + 10375b: 83 c4 10 add $0x10,%esp + 10375e: 83 ec 0c sub $0xc,%esp + 103761: 68 e6 46 10 00 push $0x1046e6 + 103766: e8 9d e1 ff ff call 101908 <printf> + 10376b: 83 c4 10 add $0x10,%esp + 10376e: 83 ec 0c sub $0xc,%esp + 103771: 68 a9 45 10 00 push $0x1045a9 + 103776: e8 8d e1 ff ff call 101908 <printf> + 10377b: 83 c4 10 add $0x10,%esp + 10377e: 90 nop + 10377f: 8b 45 f4 mov -0xc(%ebp),%eax + 103782: 2b 05 04 50 10 00 sub 0x105004,%eax + 103788: 74 05 je 10378f <irq28_handler+0x50> + 10378a: e8 f8 00 00 00 call 103887 <__stack_chk_fail> + 10378f: c9 leave + 103790: c3 ret + +00103791 <irq29_handler>: + 103791: 55 push %ebp + 103792: 89 e5 mov %esp,%ebp + 103794: 83 ec 18 sub $0x18,%esp + 103797: a1 04 50 10 00 mov 0x105004,%eax + 10379c: 89 45 f4 mov %eax,-0xc(%ebp) + 10379f: 31 c0 xor %eax,%eax + 1037a1: 83 ec 08 sub $0x8,%esp + 1037a4: 6a 20 push $0x20 + 1037a6: 6a 20 push $0x20 + 1037a8: e8 76 c8 ff ff call 100023 <ioport_out> + 1037ad: 83 c4 10 add $0x10,%esp + 1037b0: 83 ec 0c sub $0xc,%esp + 1037b3: 68 f5 46 10 00 push $0x1046f5 + 1037b8: e8 4b e1 ff ff call 101908 <printf> + 1037bd: 83 c4 10 add $0x10,%esp + 1037c0: 83 ec 0c sub $0xc,%esp + 1037c3: 68 a9 45 10 00 push $0x1045a9 + 1037c8: e8 3b e1 ff ff call 101908 <printf> + 1037cd: 83 c4 10 add $0x10,%esp + 1037d0: 90 nop + 1037d1: 8b 45 f4 mov -0xc(%ebp),%eax + 1037d4: 2b 05 04 50 10 00 sub 0x105004,%eax + 1037da: 74 05 je 1037e1 <irq29_handler+0x50> + 1037dc: e8 a6 00 00 00 call 103887 <__stack_chk_fail> + 1037e1: c9 leave + 1037e2: c3 ret + +001037e3 <irq30_handler>: + 1037e3: 55 push %ebp + 1037e4: 89 e5 mov %esp,%ebp + 1037e6: 83 ec 18 sub $0x18,%esp + 1037e9: a1 04 50 10 00 mov 0x105004,%eax + 1037ee: 89 45 f4 mov %eax,-0xc(%ebp) + 1037f1: 31 c0 xor %eax,%eax + 1037f3: 83 ec 08 sub $0x8,%esp + 1037f6: 6a 20 push $0x20 + 1037f8: 6a 20 push $0x20 + 1037fa: e8 24 c8 ff ff call 100023 <ioport_out> + 1037ff: 83 c4 10 add $0x10,%esp + 103802: 83 ec 0c sub $0xc,%esp + 103805: 68 04 47 10 00 push $0x104704 + 10380a: e8 f9 e0 ff ff call 101908 <printf> + 10380f: 83 c4 10 add $0x10,%esp + 103812: 83 ec 0c sub $0xc,%esp + 103815: 68 13 47 10 00 push $0x104713 + 10381a: e8 e9 e0 ff ff call 101908 <printf> + 10381f: 83 c4 10 add $0x10,%esp + 103822: 90 nop + 103823: 8b 45 f4 mov -0xc(%ebp),%eax + 103826: 2b 05 04 50 10 00 sub 0x105004,%eax + 10382c: 74 05 je 103833 <irq30_handler+0x50> + 10382e: e8 54 00 00 00 call 103887 <__stack_chk_fail> + 103833: c9 leave + 103834: c3 ret + +00103835 <irq31_handler>: + 103835: 55 push %ebp + 103836: 89 e5 mov %esp,%ebp + 103838: 83 ec 18 sub $0x18,%esp + 10383b: a1 04 50 10 00 mov 0x105004,%eax + 103840: 89 45 f4 mov %eax,-0xc(%ebp) + 103843: 31 c0 xor %eax,%eax + 103845: 83 ec 08 sub $0x8,%esp + 103848: 6a 20 push $0x20 + 10384a: 6a 20 push $0x20 + 10384c: e8 d2 c7 ff ff call 100023 <ioport_out> + 103851: 83 c4 10 add $0x10,%esp + 103854: 83 ec 0c sub $0xc,%esp + 103857: 68 27 47 10 00 push $0x104727 + 10385c: e8 a7 e0 ff ff call 101908 <printf> + 103861: 83 c4 10 add $0x10,%esp + 103864: 83 ec 0c sub $0xc,%esp + 103867: 68 a9 45 10 00 push $0x1045a9 + 10386c: e8 97 e0 ff ff call 101908 <printf> + 103871: 83 c4 10 add $0x10,%esp + 103874: 90 nop + 103875: 8b 45 f4 mov -0xc(%ebp),%eax + 103878: 2b 05 04 50 10 00 sub 0x105004,%eax + 10387e: 74 05 je 103885 <irq31_handler+0x50> + 103880: e8 02 00 00 00 call 103887 <__stack_chk_fail> + 103885: c9 leave + 103886: c3 ret + +00103887 <__stack_chk_fail>: + 103887: 55 push %ebp + 103888: 89 e5 mov %esp,%ebp + 10388a: 83 ec 18 sub $0x18,%esp + 10388d: a1 04 50 10 00 mov 0x105004,%eax + 103892: 89 45 f4 mov %eax,-0xc(%ebp) + 103895: 31 c0 xor %eax,%eax + 103897: 90 nop + 103898: 8b 45 f4 mov -0xc(%ebp),%eax + 10389b: 2b 05 04 50 10 00 sub 0x105004,%eax + 1038a1: 74 05 je 1038a8 <__stack_chk_fail+0x21> + 1038a3: e8 df ff ff ff call 103887 <__stack_chk_fail> + 1038a8: c9 leave + 1038a9: c3 ret + +001038aa <timer_handler>: + 1038aa: 55 push %ebp + 1038ab: 89 e5 mov %esp,%ebp + 1038ad: 83 ec 18 sub $0x18,%esp + 1038b0: a1 04 50 10 00 mov 0x105004,%eax + 1038b5: 89 45 f4 mov %eax,-0xc(%ebp) + 1038b8: 31 c0 xor %eax,%eax + 1038ba: a1 f0 aa 10 00 mov 0x10aaf0,%eax + 1038bf: 83 c0 01 add $0x1,%eax + 1038c2: a3 f0 aa 10 00 mov %eax,0x10aaf0 + 1038c7: a1 f0 aa 10 00 mov 0x10aaf0,%eax + 1038cc: ba 32 00 00 00 mov $0x32,%edx + 1038d1: 39 d0 cmp %edx,%eax + 1038d3: 75 17 jne 1038ec <timer_handler+0x42> + 1038d5: c7 05 f0 aa 10 00 00 movl $0x0,0x10aaf0 + 1038dc: 00 00 00 + 1038df: a1 f4 aa 10 00 mov 0x10aaf4,%eax + 1038e4: 83 c0 01 add $0x1,%eax + 1038e7: a3 f4 aa 10 00 mov %eax,0x10aaf4 + 1038ec: 83 ec 08 sub $0x8,%esp + 1038ef: 6a 20 push $0x20 + 1038f1: 6a 20 push $0x20 + 1038f3: e8 2b c7 ff ff call 100023 <ioport_out> + 1038f8: 83 c4 10 add $0x10,%esp + 1038fb: 83 ec 08 sub $0x8,%esp + 1038fe: 6a 20 push $0x20 + 103900: 68 a0 00 00 00 push $0xa0 + 103905: e8 19 c7 ff ff call 100023 <ioport_out> + 10390a: 83 c4 10 add $0x10,%esp + 10390d: 90 nop + 10390e: 8b 45 f4 mov -0xc(%ebp),%eax + 103911: 2b 05 04 50 10 00 sub 0x105004,%eax + 103917: 74 05 je 10391e <timer_handler+0x74> + 103919: e8 69 ff ff ff call 103887 <__stack_chk_fail> + 10391e: c9 leave + 10391f: c3 ret + +00103920 <init_timer>: + 103920: 55 push %ebp + 103921: 89 e5 mov %esp,%ebp + 103923: 83 ec 28 sub $0x28,%esp + 103926: 8b 45 08 mov 0x8(%ebp),%eax + 103929: 89 45 e4 mov %eax,-0x1c(%ebp) + 10392c: a1 04 50 10 00 mov 0x105004,%eax + 103931: 89 45 f4 mov %eax,-0xc(%ebp) + 103934: 31 c0 xor %eax,%eax + 103936: b8 dc 34 12 00 mov $0x1234dc,%eax + 10393b: ba 00 00 00 00 mov $0x0,%edx + 103940: f7 75 e4 divl -0x1c(%ebp) + 103943: 89 45 f0 mov %eax,-0x10(%ebp) + 103946: 83 ec 08 sub $0x8,%esp + 103949: 6a 36 push $0x36 + 10394b: 6a 43 push $0x43 + 10394d: e8 d1 c6 ff ff call 100023 <ioport_out> + 103952: 83 c4 10 add $0x10,%esp + 103955: 8b 45 f0 mov -0x10(%ebp),%eax + 103958: 88 45 ee mov %al,-0x12(%ebp) + 10395b: 8b 45 f0 mov -0x10(%ebp),%eax + 10395e: c1 e8 08 shr $0x8,%eax + 103961: 88 45 ef mov %al,-0x11(%ebp) + 103964: 0f b6 45 ee movzbl -0x12(%ebp),%eax + 103968: 0f be c0 movsbl %al,%eax + 10396b: 83 ec 08 sub $0x8,%esp + 10396e: 50 push %eax + 10396f: 6a 40 push $0x40 + 103971: e8 ad c6 ff ff call 100023 <ioport_out> + 103976: 83 c4 10 add $0x10,%esp + 103979: 0f b6 45 ef movzbl -0x11(%ebp),%eax + 10397d: 0f be c0 movsbl %al,%eax + 103980: 83 ec 08 sub $0x8,%esp + 103983: 50 push %eax + 103984: 6a 40 push $0x40 + 103986: e8 98 c6 ff ff call 100023 <ioport_out> + 10398b: 83 c4 10 add $0x10,%esp + 10398e: 90 nop + 10398f: 8b 45 f4 mov -0xc(%ebp),%eax + 103992: 2b 05 04 50 10 00 sub 0x105004,%eax + 103998: 74 05 je 10399f <init_timer+0x7f> + 10399a: e8 e8 fe ff ff call 103887 <__stack_chk_fail> + 10399f: c9 leave + 1039a0: c3 ret + +001039a1 <set_pd>: + 1039a1: 55 push %ebp + 1039a2: 89 e5 mov %esp,%ebp + 1039a4: 83 ec 18 sub $0x18,%esp + 1039a7: a1 04 50 10 00 mov 0x105004,%eax + 1039ac: 89 45 f4 mov %eax,-0xc(%ebp) + 1039af: 31 c0 xor %eax,%eax + 1039b1: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 1039b8: eb 12 jmp 1039cc <set_pd+0x2b> + 1039ba: 8b 45 f0 mov -0x10(%ebp),%eax + 1039bd: c7 04 85 00 b0 10 00 movl $0x2,0x10b000(,%eax,4) + 1039c4: 02 00 00 00 + 1039c8: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 1039cc: 81 7d f0 ff 03 00 00 cmpl $0x3ff,-0x10(%ebp) + 1039d3: 76 e5 jbe 1039ba <set_pd+0x19> + 1039d5: 90 nop + 1039d6: 8b 45 f4 mov -0xc(%ebp),%eax + 1039d9: 2b 05 04 50 10 00 sub 0x105004,%eax + 1039df: 74 05 je 1039e6 <set_pd+0x45> + 1039e1: e8 a1 fe ff ff call 103887 <__stack_chk_fail> + 1039e6: c9 leave + 1039e7: c3 ret + +001039e8 <set_pt>: + 1039e8: 55 push %ebp + 1039e9: 89 e5 mov %esp,%ebp + 1039eb: 83 ec 28 sub $0x28,%esp + 1039ee: 8b 45 08 mov 0x8(%ebp),%eax + 1039f1: 89 45 e4 mov %eax,-0x1c(%ebp) + 1039f4: 8b 45 0c mov 0xc(%ebp),%eax + 1039f7: 89 45 e0 mov %eax,-0x20(%ebp) + 1039fa: a1 04 50 10 00 mov 0x105004,%eax + 1039ff: 89 45 f4 mov %eax,-0xc(%ebp) + 103a02: 31 c0 xor %eax,%eax + 103a04: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 103a0b: eb 2a jmp 103a37 <set_pt+0x4f> + 103a0d: 8b 45 f0 mov -0x10(%ebp),%eax + 103a10: c1 e0 0c shl $0xc,%eax + 103a13: 89 c2 mov %eax,%edx + 103a15: 8b 45 e0 mov -0x20(%ebp),%eax + 103a18: 01 d0 add %edx,%eax + 103a1a: 83 c8 03 or $0x3,%eax + 103a1d: 89 c2 mov %eax,%edx + 103a1f: 8b 45 e4 mov -0x1c(%ebp),%eax + 103a22: c1 e0 0a shl $0xa,%eax + 103a25: 89 c1 mov %eax,%ecx + 103a27: 8b 45 f0 mov -0x10(%ebp),%eax + 103a2a: 01 c8 add %ecx,%eax + 103a2c: 89 14 85 00 c0 10 00 mov %edx,0x10c000(,%eax,4) + 103a33: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 103a37: 81 7d f0 ff 03 00 00 cmpl $0x3ff,-0x10(%ebp) + 103a3e: 76 cd jbe 103a0d <set_pt+0x25> + 103a40: 8b 45 e4 mov -0x1c(%ebp),%eax + 103a43: c1 e0 0c shl $0xc,%eax + 103a46: 05 00 c0 10 00 add $0x10c000,%eax + 103a4b: 83 c8 03 or $0x3,%eax + 103a4e: 89 c2 mov %eax,%edx + 103a50: 8b 45 e4 mov -0x1c(%ebp),%eax + 103a53: 89 14 85 00 b0 10 00 mov %edx,0x10b000(,%eax,4) + 103a5a: 90 nop + 103a5b: 8b 45 f4 mov -0xc(%ebp),%eax + 103a5e: 2b 05 04 50 10 00 sub 0x105004,%eax + 103a64: 74 05 je 103a6b <set_pt+0x83> + 103a66: e8 1c fe ff ff call 103887 <__stack_chk_fail> + 103a6b: c9 leave + 103a6c: c3 ret + +00103a6d <set_paging>: + 103a6d: 55 push %ebp + 103a6e: 89 e5 mov %esp,%ebp + 103a70: 83 ec 18 sub $0x18,%esp + 103a73: a1 04 50 10 00 mov 0x105004,%eax + 103a78: 89 45 f4 mov %eax,-0xc(%ebp) + 103a7b: 31 c0 xor %eax,%eax + 103a7d: e8 1f ff ff ff call 1039a1 <set_pd> + 103a82: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp) + 103a89: eb 19 jmp 103aa4 <set_paging+0x37> + 103a8b: 8b 45 f0 mov -0x10(%ebp),%eax + 103a8e: c1 e0 16 shl $0x16,%eax + 103a91: 83 ec 08 sub $0x8,%esp + 103a94: 50 push %eax + 103a95: ff 75 f0 push -0x10(%ebp) + 103a98: e8 4b ff ff ff call 1039e8 <set_pt> + 103a9d: 83 c4 10 add $0x10,%esp + 103aa0: 83 45 f0 01 addl $0x1,-0x10(%ebp) + 103aa4: 81 7d f0 ff 03 00 00 cmpl $0x3ff,-0x10(%ebp) + 103aab: 76 de jbe 103a8b <set_paging+0x1e> + 103aad: 83 ec 0c sub $0xc,%esp + 103ab0: 68 00 b0 10 00 push $0x10b000 + 103ab5: e8 18 c8 ff ff call 1002d2 <loadPageDirectory> + 103aba: 83 c4 10 add $0x10,%esp + 103abd: e8 1e c8 ff ff call 1002e0 <enablePaging> + 103ac2: 90 nop + 103ac3: 8b 45 f4 mov -0xc(%ebp),%eax + 103ac6: 2b 05 04 50 10 00 sub 0x105004,%eax + 103acc: 74 05 je 103ad3 <set_paging+0x66> + 103ace: e8 b4 fd ff ff call 103887 <__stack_chk_fail> + 103ad3: c9 leave + 103ad4: c3 ret + 103ad5: 66 90 xchg %ax,%ax + 103ad7: 66 90 xchg %ax,%ax + 103ad9: 66 90 xchg %ax,%ax + 103adb: 66 90 xchg %ax,%ax + 103add: 66 90 xchg %ax,%ax + 103adf: 90 nop + +00103ae0 <__do_global_ctors_aux>: + 103ae0: a1 08 50 10 00 mov 0x105008,%eax + 103ae5: 83 f8 ff cmp $0xffffffff,%eax + 103ae8: 74 36 je 103b20 <__do_global_ctors_aux+0x40> + 103aea: 55 push %ebp + 103aeb: 89 e5 mov %esp,%ebp + 103aed: 53 push %ebx + 103aee: bb 08 50 10 00 mov $0x105008,%ebx + 103af3: 83 ec 04 sub $0x4,%esp + 103af6: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 103afd: 8d 76 00 lea 0x0(%esi),%esi + 103b00: ff d0 call *%eax + 103b02: 8b 43 fc mov -0x4(%ebx),%eax + 103b05: 83 eb 04 sub $0x4,%ebx + 103b08: 83 f8 ff cmp $0xffffffff,%eax + 103b0b: 75 f3 jne 103b00 <__do_global_ctors_aux+0x20> + 103b0d: 8b 5d fc mov -0x4(%ebp),%ebx + 103b10: c9 leave + 103b11: c3 ret + 103b12: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 103b19: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi + 103b20: c3 ret + +Disassembly of section .init: + +00103b21 <_init>: + 103b21: 55 push %ebp + 103b22: 89 e5 mov %esp,%ebp + 103b24: e8 17 c6 ff ff call 100140 <frame_dummy> + 103b29: e8 b2 ff ff ff call 103ae0 <__do_global_ctors_aux> + 103b2e: 5d pop %ebp + 103b2f: c3 ret + +Disassembly of section .fini: + +00103b30 <_fini>: + 103b30: 55 push %ebp + 103b31: 89 e5 mov %esp,%ebp + 103b33: e8 88 c5 ff ff call 1000c0 <__do_global_dtors_aux> + 103b38: 5d pop %ebp + 103b39: c3 ret + +Disassembly of section .rodata: + +00104000 <decimals-0x3c>: + 104000: 25 64 0a 00 25 and $0x25000a64,%eax + 104005: 73 0a jae 104011 <_fini+0x4e1> + 104007: 00 20 add %ah,(%eax) + 104009: 00 0a add %cl,(%edx) + 10400b: 00 25 73 00 25 63 add %ah,0x63250073 + 104011: 00 00 add %al,(%eax) + 104013: 00 77 72 add %dh,0x72(%edi) + 104016: 6f outsl %ds:(%esi),(%dx) + 104017: 6e outsb %ds:(%esi),(%dx) + 104018: 67 20 66 6f and %ah,0x6f(%bp) + 10401c: 72 6d jb 10408b <VGA_HEIGHT+0x37> + 10401e: 61 popa + 10401f: 74 20 je 104041 <decimals+0x5> + 104021: 75 73 jne 104096 <VGA_HEIGHT+0x42> + 104023: 69 6e 67 20 70 72 69 imul $0x69727020,0x67(%esi),%ebp + 10402a: 6e outsb %ds:(%esi),(%dx) + 10402b: 74 20 je 10404d <decimals+0x11> + 10402d: 66 75 6e data16 jne 10409e <VGA_HEIGHT+0x4a> + 104030: 63 74 69 6f arpl %si,0x6f(%ecx,%ebp,2) + 104034: 6e outsb %ds:(%esi),(%dx) + 104035: 0a 00 or (%eax),%al + 104037: 00 30 add %dh,(%eax) + 104039: 00 00 add %al,(%eax) + ... + +0010403c <decimals>: + 10403c: 07 pop %es + 10403d: 00 00 add %al,(%eax) + 10403f: 00 2e add %ch,(%esi) + ... + 10404d: 00 24 40 add %ah,(%eax,%eax,2) + +00104050 <VGA_WIDTH>: + 104050: 50 push %eax + 104051: 00 00 add %al,(%eax) + ... + +00104054 <VGA_HEIGHT>: + 104054: 19 00 sbb %eax,(%eax) + 104056: 00 00 add %al,(%eax) + 104058: 25 73 20 00 0a and $0xa002073,%eax + 10405d: 00 25 73 0a 00 00 add %ah,0xa73 + 104063: 00 46 69 add %al,0x69(%esi) + 104066: 6c insb (%dx),%es:(%edi) + 104067: 65 73 79 gs jae 1040e3 <VGA_HEIGHT+0x8f> + 10406a: 73 74 jae 1040e0 <VGA_HEIGHT+0x8c> + 10406c: 65 6d gs insl (%dx),%es:(%edi) + 10406e: 20 6e 6f and %ch,0x6f(%esi) + 104071: 74 20 je 104093 <VGA_HEIGHT+0x3f> + 104073: 69 6d 70 6c 65 6d 65 imul $0x656d656c,0x70(%ebp),%ebp + 10407a: 6e outsb %ds:(%esi),(%dx) + 10407b: 74 65 je 1040e2 <VGA_HEIGHT+0x8e> + 10407d: 64 20 79 65 and %bh,%fs:0x65(%ecx) + 104081: 74 0a je 10408d <VGA_HEIGHT+0x39> + 104083: 00 50 6c add %dl,0x6c(%eax) + 104086: 65 61 gs popa + 104088: 73 65 jae 1040ef <VGA_HEIGHT+0x9b> + 10408a: 20 65 6e and %ah,0x6e(%ebp) + 10408d: 74 65 je 1040f4 <VGA_HEIGHT+0xa0> + 10408f: 72 20 jb 1040b1 <VGA_HEIGHT+0x5d> + 104091: 61 popa + 104092: 20 6e 75 and %ch,0x75(%esi) + 104095: 6d insl (%dx),%es:(%edi) + 104096: 62 65 72 bound %esp,0x72(%ebp) + 104099: 0a 00 or (%eax),%al + 10409b: 45 inc %ebp + 10409c: 6e outsb %ds:(%esi),(%dx) + 10409d: 74 65 je 104104 <VGA_HEIGHT+0xb0> + 10409f: 72 65 jb 104106 <VGA_HEIGHT+0xb2> + 1040a1: 64 20 69 6e and %ch,%fs:0x6e(%ecx) + 1040a5: 74 65 je 10410c <VGA_HEIGHT+0xb8> + 1040a7: 67 65 72 20 addr16 gs jb 1040cb <VGA_HEIGHT+0x77> + 1040ab: 6e outsb %ds:(%esi),(%dx) + 1040ac: 75 6d jne 10411b <VGA_HEIGHT+0xc7> + 1040ae: 62 65 72 bound %esp,0x72(%ebp) + 1040b1: 20 69 73 and %ch,0x73(%ecx) + 1040b4: 20 25 64 0a 00 45 and %ah,0x45000a64 + 1040ba: 6e outsb %ds:(%esi),(%dx) + 1040bb: 74 65 je 104122 <VGA_HEIGHT+0xce> + 1040bd: 72 65 jb 104124 <VGA_HEIGHT+0xd0> + 1040bf: 64 20 66 6c and %ah,%fs:0x6c(%esi) + 1040c3: 6f outsl %ds:(%esi),(%dx) + 1040c4: 61 popa + 1040c5: 74 20 je 1040e7 <VGA_HEIGHT+0x93> + 1040c7: 6e outsb %ds:(%esi),(%dx) + 1040c8: 75 6d jne 104137 <VGA_HEIGHT+0xe3> + 1040ca: 62 65 72 bound %esp,0x72(%ebp) + 1040cd: 20 69 73 and %ch,0x73(%ecx) + 1040d0: 3a 20 cmp (%eax),%ah + 1040d2: 25 66 0a 00 53 and $0x53000a66,%eax + 1040d7: 79 73 jns 10414c <VGA_HEIGHT+0xf8> + 1040d9: 74 65 je 104140 <VGA_HEIGHT+0xec> + 1040db: 6d insl (%dx),%es:(%edi) + 1040dc: 20 75 70 and %dh,0x70(%ebp) + 1040df: 74 69 je 10414a <VGA_HEIGHT+0xf6> + 1040e1: 6d insl (%dx),%es:(%edi) + 1040e2: 65 20 69 73 and %ch,%gs:0x73(%ecx) + 1040e6: 3a 20 cmp (%eax),%ah + 1040e8: 25 64 20 73 65 and $0x65732064,%eax + 1040ed: 63 6f 6e arpl %bp,0x6e(%edi) + 1040f0: 64 73 0a fs jae 1040fd <VGA_HEIGHT+0xa9> + 1040f3: 00 5b 00 add %bl,0x0(%ebx) + 1040f6: 75 73 jne 10416b <VGA_HEIGHT+0x117> + 1040f8: 65 72 00 gs jb 1040fb <VGA_HEIGHT+0xa7> + 1040fb: 40 inc %eax + 1040fc: 00 6d 79 add %ch,0x79(%ebp) + 1040ff: 6f outsl %ds:(%esi),(%dx) + 104100: 73 00 jae 104102 <VGA_HEIGHT+0xae> + 104102: 5d pop %ebp + 104103: 00 24 20 add %ah,(%eax,%eiz,1) + 104106: 00 20 add %ah,(%eax) + 104108: 20 20 and %ah,(%eax) + 10410a: 20 20 and %ah,(%eax) + 10410c: 20 2e and %ch,(%esi) + 10410e: 20 20 and %ah,(%eax) + 104110: 20 20 and %ah,(%eax) + 104112: 20 20 and %ah,(%eax) + 104114: 20 20 and %ah,(%eax) + 104116: 20 20 and %ah,(%eax) + 104118: 20 20 and %ah,(%eax) + 10411a: 20 20 and %ah,(%eax) + 10411c: 20 20 and %ah,(%eax) + 10411e: 00 44 6f 62 add %al,0x62(%edi,%ebp,2) + 104122: 72 6f jb 104193 <VGA_HEIGHT+0x13f> + 104124: 64 6f outsl %fs:(%esi),(%dx) + 104126: 73 6c jae 104194 <VGA_HEIGHT+0x140> + 104128: 69 20 75 20 6d 6f imul $0x6f6d2075,(%eax),%esp + 10412e: 6a 20 push $0x20 + 104130: 20 20 and %ah,(%eax) + 104132: 20 20 and %ah,(%eax) + 104134: 0a 00 or (%eax),%al + 104136: 20 20 and %ah,(%eax) + 104138: 20 20 and %ah,(%eax) + 10413a: 20 4a 3a and %cl,0x3a(%edx) + 10413d: 4c dec %esp + 10413e: 20 20 and %ah,(%eax) + 104140: 20 20 and %ah,(%eax) + 104142: 28 22 sub %ah,(%edx) + 104144: 22 22 and (%edx),%ah + 104146: 29 20 sub %esp,(%eax) + 104148: 20 20 and %ah,(%eax) + 10414a: 20 20 and %ah,(%eax) + 10414c: 20 00 and %al,(%eax) + 10414e: 6f outsl %ds:(%esi),(%dx) + 10414f: 70 65 jo 1041b6 <VGA_HEIGHT+0x162> + 104151: 72 61 jb 1041b4 <VGA_HEIGHT+0x160> + 104153: 74 69 je 1041be <VGA_HEIGHT+0x16a> + 104155: 76 6e jbe 1041c5 <VGA_HEIGHT+0x171> + 104157: 69 20 73 69 73 74 imul $0x74736973,(%eax),%esp + 10415d: 65 6d gs insl (%dx),%es:(%edi) + 10415f: 20 3a and %bh,(%edx) + 104161: 29 20 sub %esp,(%eax) + 104163: 0a 00 or (%eax),%al + 104165: 20 20 and %ah,(%eax) + 104167: 20 20 and %ah,(%eax) + 104169: 20 7c 3a 7c and %bh,0x7c(%edx,%edi,1) + 10416d: 20 20 and %ah,(%eax) + 10416f: 20 20 and %ah,(%eax) + 104171: 20 49 49 and %cl,0x49(%ecx) + 104174: 49 dec %ecx + 104175: 20 20 and %ah,(%eax) + 104177: 20 20 and %ah,(%eax) + 104179: 20 20 and %ah,(%eax) + 10417b: 20 00 and %al,(%eax) + 10417d: 55 push %ebp + 10417e: 7a 69 jp 1041e9 <VGA_HEIGHT+0x195> + 104180: 76 61 jbe 1041e3 <VGA_HEIGHT+0x18f> + 104182: 6a 74 push $0x74 + 104184: 65 21 20 and %esp,%gs:(%eax) + 104187: 20 20 and %ah,(%eax) + 104189: 20 20 and %ah,(%eax) + 10418b: 20 20 and %ah,(%eax) + 10418d: 20 20 and %ah,(%eax) + 10418f: 20 20 and %ah,(%eax) + 104191: 20 0a and %cl,(%edx) + 104193: 00 20 add %ah,(%eax) + 104195: 20 20 and %ah,(%eax) + 104197: 20 20 and %ah,(%eax) + 104199: 20 20 and %ah,(%eax) + 10419b: 20 20 and %ah,(%eax) + 10419d: 20 20 and %ah,(%eax) + 10419f: 20 20 and %ah,(%eax) + 1041a1: 20 20 and %ah,(%eax) + 1041a3: 20 20 and %ah,(%eax) + 1041a5: 20 20 and %ah,(%eax) + 1041a7: 20 20 and %ah,(%eax) + 1041a9: 0a 00 or (%eax),%al + 1041ab: 57 push %edi + 1041ac: 65 6c gs insb (%dx),%es:(%edi) + 1041ae: 63 6f 6d arpl %bp,0x6d(%edi) + 1041b1: 65 20 74 6f 20 and %dh,%gs:0x20(%edi,%ebp,2) + 1041b6: 6d insl (%dx),%es:(%edi) + 1041b7: 79 20 jns 1041d9 <VGA_HEIGHT+0x185> + 1041b9: 20 20 and %ah,(%eax) + 1041bb: 20 20 and %ah,(%eax) + 1041bd: 20 20 and %ah,(%eax) + 1041bf: 20 0a and %cl,(%edx) + 1041c1: 00 20 add %ah,(%eax) + 1041c3: 20 20 and %ah,(%eax) + 1041c5: 20 20 and %ah,(%eax) + 1041c7: 7c 3a jl 104203 <VGA_HEIGHT+0x1af> + 1041c9: 7c 20 jl 1041eb <VGA_HEIGHT+0x197> + 1041cb: 20 20 and %ah,(%eax) + 1041cd: 5f pop %edi + 1041ce: 5f pop %edi + 1041cf: 49 dec %ecx + 1041d0: 49 dec %ecx + 1041d1: 49 dec %ecx + 1041d2: 5f pop %edi + 1041d3: 5f pop %edi + 1041d4: 20 20 and %ah,(%eax) + 1041d6: 20 20 and %ah,(%eax) + 1041d8: 20 00 and %al,(%eax) + 1041da: 6f outsl %ds:(%esi),(%dx) + 1041db: 70 65 jo 104242 <VGA_HEIGHT+0x1ee> + 1041dd: 72 61 jb 104240 <VGA_HEIGHT+0x1ec> + 1041df: 74 69 je 10424a <VGA_HEIGHT+0x1f6> + 1041e1: 6e outsb %ds:(%esi),(%dx) + 1041e2: 67 20 73 79 and %dh,0x79(%bp,%di) + 1041e6: 73 74 jae 10425c <VGA_HEIGHT+0x208> + 1041e8: 65 6d gs insl (%dx),%es:(%edi) + 1041ea: 20 3a and %bh,(%edx) + 1041ec: 29 20 sub %esp,(%eax) + 1041ee: 20 0a and %cl,(%edx) + 1041f0: 00 20 add %ah,(%eax) + 1041f2: 20 20 and %ah,(%eax) + 1041f4: 20 20 and %ah,(%eax) + 1041f6: 7c 3a jl 104232 <VGA_HEIGHT+0x1de> + 1041f8: 7c 20 jl 10421a <VGA_HEIGHT+0x1c6> + 1041fa: 2f das + 1041fb: 3a 2d 2e 5f 5f 5f cmp 0x5f5f5f2e,%ch + 104201: 2c 2d sub $0x2d,%al + 104203: 3a 5c 20 20 cmp 0x20(%eax,%eiz,1),%bl + 104207: 20 00 and %al,(%eax) + 104209: 45 inc %ebp + 10420a: 6e outsb %ds:(%esi),(%dx) + 10420b: 6a 6f push $0x6f + 10420d: 79 20 jns 10422f <VGA_HEIGHT+0x1db> + 10420f: 79 6f jns 104280 <VGA_HEIGHT+0x22c> + 104211: 75 72 jne 104285 <VGA_HEIGHT+0x231> + 104213: 20 73 74 and %dh,0x74(%ebx) + 104216: 61 popa + 104217: 79 21 jns 10423a <VGA_HEIGHT+0x1e6> + 104219: 20 20 and %ah,(%eax) + 10421b: 20 20 and %ah,(%eax) + 10421d: 20 0a and %cl,(%edx) + 10421f: 00 20 add %ah,(%eax) + 104221: 20 20 and %ah,(%eax) + 104223: 20 20 and %ah,(%eax) + 104225: 7c 3a jl 104261 <VGA_HEIGHT+0x20d> + 104227: 7c 20 jl 104249 <VGA_HEIGHT+0x1f5> + 104229: 5c pop %esp + 10422a: 5d pop %ebp + 10422b: 20 20 and %ah,(%eax) + 10422d: 7c 3a jl 104269 <VGA_HEIGHT+0x215> + 10422f: 7c 20 jl 104251 <VGA_HEIGHT+0x1fd> + 104231: 20 5b 2f and %bl,0x2f(%ebx) + 104234: 20 20 and %ah,(%eax) + 104236: 20 00 and %al,(%eax) + 104238: 20 20 and %ah,(%eax) + 10423a: 20 20 and %ah,(%eax) + 10423c: 20 7c 3a 7c and %bh,0x7c(%edx,%edi,1) + 104240: 20 20 and %ah,(%eax) + 104242: 20 20 and %ah,(%eax) + 104244: 20 7c 3a 7c and %bh,0x7c(%edx,%edi,1) + 104248: 20 20 and %ah,(%eax) + 10424a: 20 20 and %ah,(%eax) + 10424c: 20 20 and %ah,(%eax) + 10424e: 20 00 and %al,(%eax) + 104250: 20 2f and %ch,(%edi) + 104252: 5d pop %ebp + 104253: 20 20 and %ah,(%eax) + 104255: 7c 3a jl 104291 <VGA_HEIGHT+0x23d> + 104257: 7c 20 jl 104279 <VGA_HEIGHT+0x225> + 104259: 20 5b 5c and %bl,0x5c(%ebx) + 10425c: 20 7c 3a 7c and %bh,0x7c(%edx,%edi,1) + 104260: 20 20 and %ah,(%eax) + 104262: 20 20 and %ah,(%eax) + 104264: 20 20 and %ah,(%eax) + 104266: 20 00 and %al,(%eax) + 104268: 20 5c 3a 2d and %bl,0x2d(%edx,%edi,1) + 10426c: 27 daa + 10426d: 22 22 and (%edx),%ah + 10426f: 22 60 2d and 0x2d(%eax),%ah + 104272: 3a 2f cmp (%edi),%ch + 104274: 20 7c 3a 7c and %bh,0x7c(%edx,%edi,1) + 104278: 20 20 and %ah,(%eax) + 10427a: 20 20 and %ah,(%eax) + 10427c: 20 20 and %ah,(%eax) + 10427e: 20 00 and %al,(%eax) + 104280: 20 20 and %ah,(%eax) + 104282: 20 22 and %ah,(%edx) + 104284: 22 49 49 and 0x49(%ecx),%cl + 104287: 49 dec %ecx + 104288: 22 22 and (%edx),%ah + 10428a: 20 20 and %ah,(%eax) + 10428c: 20 7c 3a 7c and %bh,0x7c(%edx,%edi,1) + 104290: 20 20 and %ah,(%eax) + 104292: 20 20 and %ah,(%eax) + 104294: 20 20 and %ah,(%eax) + 104296: 20 00 and %al,(%eax) + 104298: 20 20 and %ah,(%eax) + 10429a: 20 20 and %ah,(%eax) + 10429c: 20 49 49 and %cl,0x49(%ecx) + 10429f: 49 dec %ecx + 1042a0: 20 20 and %ah,(%eax) + 1042a2: 20 20 and %ah,(%eax) + 1042a4: 20 7c 3a 7c and %bh,0x7c(%edx,%edi,1) + 1042a8: 20 20 and %ah,(%eax) + 1042aa: 20 20 and %ah,(%eax) + 1042ac: 20 20 and %ah,(%eax) + 1042ae: 20 00 and %al,(%eax) + 1042b0: 6e outsb %ds:(%esi),(%dx) + 1042b1: 61 popa + 1042b2: 70 72 jo 104326 <VGA_HEIGHT+0x2d2> + 1042b4: 61 popa + 1042b5: 76 69 jbe 104320 <VGA_HEIGHT+0x2cc> + 1042b7: 6f outsl %ds:(%esi),(%dx) + 1042b8: 2f das + 1042b9: 6d insl (%dx),%es:(%edi) + 1042ba: 61 popa + 1042bb: 64 65 20 62 79 fs and %ah,%gs:0x79(%edx) + 1042c0: 3a 20 cmp (%eax),%ah + 1042c2: 20 20 and %ah,(%eax) + 1042c4: 20 0a and %cl,(%edx) + 1042c6: 00 20 add %ah,(%eax) + 1042c8: 20 20 and %ah,(%eax) + 1042ca: 20 28 and %ch,(%eax) + 1042cc: 5f pop %edi + 1042cd: 5f pop %edi + 1042ce: 5f pop %edi + 1042cf: 29 20 sub %esp,(%eax) + 1042d1: 20 20 and %ah,(%eax) + 1042d3: 20 4a 3a and %cl,0x3a(%edx) + 1042d6: 46 inc %esi + 1042d7: 20 20 and %ah,(%eax) + 1042d9: 20 20 and %ah,(%eax) + 1042db: 20 20 and %ah,(%eax) + 1042dd: 20 00 and %al,(%eax) + 1042df: 41 inc %ecx + 1042e0: 6c insb (%dx),%es:(%edi) + 1042e1: 65 6b 73 61 20 imul $0x20,%gs:0x61(%ebx),%esi + 1042e6: 56 push %esi + 1042e7: 75 63 jne 10434c <VGA_HEIGHT+0x2f8> + 1042e9: 6b 6f 76 69 imul $0x69,0x76(%edi),%ebp + 1042ed: 63 20 arpl %sp,(%eax) + 1042ef: 20 20 and %ah,(%eax) + 1042f1: 20 20 and %ah,(%eax) + 1042f3: 20 0a and %cl,(%edx) + 1042f5: 00 20 add %ah,(%eax) + 1042f7: 20 20 and %ah,(%eax) + 1042f9: 20 20 and %ah,(%eax) + 1042fb: 20 20 and %ah,(%eax) + 1042fd: 20 20 and %ah,(%eax) + 1042ff: 20 20 and %ah,(%eax) + 104301: 20 20 and %ah,(%eax) + 104303: 20 22 and %ah,(%edx) + 104305: 20 20 and %ah,(%eax) + 104307: 20 20 and %ah,(%eax) + 104309: 20 20 and %ah,(%eax) + 10430b: 20 20 and %ah,(%eax) + 10430d: 00 20 add %ah,(%eax) + 10430f: 20 00 and %al,(%eax) + 104311: 00 00 add %al,(%eax) + 104313: 00 43 75 add %al,0x75(%ebx) + 104316: 72 72 jb 10438a <VGA_HEIGHT+0x336> + 104318: 65 6e outsb %gs:(%esi),(%dx) + 10431a: 74 6c je 104388 <VGA_HEIGHT+0x334> + 10431c: 79 20 jns 10433e <VGA_HEIGHT+0x2ea> + 10431e: 61 popa + 10431f: 76 61 jbe 104382 <VGA_HEIGHT+0x32e> + 104321: 69 6c 61 62 6c 65 20 imul $0x6320656c,0x62(%ecx,%eiz,2),%ebp + 104328: 63 + 104329: 6f outsl %ds:(%esi),(%dx) + 10432a: 6d insl (%dx),%es:(%edi) + 10432b: 6d insl (%dx),%es:(%edi) + 10432c: 61 popa + 10432d: 6e outsb %ds:(%esi),(%dx) + 10432e: 64 73 3a fs jae 10436b <VGA_HEIGHT+0x317> + 104331: 0a 00 or (%eax),%al + 104333: 00 63 6c add %ah,0x6c(%ebx) + 104336: 65 61 gs popa + 104338: 72 20 jb 10435a <VGA_HEIGHT+0x306> + 10433a: 65 63 68 6f arpl %bp,%gs:0x6f(%eax) + 10433e: 20 6d 65 and %ch,0x65(%ebp) + 104341: 72 67 jb 1043aa <VGA_HEIGHT+0x356> + 104343: 65 20 6c 73 20 and %ch,%gs:0x20(%ebx,%esi,2) + 104348: 6e outsb %ds:(%esi),(%dx) + 104349: 75 6d jne 1043b8 <VGA_HEIGHT+0x8> + 10434b: 62 65 72 bound %esp,0x72(%ebp) + 10434e: 20 75 70 and %dh,0x70(%ebp) + 104351: 74 69 je 1043bc <VGA_HEIGHT+0xc> + 104353: 6d insl (%dx),%es:(%edi) + 104354: 65 20 6e 65 and %ch,%gs:0x65(%esi) + 104358: 6f outsl %ds:(%esi),(%dx) + 104359: 66 65 74 63 data16 gs je 1043c0 <VGA_HEIGHT+0x10> + 10435d: 68 20 68 65 6c push $0x6c656820 + 104362: 70 0a jo 10436e <VGA_HEIGHT+0x31a> + 104364: 00 63 6c add %ah,0x6c(%ebx) + 104367: 65 61 gs popa + 104369: 72 00 jb 10436b <VGA_HEIGHT+0x317> + 10436b: 65 63 68 6f arpl %bp,%gs:0x6f(%eax) + 10436f: 00 6d 65 add %ch,0x65(%ebp) + 104372: 72 67 jb 1043db <VGA_HEIGHT+0x2b> + 104374: 65 00 6c 73 00 add %ch,%gs:0x0(%ebx,%esi,2) + 104379: 6e outsb %ds:(%esi),(%dx) + 10437a: 75 6d jne 1043e9 <VGA_HEIGHT+0x39> + 10437c: 62 65 72 bound %esp,0x72(%ebp) + 10437f: 00 75 70 add %dh,0x70(%ebp) + 104382: 74 69 je 1043ed <VGA_HEIGHT+0x3d> + 104384: 6d insl (%dx),%es:(%edi) + 104385: 65 00 6e 65 add %ch,%gs:0x65(%esi) + 104389: 6f outsl %ds:(%esi),(%dx) + 10438a: 66 65 74 63 data16 gs je 1043f1 <VGA_HEIGHT+0x41> + 10438e: 68 00 68 65 6c push $0x6c656800 + 104393: 70 00 jo 104395 <VGA_HEIGHT+0x341> + 104395: 63 6f 6d arpl %bp,0x6d(%edi) + 104398: 6d insl (%dx),%es:(%edi) + 104399: 61 popa + 10439a: 6e outsb %ds:(%esi),(%dx) + 10439b: 64 20 6e 6f and %ch,%fs:0x6f(%esi) + 10439f: 74 20 je 1043c1 <VGA_HEIGHT+0x11> + 1043a1: 66 6f outsw %ds:(%esi),(%dx) + 1043a3: 75 6e jne 104413 <VGA_HEIGHT+0x63> + 1043a5: 64 3a 20 cmp %fs:(%eax),%ah + 1043a8: 25 73 0a 00 and $0x50000a73,%eax + +001043ac <VGA_WIDTH>: + 1043ac: 50 push %eax + 1043ad: 00 00 add %al,(%eax) + ... + +001043b0 <VGA_HEIGHT>: + 1043b0: 19 00 sbb %eax,(%eax) + 1043b2: 00 00 add %al,(%eax) + 1043b4: 49 dec %ecx + 1043b5: 6e outsb %ds:(%esi),(%dx) + 1043b6: 74 65 je 10441d <VGA_HEIGHT+0x6d> + 1043b8: 72 72 jb 10442c <VGA_HEIGHT+0x7c> + 1043ba: 75 70 jne 10442c <VGA_HEIGHT+0x7c> + 1043bc: 74 20 je 1043de <VGA_HEIGHT+0x2e> + 1043be: 30 2e xor %ch,(%esi) + 1043c0: 0a 00 or (%eax),%al + 1043c2: 44 inc %esp + 1043c3: 69 76 69 64 65 2d 62 imul $0x622d6564,0x69(%esi),%esi + 1043ca: 79 2d jns 1043f9 <VGA_HEIGHT+0x49> + 1043cc: 7a 65 jp 104433 <VGA_HEIGHT+0x83> + 1043ce: 72 6f jb 10443f <VGA_HEIGHT+0x8f> + 1043d0: 20 45 72 and %al,0x72(%ebp) + 1043d3: 72 6f jb 104444 <VGA_HEIGHT+0x94> + 1043d5: 72 0a jb 1043e1 <VGA_HEIGHT+0x31> + 1043d7: 00 49 6e add %cl,0x6e(%ecx) + 1043da: 74 65 je 104441 <VGA_HEIGHT+0x91> + 1043dc: 72 72 jb 104450 <VGA_HEIGHT+0xa0> + 1043de: 75 70 jne 104450 <VGA_HEIGHT+0xa0> + 1043e0: 74 20 je 104402 <VGA_HEIGHT+0x52> + 1043e2: 31 2e xor %ebp,(%esi) + 1043e4: 0a 00 or (%eax),%al + 1043e6: 44 inc %esp + 1043e7: 65 62 75 67 bound %esi,%gs:0x67(%ebp) + 1043eb: 0a 00 or (%eax),%al + 1043ed: 49 dec %ecx + 1043ee: 6e outsb %ds:(%esi),(%dx) + 1043ef: 74 65 je 104456 <VGA_HEIGHT+0xa6> + 1043f1: 72 72 jb 104465 <VGA_HEIGHT+0xb5> + 1043f3: 75 70 jne 104465 <VGA_HEIGHT+0xb5> + 1043f5: 74 20 je 104417 <VGA_HEIGHT+0x67> + 1043f7: 32 2e xor (%esi),%ch + 1043f9: 0a 00 or (%eax),%al + 1043fb: 4e dec %esi + 1043fc: 6f outsl %ds:(%esi),(%dx) + 1043fd: 6e outsb %ds:(%esi),(%dx) + 1043fe: 2d 6d 61 73 6b sub $0x6b73616d,%eax + 104403: 61 popa + 104404: 62 6c 65 20 bound %ebp,0x20(%ebp,%eiz,2) + 104408: 49 dec %ecx + 104409: 6e outsb %ds:(%esi),(%dx) + 10440a: 74 65 je 104471 <VGA_HEIGHT+0xc1> + 10440c: 72 72 jb 104480 <VGA_HEIGHT+0xd0> + 10440e: 75 70 jne 104480 <VGA_HEIGHT+0xd0> + 104410: 74 0a je 10441c <VGA_HEIGHT+0x6c> + 104412: 00 49 6e add %cl,0x6e(%ecx) + 104415: 74 65 je 10447c <VGA_HEIGHT+0xcc> + 104417: 72 72 jb 10448b <VGA_HEIGHT+0xdb> + 104419: 75 70 jne 10448b <VGA_HEIGHT+0xdb> + 10441b: 74 20 je 10443d <VGA_HEIGHT+0x8d> + 10441d: 33 2e xor (%esi),%ebp + 10441f: 0a 00 or (%eax),%al + 104421: 42 inc %edx + 104422: 72 65 jb 104489 <VGA_HEIGHT+0xd9> + 104424: 61 popa + 104425: 6b 70 6f 69 imul $0x69,0x6f(%eax),%esi + 104429: 6e outsb %ds:(%esi),(%dx) + 10442a: 74 0a je 104436 <VGA_HEIGHT+0x86> + 10442c: 00 49 6e add %cl,0x6e(%ecx) + 10442f: 74 65 je 104496 <VGA_HEIGHT+0xe6> + 104431: 72 72 jb 1044a5 <VGA_HEIGHT+0xf5> + 104433: 75 70 jne 1044a5 <VGA_HEIGHT+0xf5> + 104435: 74 20 je 104457 <VGA_HEIGHT+0xa7> + 104437: 34 2e xor $0x2e,%al + 104439: 0a 00 or (%eax),%al + 10443b: 4f dec %edi + 10443c: 76 65 jbe 1044a3 <VGA_HEIGHT+0xf3> + 10443e: 72 66 jb 1044a6 <VGA_HEIGHT+0xf6> + 104440: 6c insb (%dx),%es:(%edi) + 104441: 6f outsl %ds:(%esi),(%dx) + 104442: 77 0a ja 10444e <VGA_HEIGHT+0x9e> + 104444: 00 49 6e add %cl,0x6e(%ecx) + 104447: 74 65 je 1044ae <VGA_HEIGHT+0xfe> + 104449: 72 72 jb 1044bd <VGA_HEIGHT+0x10d> + 10444b: 75 70 jne 1044bd <VGA_HEIGHT+0x10d> + 10444d: 74 20 je 10446f <VGA_HEIGHT+0xbf> + 10444f: 35 2e 0a 00 42 xor $0x42000a2e,%eax + 104454: 6f outsl %ds:(%esi),(%dx) + 104455: 75 6e jne 1044c5 <VGA_HEIGHT+0x115> + 104457: 64 20 52 61 and %dl,%fs:0x61(%edx) + 10445b: 6e outsb %ds:(%esi),(%dx) + 10445c: 67 65 20 45 78 and %al,%gs:0x78(%di) + 104461: 63 65 65 arpl %sp,0x65(%ebp) + 104464: 64 65 64 0a 00 fs gs or %fs:(%eax),%al + 104469: 49 dec %ecx + 10446a: 6e outsb %ds:(%esi),(%dx) + 10446b: 74 65 je 1044d2 <VGA_HEIGHT+0x122> + 10446d: 72 72 jb 1044e1 <VGA_HEIGHT+0x131> + 10446f: 75 70 jne 1044e1 <VGA_HEIGHT+0x131> + 104471: 74 20 je 104493 <VGA_HEIGHT+0xe3> + 104473: 36 2e 0a 00 ss or %cs:(%eax),%al + 104477: 49 dec %ecx + 104478: 6e outsb %ds:(%esi),(%dx) + 104479: 76 61 jbe 1044dc <VGA_HEIGHT+0x12c> + 10447b: 6c insb (%dx),%es:(%edi) + 10447c: 69 64 20 4f 70 63 6f imul $0x646f6370,0x4f(%eax,%eiz,1),%esp + 104483: 64 + 104484: 65 0a 00 or %gs:(%eax),%al + 104487: 49 dec %ecx + 104488: 6e outsb %ds:(%esi),(%dx) + 104489: 74 65 je 1044f0 <VGA_HEIGHT+0x140> + 10448b: 72 72 jb 1044ff <VGA_HEIGHT+0x14f> + 10448d: 75 70 jne 1044ff <VGA_HEIGHT+0x14f> + 10448f: 74 20 je 1044b1 <VGA_HEIGHT+0x101> + 104491: 37 aaa + 104492: 2e 0a 00 or %cs:(%eax),%al + 104495: 44 inc %esp + 104496: 65 76 69 gs jbe 104502 <VGA_HEIGHT+0x152> + 104499: 63 65 20 arpl %sp,0x20(%ebp) + 10449c: 4e dec %esi + 10449d: 6f outsl %ds:(%esi),(%dx) + 10449e: 74 20 je 1044c0 <VGA_HEIGHT+0x110> + 1044a0: 41 inc %ecx + 1044a1: 76 61 jbe 104504 <VGA_HEIGHT+0x154> + 1044a3: 69 6c 61 62 6c 65 0a imul $0xa656c,0x62(%ecx,%eiz,2),%ebp + 1044aa: 00 + 1044ab: 49 dec %ecx + 1044ac: 6e outsb %ds:(%esi),(%dx) + 1044ad: 74 65 je 104514 <VGA_HEIGHT+0x164> + 1044af: 72 72 jb 104523 <VGA_HEIGHT+0x173> + 1044b1: 75 70 jne 104523 <VGA_HEIGHT+0x173> + 1044b3: 74 20 je 1044d5 <VGA_HEIGHT+0x125> + 1044b5: 38 2e cmp %ch,(%esi) + 1044b7: 0a 00 or (%eax),%al + 1044b9: 44 inc %esp + 1044ba: 6f outsl %ds:(%esi),(%dx) + 1044bb: 75 62 jne 10451f <VGA_HEIGHT+0x16f> + 1044bd: 6c insb (%dx),%es:(%edi) + 1044be: 65 20 46 61 and %al,%gs:0x61(%esi) + 1044c2: 75 6c jne 104530 <VGA_HEIGHT+0x180> + 1044c4: 74 0a je 1044d0 <VGA_HEIGHT+0x120> + 1044c6: 00 49 6e add %cl,0x6e(%ecx) + 1044c9: 74 65 je 104530 <VGA_HEIGHT+0x180> + 1044cb: 72 72 jb 10453f <VGA_HEIGHT+0x18f> + 1044cd: 75 70 jne 10453f <VGA_HEIGHT+0x18f> + 1044cf: 74 20 je 1044f1 <VGA_HEIGHT+0x141> + 1044d1: 39 2e cmp %ebp,(%esi) + 1044d3: 0a 00 or (%eax),%al + 1044d5: 43 inc %ebx + 1044d6: 6f outsl %ds:(%esi),(%dx) + 1044d7: 70 72 jo 10454b <VGA_HEIGHT+0x19b> + 1044d9: 6f outsl %ds:(%esi),(%dx) + 1044da: 63 65 73 arpl %sp,0x73(%ebp) + 1044dd: 73 6f jae 10454e <VGA_HEIGHT+0x19e> + 1044df: 72 20 jb 104501 <VGA_HEIGHT+0x151> + 1044e1: 53 push %ebx + 1044e2: 65 67 6d gs insl (%dx),%es:(%di) + 1044e5: 65 6e outsb %gs:(%esi),(%dx) + 1044e7: 74 20 je 104509 <VGA_HEIGHT+0x159> + 1044e9: 4f dec %edi + 1044ea: 76 65 jbe 104551 <VGA_HEIGHT+0x1a1> + 1044ec: 72 72 jb 104560 <VGA_HEIGHT+0x1b0> + 1044ee: 75 6e jne 10455e <VGA_HEIGHT+0x1ae> + 1044f0: 0a 00 or (%eax),%al + 1044f2: 49 dec %ecx + 1044f3: 6e outsb %ds:(%esi),(%dx) + 1044f4: 74 65 je 10455b <VGA_HEIGHT+0x1ab> + 1044f6: 72 72 jb 10456a <VGA_HEIGHT+0x1ba> + 1044f8: 75 70 jne 10456a <VGA_HEIGHT+0x1ba> + 1044fa: 74 20 je 10451c <VGA_HEIGHT+0x16c> + 1044fc: 31 30 xor %esi,(%eax) + 1044fe: 2e 0a 00 or %cs:(%eax),%al + 104501: 49 dec %ecx + 104502: 6e outsb %ds:(%esi),(%dx) + 104503: 76 61 jbe 104566 <VGA_HEIGHT+0x1b6> + 104505: 6c insb (%dx),%es:(%edi) + 104506: 69 64 20 54 53 53 0a imul $0xa5353,0x54(%eax,%eiz,1),%esp + 10450d: 00 + 10450e: 49 dec %ecx + 10450f: 6e outsb %ds:(%esi),(%dx) + 104510: 74 65 je 104577 <VGA_HEIGHT+0x1c7> + 104512: 72 72 jb 104586 <VGA_HEIGHT+0x1d6> + 104514: 75 70 jne 104586 <VGA_HEIGHT+0x1d6> + 104516: 74 20 je 104538 <VGA_HEIGHT+0x188> + 104518: 31 31 xor %esi,(%ecx) + 10451a: 2e 0a 00 or %cs:(%eax),%al + 10451d: 53 push %ebx + 10451e: 65 67 6d gs insl (%dx),%es:(%di) + 104521: 65 6e outsb %gs:(%esi),(%dx) + 104523: 74 20 je 104545 <VGA_HEIGHT+0x195> + 104525: 4e dec %esi + 104526: 6f outsl %ds:(%esi),(%dx) + 104527: 74 20 je 104549 <VGA_HEIGHT+0x199> + 104529: 50 push %eax + 10452a: 72 65 jb 104591 <VGA_HEIGHT+0x1e1> + 10452c: 73 65 jae 104593 <VGA_HEIGHT+0x1e3> + 10452e: 6e outsb %ds:(%esi),(%dx) + 10452f: 74 0a je 10453b <VGA_HEIGHT+0x18b> + 104531: 00 49 6e add %cl,0x6e(%ecx) + 104534: 74 65 je 10459b <VGA_HEIGHT+0x1eb> + 104536: 72 72 jb 1045aa <VGA_HEIGHT+0x1fa> + 104538: 75 70 jne 1045aa <VGA_HEIGHT+0x1fa> + 10453a: 74 20 je 10455c <VGA_HEIGHT+0x1ac> + 10453c: 31 32 xor %esi,(%edx) + 10453e: 2e 0a 00 or %cs:(%eax),%al + 104541: 53 push %ebx + 104542: 74 61 je 1045a5 <VGA_HEIGHT+0x1f5> + 104544: 63 6b 2d arpl %bp,0x2d(%ebx) + 104547: 53 push %ebx + 104548: 65 67 6d gs insl (%dx),%es:(%di) + 10454b: 65 6e outsb %gs:(%esi),(%dx) + 10454d: 74 20 je 10456f <VGA_HEIGHT+0x1bf> + 10454f: 46 inc %esi + 104550: 61 popa + 104551: 75 6c jne 1045bf <VGA_HEIGHT+0x20f> + 104553: 74 0a je 10455f <VGA_HEIGHT+0x1af> + 104555: 00 49 6e add %cl,0x6e(%ecx) + 104558: 74 65 je 1045bf <VGA_HEIGHT+0x20f> + 10455a: 72 72 jb 1045ce <VGA_HEIGHT+0x21e> + 10455c: 75 70 jne 1045ce <VGA_HEIGHT+0x21e> + 10455e: 74 20 je 104580 <VGA_HEIGHT+0x1d0> + 104560: 31 33 xor %esi,(%ebx) + 104562: 2e 0a 00 or %cs:(%eax),%al + 104565: 47 inc %edi + 104566: 65 6e outsb %gs:(%esi),(%dx) + 104568: 65 72 61 gs jb 1045cc <VGA_HEIGHT+0x21c> + 10456b: 6c insb (%dx),%es:(%edi) + 10456c: 20 50 72 and %dl,0x72(%eax) + 10456f: 6f outsl %ds:(%esi),(%dx) + 104570: 74 65 je 1045d7 <VGA_HEIGHT+0x227> + 104572: 63 74 69 6f arpl %si,0x6f(%ecx,%ebp,2) + 104576: 6e outsb %ds:(%esi),(%dx) + 104577: 20 46 61 and %al,0x61(%esi) + 10457a: 75 6c jne 1045e8 <VGA_HEIGHT+0x238> + 10457c: 74 0a je 104588 <VGA_HEIGHT+0x1d8> + 10457e: 00 49 6e add %cl,0x6e(%ecx) + 104581: 74 65 je 1045e8 <VGA_HEIGHT+0x238> + 104583: 72 72 jb 1045f7 <VGA_HEIGHT+0x247> + 104585: 75 70 jne 1045f7 <VGA_HEIGHT+0x247> + 104587: 74 20 je 1045a9 <VGA_HEIGHT+0x1f9> + 104589: 31 34 2e xor %esi,(%esi,%ebp,1) + 10458c: 0a 00 or (%eax),%al + 10458e: 50 push %eax + 10458f: 61 popa + 104590: 67 65 20 46 61 and %al,%gs:0x61(%bp) + 104595: 75 6c jne 104603 <VGA_HEIGHT+0x253> + 104597: 74 0a je 1045a3 <VGA_HEIGHT+0x1f3> + 104599: 00 49 6e add %cl,0x6e(%ecx) + 10459c: 74 65 je 104603 <VGA_HEIGHT+0x253> + 10459e: 72 72 jb 104612 <VGA_HEIGHT+0x262> + 1045a0: 75 70 jne 104612 <VGA_HEIGHT+0x262> + 1045a2: 74 20 je 1045c4 <VGA_HEIGHT+0x214> + 1045a4: 31 35 2e 0a 00 52 xor %esi,0x52000a2e + 1045aa: 65 73 65 gs jae 104612 <VGA_HEIGHT+0x262> + 1045ad: 72 76 jb 104625 <VGA_HEIGHT+0x275> + 1045af: 65 64 0a 00 gs or %fs:(%eax),%al + 1045b3: 49 dec %ecx + 1045b4: 6e outsb %ds:(%esi),(%dx) + 1045b5: 74 65 je 10461c <VGA_HEIGHT+0x26c> + 1045b7: 72 72 jb 10462b <VGA_HEIGHT+0x27b> + 1045b9: 75 70 jne 10462b <VGA_HEIGHT+0x27b> + 1045bb: 74 20 je 1045dd <VGA_HEIGHT+0x22d> + 1045bd: 31 36 xor %esi,(%esi) + 1045bf: 2e 0a 00 or %cs:(%eax),%al + 1045c2: 78 38 js 1045fc <VGA_HEIGHT+0x24c> + 1045c4: 37 aaa + 1045c5: 20 46 6c and %al,0x6c(%esi) + 1045c8: 6f outsl %ds:(%esi),(%dx) + 1045c9: 61 popa + 1045ca: 74 69 je 104635 <VGA_HEIGHT+0x285> + 1045cc: 6e outsb %ds:(%esi),(%dx) + 1045cd: 67 2d 50 6f 69 6e addr16 sub $0x6e696f50,%eax + 1045d3: 74 20 je 1045f5 <VGA_HEIGHT+0x245> + 1045d5: 45 inc %ebp + 1045d6: 78 63 js 10463b <VGA_HEIGHT+0x28b> + 1045d8: 65 70 74 gs jo 10464f <VGA_HEIGHT+0x29f> + 1045db: 69 6f 6e 0a 00 49 6e imul $0x6e49000a,0x6e(%edi),%ebp + 1045e2: 74 65 je 104649 <VGA_HEIGHT+0x299> + 1045e4: 72 72 jb 104658 <VGA_HEIGHT+0x2a8> + 1045e6: 75 70 jne 104658 <VGA_HEIGHT+0x2a8> + 1045e8: 74 20 je 10460a <VGA_HEIGHT+0x25a> + 1045ea: 31 37 xor %esi,(%edi) + 1045ec: 2e 0a 00 or %cs:(%eax),%al + 1045ef: 41 inc %ecx + 1045f0: 6c insb (%dx),%es:(%edi) + 1045f1: 69 67 6e 6d 65 6e 74 imul $0x746e656d,0x6e(%edi),%esp + 1045f8: 20 43 68 and %al,0x68(%ebx) + 1045fb: 65 63 6b 0a arpl %bp,%gs:0xa(%ebx) + 1045ff: 00 49 6e add %cl,0x6e(%ecx) + 104602: 74 65 je 104669 <VGA_HEIGHT+0x2b9> + 104604: 72 72 jb 104678 <VGA_HEIGHT+0x2c8> + 104606: 75 70 jne 104678 <VGA_HEIGHT+0x2c8> + 104608: 74 20 je 10462a <VGA_HEIGHT+0x27a> + 10460a: 31 38 xor %edi,(%eax) + 10460c: 2e 0a 00 or %cs:(%eax),%al + 10460f: 4d dec %ebp + 104610: 61 popa + 104611: 63 68 69 arpl %bp,0x69(%eax) + 104614: 6e outsb %ds:(%esi),(%dx) + 104615: 65 20 43 68 and %al,%gs:0x68(%ebx) + 104619: 65 63 6b 0a arpl %bp,%gs:0xa(%ebx) + 10461d: 00 49 6e add %cl,0x6e(%ecx) + 104620: 74 65 je 104687 <VGA_HEIGHT+0x2d7> + 104622: 72 72 jb 104696 <VGA_HEIGHT+0x2e6> + 104624: 75 70 jne 104696 <VGA_HEIGHT+0x2e6> + 104626: 74 20 je 104648 <VGA_HEIGHT+0x298> + 104628: 31 39 xor %edi,(%ecx) + 10462a: 2e 0a 00 or %cs:(%eax),%al + 10462d: 00 00 add %al,(%eax) + 10462f: 00 53 49 add %dl,0x49(%ebx) + 104632: 4d dec %ebp + 104633: 44 inc %esp + 104634: 20 46 6c and %al,0x6c(%esi) + 104637: 6f outsl %ds:(%esi),(%dx) + 104638: 61 popa + 104639: 74 69 je 1046a4 <VGA_HEIGHT+0x2f4> + 10463b: 6e outsb %ds:(%esi),(%dx) + 10463c: 67 2d 50 6f 69 6e addr16 sub $0x6e696f50,%eax + 104642: 74 20 je 104664 <VGA_HEIGHT+0x2b4> + 104644: 45 inc %ebp + 104645: 78 63 js 1046aa <VGA_HEIGHT+0x2fa> + 104647: 65 70 74 gs jo 1046be <VGA_HEIGHT+0x30e> + 10464a: 69 6f 6e 4d 2f 23 58 imul $0x58232f4d,0x6e(%edi),%ebp + 104651: 46 inc %esi + 104652: 0a 00 or (%eax),%al + 104654: 49 dec %ecx + 104655: 6e outsb %ds:(%esi),(%dx) + 104656: 74 65 je 1046bd <VGA_HEIGHT+0x30d> + 104658: 72 72 jb 1046cc <VGA_HEIGHT+0x31c> + 10465a: 75 70 jne 1046cc <VGA_HEIGHT+0x31c> + 10465c: 74 20 je 10467e <VGA_HEIGHT+0x2ce> + 10465e: 32 30 xor (%eax),%dh + 104660: 2e 0a 00 or %cs:(%eax),%al + 104663: 56 push %esi + 104664: 69 72 74 75 61 6c 69 imul $0x696c6175,0x74(%edx),%esi + 10466b: 7a 61 jp 1046ce <VGA_HEIGHT+0x31e> + 10466d: 74 69 je 1046d8 <VGA_HEIGHT+0x328> + 10466f: 6f outsl %ds:(%esi),(%dx) + 104670: 6e outsb %ds:(%esi),(%dx) + 104671: 20 45 78 and %al,0x78(%ebp) + 104674: 63 65 70 arpl %sp,0x70(%ebp) + 104677: 74 69 je 1046e2 <VGA_HEIGHT+0x332> + 104679: 6f outsl %ds:(%esi),(%dx) + 10467a: 6e outsb %ds:(%esi),(%dx) + 10467b: 0a 00 or (%eax),%al + 10467d: 49 dec %ecx + 10467e: 6e outsb %ds:(%esi),(%dx) + 10467f: 74 65 je 1046e6 <VGA_HEIGHT+0x336> + 104681: 72 72 jb 1046f5 <VGA_HEIGHT+0x345> + 104683: 75 70 jne 1046f5 <VGA_HEIGHT+0x345> + 104685: 74 20 je 1046a7 <VGA_HEIGHT+0x2f7> + 104687: 32 31 xor (%ecx),%dh + 104689: 2e 0a 00 or %cs:(%eax),%al + 10468c: 49 dec %ecx + 10468d: 6e outsb %ds:(%esi),(%dx) + 10468e: 74 65 je 1046f5 <VGA_HEIGHT+0x345> + 104690: 72 72 jb 104704 <VGA_HEIGHT+0x354> + 104692: 75 70 jne 104704 <VGA_HEIGHT+0x354> + 104694: 74 20 je 1046b6 <VGA_HEIGHT+0x306> + 104696: 32 32 xor (%edx),%dh + 104698: 2e 0a 00 or %cs:(%eax),%al + 10469b: 49 dec %ecx + 10469c: 6e outsb %ds:(%esi),(%dx) + 10469d: 74 65 je 104704 <VGA_HEIGHT+0x354> + 10469f: 72 72 jb 104713 <VGA_HEIGHT+0x363> + 1046a1: 75 70 jne 104713 <VGA_HEIGHT+0x363> + 1046a3: 74 20 je 1046c5 <VGA_HEIGHT+0x315> + 1046a5: 32 33 xor (%ebx),%dh + 1046a7: 2e 0a 00 or %cs:(%eax),%al + 1046aa: 49 dec %ecx + 1046ab: 6e outsb %ds:(%esi),(%dx) + 1046ac: 74 65 je 104713 <VGA_HEIGHT+0x363> + 1046ae: 72 72 jb 104722 <VGA_HEIGHT+0x372> + 1046b0: 75 70 jne 104722 <VGA_HEIGHT+0x372> + 1046b2: 74 20 je 1046d4 <VGA_HEIGHT+0x324> + 1046b4: 32 34 2e xor (%esi,%ebp,1),%dh + 1046b7: 0a 00 or (%eax),%al + 1046b9: 49 dec %ecx + 1046ba: 6e outsb %ds:(%esi),(%dx) + 1046bb: 74 65 je 104722 <VGA_HEIGHT+0x372> + 1046bd: 72 72 jb 104731 <VGA_HEIGHT+0x381> + 1046bf: 75 70 jne 104731 <VGA_HEIGHT+0x381> + 1046c1: 74 20 je 1046e3 <VGA_HEIGHT+0x333> + 1046c3: 32 35 2e 0a 00 49 xor 0x49000a2e,%dh + 1046c9: 6e outsb %ds:(%esi),(%dx) + 1046ca: 74 65 je 104731 <VGA_HEIGHT+0x381> + 1046cc: 72 72 jb 104740 <__FRAME_END__+0x4> + 1046ce: 75 70 jne 104740 <__FRAME_END__+0x4> + 1046d0: 74 20 je 1046f2 <VGA_HEIGHT+0x342> + 1046d2: 32 36 xor (%esi),%dh + 1046d4: 2e 0a 00 or %cs:(%eax),%al + 1046d7: 49 dec %ecx + 1046d8: 6e outsb %ds:(%esi),(%dx) + 1046d9: 74 65 je 104740 <__FRAME_END__+0x4> + 1046db: 72 72 jb 10474f <__FRAME_END__+0x13> + 1046dd: 75 70 jne 10474f <__FRAME_END__+0x13> + 1046df: 74 20 je 104701 <VGA_HEIGHT+0x351> + 1046e1: 32 37 xor (%edi),%dh + 1046e3: 2e 0a 00 or %cs:(%eax),%al + 1046e6: 49 dec %ecx + 1046e7: 6e outsb %ds:(%esi),(%dx) + 1046e8: 74 65 je 10474f <__FRAME_END__+0x13> + 1046ea: 72 72 jb 10475e <__FRAME_END__+0x22> + 1046ec: 75 70 jne 10475e <__FRAME_END__+0x22> + 1046ee: 74 20 je 104710 <VGA_HEIGHT+0x360> + 1046f0: 32 38 xor (%eax),%bh + 1046f2: 2e 0a 00 or %cs:(%eax),%al + 1046f5: 49 dec %ecx + 1046f6: 6e outsb %ds:(%esi),(%dx) + 1046f7: 74 65 je 10475e <__FRAME_END__+0x22> + 1046f9: 72 72 jb 10476d <__FRAME_END__+0x31> + 1046fb: 75 70 jne 10476d <__FRAME_END__+0x31> + 1046fd: 74 20 je 10471f <VGA_HEIGHT+0x36f> + 1046ff: 32 39 xor (%ecx),%bh + 104701: 2e 0a 00 or %cs:(%eax),%al + 104704: 49 dec %ecx + 104705: 6e outsb %ds:(%esi),(%dx) + 104706: 74 65 je 10476d <__FRAME_END__+0x31> + 104708: 72 72 jb 10477c <__FRAME_END__+0x40> + 10470a: 75 70 jne 10477c <__FRAME_END__+0x40> + 10470c: 74 20 je 10472e <VGA_HEIGHT+0x37e> + 10470e: 33 30 xor (%eax),%esi + 104710: 2e 0a 00 or %cs:(%eax),%al + 104713: 53 push %ebx + 104714: 65 63 75 72 arpl %si,%gs:0x72(%ebp) + 104718: 69 74 79 20 45 78 63 imul $0x65637845,0x20(%ecx,%edi,2),%esi + 10471f: 65 + 104720: 70 74 jo 104796 <__FRAME_END__+0x5a> + 104722: 69 6f 6e 0a 00 49 6e imul $0x6e49000a,0x6e(%edi),%ebp + 104729: 74 65 je 104790 <__FRAME_END__+0x54> + 10472b: 72 72 jb 10479f <__FRAME_END__+0x63> + 10472d: 75 70 jne 10479f <__FRAME_END__+0x63> + 10472f: 74 20 je 104751 <__FRAME_END__+0x15> + 104731: 33 31 xor (%ecx),%esi + 104733: 2e 0a 00 or %cs:(%eax),%al + ... + +00104738 <TICKS_PER_SECOND>: + 104738: 32 00 xor (%eax),%al + ... + +Disassembly of section .eh_frame: + +0010473c <__FRAME_END__>: + 10473c: 00 00 add %al,(%eax) + ... + +Disassembly of section .data: + +00105000 <__dso_handle>: + 105000: 00 00 add %al,(%eax) + ... + +00105004 <__stack_chk_guard>: + 105004: 96 xchg %eax,%esi + 105005: e3 de jecxz 104fe5 <__FRAME_END__+0x8a9> + 105007: e2 .byte 0xe2 + +Disassembly of section .ctors: + +00105008 <__CTOR_LIST__>: + 105008: ff (bad) + 105009: ff (bad) + 10500a: ff (bad) + 10500b: ff incl (%eax) + +0010500c <__CTOR_END__>: + 10500c: 00 00 add %al,(%eax) + ... + +Disassembly of section .dtors: + +00105010 <__DTOR_LIST__>: + 105010: ff (bad) + 105011: ff (bad) + 105012: ff (bad) + 105013: ff incl (%eax) + +00105014 <__DTOR_END__>: + 105014: 00 00 add %al,(%eax) + ... + +Disassembly of section .bss: + +00106000 <completed.2>: + 106000: 00 00 add %al,(%eax) + ... + +00106004 <dtor_idx.1>: + 106004: 00 00 add %al,(%eax) + ... + +00106008 <object.0>: + ... + +00106020 <stack_bottom>: + ... + +0010a020 <gdt>: + ... + +0010a048 <gdtp>: + ... + +0010a050 <kheap>: + ... + +0010a060 <idt>: + ... + +0010a860 <idtp>: + ... + +0010a880 <buffer>: + ... + +0010a948 <buffer_index>: + ... + +0010a960 <charcode>: + ... + +0010aa60 <ispressed>: + ... + +0010aae0 <terminal_row>: + 10aae0: 00 00 add %al,(%eax) + ... + +0010aae4 <terminal_column>: + 10aae4: 00 00 add %al,(%eax) + ... + +0010aae8 <terminal_color>: + 10aae8: 00 00 add %al,(%eax) + ... + +0010aaec <terminal_buffer>: + 10aaec: 00 00 add %al,(%eax) + ... + +0010aaf0 <tick>: + 10aaf0: 00 00 add %al,(%eax) + ... + +0010aaf4 <time>: + ... + +0010b000 <page_directory>: + ... + +0010c000 <page_table>: + ... + +Disassembly of section .comment: + +00000000 <.comment>: + 0: 47 inc %edi + 1: 43 inc %ebx + 2: 43 inc %ebx + 3: 3a 20 cmp (%eax),%ah + 5: 28 47 4e sub %al,0x4e(%edi) + 8: 55 push %ebp + 9: 29 20 sub %esp,(%eax) + b: 31 31 xor %esi,(%ecx) + d: 2e 31 2e xor %ebp,%cs:(%esi) + 10: 30 00 xor %al,(%eax) diff --git a/src/c/heap.c b/src/c/heap.c index 1bad05e..2683269 100644 --- a/src/c/heap.c +++ b/src/c/heap.c @@ -1,9 +1,5 @@ #include"../include/types.h" -/* - 2014 Leonard Kevin McGuire Jr (www.kmcg3413.net) (kmcg3413@gmail.com) - 2016 Clément Gallet (provided bug fixes) -*/ typedef struct _KHEAPBLOCKBM { struct _KHEAPBLOCKBM *next; uint32_t size; @@ -61,7 +57,7 @@ static uint8_t k_heapBMGetNID(uint8_t a, uint8_t b) { } void *k_heapBMAlloc(KHEAPBM *heap, uint32_t size) { - KHEAPBLOCKBM *b; + KHEAPBLOCKBM *b; uint8_t *bm; uint32_t bcnt; uint32_t x, y, z; @@ -70,14 +66,16 @@ void *k_heapBMAlloc(KHEAPBM *heap, uint32_t size) { /* iterate blocks */ for (b = heap->fblock; b; b = b->next) { + //printf("size:%d,used:%d,bsize:%d,lfb:%d\n",b->size,b->used,b->bsize,b->lfb); /* check if block has enough room */ if (b->size - (b->used * b->bsize) >= size) { bcnt = b->size / b->bsize; bneed = (size / b->bsize) * b->bsize < size ? size / b->bsize + 1 : size / b->bsize; bm = (uint8_t*)&b[1]; + //printf("bcnt:%d,bneed:%d,bm:%d\n",bcnt,bneed,bm); - for (x = (b->lfb + 1 >= bcnt ? 0 : b->lfb + 1); x < b->lfb; ++x) { + for (x = (b->lfb + 1 >= bcnt ? 0 : b->lfb + 1); x != b->lfb; ++x) { /* just wrap around */ if (x >= bcnt) { x = 0; @@ -150,18 +148,22 @@ void k_heapBMFree(KHEAPBM *heap, void *ptr) { return; } -KHEAPBM kheap; +KHEAPBM kheap; -void heap() +void kheapinit() +{ + k_heapBMInit(&kheap); +} +int kheapaddblock(uintptr_t addr,uint32_t size,uint32_t bsize) { - KHEAPBM kheap; - char *ptr; + return k_heapBMAddBlock(&kheap,addr,size,bsize); +} +void *kmalloc(uint32_t size) +{ + return k_heapBMAlloc(&kheap,size); - k_heapBMInit(&kheap); /* initialize the heap */ - k_heapBMAddBlock(&kheap, 0x100000, 0x100000, 16); /* add block to heap - (starting 1MB mark and length of 1MB) - with default block size of 16 bytes - */ - ptr = (char*)k_heapBMAlloc(&kheap, 256); /* allocate 256 bytes (malloc) */ - k_heapBMFree(&kheap, ptr); /* free the pointer (free) */ +} +void kfree(void *ptr) +{ + k_heapBMFree(&kheap,ptr); } diff --git a/src/c/irq.c b/src/c/irq.c index 6b80a52..2a1c4d4 100644 --- a/src/c/irq.c +++ b/src/c/irq.c @@ -15,190 +15,222 @@ void irq0_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 0.\n"); + printf("Divide-by-zero Error\n"); } void irq1_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 1.\n"); + printf("Debug\n"); } void irq2_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 2.\n"); + printf("Non-maskable Interrupt\n"); } void irq3_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 3.\n"); + printf("Breakpoint\n"); } void irq4_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 4.\n"); + printf("Overflow\n"); } void irq5_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 5.\n"); + printf("Bound Range Exceeded\n"); } void irq6_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 6.\n"); + printf("Invalid Opcode\n"); } void irq7_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 7.\n"); + printf("Device Not Available\n"); } void irq8_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 8.\n"); + printf("Double Fault\n"); } void irq9_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 9.\n"); + printf("Coprocessor Segment Overrun\n"); } void irq10_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 10.\n"); + printf("Invalid TSS\n"); } void irq11_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 11.\n"); + printf("Segment Not Present\n"); } void irq12_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 12.\n"); + printf("Stack-Segment Fault\n"); } void irq13_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 13.\n"); + printf("General Protection Fault\n"); } void irq14_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 14.\n"); + printf("Page Fault\n"); } void irq15_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 15.\n"); + printf("Reserved\n"); } void irq16_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 16.\n"); + printf("x87 Floating-Point Exception\n"); } void irq17_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 17.\n"); + printf("Alignment Check\n"); } void irq18_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 18.\n"); + printf("Machine Check\n"); } void irq19_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 19.\n"); + printf("SIMD Floating-Point ExceptionM/#XF\n"); } void irq20_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 20.\n"); + printf("Virtualization Exception\n"); } void irq21_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 21.\n"); + printf("Reserved\n"); } void irq22_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 22.\n"); + printf("Reserved\n"); } void irq23_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 23.\n"); + printf("Reserved\n"); } void irq24_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 24.\n"); + printf("Reserved\n"); } void irq25_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 25.\n"); + printf("Reserved\n"); } void irq26_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 26.\n"); + printf("Reserved\n"); } void irq27_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 27.\n"); + printf("Reserved\n"); } void irq28_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 28.\n"); + printf("Reserved\n"); } void irq29_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 29.\n"); + printf("Reserved\n"); } void irq30_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 30.\n"); + printf("Security Exception\n"); } void irq31_handler() { ioport_out(PIC1_COMMAND_PORT, 0x20); printf("Interrupt 31.\n"); + printf("Reserved\n"); } diff --git a/src/c/kernel.c b/src/c/kernel.c index 48dbccb..a00c242 100644 --- a/src/c/kernel.c +++ b/src/c/kernel.c @@ -1,3 +1,4 @@ +#include"../include/stdio.h" #include"../include/heap.h" void terminal_initialize(void); @@ -9,13 +10,14 @@ void set_paging(); void kernel_main(void) { - terminal_initialize(); set_paging(); init_idt_table(); - init_keyboard(); init_timer(50); - //k_heapBMInit(&kheap); - //k_heapBMAddBlock(&kheap, 0x100000, 0x100000, 16); + init_keyboard(); + kheapinit(); + kheapaddblock(0x00200000, 0x00100000, 16); + + terminal_initialize(); prompt(); while(1) __asm__("hlt\n\t"); diff --git a/src/c/paging.c b/src/c/paging.c index b256b74..becc79d 100644 --- a/src/c/paging.c +++ b/src/c/paging.c @@ -18,34 +18,29 @@ void set_pd() } } -uint32_t first_page_table[1024] __attribute__((aligned(4096))); +uint32_t page_table[1024][1024] __attribute__((aligned(4096))); -void set_pt() +void set_pt(size_t num,uint32_t address) { // holds the physical address where we want to start mapping these pages to. // in this case, we want to map these pages to the very beginning of memory. - unsigned int i; //we will fill all 1024 entries in the table, mapping 4 megabytes - for(i = 0; i < 1024; i++) + for(size_t i=0;i<1024;i++) { // As the address is page aligned, it will always leave 12 bits zeroed. // Those bits are used by the attributes ;) - first_page_table[i] = (i * 0x1000) | 3; // attributes: supervisor level, read/write, present. + page_table[num][i] = (address + i * 0x1000) | 3; // attributes: supervisor level, read/write, present. } -} -void put_pt() -{ + page_directory[num] = ((uint32_t)page_table[num]) | 3; // attributes: supervisor level, read/write, present - page_directory[0] = ((uint32_t)first_page_table) | 3; } void set_paging() { set_pd(); - set_pt(); - put_pt(); + for(size_t i=0;i<1024;i++) set_pt(i,0x00400000 * i); // all 4GB mapped loadPageDirectory(page_directory); enablePaging(); } diff --git a/src/c/string.c b/src/c/string.c index 5667715..ff2821a 100644 --- a/src/c/string.c +++ b/src/c/string.c @@ -94,7 +94,7 @@ double stof(const char *str) return num/pow; } -const int decimals=7; +const size_t decimals=7; void ftos(double num, char *str) { itos((uint32_t)num,str); diff --git a/src/include/heap.h b/src/include/heap.h index 4eebd04..11478aa 100644 --- a/src/include/heap.h +++ b/src/include/heap.h @@ -3,26 +3,9 @@ #include"types.h" -typedef struct _KHEAPBLOCKBM { - struct _KHEAPBLOCKBM *next; - uint32_t size; - uint32_t used; - uint32_t bsize; - uint32_t lfb; -} KHEAPBLOCKBM; - -typedef struct _KHEAPBM { - KHEAPBLOCKBM *fblock; -} KHEAPBM; - -void k_heapBMInit(KHEAPBM *heap); -int k_heapBMAddBlock(KHEAPBM *heap, uintptr_t addr, uint32_t size, uint32_t bsize); -void *k_heapBMAlloc(KHEAPBM *heap, uint32_t size); -void k_heapBMFree(KHEAPBM *heap, void *ptr); - -extern KHEAPBM kheap; - -#define kmalloc k_heapBMAlloc -#define kfree k_heapBMFree +void kheapinit(); +int kheapaddblock(uintptr_t addr,uint32_t size,uint32_t bsize); +void *kmalloc(uint32_t size); +void kfree(void *ptr); #endif |
