diff options
| author | Aleksa Vučković <aleksav013@gmail.com> | 2021-11-02 22:50:09 +0100 |
|---|---|---|
| committer | Aleksa Vučković <aleksav013@gmail.com> | 2021-11-02 22:50:09 +0100 |
| commit | f575a0dd796106af502e8693870c49af5bee2a5d (patch) | |
| tree | 3c26583662ab92d948b1182a8ede1f4d8194f54b | |
| parent | 2a56405579be6dc341c503420e40cb30c5144a35 (diff) | |
Hosted GCC Cross-Compiler
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Makefile | 40 | ||||
| -rw-r--r-- | README.md | 3 | ||||
| -rw-r--r-- | file | 6116 | ||||
| -rwxr-xr-x | headers.sh | 8 | ||||
| -rw-r--r-- | src/c/gdt.c | 2 | ||||
| -rw-r--r-- | src/c/heap.c | 2 | ||||
| -rw-r--r-- | src/c/idt.c | 6 | ||||
| -rw-r--r-- | src/c/irq.c | 4 | ||||
| -rw-r--r-- | src/c/kernel.c | 4 | ||||
| -rw-r--r-- | src/c/keyboard.c | 6 | ||||
| -rw-r--r-- | src/c/paging.c | 2 | ||||
| -rw-r--r-- | src/c/stack_protector.c | 4 | ||||
| -rw-r--r-- | src/c/stdio.c | 4 | ||||
| -rw-r--r-- | src/c/string.c | 2 | ||||
| -rw-r--r-- | src/c/timer.c | 6 | ||||
| -rw-r--r-- | src/c/tty.c | 8 | ||||
| -rw-r--r-- | src/c/vga.c | 8 | ||||
| -rw-r--r-- | src/include/asm.h | 2 | ||||
| -rw-r--r-- | src/include/errno.h | 0 | ||||
| -rw-r--r-- | src/include/heap.h | 2 | ||||
| -rw-r--r-- | src/include/stdio.h | 26 | ||||
| -rw-r--r-- | src/include/stdlib.h | 15 | ||||
| -rw-r--r-- | src/include/string.h | 17 | ||||
| -rw-r--r-- | src/include/sys/types.h | 4 | ||||
| -rw-r--r-- | src/include/time.h | 0 | ||||
| -rw-r--r-- | src/include/unistd.h | 14 | ||||
| -rw-r--r-- | src/include/vga.h | 2 |
28 files changed, 133 insertions, 6175 deletions
@@ -1,3 +1,4 @@ build isodir +sysroot *.iso @@ -1,7 +1,7 @@ -ARCH=i686-elf +ARCH=i686-elf- -export CC=$(ARCH)-gcc -export AS=$(ARCH)-as +export CC=$(ARCH)gcc +export AS=$(ARCH)as export CFLAGS=-ffreestanding -O2 -Wall -Wextra -fstack-protector-all MKDIR=mkdir -p @@ -22,26 +22,22 @@ TARGET=myos BINARY=$(BUILD_DIR)/$(TARGET).bin ISO=$(TARGET).iso -CRTI_SOURCE=crti.s -CRTN_SOURCE=crtn.s -AS_SOURCE=boot.s irq.s paging.s -C_SOURCES=gdt.c heap.c idt.c kernel.c keyboard.c keymap.c stdio.c string.c tty.c vga.c irq.c stack_protector.c timer.c paging.c +CRTI_OBJ=crti.o +CRTN_OBJ=crtn.o +AS_OBJ=boot.o irq.o paging.o +C_OBJ=gdt.o heap.o idt.o kernel.o keyboard.o keymap.o stdio.o string.o tty.o vga.o irq.o stack_protector.o timer.o paging.o -C_SOURCE_FILES=$(patsubst %,$(C_SOURCE_DIR)/%,$(C_SOURCES)) -export C_OBJECTS=$(patsubst %,$(C_OBJECT_DIR)/%,$(C_SOURCES:c=o)) +export C_OBJECTS=$(patsubst %,$(C_OBJECT_DIR)/%,$(C_OBJ)) -AS_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(AS_SOURCE:s=o)) -CRTI_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(CRTI_SOURCE:s=o)) -CRTN_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(CRTN_SOURCE:s=o)) +AS_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(AS_OBJ)) +CRTI_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(CRTI_OBJ)) +CRTN_OBJECT=$(patsubst %,$(AS_OBJECT_DIR)/%,$(CRTN_OBJ)) -AS_SOURCES=$(AS_SOURCE) $(CRTI_SOURCE) $(CRTN_SOURCE) -AS_SOURCE_FILES=$(patsubst %,$(AS_SOURCE_DIR)/%,$(AS_SOURCES)) -export AS_OBJECTS=$(patsubst %,$(AS_OBJECT_DIR)/%,$(AS_SOURCES:s=o)) - -CRTBEGIN_OBJ=$(shell $(CC) -print-file-name=crtbegin.o) -CRTEND_OBJ=$(shell $(CC) -print-file-name=crtend.o) -OBJ=$(CRTI_OBJECT) $(CRTBEGIN_OBJ) $(AS_OBJECT) $(C_OBJECTS) $(CRTEND_OBJ) $(CRTN_OBJECT) +export AS_OBJECTS=$(AS_OBJECT) $(CRTI_OBJECT) $(CRTN_OBJECT) +CRTBEGIN_OBJECT=$(shell $(CC) -print-file-name=crtbegin.o) +CRTEND_OBJECT=$(shell $(CC) -print-file-name=crtend.o) +OBJ=$(CRTI_OBJECT) $(CRTBEGIN_OBJECT) $(AS_OBJECT) $(C_OBJECTS) $(CRTEND_OBJECT) $(CRTN_OBJECT) .PHONY: all compile run run-iso clean @@ -50,7 +46,8 @@ all: compile $(BINARY): $(OBJ) $(CC) -T $(SOURCE_DIR)/linker.ld -o $(BINARY) $(CFLAGS) -nostdlib -lgcc $(OBJ) -compile: $(AS_SOURCE_FILES) $(C_SOURCE_FILES) +compile: + ./headers.sh $(MKDIR) $(AS_OBJECT_DIR) $(MKDIR) $(C_OBJECT_DIR) $(MAKE) --directory $(AS_SOURCE_DIR) @@ -67,7 +64,8 @@ $(ISO): $(BINARY) run: compile $(QEMU) -kernel $(BINARY) $(QEMU_DEBUG) -run-iso: compile $(ISO) +run-iso: compile + $(MAKE) $(ISO) $(QEMU) -cdrom $(ISO) clean: @@ -8,9 +8,10 @@ - grub - xorriso(libisoburn) - qemu -- gdb(optional) +- make ## Useful articles - [Bare Bones](https://wiki.osdev.org/Bare_Bones) - [Global Descriptor Table](https://wiki.osdev.org/Global_Descriptor_Table) - [Interrupt Descriptor Table](https://wiki.osdev.org/Interrupt_Descriptor_Table) +- [Hosted GCC Cross-Compiler](https://wiki.osdev.org/Hosted_GCC_Cross-Compiler) @@ -1,6116 +0,0 @@ - -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/headers.sh b/headers.sh new file mode 100755 index 0000000..6e6425d --- /dev/null +++ b/headers.sh @@ -0,0 +1,8 @@ +rm -rf sysroot/usr/include +mkdir -p sysroot/usr/include +cp /usr/lib/gcc/i686-elf/11.1.0/include/stdbool.h sysroot/usr/include +cp /usr/lib/gcc/i686-elf/11.1.0/include/stddef.h sysroot/usr/include +cp /usr/lib/gcc/i686-elf/11.1.0/include/stdint.h sysroot/usr/include/stdint.h +cp /usr/lib/gcc/i686-elf/11.1.0/include/stdint-gcc.h sysroot/usr/include/stdint-gcc.h +cp /usr/lib/gcc/i686-elf/11.1.0/include/stdarg.h sysroot/usr/include +cp -r src/include/* sysroot/usr/include diff --git a/src/c/gdt.c b/src/c/gdt.c index 739fe70..a9a745c 100644 --- a/src/c/gdt.c +++ b/src/c/gdt.c @@ -1,4 +1,4 @@ -#include"../include/types.h" +#include<types.h> struct gdt_entry { diff --git a/src/c/heap.c b/src/c/heap.c index 2683269..3e1ba24 100644 --- a/src/c/heap.c +++ b/src/c/heap.c @@ -1,4 +1,4 @@ -#include"../include/types.h" +#include<types.h> typedef struct _KHEAPBLOCKBM { struct _KHEAPBLOCKBM *next; diff --git a/src/c/idt.c b/src/c/idt.c index d12015e..005a05c 100644 --- a/src/c/idt.c +++ b/src/c/idt.c @@ -1,6 +1,6 @@ -#include"../include/types.h" -#include"../include/irq.h" -#include"../include/asm.h" +#include<types.h> +#include<irq.h> +#include<asm.h> #define INTERRUPT_GATE_32 0x8E diff --git a/src/c/irq.c b/src/c/irq.c index 2a1c4d4..62b53ee 100644 --- a/src/c/irq.c +++ b/src/c/irq.c @@ -1,5 +1,5 @@ -#include"../include/stdio.h" -#include"../include/asm.h" +#include<stdio.h> +#include<asm.h> #define INTERRUPT_GATE_32 0x8e diff --git a/src/c/kernel.c b/src/c/kernel.c index a00c242..df12193 100644 --- a/src/c/kernel.c +++ b/src/c/kernel.c @@ -1,5 +1,5 @@ -#include"../include/stdio.h" -#include"../include/heap.h" +#include<stdio.h> +#include<heap.h> void terminal_initialize(void); void init_idt_table(void); diff --git a/src/c/keyboard.c b/src/c/keyboard.c index d573472..5da3239 100644 --- a/src/c/keyboard.c +++ b/src/c/keyboard.c @@ -1,6 +1,6 @@ -#include"../include/types.h" -#include"../include/asm.h" -#include"../include/stdio.h" +#include<types.h> +#include<asm.h> +#include<stdio.h> #define BUFFER_SIZE 200 char buffer[BUFFER_SIZE]; diff --git a/src/c/paging.c b/src/c/paging.c index becc79d..660ee8c 100644 --- a/src/c/paging.c +++ b/src/c/paging.c @@ -1,4 +1,4 @@ -#include"../include/types.h" +#include<types.h> extern void loadPageDirectory(uint32_t*); extern void enablePaging(); diff --git a/src/c/stack_protector.c b/src/c/stack_protector.c index 3289cec..9ce3cba 100644 --- a/src/c/stack_protector.c +++ b/src/c/stack_protector.c @@ -1,5 +1,5 @@ -#include <stdint.h> -#include"../include/stdio.h" +#include<stdint.h> +#include<stdio.h> #if UINT32_MAX == UINTPTR_MAX #define STACK_CHK_GUARD 0xe2dee396 diff --git a/src/c/stdio.c b/src/c/stdio.c index 83d2b0a..36fd140 100644 --- a/src/c/stdio.c +++ b/src/c/stdio.c @@ -1,5 +1,5 @@ -#include"../include/types.h" -#include"../include/string.h" +#include<types.h> +#include<string.h> #include<stdarg.h> void terminal_putchar(char c); diff --git a/src/c/string.c b/src/c/string.c index ff2821a..6a3a96b 100644 --- a/src/c/string.c +++ b/src/c/string.c @@ -1,4 +1,4 @@ -#include"../include/types.h" +#include<types.h> size_t stringlen(char *str) { diff --git a/src/c/timer.c b/src/c/timer.c index edeea21..0b4ddaa 100644 --- a/src/c/timer.c +++ b/src/c/timer.c @@ -1,6 +1,6 @@ -#include"../include/types.h" -#include"../include/asm.h" -#include"../include/stdio.h" +#include<types.h> +#include<asm.h> +#include<stdio.h> void add_idt_entry(size_t num,uint32_t offset); diff --git a/src/c/tty.c b/src/c/tty.c index c473fa1..c7e5f44 100644 --- a/src/c/tty.c +++ b/src/c/tty.c @@ -1,7 +1,7 @@ -#include"../include/types.h" -#include"../include/string.h" -#include"../include/stdio.h" -#include"../include/vga.h" +#include<types.h> +#include<string.h> +#include<stdio.h> +#include<vga.h> #define CMD_LENGTH 20 diff --git a/src/c/vga.c b/src/c/vga.c index 8c1824b..e61cd7f 100644 --- a/src/c/vga.c +++ b/src/c/vga.c @@ -1,7 +1,7 @@ -#include"../include/types.h" -#include"../include/string.h" -#include"../include/asm.h" -#include"../include/vga.h" +#include<types.h> +#include<string.h> +#include<asm.h> +#include<vga.h> size_t terminal_row; size_t terminal_column; diff --git a/src/include/asm.h b/src/include/asm.h index 1d61b88..9f2a9e6 100644 --- a/src/include/asm.h +++ b/src/include/asm.h @@ -1,7 +1,7 @@ #ifndef ASM_H #define ASM_H -#include"types.h" +#include<types.h> extern uint8_t ioport_in(uint8_t port); extern void ioport_out(uint8_t port, char data); diff --git a/src/include/errno.h b/src/include/errno.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/include/errno.h diff --git a/src/include/heap.h b/src/include/heap.h index 11478aa..fa32f26 100644 --- a/src/include/heap.h +++ b/src/include/heap.h @@ -1,7 +1,7 @@ #ifndef HEAP_H #define HEAP_H -#include"types.h" +#include<types.h> void kheapinit(); int kheapaddblock(uintptr_t addr,uint32_t size,uint32_t bsize); diff --git a/src/include/stdio.h b/src/include/stdio.h index 2d0aa8a..45c9215 100644 --- a/src/include/stdio.h +++ b/src/include/stdio.h @@ -1,6 +1,28 @@ -#ifndef STDIO_H -#define STDIO_H +#ifndef _STDIO_H +#define _STDIO_H +#include <stdarg.h> +#include <stddef.h> +#define SEEK_SET 0 +typedef struct { int unused; } FILE; +#ifdef __cplusplus +extern "C" { +#endif +extern FILE* stderr; +#define stderr stderr +int fclose(FILE*); +int fflush(FILE*); +FILE* fopen(const char*, const char*); +int fprintf(FILE*, const char*, ...); +size_t fread(void*, size_t, size_t, FILE*); +int fseek(FILE*, long, int); +long ftell(FILE*); +size_t fwrite(const void*, size_t, size_t, FILE*); +void setbuf(FILE*, char*); +int vfprintf(FILE*, const char*, va_list); void printf(char *str, ...); +#ifdef __cplusplus +} +#endif #endif diff --git a/src/include/stdlib.h b/src/include/stdlib.h new file mode 100644 index 0000000..a0afe38 --- /dev/null +++ b/src/include/stdlib.h @@ -0,0 +1,15 @@ +#ifndef _STDLIB_H +#define _STDLIB_H +#ifdef __cplusplus +extern "C" { +#endif +void abort(void); +int atexit(void (*)(void)); +int atoi(const char*); +void free(void*); +char* getenv(const char*); +void* malloc(size_t); +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/include/string.h b/src/include/string.h index 500f545..bef5854 100644 --- a/src/include/string.h +++ b/src/include/string.h @@ -1,7 +1,18 @@ -#ifndef STRING_H -#define STRING_H +#ifndef _STRING_H +#define _STRING_H +#include <stddef.h> +#ifdef __cplusplus +extern "C" { +#endif +void* memcpy(void*, const void*, size_t); +void* memset(void*, int, size_t); +char* strcpy(char*, const char*); +size_t strlen(const char*); +#ifdef __cplusplus +} +#endif -#include"types.h" +#include<types.h> size_t stringlen(char *str); bool stringcmp(char *str1,char *str2); diff --git a/src/include/sys/types.h b/src/include/sys/types.h new file mode 100644 index 0000000..4f55189 --- /dev/null +++ b/src/include/sys/types.h @@ -0,0 +1,4 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H +typedef int pid_t; +#endif diff --git a/src/include/time.h b/src/include/time.h new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/include/time.h diff --git a/src/include/unistd.h b/src/include/unistd.h new file mode 100644 index 0000000..a6bfee0 --- /dev/null +++ b/src/include/unistd.h @@ -0,0 +1,14 @@ +#ifndef _UNISTD_H +#define _UNISTD_H +#include <sys/types.h> +#ifdef __cplusplus +extern "C" { +#endif +int execv(const char*, char* const[]); +int execve(const char*, char* const[], char* const[]); +int execvp(const char*, char* const[]); +pid_t fork(void); +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/include/vga.h b/src/include/vga.h index 93d5df3..eb43644 100644 --- a/src/include/vga.h +++ b/src/include/vga.h @@ -1,7 +1,7 @@ #ifndef VGA_H #define VGA_H -#include"types.h" +#include<types.h> static const size_t VGA_WIDTH = 80; static const size_t VGA_HEIGHT = 25; |
