Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ objdump -d dev/os/build/src/kernel/kernel
- dev/os/build/src/kernel/kernel: file format elf32-i386
- Disassembly of section .text:
- c0100000 <kernel_start>:
- c0100000: 02 b0 ad 1b 03 00 add 0x31bad(%eax),%dh
- c0100006: 00 00 add %al,(%eax)
- c0100008: fb sti
- c0100009: 4f dec %edi
- c010000a: 52 push %edx
- c010000b: e4 .byte 0xe4
- c010000c <interrupt_stub_0>:
- c010000c: 6a 00 push $0x0
- c010000e: 6a 00 push $0x0
- c0100010: e9 f4 00 00 00 jmp c0100109 <isr_common>
- c0100015 <interrupt_stub_1>:
- c0100015: 6a 00 push $0x0
- c0100017: 6a 01 push $0x1
- c0100019: e9 eb 00 00 00 jmp c0100109 <isr_common>
- c010001e <interrupt_stub_2>:
- c010001e: 6a 00 push $0x0
- c0100020: 6a 02 push $0x2
- c0100022: e9 e2 00 00 00 jmp c0100109 <isr_common>
- c0100027 <interrupt_stub_3>:
- c0100027: 6a 00 push $0x0
- c0100029: 6a 03 push $0x3
- c010002b: e9 d9 00 00 00 jmp c0100109 <isr_common>
- c0100030 <interrupt_stub_4>:
- c0100030: 6a 00 push $0x0
- c0100032: 6a 04 push $0x4
- c0100034: e9 d0 00 00 00 jmp c0100109 <isr_common>
- c0100039 <interrupt_stub_5>:
- c0100039: 6a 00 push $0x0
- c010003b: 6a 05 push $0x5
- c010003d: e9 c7 00 00 00 jmp c0100109 <isr_common>
- c0100042 <interrupt_stub_6>:
- c0100042: 6a 00 push $0x0
- c0100044: 6a 06 push $0x6
- c0100046: e9 be 00 00 00 jmp c0100109 <isr_common>
- c010004b <interrupt_stub_7>:
- c010004b: 6a 00 push $0x0
- c010004d: 6a 07 push $0x7
- c010004f: e9 b5 00 00 00 jmp c0100109 <isr_common>
- c0100054 <interrupt_stub_8>:
- c0100054: 6a 08 push $0x8
- c0100056: e9 ae 00 00 00 jmp c0100109 <isr_common>
- c010005b <interrupt_stub_9>:
- c010005b: 6a 00 push $0x0
- c010005d: 6a 09 push $0x9
- c010005f: e9 a5 00 00 00 jmp c0100109 <isr_common>
- c0100064 <interrupt_stub_10>:
- c0100064: 6a 0a push $0xa
- c0100066: e9 9e 00 00 00 jmp c0100109 <isr_common>
- c010006b <interrupt_stub_11>:
- c010006b: 6a 0b push $0xb
- c010006d: e9 97 00 00 00 jmp c0100109 <isr_common>
- c0100072 <interrupt_stub_12>:
- c0100072: 6a 0c push $0xc
- c0100074: e9 90 00 00 00 jmp c0100109 <isr_common>
- c0100079 <interrupt_stub_13>:
- c0100079: 6a 0d push $0xd
- c010007b: e9 89 00 00 00 jmp c0100109 <isr_common>
- c0100080 <interrupt_stub_14>:
- c0100080: 6a 0e push $0xe
- c0100082: e9 82 00 00 00 jmp c0100109 <isr_common>
- c0100087 <interrupt_stub_15>:
- c0100087: 6a 00 push $0x0
- c0100089: 6a 0f push $0xf
- c010008b: eb 7c jmp c0100109 <isr_common>
- c010008d <interrupt_stub_16>:
- c010008d: 6a 00 push $0x0
- c010008f: 6a 10 push $0x10
- c0100091: eb 76 jmp c0100109 <isr_common>
- c0100093 <interrupt_stub_17>:
- c0100093: 6a 11 push $0x11
- c0100095: eb 72 jmp c0100109 <isr_common>
- c0100097 <interrupt_stub_18>:
- c0100097: 6a 00 push $0x0
- c0100099: 6a 12 push $0x12
- c010009b: eb 6c jmp c0100109 <isr_common>
- c010009d <interrupt_stub_19>:
- c010009d: 6a 00 push $0x0
- c010009f: 6a 13 push $0x13
- c01000a1: eb 66 jmp c0100109 <isr_common>
- c01000a3 <interrupt_stub_32>:
- c01000a3: 6a 00 push $0x0
- c01000a5: 6a 20 push $0x20
- c01000a7: eb 60 jmp c0100109 <isr_common>
- c01000a9 <interrupt_stub_33>:
- c01000a9: 6a 00 push $0x0
- c01000ab: 6a 21 push $0x21
- c01000ad: eb 5a jmp c0100109 <isr_common>
- c01000af <interrupt_stub_34>:
- c01000af: 6a 00 push $0x0
- c01000b1: 6a 22 push $0x22
- c01000b3: eb 54 jmp c0100109 <isr_common>
- c01000b5 <interrupt_stub_35>:
- c01000b5: 6a 00 push $0x0
- c01000b7: 6a 23 push $0x23
- c01000b9: eb 4e jmp c0100109 <isr_common>
- c01000bb <interrupt_stub_36>:
- c01000bb: 6a 00 push $0x0
- c01000bd: 6a 24 push $0x24
- c01000bf: eb 48 jmp c0100109 <isr_common>
- c01000c1 <interrupt_stub_37>:
- c01000c1: 6a 00 push $0x0
- c01000c3: 6a 25 push $0x25
- c01000c5: eb 42 jmp c0100109 <isr_common>
- c01000c7 <interrupt_stub_38>:
- c01000c7: 6a 00 push $0x0
- c01000c9: 6a 26 push $0x26
- c01000cb: eb 3c jmp c0100109 <isr_common>
- c01000cd <interrupt_stub_39>:
- c01000cd: 6a 00 push $0x0
- c01000cf: 6a 27 push $0x27
- c01000d1: eb 36 jmp c0100109 <isr_common>
- c01000d3 <interrupt_stub_40>:
- c01000d3: 6a 00 push $0x0
- c01000d5: 6a 28 push $0x28
- c01000d7: eb 30 jmp c0100109 <isr_common>
- c01000d9 <interrupt_stub_41>:
- c01000d9: 6a 00 push $0x0
- c01000db: 6a 29 push $0x29
- c01000dd: eb 2a jmp c0100109 <isr_common>
- c01000df <interrupt_stub_42>:
- c01000df: 6a 00 push $0x0
- c01000e1: 6a 2a push $0x2a
- c01000e3: eb 24 jmp c0100109 <isr_common>
- c01000e5 <interrupt_stub_43>:
- c01000e5: 6a 00 push $0x0
- c01000e7: 6a 2b push $0x2b
- c01000e9: eb 1e jmp c0100109 <isr_common>
- c01000eb <interrupt_stub_44>:
- c01000eb: 6a 00 push $0x0
- c01000ed: 6a 2c push $0x2c
- c01000ef: eb 18 jmp c0100109 <isr_common>
- c01000f1 <interrupt_stub_45>:
- c01000f1: 6a 00 push $0x0
- c01000f3: 6a 2d push $0x2d
- c01000f5: eb 12 jmp c0100109 <isr_common>
- c01000f7 <interrupt_stub_46>:
- c01000f7: 6a 00 push $0x0
- c01000f9: 6a 2e push $0x2e
- c01000fb: eb 0c jmp c0100109 <isr_common>
- c01000fd <interrupt_stub_47>:
- c01000fd: 6a 00 push $0x0
- c01000ff: 6a 2f push $0x2f
- c0100101: eb 06 jmp c0100109 <isr_common>
- c0100103 <interrupt_stub_48>:
- c0100103: 6a 00 push $0x0
- c0100105: 6a 30 push $0x30
- c0100107: eb 00 jmp c0100109 <isr_common>
- c0100109 <isr_common>:
- c0100109: 55 push %ebp
- c010010a: 57 push %edi
- c010010b: 56 push %esi
- c010010c: 52 push %edx
- c010010d: 51 push %ecx
- c010010e: 53 push %ebx
- c010010f: 50 push %eax
- c0100110: 66 b8 10 00 mov $0x10,%ax
- c0100114: 8e d8 mov %eax,%ds
- c0100116: 8e c0 mov %eax,%es
- c0100118: 54 push %esp
- c0100119: e8 92 0f 00 00 call c01010b0 <isr_handler_common>
- c010011e: 89 c4 mov %eax,%esp
- c0100120: 66 b8 23 00 mov $0x23,%ax
- c0100124: 8e d8 mov %eax,%ds
- c0100126: 8e c0 mov %eax,%es
- c0100128: 58 pop %eax
- c0100129: 5b pop %ebx
- c010012a: 59 pop %ecx
- c010012b: 5a pop %edx
- c010012c: 5e pop %esi
- c010012d: 5f pop %edi
- c010012e: 5d pop %ebp
- c010012f: 83 c4 08 add $0x8,%esp
- c0100132: cf iret
- c0100133 <load_page_directory>:
- c0100133: 55 push %ebp
- c0100134: 89 e5 mov %esp,%ebp
- c0100136: 8b 44 24 08 mov 0x8(%esp),%eax
- c010013a: 0f 22 d8 mov %eax,%cr3
- c010013d: 89 ec mov %ebp,%esp
- c010013f: 5d pop %ebp
- c0100140: c3 ret
- c0100141 <enable_paging>:
- c0100141: 55 push %ebp
- c0100142: 89 e5 mov %esp,%ebp
- c0100144: 0f 20 c0 mov %cr0,%eax
- c0100147: 0d 00 00 00 80 or $0x80000000,%eax
- c010014c: 0f 22 c0 mov %eax,%cr0
- c010014f: 89 ec mov %ebp,%esp
- c0100151: 5d pop %ebp
- c0100152: c3 ret
- c0100153 <_start>:
- c0100153: bf 00 70 12 00 mov $0x127000,%edi
- c0100158: be 00 00 00 00 mov $0x0,%esi
- c010015d: b9 ff 03 00 00 mov $0x3ff,%ecx
- c0100162: 81 fe 00 00 10 00 cmp $0x100000,%esi
- c0100168: 7c 0f jl c0100179 <_start+0x26>
- c010016a: 81 fe 2c c9 12 00 cmp $0x12c92c,%esi
- c0100170: 7d 12 jge c0100184 <_start+0x31>
- c0100172: 89 f2 mov %esi,%edx
- c0100174: 83 ca 03 or $0x3,%edx
- c0100177: 89 17 mov %edx,(%edi)
- c0100179: 81 c6 00 10 00 00 add $0x1000,%esi
- c010017f: 83 c7 04 add $0x4,%edi
- c0100182: e2 de loop c0100162 <_start+0xf>
- c0100184: c7 05 fc 7f 12 00 03 movl $0xb8003,0x127ffc
- c010018b: 80 0b 00
- c010018e: c7 05 00 60 12 00 03 movl $0x127003,0x126000
- c0100195: 70 12 00
- c0100198: c7 05 00 6c 12 00 03 movl $0x127003,0x126c00
- c010019f: 70 12 00
- c01001a2: b9 00 60 12 00 mov $0x126000,%ecx
- c01001a7: 0f 22 d9 mov %ecx,%cr3
- c01001aa: 0f 20 c1 mov %cr0,%ecx
- c01001ad: 81 c9 00 00 01 80 or $0x80010000,%ecx
- c01001b3: 0f 22 c1 mov %ecx,%cr0
- c01001b6: 8d 0d be 01 10 c0 lea 0xc01001be,%ecx
- c01001bc: ff e1 jmp *%ecx
- c01001be: c7 05 00 60 12 c0 00 movl $0x0,0xc0126000
- c01001c5: 00 00 00
- c01001c8: 0f 20 d9 mov %cr3,%ecx
- c01001cb: 0f 22 d9 mov %ecx,%cr3
- c01001ce: bc 2c c9 12 c0 mov $0xc012c92c,%esp
- c01001d3: e8 7c 0f 00 00 call c0101154 <init>
- c01001d8: fa cli
- c01001d9: f4 hlt
- c01001da: eb fd jmp c01001d9 <_start+0x86>
- c01001dc <kputc>:
- c01001dc: 55 push %ebp
- c01001dd: 89 e5 mov %esp,%ebp
- c01001df: 83 ec 28 sub $0x28,%esp
- c01001e2: 8b 55 08 mov 0x8(%ebp),%edx
- c01001e5: 8b 45 0c mov 0xc(%ebp),%eax
- c01001e8: 88 55 e4 mov %dl,-0x1c(%ebp)
- c01001eb: 88 45 e0 mov %al,-0x20(%ebp)
- c01001ee: c7 45 ec 00 f0 3f c0 movl $0xc03ff000,-0x14(%ebp)
- c01001f5: 80 7d e0 0a cmpb $0xa,-0x20(%ebp)
- c01001f9: 75 57 jne c0100252 <kputc+0x76>
- c01001fb: a1 00 80 12 c0 mov 0xc0128000,%eax
- c0100200: 83 f8 17 cmp $0x17,%eax
- c0100203: 7e 3e jle c0100243 <kputc+0x67>
- c0100205: 8b 45 ec mov -0x14(%ebp),%eax
- c0100208: 05 a0 00 00 00 add $0xa0,%eax
- c010020d: 89 45 f0 mov %eax,-0x10(%ebp)
- c0100210: 83 ec 04 sub $0x4,%esp
- c0100213: 68 60 0f 00 00 push $0xf60
- c0100218: ff 75 f0 pushl -0x10(%ebp)
- c010021b: ff 75 ec pushl -0x14(%ebp)
- c010021e: e8 a9 16 00 00 call c01018cc <kmemmove>
- c0100223: 83 c4 10 add $0x10,%esp
- c0100226: 8b 45 ec mov -0x14(%ebp),%eax
- c0100229: 05 00 0f 00 00 add $0xf00,%eax
- c010022e: 83 ec 04 sub $0x4,%esp
- c0100231: 68 a0 00 00 00 push $0xa0
- c0100236: 6a 00 push $0x0
- c0100238: 50 push %eax
- c0100239: e8 c9 16 00 00 call c0101907 <kmemset>
- c010023e: 83 c4 10 add $0x10,%esp
- c0100241: eb 6b jmp c01002ae <kputc+0xd2>
- c0100243: a1 00 80 12 c0 mov 0xc0128000,%eax
- c0100248: 83 c0 01 add $0x1,%eax
- c010024b: a3 00 80 12 c0 mov %eax,0xc0128000
- c0100250: eb 5c jmp c01002ae <kputc+0xd2>
- c0100252: 80 7d e0 0d cmpb $0xd,-0x20(%ebp)
- c0100256: 75 0c jne c0100264 <kputc+0x88>
- c0100258: c7 05 04 80 12 c0 00 movl $0x0,0xc0128004
- c010025f: 00 00 00
- c0100262: eb 4a jmp c01002ae <kputc+0xd2>
- c0100264: 8b 15 00 80 12 c0 mov 0xc0128000,%edx
- c010026a: 89 d0 mov %edx,%eax
- c010026c: c1 e0 02 shl $0x2,%eax
- c010026f: 01 d0 add %edx,%eax
- c0100271: c1 e0 04 shl $0x4,%eax
- c0100274: 89 c2 mov %eax,%edx
- c0100276: a1 04 80 12 c0 mov 0xc0128004,%eax
- c010027b: 01 d0 add %edx,%eax
- c010027d: 01 c0 add %eax,%eax
- c010027f: 89 45 f4 mov %eax,-0xc(%ebp)
- c0100282: 8b 55 f4 mov -0xc(%ebp),%edx
- c0100285: 8b 45 ec mov -0x14(%ebp),%eax
- c0100288: 01 c2 add %eax,%edx
- c010028a: 0f b6 45 e0 movzbl -0x20(%ebp),%eax
- c010028e: 88 02 mov %al,(%edx)
- c0100290: 8b 45 f4 mov -0xc(%ebp),%eax
- c0100293: 8d 50 01 lea 0x1(%eax),%edx
- c0100296: 8b 45 ec mov -0x14(%ebp),%eax
- c0100299: 01 c2 add %eax,%edx
- c010029b: 0f b6 45 e4 movzbl -0x1c(%ebp),%eax
- c010029f: 88 02 mov %al,(%edx)
- c01002a1: a1 04 80 12 c0 mov 0xc0128004,%eax
- c01002a6: 83 c0 01 add $0x1,%eax
- c01002a9: a3 04 80 12 c0 mov %eax,0xc0128004
- c01002ae: 90 nop
- c01002af: c9 leave
- c01002b0: c3 ret
- c01002b1 <kputs>:
- c01002b1: 55 push %ebp
- c01002b2: 89 e5 mov %esp,%ebp
- c01002b4: 83 ec 28 sub $0x28,%esp
- c01002b7: 8b 45 08 mov 0x8(%ebp),%eax
- c01002ba: 88 45 e4 mov %al,-0x1c(%ebp)
- c01002bd: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
- c01002c4: eb 23 jmp c01002e9 <kputs+0x38>
- c01002c6: 8b 55 f4 mov -0xc(%ebp),%edx
- c01002c9: 8b 45 0c mov 0xc(%ebp),%eax
- c01002cc: 01 d0 add %edx,%eax
- c01002ce: 0f b6 00 movzbl (%eax),%eax
- c01002d1: 0f be d0 movsbl %al,%edx
- c01002d4: 0f be 45 e4 movsbl -0x1c(%ebp),%eax
- c01002d8: 83 ec 08 sub $0x8,%esp
- c01002db: 52 push %edx
- c01002dc: 50 push %eax
- c01002dd: e8 fa fe ff ff call c01001dc <kputc>
- c01002e2: 83 c4 10 add $0x10,%esp
- c01002e5: 83 45 f4 01 addl $0x1,-0xc(%ebp)
- c01002e9: 8b 55 f4 mov -0xc(%ebp),%edx
- c01002ec: 8b 45 0c mov 0xc(%ebp),%eax
- c01002ef: 01 d0 add %edx,%eax
- c01002f1: 0f b6 00 movzbl (%eax),%eax
- c01002f4: 84 c0 test %al,%al
- c01002f6: 75 ce jne c01002c6 <kputs+0x15>
- c01002f8: 90 nop
- c01002f9: c9 leave
- c01002fa: c3 ret
- c01002fb <kputi>:
- c01002fb: 55 push %ebp
- c01002fc: 89 e5 mov %esp,%ebp
- c01002fe: 83 ec 68 sub $0x68,%esp
- c0100301: 8b 45 08 mov 0x8(%ebp),%eax
- c0100304: 88 45 a4 mov %al,-0x5c(%ebp)
- c0100307: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c010030d: 89 45 f4 mov %eax,-0xc(%ebp)
- c0100310: 31 c0 xor %eax,%eax
- c0100312: 83 7d 10 01 cmpl $0x1,0x10(%ebp)
- c0100316: 7e 5f jle c0100377 <kputi+0x7c>
- c0100318: 83 7d 10 24 cmpl $0x24,0x10(%ebp)
- c010031c: 7f 59 jg c0100377 <kputi+0x7c>
- c010031e: 8d 45 b3 lea -0x4d(%ebp),%eax
- c0100321: 83 c0 40 add $0x40,%eax
- c0100324: 89 45 ac mov %eax,-0x54(%ebp)
- c0100327: 8b 45 ac mov -0x54(%ebp),%eax
- c010032a: c6 00 00 movb $0x0,(%eax)
- c010032d: 83 6d ac 01 subl $0x1,-0x54(%ebp)
- c0100331: 8b 4d 10 mov 0x10(%ebp),%ecx
- c0100334: 8b 45 0c mov 0xc(%ebp),%eax
- c0100337: ba 00 00 00 00 mov $0x0,%edx
- c010033c: f7 f1 div %ecx
- c010033e: 89 d0 mov %edx,%eax
- c0100340: 0f b6 90 00 50 10 c0 movzbl -0x3fefb000(%eax),%edx
- c0100347: 8b 45 ac mov -0x54(%ebp),%eax
- c010034a: 88 10 mov %dl,(%eax)
- c010034c: 8b 4d 10 mov 0x10(%ebp),%ecx
- c010034f: 8b 45 0c mov 0xc(%ebp),%eax
- c0100352: ba 00 00 00 00 mov $0x0,%edx
- c0100357: f7 f1 div %ecx
- c0100359: 89 45 0c mov %eax,0xc(%ebp)
- c010035c: 83 7d 0c 00 cmpl $0x0,0xc(%ebp)
- c0100360: 75 cb jne c010032d <kputi+0x32>
- c0100362: 0f be 45 a4 movsbl -0x5c(%ebp),%eax
- c0100366: 83 ec 08 sub $0x8,%esp
- c0100369: ff 75 ac pushl -0x54(%ebp)
- c010036c: 50 push %eax
- c010036d: e8 3f ff ff ff call c01002b1 <kputs>
- c0100372: 83 c4 10 add $0x10,%esp
- c0100375: eb 01 jmp c0100378 <kputi+0x7d>
- c0100377: 90 nop
- c0100378: 8b 45 f4 mov -0xc(%ebp),%eax
- c010037b: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
- c0100382: 74 05 je c0100389 <kputi+0x8e>
- c0100384: e8 bd 0f 00 00 call c0101346 <__stack_chk_fail>
- c0100389: c9 leave
- c010038a: c3 ret
- c010038b <kcls>:
- c010038b: 55 push %ebp
- c010038c: 89 e5 mov %esp,%ebp
- c010038e: 83 ec 18 sub $0x18,%esp
- c0100391: c7 45 f4 00 f0 3f c0 movl $0xc03ff000,-0xc(%ebp)
- c0100398: 83 ec 04 sub $0x4,%esp
- c010039b: 68 00 10 00 00 push $0x1000
- c01003a0: 6a 00 push $0x0
- c01003a2: ff 75 f4 pushl -0xc(%ebp)
- c01003a5: e8 5d 15 00 00 call c0101907 <kmemset>
- c01003aa: 83 c4 10 add $0x10,%esp
- c01003ad: 90 nop
- c01003ae: c9 leave
- c01003af: c3 ret
- c01003b0 <kprintf>:
- c01003b0: 55 push %ebp
- c01003b1: 89 e5 mov %esp,%ebp
- c01003b3: 83 ec 28 sub $0x28,%esp
- c01003b6: 8b 45 08 mov 0x8(%ebp),%eax
- c01003b9: 88 45 e4 mov %al,-0x1c(%ebp)
- c01003bc: 8b 45 0c mov 0xc(%ebp),%eax
- c01003bf: 89 45 e0 mov %eax,-0x20(%ebp)
- c01003c2: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c01003c8: 89 45 f4 mov %eax,-0xc(%ebp)
- c01003cb: 31 c0 xor %eax,%eax
- c01003cd: 8d 45 10 lea 0x10(%ebp),%eax
- c01003d0: 89 45 ec mov %eax,-0x14(%ebp)
- c01003d3: 8b 45 e0 mov -0x20(%ebp),%eax
- c01003d6: 89 45 f0 mov %eax,-0x10(%ebp)
- c01003d9: e9 dc 00 00 00 jmp c01004ba <kprintf+0x10a>
- c01003de: 8b 45 f0 mov -0x10(%ebp),%eax
- c01003e1: 0f b6 00 movzbl (%eax),%eax
- c01003e4: 3c 25 cmp $0x25,%al
- c01003e6: 0f 85 b0 00 00 00 jne c010049c <kprintf+0xec>
- c01003ec: 83 45 f0 01 addl $0x1,-0x10(%ebp)
- c01003f0: 8b 45 f0 mov -0x10(%ebp),%eax
- c01003f3: 0f b6 00 movzbl (%eax),%eax
- c01003f6: 0f be c0 movsbl %al,%eax
- c01003f9: 83 f8 64 cmp $0x64,%eax
- c01003fc: 74 1e je c010041c <kprintf+0x6c>
- c01003fe: 83 f8 64 cmp $0x64,%eax
- c0100401: 7f 0a jg c010040d <kprintf+0x5d>
- c0100403: 83 f8 63 cmp $0x63,%eax
- c0100406: 74 72 je c010047a <kprintf+0xca>
- c0100408: e9 a9 00 00 00 jmp c01004b6 <kprintf+0x106>
- c010040d: 83 f8 73 cmp $0x73,%eax
- c0100410: 74 4a je c010045c <kprintf+0xac>
- c0100412: 83 f8 78 cmp $0x78,%eax
- c0100415: 74 25 je c010043c <kprintf+0x8c>
- c0100417: e9 9a 00 00 00 jmp c01004b6 <kprintf+0x106>
- c010041c: 8b 45 ec mov -0x14(%ebp),%eax
- c010041f: 8d 50 04 lea 0x4(%eax),%edx
- c0100422: 89 55 ec mov %edx,-0x14(%ebp)
- c0100425: 8b 10 mov (%eax),%edx
- c0100427: 0f be 45 e4 movsbl -0x1c(%ebp),%eax
- c010042b: 83 ec 04 sub $0x4,%esp
- c010042e: 6a 0a push $0xa
- c0100430: 52 push %edx
- c0100431: 50 push %eax
- c0100432: e8 c4 fe ff ff call c01002fb <kputi>
- c0100437: 83 c4 10 add $0x10,%esp
- c010043a: eb 7a jmp c01004b6 <kprintf+0x106>
- c010043c: 8b 45 ec mov -0x14(%ebp),%eax
- c010043f: 8d 50 04 lea 0x4(%eax),%edx
- c0100442: 89 55 ec mov %edx,-0x14(%ebp)
- c0100445: 8b 10 mov (%eax),%edx
- c0100447: 0f be 45 e4 movsbl -0x1c(%ebp),%eax
- c010044b: 83 ec 04 sub $0x4,%esp
- c010044e: 6a 10 push $0x10
- c0100450: 52 push %edx
- c0100451: 50 push %eax
- c0100452: e8 a4 fe ff ff call c01002fb <kputi>
- c0100457: 83 c4 10 add $0x10,%esp
- c010045a: eb 5a jmp c01004b6 <kprintf+0x106>
- c010045c: 8b 45 ec mov -0x14(%ebp),%eax
- c010045f: 8d 50 04 lea 0x4(%eax),%edx
- c0100462: 89 55 ec mov %edx,-0x14(%ebp)
- c0100465: 8b 10 mov (%eax),%edx
- c0100467: 0f be 45 e4 movsbl -0x1c(%ebp),%eax
- c010046b: 83 ec 08 sub $0x8,%esp
- c010046e: 52 push %edx
- c010046f: 50 push %eax
- c0100470: e8 3c fe ff ff call c01002b1 <kputs>
- c0100475: 83 c4 10 add $0x10,%esp
- c0100478: eb 3c jmp c01004b6 <kprintf+0x106>
- c010047a: 8b 45 ec mov -0x14(%ebp),%eax
- c010047d: 8d 50 04 lea 0x4(%eax),%edx
- c0100480: 89 55 ec mov %edx,-0x14(%ebp)
- c0100483: 8b 00 mov (%eax),%eax
- c0100485: 0f be d0 movsbl %al,%edx
- c0100488: 0f be 45 e4 movsbl -0x1c(%ebp),%eax
- c010048c: 83 ec 08 sub $0x8,%esp
- c010048f: 52 push %edx
- c0100490: 50 push %eax
- c0100491: e8 46 fd ff ff call c01001dc <kputc>
- c0100496: 83 c4 10 add $0x10,%esp
- c0100499: 90 nop
- c010049a: eb 1a jmp c01004b6 <kprintf+0x106>
- c010049c: 8b 45 f0 mov -0x10(%ebp),%eax
- c010049f: 0f b6 00 movzbl (%eax),%eax
- c01004a2: 0f be d0 movsbl %al,%edx
- c01004a5: 0f be 45 e4 movsbl -0x1c(%ebp),%eax
- c01004a9: 83 ec 08 sub $0x8,%esp
- c01004ac: 52 push %edx
- c01004ad: 50 push %eax
- c01004ae: e8 29 fd ff ff call c01001dc <kputc>
- c01004b3: 83 c4 10 add $0x10,%esp
- c01004b6: 83 45 f0 01 addl $0x1,-0x10(%ebp)
- c01004ba: 8b 45 f0 mov -0x10(%ebp),%eax
- c01004bd: 0f b6 00 movzbl (%eax),%eax
- c01004c0: 84 c0 test %al,%al
- c01004c2: 0f 85 16 ff ff ff jne c01003de <kprintf+0x2e>
- c01004c8: 90 nop
- c01004c9: 8b 45 f4 mov -0xc(%ebp),%eax
- c01004cc: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
- c01004d3: 74 05 je c01004da <kprintf+0x12a>
- c01004d5: e8 6c 0e 00 00 call c0101346 <__stack_chk_fail>
- c01004da: c9 leave
- c01004db: c3 ret
- c01004dc <build_gdt_segment>:
- c01004dc: 55 push %ebp
- c01004dd: 89 e5 mov %esp,%ebp
- c01004df: 83 ec 10 sub $0x10,%esp
- c01004e2: 8b 45 0c mov 0xc(%ebp),%eax
- c01004e5: ba 00 00 00 00 mov $0x0,%edx
- c01004ea: 25 00 00 0f 00 and $0xf0000,%eax
- c01004ef: ba 00 00 00 00 mov $0x0,%edx
- c01004f4: 89 45 f8 mov %eax,-0x8(%ebp)
- c01004f7: 89 55 fc mov %edx,-0x4(%ebp)
- c01004fa: 8b 45 10 mov 0x10(%ebp),%eax
- c01004fd: c1 e0 08 shl $0x8,%eax
- c0100500: ba 00 00 00 00 mov $0x0,%edx
- c0100505: 25 00 ff f0 00 and $0xf0ff00,%eax
- c010050a: ba 00 00 00 00 mov $0x0,%edx
- c010050f: 09 45 f8 or %eax,-0x8(%ebp)
- c0100512: 09 55 fc or %edx,-0x4(%ebp)
- c0100515: 8b 45 08 mov 0x8(%ebp),%eax
- c0100518: c1 e8 10 shr $0x10,%eax
- c010051b: ba 00 00 00 00 mov $0x0,%edx
- c0100520: 0f b6 c0 movzbl %al,%eax
- c0100523: ba 00 00 00 00 mov $0x0,%edx
- c0100528: 09 45 f8 or %eax,-0x8(%ebp)
- c010052b: 09 55 fc or %edx,-0x4(%ebp)
- c010052e: 8b 45 08 mov 0x8(%ebp),%eax
- c0100531: ba 00 00 00 00 mov $0x0,%edx
- c0100536: 25 00 00 00 ff and $0xff000000,%eax
- c010053b: ba 00 00 00 00 mov $0x0,%edx
- c0100540: 09 45 f8 or %eax,-0x8(%ebp)
- c0100543: 09 55 fc or %edx,-0x4(%ebp)
- c0100546: 8b 45 f8 mov -0x8(%ebp),%eax
- c0100549: 8b 55 fc mov -0x4(%ebp),%edx
- c010054c: 89 c2 mov %eax,%edx
- c010054e: b8 00 00 00 00 mov $0x0,%eax
- c0100553: 89 45 f8 mov %eax,-0x8(%ebp)
- c0100556: 89 55 fc mov %edx,-0x4(%ebp)
- c0100559: 8b 45 08 mov 0x8(%ebp),%eax
- c010055c: c1 e0 10 shl $0x10,%eax
- c010055f: ba 00 00 00 00 mov $0x0,%edx
- c0100564: 09 45 f8 or %eax,-0x8(%ebp)
- c0100567: 09 55 fc or %edx,-0x4(%ebp)
- c010056a: 8b 45 0c mov 0xc(%ebp),%eax
- c010056d: ba 00 00 00 00 mov $0x0,%edx
- c0100572: 0f b7 c0 movzwl %ax,%eax
- c0100575: ba 00 00 00 00 mov $0x0,%edx
- c010057a: 09 45 f8 or %eax,-0x8(%ebp)
- c010057d: 09 55 fc or %edx,-0x4(%ebp)
- c0100580: 8b 45 f8 mov -0x8(%ebp),%eax
- c0100583: 8b 55 fc mov -0x4(%ebp),%edx
- c0100586: c9 leave
- c0100587: c3 ret
- c0100588 <setup_gdt>:
- c0100588: 55 push %ebp
- c0100589: 89 e5 mov %esp,%ebp
- c010058b: c7 05 20 80 12 c0 00 movl $0x0,0xc0128020
- c0100592: 00 00 00
- c0100595: c7 05 24 80 12 c0 00 movl $0x0,0xc0128024
- c010059c: 00 00 00
- c010059f: 83 ec 04 sub $0x4,%esp
- c01005a2: 68 9a c0 00 00 push $0xc09a
- c01005a7: 68 ff ff 0f 00 push $0xfffff
- c01005ac: 6a 00 push $0x0
- c01005ae: e8 29 ff ff ff call c01004dc <build_gdt_segment>
- c01005b3: 83 c4 10 add $0x10,%esp
- c01005b6: a3 28 80 12 c0 mov %eax,0xc0128028
- c01005bb: 89 15 2c 80 12 c0 mov %edx,0xc012802c
- c01005c1: 83 ec 04 sub $0x4,%esp
- c01005c4: 68 92 c0 00 00 push $0xc092
- c01005c9: 68 ff ff 0f 00 push $0xfffff
- c01005ce: 6a 00 push $0x0
- c01005d0: e8 07 ff ff ff call c01004dc <build_gdt_segment>
- c01005d5: 83 c4 10 add $0x10,%esp
- c01005d8: a3 30 80 12 c0 mov %eax,0xc0128030
- c01005dd: 89 15 34 80 12 c0 mov %edx,0xc0128034
- c01005e3: 83 ec 04 sub $0x4,%esp
- c01005e6: 68 fa c0 00 00 push $0xc0fa
- c01005eb: 68 ff ff 0f 00 push $0xfffff
- c01005f0: 6a 00 push $0x0
- c01005f2: e8 e5 fe ff ff call c01004dc <build_gdt_segment>
- c01005f7: 83 c4 10 add $0x10,%esp
- c01005fa: a3 38 80 12 c0 mov %eax,0xc0128038
- c01005ff: 89 15 3c 80 12 c0 mov %edx,0xc012803c
- c0100605: 83 ec 04 sub $0x4,%esp
- c0100608: 68 f2 c0 00 00 push $0xc0f2
- c010060d: 68 ff ff 0f 00 push $0xfffff
- c0100612: 6a 00 push $0x0
- c0100614: e8 c3 fe ff ff call c01004dc <build_gdt_segment>
- c0100619: 83 c4 10 add $0x10,%esp
- c010061c: a3 40 80 12 c0 mov %eax,0xc0128040
- c0100621: 89 15 44 80 12 c0 mov %edx,0xc0128044
- c0100627: b8 40 50 10 c0 mov $0xc0105040,%eax
- c010062c: 83 ec 04 sub $0x4,%esp
- c010062f: 68 e9 00 00 00 push $0xe9
- c0100634: 68 80 00 00 00 push $0x80
- c0100639: 50 push %eax
- c010063a: e8 9d fe ff ff call c01004dc <build_gdt_segment>
- c010063f: 83 c4 10 add $0x10,%esp
- c0100642: a3 48 80 12 c0 mov %eax,0xc0128048
- c0100647: 89 15 4c 80 12 c0 mov %edx,0xc012804c
- c010064d: 90 nop
- c010064e: c9 leave
- c010064f: c3 ret
- c0100650 <load_gdt>:
- c0100650: 55 push %ebp
- c0100651: 89 e5 mov %esp,%ebp
- c0100653: 83 ec 18 sub $0x18,%esp
- c0100656: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c010065c: 89 45 f4 mov %eax,-0xc(%ebp)
- c010065f: 31 c0 xor %eax,%eax
- c0100661: 66 c7 45 ee 2f 00 movw $0x2f,-0x12(%ebp)
- c0100667: c7 45 f0 20 80 12 c0 movl $0xc0128020,-0x10(%ebp)
- c010066e: 0f 01 55 ee lgdtl -0x12(%ebp)
- c0100672: 90 nop
- c0100673: 8b 45 f4 mov -0xc(%ebp),%eax
- c0100676: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
- c010067d: 74 05 je c0100684 <load_gdt+0x34>
- c010067f: e8 c2 0c 00 00 call c0101346 <__stack_chk_fail>
- c0100684: c9 leave
- c0100685: c3 ret
- c0100686 <reload_segment_registers>:
- c0100686: 55 push %ebp
- c0100687: 89 e5 mov %esp,%ebp
- c0100689: 66 b8 10 00 mov $0x10,%ax
- c010068d: 8e d8 mov %eax,%ds
- c010068f: 8e c0 mov %eax,%es
- c0100691: 8e e0 mov %eax,%fs
- c0100693: 8e e8 mov %eax,%gs
- c0100695: 8e d0 mov %eax,%ss
- c0100697: ea 9e 06 10 c0 08 00 ljmp $0x8,$0xc010069e
- c010069e <.1>:
- c010069e: b8 28 00 00 00 mov $0x28,%eax
- c01006a3: 0f 00 d8 ltr %ax
- c01006a6: 90 nop
- c01006a7: 5d pop %ebp
- c01006a8: c3 ret
- c01006a9 <build_idt_entry>:
- c01006a9: 55 push %ebp
- c01006aa: 89 e5 mov %esp,%ebp
- c01006ac: 83 ec 10 sub $0x10,%esp
- c01006af: 8b 45 08 mov 0x8(%ebp),%eax
- c01006b2: 89 45 f4 mov %eax,-0xc(%ebp)
- c01006b5: 8b 45 f4 mov -0xc(%ebp),%eax
- c01006b8: ba 00 00 00 00 mov $0x0,%edx
- c01006bd: 25 ff ff 00 00 and $0xffff,%eax
- c01006c2: ba 00 00 00 00 mov $0x0,%edx
- c01006c7: 89 45 f8 mov %eax,-0x8(%ebp)
- c01006ca: 89 55 fc mov %edx,-0x4(%ebp)
- c01006cd: 8b 45 0c mov 0xc(%ebp),%eax
- c01006d0: ba 00 00 00 00 mov $0x0,%edx
- c01006d5: 0f a4 c2 10 shld $0x10,%eax,%edx
- c01006d9: c1 e0 10 shl $0x10,%eax
- c01006dc: ba 00 00 00 00 mov $0x0,%edx
- c01006e1: 09 45 f8 or %eax,-0x8(%ebp)
- c01006e4: 09 55 fc or %edx,-0x4(%ebp)
- c01006e7: 8b 45 10 mov 0x10(%ebp),%eax
- c01006ea: ba 00 00 00 00 mov $0x0,%edx
- c01006ef: 89 c2 mov %eax,%edx
- c01006f1: b8 00 00 00 00 mov $0x0,%eax
- c01006f6: c1 e2 08 shl $0x8,%edx
- c01006f9: b8 00 00 00 00 mov $0x0,%eax
- c01006fe: 81 e2 00 ff 00 00 and $0xff00,%edx
- c0100704: 09 45 f8 or %eax,-0x8(%ebp)
- c0100707: 09 55 fc or %edx,-0x4(%ebp)
- c010070a: 8b 45 f4 mov -0xc(%ebp),%eax
- c010070d: c1 e8 10 shr $0x10,%eax
- c0100710: ba 00 00 00 00 mov $0x0,%edx
- c0100715: 89 c2 mov %eax,%edx
- c0100717: b8 00 00 00 00 mov $0x0,%eax
- c010071c: c1 e2 10 shl $0x10,%edx
- c010071f: 09 45 f8 or %eax,-0x8(%ebp)
- c0100722: 09 55 fc or %edx,-0x4(%ebp)
- c0100725: 8b 45 f8 mov -0x8(%ebp),%eax
- c0100728: 8b 55 fc mov -0x4(%ebp),%edx
- c010072b: c9 leave
- c010072c: c3 ret
- c010072d <setup_idt>:
- c010072d: 55 push %ebp
- c010072e: 89 e5 mov %esp,%ebp
- c0100730: 83 ec 08 sub $0x8,%esp
- c0100733: 83 ec 0c sub $0xc,%esp
- c0100736: 6a 20 push $0x20
- c0100738: e8 ef 04 00 00 call c0100c2c <pic_remap_irqs>
- c010073d: 83 c4 10 add $0x10,%esp
- c0100740: 83 ec 0c sub $0xc,%esp
- c0100743: 6a 00 push $0x0
- c0100745: e8 7c 05 00 00 call c0100cc6 <pic_apply_irq_mask>
- c010074a: 83 c4 10 add $0x10,%esp
- c010074d: 83 ec 04 sub $0x4,%esp
- c0100750: 68 8e 00 00 00 push $0x8e
- c0100755: 6a 08 push $0x8
- c0100757: 68 0c 00 10 c0 push $0xc010000c
- c010075c: e8 48 ff ff ff call c01006a9 <build_idt_entry>
- c0100761: 83 c4 10 add $0x10,%esp
- c0100764: a3 60 80 12 c0 mov %eax,0xc0128060
- c0100769: 89 15 64 80 12 c0 mov %edx,0xc0128064
- c010076f: 83 ec 04 sub $0x4,%esp
- c0100772: 68 8e 00 00 00 push $0x8e
- c0100777: 6a 08 push $0x8
- c0100779: 68 15 00 10 c0 push $0xc0100015
- c010077e: e8 26 ff ff ff call c01006a9 <build_idt_entry>
- c0100783: 83 c4 10 add $0x10,%esp
- c0100786: a3 68 80 12 c0 mov %eax,0xc0128068
- c010078b: 89 15 6c 80 12 c0 mov %edx,0xc012806c
- c0100791: 83 ec 04 sub $0x4,%esp
- c0100794: 68 8e 00 00 00 push $0x8e
- c0100799: 6a 08 push $0x8
- c010079b: 68 1e 00 10 c0 push $0xc010001e
- c01007a0: e8 04 ff ff ff call c01006a9 <build_idt_entry>
- c01007a5: 83 c4 10 add $0x10,%esp
- c01007a8: a3 70 80 12 c0 mov %eax,0xc0128070
- c01007ad: 89 15 74 80 12 c0 mov %edx,0xc0128074
- c01007b3: 83 ec 04 sub $0x4,%esp
- c01007b6: 68 8e 00 00 00 push $0x8e
- c01007bb: 6a 08 push $0x8
- c01007bd: 68 27 00 10 c0 push $0xc0100027
- c01007c2: e8 e2 fe ff ff call c01006a9 <build_idt_entry>
- c01007c7: 83 c4 10 add $0x10,%esp
- c01007ca: a3 78 80 12 c0 mov %eax,0xc0128078
- c01007cf: 89 15 7c 80 12 c0 mov %edx,0xc012807c
- c01007d5: 83 ec 04 sub $0x4,%esp
- c01007d8: 68 8e 00 00 00 push $0x8e
- c01007dd: 6a 08 push $0x8
- c01007df: 68 30 00 10 c0 push $0xc0100030
- c01007e4: e8 c0 fe ff ff call c01006a9 <build_idt_entry>
- c01007e9: 83 c4 10 add $0x10,%esp
- c01007ec: a3 80 80 12 c0 mov %eax,0xc0128080
- c01007f1: 89 15 84 80 12 c0 mov %edx,0xc0128084
- c01007f7: 83 ec 04 sub $0x4,%esp
- c01007fa: 68 8e 00 00 00 push $0x8e
- c01007ff: 6a 08 push $0x8
- c0100801: 68 39 00 10 c0 push $0xc0100039
- c0100806: e8 9e fe ff ff call c01006a9 <build_idt_entry>
- c010080b: 83 c4 10 add $0x10,%esp
- c010080e: a3 88 80 12 c0 mov %eax,0xc0128088
- c0100813: 89 15 8c 80 12 c0 mov %edx,0xc012808c
- c0100819: 83 ec 04 sub $0x4,%esp
- c010081c: 68 8e 00 00 00 push $0x8e
- c0100821: 6a 08 push $0x8
- c0100823: 68 42 00 10 c0 push $0xc0100042
- c0100828: e8 7c fe ff ff call c01006a9 <build_idt_entry>
- c010082d: 83 c4 10 add $0x10,%esp
- c0100830: a3 90 80 12 c0 mov %eax,0xc0128090
- c0100835: 89 15 94 80 12 c0 mov %edx,0xc0128094
- c010083b: 83 ec 04 sub $0x4,%esp
- c010083e: 68 8e 00 00 00 push $0x8e
- c0100843: 6a 08 push $0x8
- c0100845: 68 4b 00 10 c0 push $0xc010004b
- c010084a: e8 5a fe ff ff call c01006a9 <build_idt_entry>
- c010084f: 83 c4 10 add $0x10,%esp
- c0100852: a3 98 80 12 c0 mov %eax,0xc0128098
- c0100857: 89 15 9c 80 12 c0 mov %edx,0xc012809c
- c010085d: 83 ec 04 sub $0x4,%esp
- c0100860: 68 8e 00 00 00 push $0x8e
- c0100865: 6a 08 push $0x8
- c0100867: 68 54 00 10 c0 push $0xc0100054
- c010086c: e8 38 fe ff ff call c01006a9 <build_idt_entry>
- c0100871: 83 c4 10 add $0x10,%esp
- c0100874: a3 a0 80 12 c0 mov %eax,0xc01280a0
- c0100879: 89 15 a4 80 12 c0 mov %edx,0xc01280a4
- c010087f: 83 ec 04 sub $0x4,%esp
- c0100882: 68 8e 00 00 00 push $0x8e
- c0100887: 6a 08 push $0x8
- c0100889: 68 5b 00 10 c0 push $0xc010005b
- c010088e: e8 16 fe ff ff call c01006a9 <build_idt_entry>
- c0100893: 83 c4 10 add $0x10,%esp
- c0100896: a3 a8 80 12 c0 mov %eax,0xc01280a8
- c010089b: 89 15 ac 80 12 c0 mov %edx,0xc01280ac
- c01008a1: 83 ec 04 sub $0x4,%esp
- c01008a4: 68 8e 00 00 00 push $0x8e
- c01008a9: 6a 08 push $0x8
- c01008ab: 68 64 00 10 c0 push $0xc0100064
- c01008b0: e8 f4 fd ff ff call c01006a9 <build_idt_entry>
- c01008b5: 83 c4 10 add $0x10,%esp
- c01008b8: a3 b0 80 12 c0 mov %eax,0xc01280b0
- c01008bd: 89 15 b4 80 12 c0 mov %edx,0xc01280b4
- c01008c3: 83 ec 04 sub $0x4,%esp
- c01008c6: 68 8e 00 00 00 push $0x8e
- c01008cb: 6a 08 push $0x8
- c01008cd: 68 6b 00 10 c0 push $0xc010006b
- c01008d2: e8 d2 fd ff ff call c01006a9 <build_idt_entry>
- c01008d7: 83 c4 10 add $0x10,%esp
- c01008da: a3 b8 80 12 c0 mov %eax,0xc01280b8
- c01008df: 89 15 bc 80 12 c0 mov %edx,0xc01280bc
- c01008e5: 83 ec 04 sub $0x4,%esp
- c01008e8: 68 8e 00 00 00 push $0x8e
- c01008ed: 6a 08 push $0x8
- c01008ef: 68 72 00 10 c0 push $0xc0100072
- c01008f4: e8 b0 fd ff ff call c01006a9 <build_idt_entry>
- c01008f9: 83 c4 10 add $0x10,%esp
- c01008fc: a3 c0 80 12 c0 mov %eax,0xc01280c0
- c0100901: 89 15 c4 80 12 c0 mov %edx,0xc01280c4
- c0100907: 83 ec 04 sub $0x4,%esp
- c010090a: 68 8e 00 00 00 push $0x8e
- c010090f: 6a 08 push $0x8
- c0100911: 68 79 00 10 c0 push $0xc0100079
- c0100916: e8 8e fd ff ff call c01006a9 <build_idt_entry>
- c010091b: 83 c4 10 add $0x10,%esp
- c010091e: a3 c8 80 12 c0 mov %eax,0xc01280c8
- c0100923: 89 15 cc 80 12 c0 mov %edx,0xc01280cc
- c0100929: 83 ec 04 sub $0x4,%esp
- c010092c: 68 8e 00 00 00 push $0x8e
- c0100931: 6a 08 push $0x8
- c0100933: 68 80 00 10 c0 push $0xc0100080
- c0100938: e8 6c fd ff ff call c01006a9 <build_idt_entry>
- c010093d: 83 c4 10 add $0x10,%esp
- c0100940: a3 d0 80 12 c0 mov %eax,0xc01280d0
- c0100945: 89 15 d4 80 12 c0 mov %edx,0xc01280d4
- c010094b: 83 ec 04 sub $0x4,%esp
- c010094e: 68 8e 00 00 00 push $0x8e
- c0100953: 6a 08 push $0x8
- c0100955: 68 87 00 10 c0 push $0xc0100087
- c010095a: e8 4a fd ff ff call c01006a9 <build_idt_entry>
- c010095f: 83 c4 10 add $0x10,%esp
- c0100962: a3 d8 80 12 c0 mov %eax,0xc01280d8
- c0100967: 89 15 dc 80 12 c0 mov %edx,0xc01280dc
- c010096d: 83 ec 04 sub $0x4,%esp
- c0100970: 68 8e 00 00 00 push $0x8e
- c0100975: 6a 08 push $0x8
- c0100977: 68 8d 00 10 c0 push $0xc010008d
- c010097c: e8 28 fd ff ff call c01006a9 <build_idt_entry>
- c0100981: 83 c4 10 add $0x10,%esp
- c0100984: a3 e0 80 12 c0 mov %eax,0xc01280e0
- c0100989: 89 15 e4 80 12 c0 mov %edx,0xc01280e4
- c010098f: 83 ec 04 sub $0x4,%esp
- c0100992: 68 8e 00 00 00 push $0x8e
- c0100997: 6a 08 push $0x8
- c0100999: 68 93 00 10 c0 push $0xc0100093
- c010099e: e8 06 fd ff ff call c01006a9 <build_idt_entry>
- c01009a3: 83 c4 10 add $0x10,%esp
- c01009a6: a3 e8 80 12 c0 mov %eax,0xc01280e8
- c01009ab: 89 15 ec 80 12 c0 mov %edx,0xc01280ec
- c01009b1: 83 ec 04 sub $0x4,%esp
- c01009b4: 68 8e 00 00 00 push $0x8e
- c01009b9: 6a 08 push $0x8
- c01009bb: 68 97 00 10 c0 push $0xc0100097
- c01009c0: e8 e4 fc ff ff call c01006a9 <build_idt_entry>
- c01009c5: 83 c4 10 add $0x10,%esp
- c01009c8: a3 f0 80 12 c0 mov %eax,0xc01280f0
- c01009cd: 89 15 f4 80 12 c0 mov %edx,0xc01280f4
- c01009d3: 83 ec 04 sub $0x4,%esp
- c01009d6: 68 8e 00 00 00 push $0x8e
- c01009db: 6a 08 push $0x8
- c01009dd: 68 a3 00 10 c0 push $0xc01000a3
- c01009e2: e8 c2 fc ff ff call c01006a9 <build_idt_entry>
- c01009e7: 83 c4 10 add $0x10,%esp
- c01009ea: a3 60 81 12 c0 mov %eax,0xc0128160
- c01009ef: 89 15 64 81 12 c0 mov %edx,0xc0128164
- c01009f5: 83 ec 04 sub $0x4,%esp
- c01009f8: 68 8e 00 00 00 push $0x8e
- c01009fd: 6a 08 push $0x8
- c01009ff: 68 a9 00 10 c0 push $0xc01000a9
- c0100a04: e8 a0 fc ff ff call c01006a9 <build_idt_entry>
- c0100a09: 83 c4 10 add $0x10,%esp
- c0100a0c: a3 68 81 12 c0 mov %eax,0xc0128168
- c0100a11: 89 15 6c 81 12 c0 mov %edx,0xc012816c
- c0100a17: 83 ec 04 sub $0x4,%esp
- c0100a1a: 68 8e 00 00 00 push $0x8e
- c0100a1f: 6a 08 push $0x8
- c0100a21: 68 af 00 10 c0 push $0xc01000af
- c0100a26: e8 7e fc ff ff call c01006a9 <build_idt_entry>
- c0100a2b: 83 c4 10 add $0x10,%esp
- c0100a2e: a3 70 81 12 c0 mov %eax,0xc0128170
- c0100a33: 89 15 74 81 12 c0 mov %edx,0xc0128174
- c0100a39: 83 ec 04 sub $0x4,%esp
- c0100a3c: 68 8e 00 00 00 push $0x8e
- c0100a41: 6a 08 push $0x8
- c0100a43: 68 b5 00 10 c0 push $0xc01000b5
- c0100a48: e8 5c fc ff ff call c01006a9 <build_idt_entry>
- c0100a4d: 83 c4 10 add $0x10,%esp
- c0100a50: a3 78 81 12 c0 mov %eax,0xc0128178
- c0100a55: 89 15 7c 81 12 c0 mov %edx,0xc012817c
- c0100a5b: 83 ec 04 sub $0x4,%esp
- c0100a5e: 68 8e 00 00 00 push $0x8e
- c0100a63: 6a 08 push $0x8
- c0100a65: 68 bb 00 10 c0 push $0xc01000bb
- c0100a6a: e8 3a fc ff ff call c01006a9 <build_idt_entry>
- c0100a6f: 83 c4 10 add $0x10,%esp
- c0100a72: a3 80 81 12 c0 mov %eax,0xc0128180
- c0100a77: 89 15 84 81 12 c0 mov %edx,0xc0128184
- c0100a7d: 83 ec 04 sub $0x4,%esp
- c0100a80: 68 8e 00 00 00 push $0x8e
- c0100a85: 6a 08 push $0x8
- c0100a87: 68 c1 00 10 c0 push $0xc01000c1
- c0100a8c: e8 18 fc ff ff call c01006a9 <build_idt_entry>
- c0100a91: 83 c4 10 add $0x10,%esp
- c0100a94: a3 88 81 12 c0 mov %eax,0xc0128188
- c0100a99: 89 15 8c 81 12 c0 mov %edx,0xc012818c
- c0100a9f: 83 ec 04 sub $0x4,%esp
- c0100aa2: 68 8e 00 00 00 push $0x8e
- c0100aa7: 6a 08 push $0x8
- c0100aa9: 68 c7 00 10 c0 push $0xc01000c7
- c0100aae: e8 f6 fb ff ff call c01006a9 <build_idt_entry>
- c0100ab3: 83 c4 10 add $0x10,%esp
- c0100ab6: a3 90 81 12 c0 mov %eax,0xc0128190
- c0100abb: 89 15 94 81 12 c0 mov %edx,0xc0128194
- c0100ac1: 83 ec 04 sub $0x4,%esp
- c0100ac4: 68 8e 00 00 00 push $0x8e
- c0100ac9: 6a 08 push $0x8
- c0100acb: 68 cd 00 10 c0 push $0xc01000cd
- c0100ad0: e8 d4 fb ff ff call c01006a9 <build_idt_entry>
- c0100ad5: 83 c4 10 add $0x10,%esp
- c0100ad8: a3 98 81 12 c0 mov %eax,0xc0128198
- c0100add: 89 15 9c 81 12 c0 mov %edx,0xc012819c
- c0100ae3: 83 ec 04 sub $0x4,%esp
- c0100ae6: 68 8e 00 00 00 push $0x8e
- c0100aeb: 6a 08 push $0x8
- c0100aed: 68 d3 00 10 c0 push $0xc01000d3
- c0100af2: e8 b2 fb ff ff call c01006a9 <build_idt_entry>
- c0100af7: 83 c4 10 add $0x10,%esp
- c0100afa: a3 50 81 12 c0 mov %eax,0xc0128150
- c0100aff: 89 15 54 81 12 c0 mov %edx,0xc0128154
- c0100b05: 83 ec 04 sub $0x4,%esp
- c0100b08: 68 8e 00 00 00 push $0x8e
- c0100b0d: 6a 08 push $0x8
- c0100b0f: 68 d9 00 10 c0 push $0xc01000d9
- c0100b14: e8 90 fb ff ff call c01006a9 <build_idt_entry>
- c0100b19: 83 c4 10 add $0x10,%esp
- c0100b1c: a3 a8 81 12 c0 mov %eax,0xc01281a8
- c0100b21: 89 15 ac 81 12 c0 mov %edx,0xc01281ac
- c0100b27: 83 ec 04 sub $0x4,%esp
- c0100b2a: 68 8e 00 00 00 push $0x8e
- c0100b2f: 6a 08 push $0x8
- c0100b31: 68 df 00 10 c0 push $0xc01000df
- c0100b36: e8 6e fb ff ff call c01006a9 <build_idt_entry>
- c0100b3b: 83 c4 10 add $0x10,%esp
- c0100b3e: a3 b0 81 12 c0 mov %eax,0xc01281b0
- c0100b43: 89 15 b4 81 12 c0 mov %edx,0xc01281b4
- c0100b49: 83 ec 04 sub $0x4,%esp
- c0100b4c: 68 8e 00 00 00 push $0x8e
- c0100b51: 6a 08 push $0x8
- c0100b53: 68 e5 00 10 c0 push $0xc01000e5
- c0100b58: e8 4c fb ff ff call c01006a9 <build_idt_entry>
- c0100b5d: 83 c4 10 add $0x10,%esp
- c0100b60: a3 b8 81 12 c0 mov %eax,0xc01281b8
- c0100b65: 89 15 bc 81 12 c0 mov %edx,0xc01281bc
- c0100b6b: 83 ec 04 sub $0x4,%esp
- c0100b6e: 68 8e 00 00 00 push $0x8e
- c0100b73: 6a 08 push $0x8
- c0100b75: 68 eb 00 10 c0 push $0xc01000eb
- c0100b7a: e8 2a fb ff ff call c01006a9 <build_idt_entry>
- c0100b7f: 83 c4 10 add $0x10,%esp
- c0100b82: a3 c0 81 12 c0 mov %eax,0xc01281c0
- c0100b87: 89 15 c4 81 12 c0 mov %edx,0xc01281c4
- c0100b8d: 83 ec 04 sub $0x4,%esp
- c0100b90: 68 8e 00 00 00 push $0x8e
- c0100b95: 6a 08 push $0x8
- c0100b97: 68 f1 00 10 c0 push $0xc01000f1
- c0100b9c: e8 08 fb ff ff call c01006a9 <build_idt_entry>
- c0100ba1: 83 c4 10 add $0x10,%esp
- c0100ba4: a3 c8 81 12 c0 mov %eax,0xc01281c8
- c0100ba9: 89 15 cc 81 12 c0 mov %edx,0xc01281cc
- c0100baf: 83 ec 04 sub $0x4,%esp
- c0100bb2: 68 8e 00 00 00 push $0x8e
- c0100bb7: 6a 08 push $0x8
- c0100bb9: 68 f7 00 10 c0 push $0xc01000f7
- c0100bbe: e8 e6 fa ff ff call c01006a9 <build_idt_entry>
- c0100bc3: 83 c4 10 add $0x10,%esp
- c0100bc6: a3 d0 81 12 c0 mov %eax,0xc01281d0
- c0100bcb: 89 15 d4 81 12 c0 mov %edx,0xc01281d4
- c0100bd1: 83 ec 04 sub $0x4,%esp
- c0100bd4: 68 8e 00 00 00 push $0x8e
- c0100bd9: 6a 08 push $0x8
- c0100bdb: 68 fd 00 10 c0 push $0xc01000fd
- c0100be0: e8 c4 fa ff ff call c01006a9 <build_idt_entry>
- c0100be5: 83 c4 10 add $0x10,%esp
- c0100be8: a3 d8 81 12 c0 mov %eax,0xc01281d8
- c0100bed: 89 15 dc 81 12 c0 mov %edx,0xc01281dc
- c0100bf3: eb fe jmp c0100bf3 <setup_idt+0x4c6>
- c0100bf5 <load_idt>:
- c0100bf5: 55 push %ebp
- c0100bf6: 89 e5 mov %esp,%ebp
- c0100bf8: 83 ec 18 sub $0x18,%esp
- c0100bfb: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c0100c01: 89 45 f4 mov %eax,-0xc(%ebp)
- c0100c04: 31 c0 xor %eax,%eax
- c0100c06: 66 c7 45 ee ff 07 movw $0x7ff,-0x12(%ebp)
- c0100c0c: c7 45 f0 60 80 12 c0 movl $0xc0128060,-0x10(%ebp)
- c0100c13: 0f 01 5d ee lidtl -0x12(%ebp)
- c0100c17: fb sti
- c0100c18: 90 nop
- c0100c19: 8b 45 f4 mov -0xc(%ebp),%eax
- c0100c1c: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
- c0100c23: 74 05 je c0100c2a <load_idt+0x35>
- c0100c25: e8 1c 07 00 00 call c0101346 <__stack_chk_fail>
- c0100c2a: c9 leave
- c0100c2b: c3 ret
- c0100c2c <pic_remap_irqs>:
- c0100c2c: 55 push %ebp
- c0100c2d: 89 e5 mov %esp,%ebp
- c0100c2f: 83 ec 08 sub $0x8,%esp
- c0100c32: 83 ec 08 sub $0x8,%esp
- c0100c35: 6a 11 push $0x11
- c0100c37: 6a 20 push $0x20
- c0100c39: e8 fa 0c 00 00 call c0101938 <outb>
- c0100c3e: 83 c4 10 add $0x10,%esp
- c0100c41: 83 ec 08 sub $0x8,%esp
- c0100c44: 6a 11 push $0x11
- c0100c46: 68 a0 00 00 00 push $0xa0
- c0100c4b: e8 e8 0c 00 00 call c0101938 <outb>
- c0100c50: 83 c4 10 add $0x10,%esp
- c0100c53: 8b 45 08 mov 0x8(%ebp),%eax
- c0100c56: 0f b6 c0 movzbl %al,%eax
- c0100c59: 83 ec 08 sub $0x8,%esp
- c0100c5c: 50 push %eax
- c0100c5d: 6a 21 push $0x21
- c0100c5f: e8 d4 0c 00 00 call c0101938 <outb>
- c0100c64: 83 c4 10 add $0x10,%esp
- c0100c67: 8b 45 08 mov 0x8(%ebp),%eax
- c0100c6a: 83 c0 08 add $0x8,%eax
- c0100c6d: 0f b6 c0 movzbl %al,%eax
- c0100c70: 83 ec 08 sub $0x8,%esp
- c0100c73: 50 push %eax
- c0100c74: 68 a1 00 00 00 push $0xa1
- c0100c79: e8 ba 0c 00 00 call c0101938 <outb>
- c0100c7e: 83 c4 10 add $0x10,%esp
- c0100c81: 83 ec 08 sub $0x8,%esp
- c0100c84: 6a 04 push $0x4
- c0100c86: 6a 21 push $0x21
- c0100c88: e8 ab 0c 00 00 call c0101938 <outb>
- c0100c8d: 83 c4 10 add $0x10,%esp
- c0100c90: 83 ec 08 sub $0x8,%esp
- c0100c93: 6a 02 push $0x2
- c0100c95: 68 a1 00 00 00 push $0xa1
- c0100c9a: e8 99 0c 00 00 call c0101938 <outb>
- c0100c9f: 83 c4 10 add $0x10,%esp
- c0100ca2: 83 ec 08 sub $0x8,%esp
- c0100ca5: 6a 01 push $0x1
- c0100ca7: 6a 21 push $0x21
- c0100ca9: e8 8a 0c 00 00 call c0101938 <outb>
- c0100cae: 83 c4 10 add $0x10,%esp
- c0100cb1: 83 ec 08 sub $0x8,%esp
- c0100cb4: 6a 01 push $0x1
- c0100cb6: 68 a1 00 00 00 push $0xa1
- c0100cbb: e8 78 0c 00 00 call c0101938 <outb>
- c0100cc0: 83 c4 10 add $0x10,%esp
- c0100cc3: 90 nop
- c0100cc4: c9 leave
- c0100cc5: c3 ret
- c0100cc6 <pic_apply_irq_mask>:
- c0100cc6: 55 push %ebp
- c0100cc7: 89 e5 mov %esp,%ebp
- c0100cc9: 83 ec 18 sub $0x18,%esp
- c0100ccc: 8b 45 08 mov 0x8(%ebp),%eax
- c0100ccf: 66 89 45 f4 mov %ax,-0xc(%ebp)
- c0100cd3: 0f b7 45 f4 movzwl -0xc(%ebp),%eax
- c0100cd7: 0f b6 c0 movzbl %al,%eax
- c0100cda: 83 ec 08 sub $0x8,%esp
- c0100cdd: 50 push %eax
- c0100cde: 6a 21 push $0x21
- c0100ce0: e8 53 0c 00 00 call c0101938 <outb>
- c0100ce5: 83 c4 10 add $0x10,%esp
- c0100ce8: 0f b7 45 f4 movzwl -0xc(%ebp),%eax
- c0100cec: 66 c1 e8 08 shr $0x8,%ax
- c0100cf0: 0f b6 c0 movzbl %al,%eax
- c0100cf3: 83 ec 08 sub $0x8,%esp
- c0100cf6: 50 push %eax
- c0100cf7: 68 a1 00 00 00 push $0xa1
- c0100cfc: e8 37 0c 00 00 call c0101938 <outb>
- c0100d01: 83 c4 10 add $0x10,%esp
- c0100d04: 90 nop
- c0100d05: c9 leave
- c0100d06: c3 ret
- c0100d07 <pic_send_eoi>:
- c0100d07: 55 push %ebp
- c0100d08: 89 e5 mov %esp,%ebp
- c0100d0a: 83 ec 18 sub $0x18,%esp
- c0100d0d: 8b 45 08 mov 0x8(%ebp),%eax
- c0100d10: 88 45 f4 mov %al,-0xc(%ebp)
- c0100d13: 83 ec 08 sub $0x8,%esp
- c0100d16: 6a 20 push $0x20
- c0100d18: 6a 20 push $0x20
- c0100d1a: e8 19 0c 00 00 call c0101938 <outb>
- c0100d1f: 83 c4 10 add $0x10,%esp
- c0100d22: 80 7d f4 07 cmpb $0x7,-0xc(%ebp)
- c0100d26: 76 12 jbe c0100d3a <pic_send_eoi+0x33>
- c0100d28: 83 ec 08 sub $0x8,%esp
- c0100d2b: 6a 20 push $0x20
- c0100d2d: 68 a0 00 00 00 push $0xa0
- c0100d32: e8 01 0c 00 00 call c0101938 <outb>
- c0100d37: 83 c4 10 add $0x10,%esp
- c0100d3a: 90 nop
- c0100d3b: c9 leave
- c0100d3c: c3 ret
- c0100d3d <enable_nmi>:
- c0100d3d: 55 push %ebp
- c0100d3e: 89 e5 mov %esp,%ebp
- c0100d40: 83 ec 08 sub $0x8,%esp
- c0100d43: c6 05 60 88 12 c0 00 movb $0x0,0xc0128860
- c0100d4a: 0f b6 05 60 88 12 c0 movzbl 0xc0128860,%eax
- c0100d51: c1 e0 07 shl $0x7,%eax
- c0100d54: 0f b6 c0 movzbl %al,%eax
- c0100d57: 83 ec 08 sub $0x8,%esp
- c0100d5a: 50 push %eax
- c0100d5b: 6a 70 push $0x70
- c0100d5d: e8 d6 0b 00 00 call c0101938 <outb>
- c0100d62: 83 c4 10 add $0x10,%esp
- c0100d65: 90 nop
- c0100d66: c9 leave
- c0100d67: c3 ret
- c0100d68 <disable_nmi>:
- c0100d68: 55 push %ebp
- c0100d69: 89 e5 mov %esp,%ebp
- c0100d6b: 83 ec 08 sub $0x8,%esp
- c0100d6e: c6 05 60 88 12 c0 01 movb $0x1,0xc0128860
- c0100d75: 0f b6 05 60 88 12 c0 movzbl 0xc0128860,%eax
- c0100d7c: c1 e0 07 shl $0x7,%eax
- c0100d7f: 0f b6 c0 movzbl %al,%eax
- c0100d82: 83 ec 08 sub $0x8,%esp
- c0100d85: 50 push %eax
- c0100d86: 6a 70 push $0x70
- c0100d88: e8 ab 0b 00 00 call c0101938 <outb>
- c0100d8d: 83 c4 10 add $0x10,%esp
- c0100d90: 90 nop
- c0100d91: c9 leave
- c0100d92: c3 ret
- c0100d93 <is_nmi_disabled>:
- c0100d93: 55 push %ebp
- c0100d94: 89 e5 mov %esp,%ebp
- c0100d96: 0f b6 05 60 88 12 c0 movzbl 0xc0128860,%eax
- c0100d9d: 5d pop %ebp
- c0100d9e: c3 ret
- c0100d9f <handle_exception>:
- c0100d9f: 55 push %ebp
- c0100da0: 89 e5 mov %esp,%ebp
- c0100da2: 83 ec 08 sub $0x8,%esp
- c0100da5: 83 ec 08 sub $0x8,%esp
- c0100da8: 68 00 30 10 c0 push $0xc0103000
- c0100dad: 6a 0c push $0xc
- c0100daf: e8 fc f5 ff ff call c01003b0 <kprintf>
- c0100db4: 83 c4 10 add $0x10,%esp
- c0100db7: 8b 45 08 mov 0x8(%ebp),%eax
- c0100dba: 8b 40 1c mov 0x1c(%eax),%eax
- c0100dbd: 83 f8 0d cmp $0xd,%eax
- c0100dc0: 74 1d je c0100ddf <handle_exception+0x40>
- c0100dc2: 83 f8 0e cmp $0xe,%eax
- c0100dc5: 74 2c je c0100df3 <handle_exception+0x54>
- c0100dc7: 85 c0 test %eax,%eax
- c0100dc9: 75 3c jne c0100e07 <handle_exception+0x68>
- c0100dcb: 83 ec 08 sub $0x8,%esp
- c0100dce: 68 29 30 10 c0 push $0xc0103029
- c0100dd3: 6a 04 push $0x4
- c0100dd5: e8 d6 f5 ff ff call c01003b0 <kprintf>
- c0100dda: 83 c4 10 add $0x10,%esp
- c0100ddd: eb 3b jmp c0100e1a <handle_exception+0x7b>
- c0100ddf: 83 ec 08 sub $0x8,%esp
- c0100de2: 68 3a 30 10 c0 push $0xc010303a
- c0100de7: 6a 04 push $0x4
- c0100de9: e8 c2 f5 ff ff call c01003b0 <kprintf>
- c0100dee: 83 c4 10 add $0x10,%esp
- c0100df1: eb 27 jmp c0100e1a <handle_exception+0x7b>
- c0100df3: 83 ec 08 sub $0x8,%esp
- c0100df6: 68 53 30 10 c0 push $0xc0103053
- c0100dfb: 6a 04 push $0x4
- c0100dfd: e8 ae f5 ff ff call c01003b0 <kprintf>
- c0100e02: 83 c4 10 add $0x10,%esp
- c0100e05: eb 13 jmp c0100e1a <handle_exception+0x7b>
- c0100e07: 83 ec 08 sub $0x8,%esp
- c0100e0a: 68 5e 30 10 c0 push $0xc010305e
- c0100e0f: 6a 04 push $0x4
- c0100e11: e8 9a f5 ff ff call c01003b0 <kprintf>
- c0100e16: 83 c4 10 add $0x10,%esp
- c0100e19: 90 nop
- c0100e1a: 8b 45 08 mov 0x8(%ebp),%eax
- c0100e1d: 8b 40 1c mov 0x1c(%eax),%eax
- c0100e20: 83 ec 04 sub $0x4,%esp
- c0100e23: 50 push %eax
- c0100e24: 68 68 30 10 c0 push $0xc0103068
- c0100e29: 6a 04 push $0x4
- c0100e2b: e8 80 f5 ff ff call c01003b0 <kprintf>
- c0100e30: 83 c4 10 add $0x10,%esp
- c0100e33: 83 ec 0c sub $0xc,%esp
- c0100e36: ff 75 08 pushl 0x8(%ebp)
- c0100e39: e8 78 01 00 00 call c0100fb6 <dump_frame>
- c0100e3e: 83 c4 10 add $0x10,%esp
- c0100e41: 83 ec 08 sub $0x8,%esp
- c0100e44: 68 72 30 10 c0 push $0xc0103072
- c0100e49: 6a 0c push $0xc
- c0100e4b: e8 60 f5 ff ff call c01003b0 <kprintf>
- c0100e50: 83 c4 10 add $0x10,%esp
- c0100e53: fa cli
- c0100e54: f4 hlt
- c0100e55: eb fc jmp c0100e53 <handle_exception+0xb4>
- c0100e57 <handle_irq>:
- c0100e57: 55 push %ebp
- c0100e58: 89 e5 mov %esp,%ebp
- c0100e5a: 83 ec 18 sub $0x18,%esp
- c0100e5d: 83 ec 08 sub $0x8,%esp
- c0100e60: 68 83 30 10 c0 push $0xc0103083
- c0100e65: 6a 07 push $0x7
- c0100e67: e8 45 f4 ff ff call c01002b1 <kputs>
- c0100e6c: 83 c4 10 add $0x10,%esp
- c0100e6f: 8b 45 08 mov 0x8(%ebp),%eax
- c0100e72: 89 45 f4 mov %eax,-0xc(%ebp)
- c0100e75: 8b 45 08 mov 0x8(%ebp),%eax
- c0100e78: 8b 40 1c mov 0x1c(%eax),%eax
- c0100e7b: 83 f8 21 cmp $0x21,%eax
- c0100e7e: 74 33 je c0100eb3 <handle_irq+0x5c>
- c0100e80: 83 f8 2e cmp $0x2e,%eax
- c0100e83: 0f 84 0f 01 00 00 je c0100f98 <handle_irq+0x141>
- c0100e89: 83 f8 20 cmp $0x20,%eax
- c0100e8c: 0f 85 eb 00 00 00 jne c0100f7d <handle_irq+0x126>
- c0100e92: 83 ec 0c sub $0xc,%esp
- c0100e95: ff 75 08 pushl 0x8(%ebp)
- c0100e98: e8 4c 06 00 00 call c01014e9 <schedule>
- c0100e9d: 83 c4 10 add $0x10,%esp
- c0100ea0: 89 45 f4 mov %eax,-0xc(%ebp)
- c0100ea3: 8b 45 f4 mov -0xc(%ebp),%eax
- c0100ea6: 83 c0 38 add $0x38,%eax
- c0100ea9: a3 44 50 10 c0 mov %eax,0xc0105044
- c0100eae: e9 e9 00 00 00 jmp c0100f9c <handle_irq+0x145>
- c0100eb3: 83 ec 0c sub $0xc,%esp
- c0100eb6: 6a 60 push $0x60
- c0100eb8: e8 9a 0a 00 00 call c0101957 <inb>
- c0100ebd: 83 c4 10 add $0x10,%esp
- c0100ec0: 88 45 f2 mov %al,-0xe(%ebp)
- c0100ec3: 0f b6 45 f2 movzbl -0xe(%ebp),%eax
- c0100ec7: 83 ec 0c sub $0xc,%esp
- c0100eca: 50 push %eax
- c0100ecb: e8 63 03 00 00 call c0101233 <process_keyboard>
- c0100ed0: 83 c4 10 add $0x10,%esp
- c0100ed3: 83 ec 0c sub $0xc,%esp
- c0100ed6: 6a 1d push $0x1d
- c0100ed8: e8 3d 03 00 00 call c010121a <is_key_pressed>
- c0100edd: 83 c4 10 add $0x10,%esp
- c0100ee0: 84 c0 test %al,%al
- c0100ee2: 74 4d je c0100f31 <handle_irq+0xda>
- c0100ee4: 83 ec 0c sub $0xc,%esp
- c0100ee7: 6a 38 push $0x38
- c0100ee9: e8 2c 03 00 00 call c010121a <is_key_pressed>
- c0100eee: 83 c4 10 add $0x10,%esp
- c0100ef1: 84 c0 test %al,%al
- c0100ef3: 74 3c je c0100f31 <handle_irq+0xda>
- c0100ef5: 83 ec 0c sub $0xc,%esp
- c0100ef8: 68 e0 00 00 00 push $0xe0
- c0100efd: e8 18 03 00 00 call c010121a <is_key_pressed>
- c0100f02: 83 c4 10 add $0x10,%esp
- c0100f05: 84 c0 test %al,%al
- c0100f07: 74 28 je c0100f31 <handle_irq+0xda>
- c0100f09: 83 ec 0c sub $0xc,%esp
- c0100f0c: 6a 53 push $0x53
- c0100f0e: e8 07 03 00 00 call c010121a <is_key_pressed>
- c0100f13: 83 c4 10 add $0x10,%esp
- c0100f16: 84 c0 test %al,%al
- c0100f18: 74 17 je c0100f31 <handle_irq+0xda>
- c0100f1a: 83 ec 08 sub $0x8,%esp
- c0100f1d: 68 88 30 10 c0 push $0xc0103088
- c0100f22: 6a 04 push $0x4
- c0100f24: e8 87 f4 ff ff call c01003b0 <kprintf>
- c0100f29: 83 c4 10 add $0x10,%esp
- c0100f2c: e8 83 0a 00 00 call c01019b4 <reboot>
- c0100f31: 0f b6 45 f2 movzbl -0xe(%ebp),%eax
- c0100f35: 84 c0 test %al,%al
- c0100f37: 78 62 js c0100f9b <handle_irq+0x144>
- c0100f39: 0f b6 45 f2 movzbl -0xe(%ebp),%eax
- c0100f3d: 83 e0 7f and $0x7f,%eax
- c0100f40: 83 ec 0c sub $0xc,%esp
- c0100f43: 50 push %eax
- c0100f44: e8 80 03 00 00 call c01012c9 <scancode_to_ascii>
- c0100f49: 83 c4 10 add $0x10,%esp
- c0100f4c: 88 45 f3 mov %al,-0xd(%ebp)
- c0100f4f: 80 7d f3 0a cmpb $0xa,-0xd(%ebp)
- c0100f53: 75 0f jne c0100f64 <handle_irq+0x10d>
- c0100f55: 83 ec 08 sub $0x8,%esp
- c0100f58: 6a 0d push $0xd
- c0100f5a: 6a 07 push $0x7
- c0100f5c: e8 7b f2 ff ff call c01001dc <kputc>
- c0100f61: 83 c4 10 add $0x10,%esp
- c0100f64: 0f b6 45 f3 movzbl -0xd(%ebp),%eax
- c0100f68: 83 ec 04 sub $0x4,%esp
- c0100f6b: 50 push %eax
- c0100f6c: 68 b0 30 10 c0 push $0xc01030b0
- c0100f71: 6a 07 push $0x7
- c0100f73: e8 38 f4 ff ff call c01003b0 <kprintf>
- c0100f78: 83 c4 10 add $0x10,%esp
- c0100f7b: eb 1e jmp c0100f9b <handle_irq+0x144>
- c0100f7d: 8b 45 08 mov 0x8(%ebp),%eax
- c0100f80: 8b 40 1c mov 0x1c(%eax),%eax
- c0100f83: 83 ec 04 sub $0x4,%esp
- c0100f86: 50 push %eax
- c0100f87: 68 b3 30 10 c0 push $0xc01030b3
- c0100f8c: 6a 0e push $0xe
- c0100f8e: e8 1d f4 ff ff call c01003b0 <kprintf>
- c0100f93: 83 c4 10 add $0x10,%esp
- c0100f96: eb 04 jmp c0100f9c <handle_irq+0x145>
- c0100f98: 90 nop
- c0100f99: eb 01 jmp c0100f9c <handle_irq+0x145>
- c0100f9b: 90 nop
- c0100f9c: 8b 45 08 mov 0x8(%ebp),%eax
- c0100f9f: 8b 40 1c mov 0x1c(%eax),%eax
- c0100fa2: 0f b6 c0 movzbl %al,%eax
- c0100fa5: 83 ec 0c sub $0xc,%esp
- c0100fa8: 50 push %eax
- c0100fa9: e8 59 fd ff ff call c0100d07 <pic_send_eoi>
- c0100fae: 83 c4 10 add $0x10,%esp
- c0100fb1: 8b 45 f4 mov -0xc(%ebp),%eax
- c0100fb4: c9 leave
- c0100fb5: c3 ret
- c0100fb6 <dump_frame>:
- c0100fb6: 55 push %ebp
- c0100fb7: 89 e5 mov %esp,%ebp
- c0100fb9: 83 ec 08 sub $0x8,%esp
- c0100fbc: 8b 45 08 mov 0x8(%ebp),%eax
- c0100fbf: 8b 48 08 mov 0x8(%eax),%ecx
- c0100fc2: 8b 45 08 mov 0x8(%ebp),%eax
- c0100fc5: 8b 50 04 mov 0x4(%eax),%edx
- c0100fc8: 8b 45 08 mov 0x8(%ebp),%eax
- c0100fcb: 8b 00 mov (%eax),%eax
- c0100fcd: 83 ec 0c sub $0xc,%esp
- c0100fd0: 51 push %ecx
- c0100fd1: 52 push %edx
- c0100fd2: 50 push %eax
- c0100fd3: 68 c8 30 10 c0 push $0xc01030c8
- c0100fd8: 6a 07 push $0x7
- c0100fda: e8 d1 f3 ff ff call c01003b0 <kprintf>
- c0100fdf: 83 c4 20 add $0x20,%esp
- c0100fe2: 8b 45 08 mov 0x8(%ebp),%eax
- c0100fe5: 8b 48 14 mov 0x14(%eax),%ecx
- c0100fe8: 8b 45 08 mov 0x8(%ebp),%eax
- c0100feb: 8b 50 10 mov 0x10(%eax),%edx
- c0100fee: 8b 45 08 mov 0x8(%ebp),%eax
- c0100ff1: 8b 40 0c mov 0xc(%eax),%eax
- c0100ff4: 83 ec 0c sub $0xc,%esp
- c0100ff7: 51 push %ecx
- c0100ff8: 52 push %edx
- c0100ff9: 50 push %eax
- c0100ffa: 68 e8 30 10 c0 push $0xc01030e8
- c0100fff: 6a 07 push $0x7
- c0101001: e8 aa f3 ff ff call c01003b0 <kprintf>
- c0101006: 83 c4 20 add $0x20,%esp
- c0101009: 8b 45 08 mov 0x8(%ebp),%eax
- c010100c: 8b 48 20 mov 0x20(%eax),%ecx
- c010100f: 8b 45 08 mov 0x8(%ebp),%eax
- c0101012: 8b 50 1c mov 0x1c(%eax),%edx
- c0101015: 8b 45 08 mov 0x8(%ebp),%eax
- c0101018: 8b 40 18 mov 0x18(%eax),%eax
- c010101b: 83 ec 0c sub $0xc,%esp
- c010101e: 51 push %ecx
- c010101f: 52 push %edx
- c0101020: 50 push %eax
- c0101021: 68 08 31 10 c0 push $0xc0103108
- c0101026: 6a 07 push $0x7
- c0101028: e8 83 f3 ff ff call c01003b0 <kprintf>
- c010102d: 83 c4 20 add $0x20,%esp
- c0101030: 8b 45 08 mov 0x8(%ebp),%eax
- c0101033: 8b 48 2c mov 0x2c(%eax),%ecx
- c0101036: 8b 45 08 mov 0x8(%ebp),%eax
- c0101039: 8b 50 28 mov 0x28(%eax),%edx
- c010103c: 8b 45 08 mov 0x8(%ebp),%eax
- c010103f: 8b 40 24 mov 0x24(%eax),%eax
- c0101042: 83 ec 0c sub $0xc,%esp
- c0101045: 51 push %ecx
- c0101046: 52 push %edx
- c0101047: 50 push %eax
- c0101048: 68 28 31 10 c0 push $0xc0103128
- c010104d: 6a 07 push $0x7
- c010104f: e8 5c f3 ff ff call c01003b0 <kprintf>
- c0101054: 83 c4 20 add $0x20,%esp
- c0101057: 8b 45 08 mov 0x8(%ebp),%eax
- c010105a: 8b 50 34 mov 0x34(%eax),%edx
- c010105d: 8b 45 08 mov 0x8(%ebp),%eax
- c0101060: 8b 40 30 mov 0x30(%eax),%eax
- c0101063: 52 push %edx
- c0101064: 50 push %eax
- c0101065: 68 47 31 10 c0 push $0xc0103147
- c010106a: 6a 07 push $0x7
- c010106c: e8 3f f3 ff ff call c01003b0 <kprintf>
- c0101071: 83 c4 10 add $0x10,%esp
- c0101074: 90 nop
- c0101075: c9 leave
- c0101076: c3 ret
- c0101077 <handle_syscall>:
- c0101077: 55 push %ebp
- c0101078: 89 e5 mov %esp,%ebp
- c010107a: 83 ec 18 sub $0x18,%esp
- c010107d: 8b 45 08 mov 0x8(%ebp),%eax
- c0101080: 8b 00 mov (%eax),%eax
- c0101082: 89 45 f4 mov %eax,-0xc(%ebp)
- c0101085: 83 ec 08 sub $0x8,%esp
- c0101088: ff 75 f4 pushl -0xc(%ebp)
- c010108b: 68 5c 31 10 c0 push $0xc010315c
- c0101090: e8 4e 13 00 00 call c01023e3 <uart_printf>
- c0101095: 83 c4 10 add $0x10,%esp
- c0101098: 83 ec 04 sub $0x4,%esp
- c010109b: ff 75 f4 pushl -0xc(%ebp)
- c010109e: 68 6c 31 10 c0 push $0xc010316c
- c01010a3: 6a 02 push $0x2
- c01010a5: e8 06 f3 ff ff call c01003b0 <kprintf>
- c01010aa: 83 c4 10 add $0x10,%esp
- c01010ad: 90 nop
- c01010ae: c9 leave
- c01010af: c3 ret
- c01010b0 <isr_handler_common>:
- c01010b0: 55 push %ebp
- c01010b1: 89 e5 mov %esp,%ebp
- c01010b3: 83 ec 18 sub $0x18,%esp
- c01010b6: 8b 45 08 mov 0x8(%ebp),%eax
- c01010b9: 89 45 f4 mov %eax,-0xc(%ebp)
- c01010bc: 8b 45 08 mov 0x8(%ebp),%eax
- c01010bf: 8b 40 1c mov 0x1c(%eax),%eax
- c01010c2: 83 ec 08 sub $0x8,%esp
- c01010c5: 50 push %eax
- c01010c6: 68 8c 31 10 c0 push $0xc010318c
- c01010cb: e8 13 13 00 00 call c01023e3 <uart_printf>
- c01010d0: 83 c4 10 add $0x10,%esp
- c01010d3: 8b 45 08 mov 0x8(%ebp),%eax
- c01010d6: 8b 40 1c mov 0x1c(%eax),%eax
- c01010d9: 83 f8 1f cmp $0x1f,%eax
- c01010dc: 77 10 ja c01010ee <isr_handler_common+0x3e>
- c01010de: 83 ec 0c sub $0xc,%esp
- c01010e1: ff 75 08 pushl 0x8(%ebp)
- c01010e4: e8 b6 fc ff ff call c0100d9f <handle_exception>
- c01010e9: 83 c4 10 add $0x10,%esp
- c01010ec: eb 61 jmp c010114f <isr_handler_common+0x9f>
- c01010ee: 8b 45 08 mov 0x8(%ebp),%eax
- c01010f1: 8b 40 1c mov 0x1c(%eax),%eax
- c01010f4: 83 f8 1f cmp $0x1f,%eax
- c01010f7: 76 1e jbe c0101117 <isr_handler_common+0x67>
- c01010f9: 8b 45 08 mov 0x8(%ebp),%eax
- c01010fc: 8b 40 1c mov 0x1c(%eax),%eax
- c01010ff: 83 f8 2f cmp $0x2f,%eax
- c0101102: 77 13 ja c0101117 <isr_handler_common+0x67>
- c0101104: 83 ec 0c sub $0xc,%esp
- c0101107: ff 75 08 pushl 0x8(%ebp)
- c010110a: e8 48 fd ff ff call c0100e57 <handle_irq>
- c010110f: 83 c4 10 add $0x10,%esp
- c0101112: 89 45 f4 mov %eax,-0xc(%ebp)
- c0101115: eb 38 jmp c010114f <isr_handler_common+0x9f>
- c0101117: 8b 45 08 mov 0x8(%ebp),%eax
- c010111a: 8b 40 1c mov 0x1c(%eax),%eax
- c010111d: 83 f8 30 cmp $0x30,%eax
- c0101120: 75 10 jne c0101132 <isr_handler_common+0x82>
- c0101122: 83 ec 0c sub $0xc,%esp
- c0101125: ff 75 08 pushl 0x8(%ebp)
- c0101128: e8 4a ff ff ff call c0101077 <handle_syscall>
- c010112d: 83 c4 10 add $0x10,%esp
- c0101130: eb 1d jmp c010114f <isr_handler_common+0x9f>
- c0101132: 8b 45 08 mov 0x8(%ebp),%eax
- c0101135: 8b 40 1c mov 0x1c(%eax),%eax
- c0101138: 83 ec 04 sub $0x4,%esp
- c010113b: 50 push %eax
- c010113c: 68 9c 31 10 c0 push $0xc010319c
- c0101141: 6a 04 push $0x4
- c0101143: e8 68 f2 ff ff call c01003b0 <kprintf>
- c0101148: 83 c4 10 add $0x10,%esp
- c010114b: fa cli
- c010114c: f4 hlt
- c010114d: eb fc jmp c010114b <isr_handler_common+0x9b>
- c010114f: 8b 45 f4 mov -0xc(%ebp),%eax
- c0101152: c9 leave
- c0101153: c3 ret
- c0101154 <init>:
- c0101154: 55 push %ebp
- c0101155: 89 e5 mov %esp,%ebp
- c0101157: 81 ec 18 04 00 00 sub $0x418,%esp
- c010115d: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c0101163: 89 45 f4 mov %eax,-0xc(%ebp)
- c0101166: 31 c0 xor %eax,%eax
- c0101168: eb fe jmp c0101168 <init+0x14>
- c010116a <init_keyboard>:
- c010116a: 55 push %ebp
- c010116b: 89 e5 mov %esp,%ebp
- c010116d: 83 ec 08 sub $0x8,%esp
- c0101170: eb 0d jmp c010117f <init_keyboard+0x15>
- c0101172: 83 ec 0c sub $0xc,%esp
- c0101175: 6a 60 push $0x60
- c0101177: e8 db 07 00 00 call c0101957 <inb>
- c010117c: 83 c4 10 add $0x10,%esp
- c010117f: 83 ec 0c sub $0xc,%esp
- c0101182: 6a 64 push $0x64
- c0101184: e8 ce 07 00 00 call c0101957 <inb>
- c0101189: 83 c4 10 add $0x10,%esp
- c010118c: 0f b6 c0 movzbl %al,%eax
- c010118f: 83 e0 01 and $0x1,%eax
- c0101192: 85 c0 test %eax,%eax
- c0101194: 75 dc jne c0101172 <init_keyboard+0x8>
- c0101196: 83 ec 0c sub $0xc,%esp
- c0101199: 68 f4 00 00 00 push $0xf4
- c010119e: e8 0a 00 00 00 call c01011ad <keyboard_command>
- c01011a3: 83 c4 10 add $0x10,%esp
- c01011a6: b8 00 00 00 00 mov $0x0,%eax
- c01011ab: c9 leave
- c01011ac: c3 ret
- c01011ad <keyboard_command>:
- c01011ad: 55 push %ebp
- c01011ae: 89 e5 mov %esp,%ebp
- c01011b0: 83 ec 18 sub $0x18,%esp
- c01011b3: 8b 45 08 mov 0x8(%ebp),%eax
- c01011b6: 88 45 f4 mov %al,-0xc(%ebp)
- c01011b9: 90 nop
- c01011ba: 83 ec 0c sub $0xc,%esp
- c01011bd: 6a 64 push $0x64
- c01011bf: e8 93 07 00 00 call c0101957 <inb>
- c01011c4: 83 c4 10 add $0x10,%esp
- c01011c7: 0f b6 c0 movzbl %al,%eax
- c01011ca: 83 e0 02 and $0x2,%eax
- c01011cd: 85 c0 test %eax,%eax
- c01011cf: 75 e9 jne c01011ba <keyboard_command+0xd>
- c01011d1: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c01011d5: 83 ec 08 sub $0x8,%esp
- c01011d8: 50 push %eax
- c01011d9: 6a 60 push $0x60
- c01011db: e8 58 07 00 00 call c0101938 <outb>
- c01011e0: 83 c4 10 add $0x10,%esp
- c01011e3: 90 nop
- c01011e4: c9 leave
- c01011e5: c3 ret
- c01011e6 <key_released>:
- c01011e6: 55 push %ebp
- c01011e7: 89 e5 mov %esp,%ebp
- c01011e9: 83 ec 04 sub $0x4,%esp
- c01011ec: 8b 45 08 mov 0x8(%ebp),%eax
- c01011ef: 88 45 fc mov %al,-0x4(%ebp)
- c01011f2: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c01011f6: c6 80 a0 88 12 c0 00 movb $0x0,-0x3fed7760(%eax)
- c01011fd: 90 nop
- c01011fe: c9 leave
- c01011ff: c3 ret
- c0101200 <key_pressed>:
- c0101200: 55 push %ebp
- c0101201: 89 e5 mov %esp,%ebp
- c0101203: 83 ec 04 sub $0x4,%esp
- c0101206: 8b 45 08 mov 0x8(%ebp),%eax
- c0101209: 88 45 fc mov %al,-0x4(%ebp)
- c010120c: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c0101210: c6 80 a0 88 12 c0 01 movb $0x1,-0x3fed7760(%eax)
- c0101217: 90 nop
- c0101218: c9 leave
- c0101219: c3 ret
- c010121a <is_key_pressed>:
- c010121a: 55 push %ebp
- c010121b: 89 e5 mov %esp,%ebp
- c010121d: 83 ec 04 sub $0x4,%esp
- c0101220: 8b 45 08 mov 0x8(%ebp),%eax
- c0101223: 88 45 fc mov %al,-0x4(%ebp)
- c0101226: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c010122a: 0f b6 80 a0 88 12 c0 movzbl -0x3fed7760(%eax),%eax
- c0101231: c9 leave
- c0101232: c3 ret
- c0101233 <process_keyboard>:
- c0101233: 55 push %ebp
- c0101234: 89 e5 mov %esp,%ebp
- c0101236: 83 ec 04 sub $0x4,%esp
- c0101239: 8b 45 08 mov 0x8(%ebp),%eax
- c010123c: 88 45 fc mov %al,-0x4(%ebp)
- c010123f: 0f b6 05 80 88 12 c0 movzbl 0xc0128880,%eax
- c0101246: 3c e0 cmp $0xe0,%al
- c0101248: 75 3a jne c0101284 <process_keyboard+0x51>
- c010124a: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c010124e: 84 c0 test %al,%al
- c0101250: 79 1c jns c010126e <process_keyboard+0x3b>
- c0101252: 68 e0 00 00 00 push $0xe0
- c0101257: e8 8a ff ff ff call c01011e6 <key_released>
- c010125c: 83 c4 04 add $0x4,%esp
- c010125f: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c0101263: 50 push %eax
- c0101264: e8 7d ff ff ff call c01011e6 <key_released>
- c0101269: 83 c4 04 add $0x4,%esp
- c010126c: eb 0d jmp c010127b <process_keyboard+0x48>
- c010126e: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c0101272: 50 push %eax
- c0101273: e8 88 ff ff ff call c0101200 <key_pressed>
- c0101278: 83 c4 04 add $0x4,%esp
- c010127b: c6 05 80 88 12 c0 00 movb $0x0,0xc0128880
- c0101282: eb 43 jmp c01012c7 <process_keyboard+0x94>
- c0101284: 80 7d fc e0 cmpb $0xe0,-0x4(%ebp)
- c0101288: 75 16 jne c01012a0 <process_keyboard+0x6d>
- c010128a: c6 05 80 88 12 c0 e0 movb $0xe0,0xc0128880
- c0101291: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c0101295: 50 push %eax
- c0101296: e8 65 ff ff ff call c0101200 <key_pressed>
- c010129b: 83 c4 04 add $0x4,%esp
- c010129e: eb 27 jmp c01012c7 <process_keyboard+0x94>
- c01012a0: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c01012a4: 84 c0 test %al,%al
- c01012a6: 79 12 jns c01012ba <process_keyboard+0x87>
- c01012a8: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c01012ac: 83 e0 7f and $0x7f,%eax
- c01012af: 50 push %eax
- c01012b0: e8 31 ff ff ff call c01011e6 <key_released>
- c01012b5: 83 c4 04 add $0x4,%esp
- c01012b8: eb 0d jmp c01012c7 <process_keyboard+0x94>
- c01012ba: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c01012be: 50 push %eax
- c01012bf: e8 3c ff ff ff call c0101200 <key_pressed>
- c01012c4: 83 c4 04 add $0x4,%esp
- c01012c7: c9 leave
- c01012c8: c3 ret
- c01012c9 <scancode_to_ascii>:
- c01012c9: 55 push %ebp
- c01012ca: 89 e5 mov %esp,%ebp
- c01012cc: 83 ec 04 sub $0x4,%esp
- c01012cf: 8b 45 08 mov 0x8(%ebp),%eax
- c01012d2: 88 45 fc mov %al,-0x4(%ebp)
- c01012d5: 80 7d fc 7e cmpb $0x7e,-0x4(%ebp)
- c01012d9: 77 0d ja c01012e8 <scancode_to_ascii+0x1f>
- c01012db: 0f b6 45 fc movzbl -0x4(%ebp),%eax
- c01012df: 0f b6 80 c0 50 10 c0 movzbl -0x3fefaf40(%eax),%eax
- c01012e6: eb 05 jmp c01012ed <scancode_to_ascii+0x24>
- c01012e8: b8 fe ff ff ff mov $0xfffffffe,%eax
- c01012ed: c9 leave
- c01012ee: c3 ret
- c01012ef <pit_init>:
- c01012ef: 55 push %ebp
- c01012f0: 89 e5 mov %esp,%ebp
- c01012f2: 83 ec 18 sub $0x18,%esp
- c01012f5: b8 de 34 12 00 mov $0x1234de,%eax
- c01012fa: ba 00 00 00 00 mov $0x0,%edx
- c01012ff: f7 75 08 divl 0x8(%ebp)
- c0101302: 89 45 f4 mov %eax,-0xc(%ebp)
- c0101305: 83 ec 08 sub $0x8,%esp
- c0101308: 6a 34 push $0x34
- c010130a: 6a 43 push $0x43
- c010130c: e8 27 06 00 00 call c0101938 <outb>
- c0101311: 83 c4 10 add $0x10,%esp
- c0101314: 8b 45 f4 mov -0xc(%ebp),%eax
- c0101317: 0f b6 c0 movzbl %al,%eax
- c010131a: 83 ec 08 sub $0x8,%esp
- c010131d: 50 push %eax
- c010131e: 6a 40 push $0x40
- c0101320: e8 13 06 00 00 call c0101938 <outb>
- c0101325: 83 c4 10 add $0x10,%esp
- c0101328: 8b 45 f4 mov -0xc(%ebp),%eax
- c010132b: c1 e8 08 shr $0x8,%eax
- c010132e: 0f b6 c0 movzbl %al,%eax
- c0101331: 83 ec 08 sub $0x8,%esp
- c0101334: 50 push %eax
- c0101335: 6a 40 push $0x40
- c0101337: e8 fc 05 00 00 call c0101938 <outb>
- c010133c: 83 c4 10 add $0x10,%esp
- c010133f: b8 00 00 00 00 mov $0x0,%eax
- c0101344: c9 leave
- c0101345: c3 ret
- c0101346 <__stack_chk_fail>:
- c0101346: 55 push %ebp
- c0101347: 89 e5 mov %esp,%ebp
- c0101349: 83 ec 08 sub $0x8,%esp
- c010134c: 83 ec 08 sub $0x8,%esp
- c010134f: 68 cd 31 10 c0 push $0xc01031cd
- c0101354: 6a 04 push $0x4
- c0101356: e8 56 ef ff ff call c01002b1 <kputs>
- c010135b: 83 c4 10 add $0x10,%esp
- c010135e: cd 0d int $0xd
- c0101360: 90 nop
- c0101361: c9 leave
- c0101362: c3 ret
- c0101363 <task_a>:
- c0101363: 55 push %ebp
- c0101364: 89 e5 mov %esp,%ebp
- c0101366: 83 ec 08 sub $0x8,%esp
- c0101369: b8 01 00 00 00 mov $0x1,%eax
- c010136e: cd 30 int $0x30
- c0101370: 83 ec 0c sub $0xc,%esp
- c0101373: 68 e8 31 10 c0 push $0xc01031e8
- c0101378: e8 ec 0e 00 00 call c0102269 <uart_puts>
- c010137d: 83 c4 10 add $0x10,%esp
- c0101380: eb e7 jmp c0101369 <task_a+0x6>
- c0101382 <task_b>:
- c0101382: 55 push %ebp
- c0101383: 89 e5 mov %esp,%ebp
- c0101385: b8 02 00 00 00 mov $0x2,%eax
- c010138a: cd 30 int $0x30
- c010138c: eb fc jmp c010138a <task_b+0x8>
- c010138e <task_c>:
- c010138e: 55 push %ebp
- c010138f: 89 e5 mov %esp,%ebp
- c0101391: b8 03 00 00 00 mov $0x3,%eax
- c0101396: cd 30 int $0x30
- c0101398: eb fc jmp c0101396 <task_c+0x8>
- c010139a <task_d>:
- c010139a: 55 push %ebp
- c010139b: 89 e5 mov %esp,%ebp
- c010139d: b8 04 00 00 00 mov $0x4,%eax
- c01013a2: cd 30 int $0x30
- c01013a4: eb fc jmp c01013a2 <task_d+0x8>
- c01013a6 <init_task>:
- c01013a6: 55 push %ebp
- c01013a7: 89 e5 mov %esp,%ebp
- c01013a9: 57 push %edi
- c01013aa: 83 ec 54 sub $0x54,%esp
- c01013ad: e8 ec 16 00 00 call c0102a9e <pmm_alloc>
- c01013b2: 89 45 b0 mov %eax,-0x50(%ebp)
- c01013b5: e8 e4 16 00 00 call c0102a9e <pmm_alloc>
- c01013ba: 89 45 b4 mov %eax,-0x4c(%ebp)
- c01013bd: 8d 55 c0 lea -0x40(%ebp),%edx
- c01013c0: b8 00 00 00 00 mov $0x0,%eax
- c01013c5: b9 0e 00 00 00 mov $0xe,%ecx
- c01013ca: 89 d7 mov %edx,%edi
- c01013cc: f3 ab rep stos %eax,%es:(%edi)
- c01013ce: 8b 45 08 mov 0x8(%ebp),%eax
- c01013d1: 89 45 e4 mov %eax,-0x1c(%ebp)
- c01013d4: c7 45 e8 1b 00 00 00 movl $0x1b,-0x18(%ebp)
- c01013db: c7 45 ec 00 02 00 00 movl $0x200,-0x14(%ebp)
- c01013e2: 8b 45 b4 mov -0x4c(%ebp),%eax
- c01013e5: 05 00 10 00 00 add $0x1000,%eax
- c01013ea: 89 45 f0 mov %eax,-0x10(%ebp)
- c01013ed: c7 45 f4 23 00 00 00 movl $0x23,-0xc(%ebp)
- c01013f4: 8b 45 b0 mov -0x50(%ebp),%eax
- c01013f7: 05 c8 0f 00 00 add $0xfc8,%eax
- c01013fc: 89 45 b8 mov %eax,-0x48(%ebp)
- c01013ff: 8b 45 b8 mov -0x48(%ebp),%eax
- c0101402: 8b 55 c0 mov -0x40(%ebp),%edx
- c0101405: 89 10 mov %edx,(%eax)
- c0101407: 8b 55 c4 mov -0x3c(%ebp),%edx
- c010140a: 89 50 04 mov %edx,0x4(%eax)
- c010140d: 8b 55 c8 mov -0x38(%ebp),%edx
- c0101410: 89 50 08 mov %edx,0x8(%eax)
- c0101413: 8b 55 cc mov -0x34(%ebp),%edx
- c0101416: 89 50 0c mov %edx,0xc(%eax)
- c0101419: 8b 55 d0 mov -0x30(%ebp),%edx
- c010141c: 89 50 10 mov %edx,0x10(%eax)
- c010141f: 8b 55 d4 mov -0x2c(%ebp),%edx
- c0101422: 89 50 14 mov %edx,0x14(%eax)
- c0101425: 8b 55 d8 mov -0x28(%ebp),%edx
- c0101428: 89 50 18 mov %edx,0x18(%eax)
- c010142b: 8b 55 dc mov -0x24(%ebp),%edx
- c010142e: 89 50 1c mov %edx,0x1c(%eax)
- c0101431: 8b 55 e0 mov -0x20(%ebp),%edx
- c0101434: 89 50 20 mov %edx,0x20(%eax)
- c0101437: 8b 55 e4 mov -0x1c(%ebp),%edx
- c010143a: 89 50 24 mov %edx,0x24(%eax)
- c010143d: 8b 55 e8 mov -0x18(%ebp),%edx
- c0101440: 89 50 28 mov %edx,0x28(%eax)
- c0101443: 8b 55 ec mov -0x14(%ebp),%edx
- c0101446: 89 50 2c mov %edx,0x2c(%eax)
- c0101449: 8b 55 f0 mov -0x10(%ebp),%edx
- c010144c: 89 50 30 mov %edx,0x30(%eax)
- c010144f: 8b 55 f4 mov -0xc(%ebp),%edx
- c0101452: 89 50 34 mov %edx,0x34(%eax)
- c0101455: e8 44 16 00 00 call c0102a9e <pmm_alloc>
- c010145a: 89 45 bc mov %eax,-0x44(%ebp)
- c010145d: 8b 45 bc mov -0x44(%ebp),%eax
- c0101460: 8b 55 b8 mov -0x48(%ebp),%edx
- c0101463: 89 10 mov %edx,(%eax)
- c0101465: 8b 15 20 89 12 c0 mov 0xc0128920,%edx
- c010146b: 8b 45 bc mov -0x44(%ebp),%eax
- c010146e: 89 50 04 mov %edx,0x4(%eax)
- c0101471: 8b 45 bc mov -0x44(%ebp),%eax
- c0101474: a3 20 89 12 c0 mov %eax,0xc0128920
- c0101479: 8b 15 24 89 12 c0 mov 0xc0128924,%edx
- c010147f: a1 20 89 12 c0 mov 0xc0128920,%eax
- c0101484: 52 push %edx
- c0101485: 50 push %eax
- c0101486: ff 75 bc pushl -0x44(%ebp)
- c0101489: 68 f4 31 10 c0 push $0xc01031f4
- c010148e: e8 50 0f 00 00 call c01023e3 <uart_printf>
- c0101493: 83 c4 10 add $0x10,%esp
- c0101496: 8b 45 bc mov -0x44(%ebp),%eax
- c0101499: 8b 7d fc mov -0x4(%ebp),%edi
- c010149c: c9 leave
- c010149d: c3 ret
- c010149e <init_multitasking>:
- c010149e: 55 push %ebp
- c010149f: 89 e5 mov %esp,%ebp
- c01014a1: 83 ec 08 sub $0x8,%esp
- c01014a4: fa cli
- c01014a5: 83 ec 0c sub $0xc,%esp
- c01014a8: 68 63 13 10 c0 push $0xc0101363
- c01014ad: e8 f4 fe ff ff call c01013a6 <init_task>
- c01014b2: 83 c4 10 add $0x10,%esp
- c01014b5: 83 ec 0c sub $0xc,%esp
- c01014b8: 68 82 13 10 c0 push $0xc0101382
- c01014bd: e8 e4 fe ff ff call c01013a6 <init_task>
- c01014c2: 83 c4 10 add $0x10,%esp
- c01014c5: 83 ec 0c sub $0xc,%esp
- c01014c8: 68 8e 13 10 c0 push $0xc010138e
- c01014cd: e8 d4 fe ff ff call c01013a6 <init_task>
- c01014d2: 83 c4 10 add $0x10,%esp
- c01014d5: 83 ec 0c sub $0xc,%esp
- c01014d8: 68 9a 13 10 c0 push $0xc010139a
- c01014dd: e8 c4 fe ff ff call c01013a6 <init_task>
- c01014e2: 83 c4 10 add $0x10,%esp
- c01014e5: fb sti
- c01014e6: 90 nop
- c01014e7: c9 leave
- c01014e8: c3 ret
- c01014e9 <schedule>:
- c01014e9: 55 push %ebp
- c01014ea: 89 e5 mov %esp,%ebp
- c01014ec: 83 ec 08 sub $0x8,%esp
- c01014ef: 83 ec 0c sub $0xc,%esp
- c01014f2: 68 1d 32 10 c0 push $0xc010321d
- c01014f7: e8 6d 0d 00 00 call c0102269 <uart_puts>
- c01014fc: 83 c4 10 add $0x10,%esp
- c01014ff: 8b 15 24 89 12 c0 mov 0xc0128924,%edx
- c0101505: a1 20 89 12 c0 mov 0xc0128920,%eax
- c010150a: 83 ec 04 sub $0x4,%esp
- c010150d: 52 push %edx
- c010150e: 50 push %eax
- c010150f: 68 28 32 10 c0 push $0xc0103228
- c0101514: e8 ca 0e 00 00 call c01023e3 <uart_printf>
- c0101519: 83 c4 10 add $0x10,%esp
- c010151c: a1 20 89 12 c0 mov 0xc0128920,%eax
- c0101521: 85 c0 test %eax,%eax
- c0101523: 75 08 jne c010152d <schedule+0x44>
- c0101525: 8b 45 08 mov 0x8(%ebp),%eax
- c0101528: e9 bc 00 00 00 jmp c01015e9 <schedule+0x100>
- c010152d: a1 24 89 12 c0 mov 0xc0128924,%eax
- c0101532: 85 c0 test %eax,%eax
- c0101534: 74 0a je c0101540 <schedule+0x57>
- c0101536: a1 24 89 12 c0 mov 0xc0128924,%eax
- c010153b: 8b 55 08 mov 0x8(%ebp),%edx
- c010153e: 89 10 mov %edx,(%eax)
- c0101540: a1 24 89 12 c0 mov 0xc0128924,%eax
- c0101545: 85 c0 test %eax,%eax
- c0101547: 75 1c jne c0101565 <schedule+0x7c>
- c0101549: 83 ec 0c sub $0xc,%esp
- c010154c: 68 48 32 10 c0 push $0xc0103248
- c0101551: e8 8d 0e 00 00 call c01023e3 <uart_printf>
- c0101556: 83 c4 10 add $0x10,%esp
- c0101559: a1 20 89 12 c0 mov 0xc0128920,%eax
- c010155e: a3 24 89 12 c0 mov %eax,0xc0128924
- c0101563: eb 67 jmp c01015cc <schedule+0xe3>
- c0101565: a1 24 89 12 c0 mov 0xc0128924,%eax
- c010156a: 8b 50 04 mov 0x4(%eax),%edx
- c010156d: a1 20 89 12 c0 mov 0xc0128920,%eax
- c0101572: 39 c2 cmp %eax,%edx
- c0101574: 75 07 jne c010157d <schedule+0x94>
- c0101576: ba 6b 32 10 c0 mov $0xc010326b,%edx
- c010157b: eb 05 jmp c0101582 <schedule+0x99>
- c010157d: ba 76 32 10 c0 mov $0xc0103276,%edx
- c0101582: a1 24 89 12 c0 mov 0xc0128924,%eax
- c0101587: 8b 40 04 mov 0x4(%eax),%eax
- c010158a: 83 ec 04 sub $0x4,%esp
- c010158d: 52 push %edx
- c010158e: 50 push %eax
- c010158f: 68 77 32 10 c0 push $0xc0103277
- c0101594: e8 4a 0e 00 00 call c01023e3 <uart_printf>
- c0101599: 83 c4 10 add $0x10,%esp
- c010159c: a1 24 89 12 c0 mov 0xc0128924,%eax
- c01015a1: 8b 40 04 mov 0x4(%eax),%eax
- c01015a4: a3 24 89 12 c0 mov %eax,0xc0128924
- c01015a9: a1 24 89 12 c0 mov 0xc0128924,%eax
- c01015ae: 85 c0 test %eax,%eax
- c01015b0: 75 1a jne c01015cc <schedule+0xe3>
- c01015b2: 83 ec 0c sub $0xc,%esp
- c01015b5: 68 91 32 10 c0 push $0xc0103291
- c01015ba: e8 24 0e 00 00 call c01023e3 <uart_printf>
- c01015bf: 83 c4 10 add $0x10,%esp
- c01015c2: a1 20 89 12 c0 mov 0xc0128920,%eax
- c01015c7: a3 24 89 12 c0 mov %eax,0xc0128924
- c01015cc: a1 24 89 12 c0 mov 0xc0128924,%eax
- c01015d1: 83 ec 08 sub $0x8,%esp
- c01015d4: 50 push %eax
- c01015d5: 68 ab 32 10 c0 push $0xc01032ab
- c01015da: e8 04 0e 00 00 call c01023e3 <uart_printf>
- c01015df: 83 c4 10 add $0x10,%esp
- c01015e2: a1 24 89 12 c0 mov 0xc0128924,%eax
- c01015e7: 8b 00 mov (%eax),%eax
- c01015e9: c9 leave
- c01015ea: c3 ret
- c01015eb <cmos_select>:
- c01015eb: 55 push %ebp
- c01015ec: 89 e5 mov %esp,%ebp
- c01015ee: 83 ec 18 sub $0x18,%esp
- c01015f1: 8b 55 08 mov 0x8(%ebp),%edx
- c01015f4: 8b 45 0c mov 0xc(%ebp),%eax
- c01015f7: 88 55 f4 mov %dl,-0xc(%ebp)
- c01015fa: 88 45 f0 mov %al,-0x10(%ebp)
- c01015fd: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101601: c1 e0 07 shl $0x7,%eax
- c0101604: 89 c2 mov %eax,%edx
- c0101606: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c010160a: 09 d0 or %edx,%eax
- c010160c: 0f b6 c0 movzbl %al,%eax
- c010160f: 83 ec 08 sub $0x8,%esp
- c0101612: 50 push %eax
- c0101613: 6a 70 push $0x70
- c0101615: e8 1e 03 00 00 call c0101938 <outb>
- c010161a: 83 c4 10 add $0x10,%esp
- c010161d: 90 nop
- c010161e: c9 leave
- c010161f: c3 ret
- c0101620 <cmos_read>:
- c0101620: 55 push %ebp
- c0101621: 89 e5 mov %esp,%ebp
- c0101623: 83 ec 18 sub $0x18,%esp
- c0101626: 8b 55 08 mov 0x8(%ebp),%edx
- c0101629: 8b 45 0c mov 0xc(%ebp),%eax
- c010162c: 88 55 f4 mov %dl,-0xc(%ebp)
- c010162f: 88 45 f0 mov %al,-0x10(%ebp)
- c0101632: 0f b6 55 f0 movzbl -0x10(%ebp),%edx
- c0101636: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c010163a: 83 ec 08 sub $0x8,%esp
- c010163d: 52 push %edx
- c010163e: 50 push %eax
- c010163f: e8 a7 ff ff ff call c01015eb <cmos_select>
- c0101644: 83 c4 10 add $0x10,%esp
- c0101647: 83 ec 0c sub $0xc,%esp
- c010164a: 6a 71 push $0x71
- c010164c: e8 06 03 00 00 call c0101957 <inb>
- c0101651: 83 c4 10 add $0x10,%esp
- c0101654: c9 leave
- c0101655: c3 ret
- c0101656 <cmos_write>:
- c0101656: 55 push %ebp
- c0101657: 89 e5 mov %esp,%ebp
- c0101659: 83 ec 18 sub $0x18,%esp
- c010165c: 8b 4d 08 mov 0x8(%ebp),%ecx
- c010165f: 8b 55 0c mov 0xc(%ebp),%edx
- c0101662: 8b 45 10 mov 0x10(%ebp),%eax
- c0101665: 88 4d f4 mov %cl,-0xc(%ebp)
- c0101668: 88 55 f0 mov %dl,-0x10(%ebp)
- c010166b: 88 45 ec mov %al,-0x14(%ebp)
- c010166e: 0f b6 55 ec movzbl -0x14(%ebp),%edx
- c0101672: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c0101676: 83 ec 08 sub $0x8,%esp
- c0101679: 52 push %edx
- c010167a: 50 push %eax
- c010167b: e8 6b ff ff ff call c01015eb <cmos_select>
- c0101680: 83 c4 10 add $0x10,%esp
- c0101683: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101687: 83 ec 08 sub $0x8,%esp
- c010168a: 50 push %eax
- c010168b: 6a 71 push $0x71
- c010168d: e8 a6 02 00 00 call c0101938 <outb>
- c0101692: 83 c4 10 add $0x10,%esp
- c0101695: 90 nop
- c0101696: c9 leave
- c0101697: c3 ret
- c0101698 <rtc_update_in_progess>:
- c0101698: 55 push %ebp
- c0101699: 89 e5 mov %esp,%ebp
- c010169b: 83 ec 08 sub $0x8,%esp
- c010169e: 83 ec 08 sub $0x8,%esp
- c01016a1: 6a 0a push $0xa
- c01016a3: 6a 70 push $0x70
- c01016a5: e8 8e 02 00 00 call c0101938 <outb>
- c01016aa: 83 c4 10 add $0x10,%esp
- c01016ad: 83 ec 0c sub $0xc,%esp
- c01016b0: 6a 71 push $0x71
- c01016b2: e8 a0 02 00 00 call c0101957 <inb>
- c01016b7: 83 c4 10 add $0x10,%esp
- c01016ba: 83 e0 80 and $0xffffff80,%eax
- c01016bd: c9 leave
- c01016be: c3 ret
- c01016bf <get_time>:
- c01016bf: 55 push %ebp
- c01016c0: 89 e5 mov %esp,%ebp
- c01016c2: 83 ec 18 sub $0x18,%esp
- c01016c5: e8 c9 f6 ff ff call c0100d93 <is_nmi_disabled>
- c01016ca: 88 45 f6 mov %al,-0xa(%ebp)
- c01016cd: 90 nop
- c01016ce: e8 c5 ff ff ff call c0101698 <rtc_update_in_progess>
- c01016d3: 84 c0 test %al,%al
- c01016d5: 75 f7 jne c01016ce <get_time+0xf>
- c01016d7: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c01016db: 83 ec 08 sub $0x8,%esp
- c01016de: 50 push %eax
- c01016df: 6a 00 push $0x0
- c01016e1: e8 3a ff ff ff call c0101620 <cmos_read>
- c01016e6: 83 c4 10 add $0x10,%esp
- c01016e9: 88 45 ef mov %al,-0x11(%ebp)
- c01016ec: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c01016f0: 83 ec 08 sub $0x8,%esp
- c01016f3: 50 push %eax
- c01016f4: 6a 02 push $0x2
- c01016f6: e8 25 ff ff ff call c0101620 <cmos_read>
- c01016fb: 83 c4 10 add $0x10,%esp
- c01016fe: 88 45 f0 mov %al,-0x10(%ebp)
- c0101701: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c0101705: 83 ec 08 sub $0x8,%esp
- c0101708: 50 push %eax
- c0101709: 6a 04 push $0x4
- c010170b: e8 10 ff ff ff call c0101620 <cmos_read>
- c0101710: 83 c4 10 add $0x10,%esp
- c0101713: 88 45 f1 mov %al,-0xf(%ebp)
- c0101716: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c010171a: 83 ec 08 sub $0x8,%esp
- c010171d: 50 push %eax
- c010171e: 6a 07 push $0x7
- c0101720: e8 fb fe ff ff call c0101620 <cmos_read>
- c0101725: 83 c4 10 add $0x10,%esp
- c0101728: 88 45 f2 mov %al,-0xe(%ebp)
- c010172b: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c010172f: 83 ec 08 sub $0x8,%esp
- c0101732: 50 push %eax
- c0101733: 6a 08 push $0x8
- c0101735: e8 e6 fe ff ff call c0101620 <cmos_read>
- c010173a: 83 c4 10 add $0x10,%esp
- c010173d: 88 45 f3 mov %al,-0xd(%ebp)
- c0101740: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c0101744: 83 ec 08 sub $0x8,%esp
- c0101747: 50 push %eax
- c0101748: 6a 09 push $0x9
- c010174a: e8 d1 fe ff ff call c0101620 <cmos_read>
- c010174f: 83 c4 10 add $0x10,%esp
- c0101752: 88 45 f4 mov %al,-0xc(%ebp)
- c0101755: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c0101759: 83 ec 08 sub $0x8,%esp
- c010175c: 50 push %eax
- c010175d: 6a 32 push $0x32
- c010175f: e8 bc fe ff ff call c0101620 <cmos_read>
- c0101764: 83 c4 10 add $0x10,%esp
- c0101767: 88 45 f5 mov %al,-0xb(%ebp)
- c010176a: 0f b6 45 f6 movzbl -0xa(%ebp),%eax
- c010176e: 83 ec 08 sub $0x8,%esp
- c0101771: 50 push %eax
- c0101772: 6a 0b push $0xb
- c0101774: e8 a7 fe ff ff call c0101620 <cmos_read>
- c0101779: 83 c4 10 add $0x10,%esp
- c010177c: 88 45 f7 mov %al,-0x9(%ebp)
- c010177f: 0f b6 45 f7 movzbl -0x9(%ebp),%eax
- c0101783: 83 e0 04 and $0x4,%eax
- c0101786: 85 c0 test %eax,%eax
- c0101788: 0f 85 f6 00 00 00 jne c0101884 <get_time+0x1c5>
- c010178e: 0f b6 45 ef movzbl -0x11(%ebp),%eax
- c0101792: 83 e0 0f and $0xf,%eax
- c0101795: 89 c1 mov %eax,%ecx
- c0101797: 0f b6 45 ef movzbl -0x11(%ebp),%eax
- c010179b: c0 e8 04 shr $0x4,%al
- c010179e: 89 c2 mov %eax,%edx
- c01017a0: 89 d0 mov %edx,%eax
- c01017a2: c1 e0 02 shl $0x2,%eax
- c01017a5: 01 d0 add %edx,%eax
- c01017a7: 01 c0 add %eax,%eax
- c01017a9: 01 c8 add %ecx,%eax
- c01017ab: 88 45 ef mov %al,-0x11(%ebp)
- c01017ae: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c01017b2: 83 e0 0f and $0xf,%eax
- c01017b5: 89 c1 mov %eax,%ecx
- c01017b7: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c01017bb: c0 e8 04 shr $0x4,%al
- c01017be: 89 c2 mov %eax,%edx
- c01017c0: 89 d0 mov %edx,%eax
- c01017c2: c1 e0 02 shl $0x2,%eax
- c01017c5: 01 d0 add %edx,%eax
- c01017c7: 01 c0 add %eax,%eax
- c01017c9: 01 c8 add %ecx,%eax
- c01017cb: 88 45 f0 mov %al,-0x10(%ebp)
- c01017ce: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c01017d2: 83 e0 0f and $0xf,%eax
- c01017d5: 89 c1 mov %eax,%ecx
- c01017d7: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c01017db: 83 e0 70 and $0x70,%eax
- c01017de: 8d 50 0f lea 0xf(%eax),%edx
- c01017e1: 85 c0 test %eax,%eax
- c01017e3: 0f 48 c2 cmovs %edx,%eax
- c01017e6: c1 f8 04 sar $0x4,%eax
- c01017e9: 89 c2 mov %eax,%edx
- c01017eb: 89 d0 mov %edx,%eax
- c01017ed: c1 e0 02 shl $0x2,%eax
- c01017f0: 01 d0 add %edx,%eax
- c01017f2: 01 c0 add %eax,%eax
- c01017f4: 01 c8 add %ecx,%eax
- c01017f6: 89 c2 mov %eax,%edx
- c01017f8: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c01017fc: 83 e0 80 and $0xffffff80,%eax
- c01017ff: 09 d0 or %edx,%eax
- c0101801: 88 45 f1 mov %al,-0xf(%ebp)
- c0101804: 0f b6 45 f2 movzbl -0xe(%ebp),%eax
- c0101808: 83 e0 0f and $0xf,%eax
- c010180b: 89 c1 mov %eax,%ecx
- c010180d: 0f b6 45 f2 movzbl -0xe(%ebp),%eax
- c0101811: c0 e8 04 shr $0x4,%al
- c0101814: 89 c2 mov %eax,%edx
- c0101816: 89 d0 mov %edx,%eax
- c0101818: c1 e0 02 shl $0x2,%eax
- c010181b: 01 d0 add %edx,%eax
- c010181d: 01 c0 add %eax,%eax
- c010181f: 01 c8 add %ecx,%eax
- c0101821: 88 45 f2 mov %al,-0xe(%ebp)
- c0101824: 0f b6 45 f3 movzbl -0xd(%ebp),%eax
- c0101828: 83 e0 0f and $0xf,%eax
- c010182b: 89 c1 mov %eax,%ecx
- c010182d: 0f b6 45 f3 movzbl -0xd(%ebp),%eax
- c0101831: c0 e8 04 shr $0x4,%al
- c0101834: 89 c2 mov %eax,%edx
- c0101836: 89 d0 mov %edx,%eax
- c0101838: c1 e0 02 shl $0x2,%eax
- c010183b: 01 d0 add %edx,%eax
- c010183d: 01 c0 add %eax,%eax
- c010183f: 01 c8 add %ecx,%eax
- c0101841: 88 45 f3 mov %al,-0xd(%ebp)
- c0101844: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c0101848: 83 e0 0f and $0xf,%eax
- c010184b: 89 c1 mov %eax,%ecx
- c010184d: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c0101851: c0 e8 04 shr $0x4,%al
- c0101854: 89 c2 mov %eax,%edx
- c0101856: 89 d0 mov %edx,%eax
- c0101858: c1 e0 02 shl $0x2,%eax
- c010185b: 01 d0 add %edx,%eax
- c010185d: 01 c0 add %eax,%eax
- c010185f: 01 c8 add %ecx,%eax
- c0101861: 88 45 f4 mov %al,-0xc(%ebp)
- c0101864: 0f b6 45 f5 movzbl -0xb(%ebp),%eax
- c0101868: 83 e0 0f and $0xf,%eax
- c010186b: 89 c1 mov %eax,%ecx
- c010186d: 0f b6 45 f5 movzbl -0xb(%ebp),%eax
- c0101871: c0 e8 04 shr $0x4,%al
- c0101874: 89 c2 mov %eax,%edx
- c0101876: 89 d0 mov %edx,%eax
- c0101878: c1 e0 02 shl $0x2,%eax
- c010187b: 01 d0 add %edx,%eax
- c010187d: 01 c0 add %eax,%eax
- c010187f: 01 c8 add %ecx,%eax
- c0101881: 88 45 f5 mov %al,-0xb(%ebp)
- c0101884: 8b 45 08 mov 0x8(%ebp),%eax
- c0101887: 0f b6 55 ef movzbl -0x11(%ebp),%edx
- c010188b: 88 50 06 mov %dl,0x6(%eax)
- c010188e: 8b 45 08 mov 0x8(%ebp),%eax
- c0101891: 0f b6 55 f0 movzbl -0x10(%ebp),%edx
- c0101895: 88 50 05 mov %dl,0x5(%eax)
- c0101898: 8b 45 08 mov 0x8(%ebp),%eax
- c010189b: 0f b6 55 f1 movzbl -0xf(%ebp),%edx
- c010189f: 88 50 04 mov %dl,0x4(%eax)
- c01018a2: 8b 45 08 mov 0x8(%ebp),%eax
- c01018a5: 0f b6 55 f2 movzbl -0xe(%ebp),%edx
- c01018a9: 88 50 03 mov %dl,0x3(%eax)
- c01018ac: 8b 45 08 mov 0x8(%ebp),%eax
- c01018af: 0f b6 55 f3 movzbl -0xd(%ebp),%edx
- c01018b3: 88 50 02 mov %dl,0x2(%eax)
- c01018b6: 8b 45 08 mov 0x8(%ebp),%eax
- c01018b9: 0f b6 55 f4 movzbl -0xc(%ebp),%edx
- c01018bd: 88 50 01 mov %dl,0x1(%eax)
- c01018c0: 8b 45 08 mov 0x8(%ebp),%eax
- c01018c3: 0f b6 55 f5 movzbl -0xb(%ebp),%edx
- c01018c7: 88 10 mov %dl,(%eax)
- c01018c9: 90 nop
- c01018ca: c9 leave
- c01018cb: c3 ret
- c01018cc <kmemmove>:
- c01018cc: 55 push %ebp
- c01018cd: 89 e5 mov %esp,%ebp
- c01018cf: 83 ec 10 sub $0x10,%esp
- c01018d2: 8b 45 0c mov 0xc(%ebp),%eax
- c01018d5: 89 45 f8 mov %eax,-0x8(%ebp)
- c01018d8: 8b 45 08 mov 0x8(%ebp),%eax
- c01018db: 89 45 fc mov %eax,-0x4(%ebp)
- c01018de: eb 17 jmp c01018f7 <kmemmove+0x2b>
- c01018e0: 8b 45 fc mov -0x4(%ebp),%eax
- c01018e3: 8d 50 01 lea 0x1(%eax),%edx
- c01018e6: 89 55 fc mov %edx,-0x4(%ebp)
- c01018e9: 8b 55 f8 mov -0x8(%ebp),%edx
- c01018ec: 8d 4a 01 lea 0x1(%edx),%ecx
- c01018ef: 89 4d f8 mov %ecx,-0x8(%ebp)
- c01018f2: 0f b6 12 movzbl (%edx),%edx
- c01018f5: 88 10 mov %dl,(%eax)
- c01018f7: 8b 45 10 mov 0x10(%ebp),%eax
- c01018fa: 8d 50 ff lea -0x1(%eax),%edx
- c01018fd: 89 55 10 mov %edx,0x10(%ebp)
- c0101900: 85 c0 test %eax,%eax
- c0101902: 75 dc jne c01018e0 <kmemmove+0x14>
- c0101904: 90 nop
- c0101905: c9 leave
- c0101906: c3 ret
- c0101907 <kmemset>:
- c0101907: 55 push %ebp
- c0101908: 89 e5 mov %esp,%ebp
- c010190a: 83 ec 14 sub $0x14,%esp
- c010190d: 8b 45 0c mov 0xc(%ebp),%eax
- c0101910: 88 45 ec mov %al,-0x14(%ebp)
- c0101913: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
- c010191a: 8b 45 08 mov 0x8(%ebp),%eax
- c010191d: 8d 50 01 lea 0x1(%eax),%edx
- c0101920: 89 55 08 mov %edx,0x8(%ebp)
- c0101923: 0f b6 55 ec movzbl -0x14(%ebp),%edx
- c0101927: 88 10 mov %dl,(%eax)
- c0101929: 83 45 fc 01 addl $0x1,-0x4(%ebp)
- c010192d: 8b 45 fc mov -0x4(%ebp),%eax
- c0101930: 3b 45 10 cmp 0x10(%ebp),%eax
- c0101933: 72 e5 jb c010191a <kmemset+0x13>
- c0101935: 90 nop
- c0101936: c9 leave
- c0101937: c3 ret
- c0101938 <outb>:
- c0101938: 55 push %ebp
- c0101939: 89 e5 mov %esp,%ebp
- c010193b: 83 ec 08 sub $0x8,%esp
- c010193e: 8b 55 08 mov 0x8(%ebp),%edx
- c0101941: 8b 45 0c mov 0xc(%ebp),%eax
- c0101944: 66 89 55 fc mov %dx,-0x4(%ebp)
- c0101948: 88 45 f8 mov %al,-0x8(%ebp)
- c010194b: 0f b6 45 f8 movzbl -0x8(%ebp),%eax
- c010194f: 0f b7 55 fc movzwl -0x4(%ebp),%edx
- c0101953: ee out %al,(%dx)
- c0101954: 90 nop
- c0101955: c9 leave
- c0101956: c3 ret
- c0101957 <inb>:
- c0101957: 55 push %ebp
- c0101958: 89 e5 mov %esp,%ebp
- c010195a: 83 ec 14 sub $0x14,%esp
- c010195d: 8b 45 08 mov 0x8(%ebp),%eax
- c0101960: 66 89 45 ec mov %ax,-0x14(%ebp)
- c0101964: 0f b7 45 ec movzwl -0x14(%ebp),%eax
- c0101968: 89 c2 mov %eax,%edx
- c010196a: ec in (%dx),%al
- c010196b: 88 45 ff mov %al,-0x1(%ebp)
- c010196e: 0f b6 45 ff movzbl -0x1(%ebp),%eax
- c0101972: c9 leave
- c0101973: c3 ret
- c0101974 <inw>:
- c0101974: 55 push %ebp
- c0101975: 89 e5 mov %esp,%ebp
- c0101977: 83 ec 14 sub $0x14,%esp
- c010197a: 8b 45 08 mov 0x8(%ebp),%eax
- c010197d: 66 89 45 ec mov %ax,-0x14(%ebp)
- c0101981: 0f b7 45 ec movzwl -0x14(%ebp),%eax
- c0101985: 89 c2 mov %eax,%edx
- c0101987: 66 ed in (%dx),%ax
- c0101989: 66 89 45 fe mov %ax,-0x2(%ebp)
- c010198d: 0f b7 45 fe movzwl -0x2(%ebp),%eax
- c0101991: c9 leave
- c0101992: c3 ret
- c0101993 <outw>:
- c0101993: 55 push %ebp
- c0101994: 89 e5 mov %esp,%ebp
- c0101996: 83 ec 08 sub $0x8,%esp
- c0101999: 8b 55 08 mov 0x8(%ebp),%edx
- c010199c: 8b 45 0c mov 0xc(%ebp),%eax
- c010199f: 66 89 55 fc mov %dx,-0x4(%ebp)
- c01019a3: 66 89 45 f8 mov %ax,-0x8(%ebp)
- c01019a7: 0f b7 45 f8 movzwl -0x8(%ebp),%eax
- c01019ab: 0f b7 55 fc movzwl -0x4(%ebp),%edx
- c01019af: 66 ef out %ax,(%dx)
- c01019b1: 90 nop
- c01019b2: c9 leave
- c01019b3: c3 ret
- c01019b4 <reboot>:
- c01019b4: 55 push %ebp
- c01019b5: 89 e5 mov %esp,%ebp
- c01019b7: 83 ec 10 sub $0x10,%esp
- c01019ba: c6 45 ff 02 movb $0x2,-0x1(%ebp)
- c01019be: eb 0d jmp c01019cd <reboot+0x19>
- c01019c0: 6a 64 push $0x64
- c01019c2: e8 90 ff ff ff call c0101957 <inb>
- c01019c7: 83 c4 04 add $0x4,%esp
- c01019ca: 88 45 ff mov %al,-0x1(%ebp)
- c01019cd: 0f b6 45 ff movzbl -0x1(%ebp),%eax
- c01019d1: 83 e0 02 and $0x2,%eax
- c01019d4: 85 c0 test %eax,%eax
- c01019d6: 75 e8 jne c01019c0 <reboot+0xc>
- c01019d8: 68 fe 00 00 00 push $0xfe
- c01019dd: 6a 64 push $0x64
- c01019df: e8 54 ff ff ff call c0101938 <outb>
- c01019e4: 83 c4 08 add $0x8,%esp
- c01019e7: f4 hlt
- c01019e8: 90 nop
- c01019e9: c9 leave
- c01019ea: c3 ret
- c01019eb <identify>:
- c01019eb: 55 push %ebp
- c01019ec: 89 e5 mov %esp,%ebp
- c01019ee: 53 push %ebx
- c01019ef: 81 ec 24 02 00 00 sub $0x224,%esp
- c01019f5: 8b 45 08 mov 0x8(%ebp),%eax
- c01019f8: 89 85 e4 fd ff ff mov %eax,-0x21c(%ebp)
- c01019fe: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c0101a04: 89 45 f4 mov %eax,-0xc(%ebp)
- c0101a07: 31 c0 xor %eax,%eax
- c0101a09: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101a0f: 0f b7 40 12 movzwl 0x12(%eax),%eax
- c0101a13: 0f b6 d0 movzbl %al,%edx
- c0101a16: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101a1c: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101a20: 83 c0 06 add $0x6,%eax
- c0101a23: 0f b7 c0 movzwl %ax,%eax
- c0101a26: 83 ec 08 sub $0x8,%esp
- c0101a29: 52 push %edx
- c0101a2a: 50 push %eax
- c0101a2b: e8 08 ff ff ff call c0101938 <outb>
- c0101a30: 83 c4 10 add $0x10,%esp
- c0101a33: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101a39: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101a3d: 83 c0 02 add $0x2,%eax
- c0101a40: 0f b7 c0 movzwl %ax,%eax
- c0101a43: 83 ec 08 sub $0x8,%esp
- c0101a46: 6a 00 push $0x0
- c0101a48: 50 push %eax
- c0101a49: e8 ea fe ff ff call c0101938 <outb>
- c0101a4e: 83 c4 10 add $0x10,%esp
- c0101a51: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101a57: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101a5b: 83 c0 03 add $0x3,%eax
- c0101a5e: 0f b7 c0 movzwl %ax,%eax
- c0101a61: 83 ec 08 sub $0x8,%esp
- c0101a64: 6a 00 push $0x0
- c0101a66: 50 push %eax
- c0101a67: e8 cc fe ff ff call c0101938 <outb>
- c0101a6c: 83 c4 10 add $0x10,%esp
- c0101a6f: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101a75: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101a79: 83 c0 04 add $0x4,%eax
- c0101a7c: 0f b7 c0 movzwl %ax,%eax
- c0101a7f: 83 ec 08 sub $0x8,%esp
- c0101a82: 6a 00 push $0x0
- c0101a84: 50 push %eax
- c0101a85: e8 ae fe ff ff call c0101938 <outb>
- c0101a8a: 83 c4 10 add $0x10,%esp
- c0101a8d: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101a93: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101a97: 83 c0 05 add $0x5,%eax
- c0101a9a: 0f b7 c0 movzwl %ax,%eax
- c0101a9d: 83 ec 08 sub $0x8,%esp
- c0101aa0: 6a 00 push $0x0
- c0101aa2: 50 push %eax
- c0101aa3: e8 90 fe ff ff call c0101938 <outb>
- c0101aa8: 83 c4 10 add $0x10,%esp
- c0101aab: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101ab1: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101ab5: 83 c0 07 add $0x7,%eax
- c0101ab8: 0f b7 c0 movzwl %ax,%eax
- c0101abb: 83 ec 08 sub $0x8,%esp
- c0101abe: 68 ec 00 00 00 push $0xec
- c0101ac3: 50 push %eax
- c0101ac4: e8 6f fe ff ff call c0101938 <outb>
- c0101ac9: 83 c4 10 add $0x10,%esp
- c0101acc: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101ad2: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101ad6: 83 c0 07 add $0x7,%eax
- c0101ad9: 0f b7 c0 movzwl %ax,%eax
- c0101adc: 83 ec 0c sub $0xc,%esp
- c0101adf: 50 push %eax
- c0101ae0: e8 72 fe ff ff call c0101957 <inb>
- c0101ae5: 83 c4 10 add $0x10,%esp
- c0101ae8: 88 85 f1 fd ff ff mov %al,-0x20f(%ebp)
- c0101aee: 80 bd f1 fd ff ff 00 cmpb $0x0,-0x20f(%ebp)
- c0101af5: 75 2c jne c0101b23 <identify+0x138>
- c0101af7: b8 00 00 00 00 mov $0x0,%eax
- c0101afc: e9 70 01 00 00 jmp c0101c71 <identify+0x286>
- c0101b01: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101b07: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101b0b: 83 c0 07 add $0x7,%eax
- c0101b0e: 0f b7 c0 movzwl %ax,%eax
- c0101b11: 83 ec 0c sub $0xc,%esp
- c0101b14: 50 push %eax
- c0101b15: e8 3d fe ff ff call c0101957 <inb>
- c0101b1a: 83 c4 10 add $0x10,%esp
- c0101b1d: 88 85 f1 fd ff ff mov %al,-0x20f(%ebp)
- c0101b23: 0f b6 85 f1 fd ff ff movzbl -0x20f(%ebp),%eax
- c0101b2a: 84 c0 test %al,%al
- c0101b2c: 78 d3 js c0101b01 <identify+0x116>
- c0101b2e: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101b34: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101b38: 83 c0 03 add $0x3,%eax
- c0101b3b: 0f b7 c0 movzwl %ax,%eax
- c0101b3e: 83 ec 0c sub $0xc,%esp
- c0101b41: 50 push %eax
- c0101b42: e8 10 fe ff ff call c0101957 <inb>
- c0101b47: 83 c4 10 add $0x10,%esp
- c0101b4a: 84 c0 test %al,%al
- c0101b4c: 75 20 jne c0101b6e <identify+0x183>
- c0101b4e: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101b54: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101b58: 83 c0 04 add $0x4,%eax
- c0101b5b: 0f b7 c0 movzwl %ax,%eax
- c0101b5e: 83 ec 0c sub $0xc,%esp
- c0101b61: 50 push %eax
- c0101b62: e8 f0 fd ff ff call c0101957 <inb>
- c0101b67: 83 c4 10 add $0x10,%esp
- c0101b6a: 84 c0 test %al,%al
- c0101b6c: 74 0a je c0101b78 <identify+0x18d>
- c0101b6e: b8 01 00 00 00 mov $0x1,%eax
- c0101b73: e9 f9 00 00 00 jmp c0101c71 <identify+0x286>
- c0101b78: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101b7e: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101b82: 83 c0 07 add $0x7,%eax
- c0101b85: 0f b7 c0 movzwl %ax,%eax
- c0101b88: 83 ec 0c sub $0xc,%esp
- c0101b8b: 50 push %eax
- c0101b8c: e8 c6 fd ff ff call c0101957 <inb>
- c0101b91: 83 c4 10 add $0x10,%esp
- c0101b94: 88 85 f1 fd ff ff mov %al,-0x20f(%ebp)
- c0101b9a: 0f b6 85 f1 fd ff ff movzbl -0x20f(%ebp),%eax
- c0101ba1: 83 e0 09 and $0x9,%eax
- c0101ba4: 85 c0 test %eax,%eax
- c0101ba6: 75 02 jne c0101baa <identify+0x1bf>
- c0101ba8: eb ce jmp c0101b78 <identify+0x18d>
- c0101baa: 90 nop
- c0101bab: 0f b6 85 f1 fd ff ff movzbl -0x20f(%ebp),%eax
- c0101bb2: 83 e0 01 and $0x1,%eax
- c0101bb5: 85 c0 test %eax,%eax
- c0101bb7: 74 0a je c0101bc3 <identify+0x1d8>
- c0101bb9: b8 01 00 00 00 mov $0x1,%eax
- c0101bbe: e9 ae 00 00 00 jmp c0101c71 <identify+0x286>
- c0101bc3: 66 c7 85 f2 fd ff ff movw $0x0,-0x20e(%ebp)
- c0101bca: 00 00
- c0101bcc: eb 39 jmp c0101c07 <identify+0x21c>
- c0101bce: 0f b7 9d f2 fd ff ff movzwl -0x20e(%ebp),%ebx
- c0101bd5: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101bdb: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101bdf: 0f b7 c0 movzwl %ax,%eax
- c0101be2: 83 ec 0c sub $0xc,%esp
- c0101be5: 50 push %eax
- c0101be6: e8 89 fd ff ff call c0101974 <inw>
- c0101beb: 83 c4 10 add $0x10,%esp
- c0101bee: 66 89 84 5d f4 fd ff mov %ax,-0x20c(%ebp,%ebx,2)
- c0101bf5: ff
- c0101bf6: 0f b7 85 f2 fd ff ff movzwl -0x20e(%ebp),%eax
- c0101bfd: 83 c0 01 add $0x1,%eax
- c0101c00: 66 89 85 f2 fd ff ff mov %ax,-0x20e(%ebp)
- c0101c07: 66 81 bd f2 fd ff ff cmpw $0xff,-0x20e(%ebp)
- c0101c0e: ff 00
- c0101c10: 76 bc jbe c0101bce <identify+0x1e3>
- c0101c12: 0f b7 85 9a fe ff ff movzwl -0x166(%ebp),%eax
- c0101c19: 0f b7 c0 movzwl %ax,%eax
- c0101c1c: 25 00 04 00 00 and $0x400,%eax
- c0101c21: 85 c0 test %eax,%eax
- c0101c23: 74 22 je c0101c47 <identify+0x25c>
- c0101c25: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101c2b: c6 40 01 01 movb $0x1,0x1(%eax)
- c0101c2f: 8b 85 bc fe ff ff mov -0x144(%ebp),%eax
- c0101c35: 8b 95 c0 fe ff ff mov -0x140(%ebp),%edx
- c0101c3b: 8b 8d e4 fd ff ff mov -0x21c(%ebp),%ecx
- c0101c41: 89 41 08 mov %eax,0x8(%ecx)
- c0101c44: 89 51 0c mov %edx,0xc(%ecx)
- c0101c47: 8b 95 6c fe ff ff mov -0x194(%ebp),%edx
- c0101c4d: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101c53: 89 50 04 mov %edx,0x4(%eax)
- c0101c56: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101c5c: 8b 40 04 mov 0x4(%eax),%eax
- c0101c5f: 85 c0 test %eax,%eax
- c0101c61: 75 09 jne c0101c6c <identify+0x281>
- c0101c63: 8b 85 e4 fd ff ff mov -0x21c(%ebp),%eax
- c0101c69: c6 00 00 movb $0x0,(%eax)
- c0101c6c: b8 02 00 00 00 mov $0x2,%eax
- c0101c71: 8b 4d f4 mov -0xc(%ebp),%ecx
- c0101c74: 65 33 0d 14 00 00 00 xor %gs:0x14,%ecx
- c0101c7b: 74 05 je c0101c82 <identify+0x297>
- c0101c7d: e8 c4 f6 ff ff call c0101346 <__stack_chk_fail>
- c0101c82: 8b 5d fc mov -0x4(%ebp),%ebx
- c0101c85: c9 leave
- c0101c86: c3 ret
- c0101c87 <discover_devices>:
- c0101c87: 55 push %ebp
- c0101c88: 89 e5 mov %esp,%ebp
- c0101c8a: 83 ec 28 sub $0x28,%esp
- c0101c8d: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp)
- c0101c94: 83 ec 0c sub $0xc,%esp
- c0101c97: 68 f7 01 00 00 push $0x1f7
- c0101c9c: e8 b6 fc ff ff call c0101957 <inb>
- c0101ca1: 83 c4 10 add $0x10,%esp
- c0101ca4: 88 45 e6 mov %al,-0x1a(%ebp)
- c0101ca7: 83 ec 0c sub $0xc,%esp
- c0101caa: 68 77 01 00 00 push $0x177
- c0101caf: e8 a3 fc ff ff call c0101957 <inb>
- c0101cb4: 83 c4 10 add $0x10,%esp
- c0101cb7: 88 45 e7 mov %al,-0x19(%ebp)
- c0101cba: 8b 45 e8 mov -0x18(%ebp),%eax
- c0101cbd: 89 45 ec mov %eax,-0x14(%ebp)
- c0101cc0: 80 7d e6 ff cmpb $0xff,-0x1a(%ebp)
- c0101cc4: 75 0e jne c0101cd4 <discover_devices+0x4d>
- c0101cc6: 80 7d e7 ff cmpb $0xff,-0x19(%ebp)
- c0101cca: 75 08 jne c0101cd4 <discover_devices+0x4d>
- c0101ccc: 8b 45 e8 mov -0x18(%ebp),%eax
- c0101ccf: e9 b7 00 00 00 jmp c0101d8b <discover_devices+0x104>
- c0101cd4: 80 7d e6 ff cmpb $0xff,-0x1a(%ebp)
- c0101cd8: 74 06 je c0101ce0 <discover_devices+0x59>
- c0101cda: 83 4d ec 01 orl $0x1,-0x14(%ebp)
- c0101cde: eb 0a jmp c0101cea <discover_devices+0x63>
- c0101ce0: 80 7d e7 ff cmpb $0xff,-0x19(%ebp)
- c0101ce4: 74 04 je c0101cea <discover_devices+0x63>
- c0101ce6: 83 4d ec 02 orl $0x2,-0x14(%ebp)
- c0101cea: 8b 45 ec mov -0x14(%ebp),%eax
- c0101ced: 83 e0 01 and $0x1,%eax
- c0101cf0: 85 c0 test %eax,%eax
- c0101cf2: 74 3f je c0101d33 <discover_devices+0xac>
- c0101cf4: 8b 45 08 mov 0x8(%ebp),%eax
- c0101cf7: 8b 00 mov (%eax),%eax
- c0101cf9: 66 c7 40 10 f0 01 movw $0x1f0,0x10(%eax)
- c0101cff: 8b 45 08 mov 0x8(%ebp),%eax
- c0101d02: 8b 00 mov (%eax),%eax
- c0101d04: 66 c7 40 12 a0 00 movw $0xa0,0x12(%eax)
- c0101d0a: 8b 45 08 mov 0x8(%ebp),%eax
- c0101d0d: 8b 00 mov (%eax),%eax
- c0101d0f: 66 c7 40 14 e0 00 movw $0xe0,0x14(%eax)
- c0101d15: 8b 45 08 mov 0x8(%ebp),%eax
- c0101d18: 8b 00 mov (%eax),%eax
- c0101d1a: 83 ec 0c sub $0xc,%esp
- c0101d1d: 50 push %eax
- c0101d1e: e8 c8 fc ff ff call c01019eb <identify>
- c0101d23: 83 c4 10 add $0x10,%esp
- c0101d26: 89 45 f0 mov %eax,-0x10(%ebp)
- c0101d29: 83 7d f0 02 cmpl $0x2,-0x10(%ebp)
- c0101d2d: 75 04 jne c0101d33 <discover_devices+0xac>
- c0101d2f: 83 4d e8 01 orl $0x1,-0x18(%ebp)
- c0101d33: 8b 45 ec mov -0x14(%ebp),%eax
- c0101d36: 83 e0 02 and $0x2,%eax
- c0101d39: 85 c0 test %eax,%eax
- c0101d3b: 74 4b je c0101d88 <discover_devices+0x101>
- c0101d3d: 8b 45 08 mov 0x8(%ebp),%eax
- c0101d40: 83 c0 04 add $0x4,%eax
- c0101d43: 8b 00 mov (%eax),%eax
- c0101d45: 66 c7 40 10 70 01 movw $0x170,0x10(%eax)
- c0101d4b: 8b 45 08 mov 0x8(%ebp),%eax
- c0101d4e: 83 c0 04 add $0x4,%eax
- c0101d51: 8b 00 mov (%eax),%eax
- c0101d53: 66 c7 40 12 b0 00 movw $0xb0,0x12(%eax)
- c0101d59: 8b 45 08 mov 0x8(%ebp),%eax
- c0101d5c: 83 c0 04 add $0x4,%eax
- c0101d5f: 8b 00 mov (%eax),%eax
- c0101d61: 66 c7 40 14 f0 00 movw $0xf0,0x14(%eax)
- c0101d67: 8b 45 08 mov 0x8(%ebp),%eax
- c0101d6a: 83 c0 04 add $0x4,%eax
- c0101d6d: 8b 00 mov (%eax),%eax
- c0101d6f: 83 ec 0c sub $0xc,%esp
- c0101d72: 50 push %eax
- c0101d73: e8 73 fc ff ff call c01019eb <identify>
- c0101d78: 83 c4 10 add $0x10,%esp
- c0101d7b: 89 45 f4 mov %eax,-0xc(%ebp)
- c0101d7e: 83 7d f4 02 cmpl $0x2,-0xc(%ebp)
- c0101d82: 75 04 jne c0101d88 <discover_devices+0x101>
- c0101d84: 83 4d e8 02 orl $0x2,-0x18(%ebp)
- c0101d88: 8b 45 e8 mov -0x18(%ebp),%eax
- c0101d8b: c9 leave
- c0101d8c: c3 ret
- c0101d8d <ata_init>:
- c0101d8d: 55 push %ebp
- c0101d8e: 89 e5 mov %esp,%ebp
- c0101d90: 83 ec 18 sub $0x18,%esp
- c0101d93: 83 ec 0c sub $0xc,%esp
- c0101d96: ff 75 08 pushl 0x8(%ebp)
- c0101d99: e8 e9 fe ff ff call c0101c87 <discover_devices>
- c0101d9e: 83 c4 10 add $0x10,%esp
- c0101da1: 89 45 f4 mov %eax,-0xc(%ebp)
- c0101da4: 83 7d f4 00 cmpl $0x0,-0xc(%ebp)
- c0101da8: 74 07 je c0101db1 <ata_init+0x24>
- c0101daa: b8 00 00 00 00 mov $0x0,%eax
- c0101daf: eb 05 jmp c0101db6 <ata_init+0x29>
- c0101db1: b8 fd ff ff ff mov $0xfffffffd,%eax
- c0101db6: c9 leave
- c0101db7: c3 ret
- c0101db8 <ata_io>:
- c0101db8: 55 push %ebp
- c0101db9: 89 e5 mov %esp,%ebp
- c0101dbb: 53 push %ebx
- c0101dbc: 83 ec 24 sub $0x24,%esp
- c0101dbf: 8b 45 14 mov 0x14(%ebp),%eax
- c0101dc2: 88 45 e4 mov %al,-0x1c(%ebp)
- c0101dc5: 8b 45 0c mov 0xc(%ebp),%eax
- c0101dc8: 0f b7 40 14 movzwl 0x14(%eax),%eax
- c0101dcc: 89 c2 mov %eax,%edx
- c0101dce: 8b 45 10 mov 0x10(%ebp),%eax
- c0101dd1: c1 e8 18 shr $0x18,%eax
- c0101dd4: 83 e0 0f and $0xf,%eax
- c0101dd7: 09 d0 or %edx,%eax
- c0101dd9: 0f b6 d0 movzbl %al,%edx
- c0101ddc: 8b 45 0c mov 0xc(%ebp),%eax
- c0101ddf: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101de3: 83 c0 06 add $0x6,%eax
- c0101de6: 0f b7 c0 movzwl %ax,%eax
- c0101de9: 83 ec 08 sub $0x8,%esp
- c0101dec: 52 push %edx
- c0101ded: 50 push %eax
- c0101dee: e8 45 fb ff ff call c0101938 <outb>
- c0101df3: 83 c4 10 add $0x10,%esp
- c0101df6: 0f b6 55 e4 movzbl -0x1c(%ebp),%edx
- c0101dfa: 8b 45 0c mov 0xc(%ebp),%eax
- c0101dfd: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101e01: 83 c0 02 add $0x2,%eax
- c0101e04: 0f b7 c0 movzwl %ax,%eax
- c0101e07: 83 ec 08 sub $0x8,%esp
- c0101e0a: 52 push %edx
- c0101e0b: 50 push %eax
- c0101e0c: e8 27 fb ff ff call c0101938 <outb>
- c0101e11: 83 c4 10 add $0x10,%esp
- c0101e14: 8b 45 10 mov 0x10(%ebp),%eax
- c0101e17: 0f b6 d0 movzbl %al,%edx
- c0101e1a: 8b 45 0c mov 0xc(%ebp),%eax
- c0101e1d: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101e21: 83 c0 03 add $0x3,%eax
- c0101e24: 0f b7 c0 movzwl %ax,%eax
- c0101e27: 83 ec 08 sub $0x8,%esp
- c0101e2a: 52 push %edx
- c0101e2b: 50 push %eax
- c0101e2c: e8 07 fb ff ff call c0101938 <outb>
- c0101e31: 83 c4 10 add $0x10,%esp
- c0101e34: 8b 45 10 mov 0x10(%ebp),%eax
- c0101e37: c1 e8 08 shr $0x8,%eax
- c0101e3a: 0f b6 d0 movzbl %al,%edx
- c0101e3d: 8b 45 0c mov 0xc(%ebp),%eax
- c0101e40: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101e44: 83 c0 04 add $0x4,%eax
- c0101e47: 0f b7 c0 movzwl %ax,%eax
- c0101e4a: 83 ec 08 sub $0x8,%esp
- c0101e4d: 52 push %edx
- c0101e4e: 50 push %eax
- c0101e4f: e8 e4 fa ff ff call c0101938 <outb>
- c0101e54: 83 c4 10 add $0x10,%esp
- c0101e57: 8b 45 10 mov 0x10(%ebp),%eax
- c0101e5a: c1 e8 10 shr $0x10,%eax
- c0101e5d: 0f b6 d0 movzbl %al,%edx
- c0101e60: 8b 45 0c mov 0xc(%ebp),%eax
- c0101e63: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101e67: 83 c0 05 add $0x5,%eax
- c0101e6a: 0f b7 c0 movzwl %ax,%eax
- c0101e6d: 83 ec 08 sub $0x8,%esp
- c0101e70: 52 push %edx
- c0101e71: 50 push %eax
- c0101e72: e8 c1 fa ff ff call c0101938 <outb>
- c0101e77: 83 c4 10 add $0x10,%esp
- c0101e7a: 83 7d 18 00 cmpl $0x0,0x18(%ebp)
- c0101e7e: 75 1d jne c0101e9d <ata_io+0xe5>
- c0101e80: 8b 45 0c mov 0xc(%ebp),%eax
- c0101e83: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101e87: 83 c0 07 add $0x7,%eax
- c0101e8a: 0f b7 c0 movzwl %ax,%eax
- c0101e8d: 83 ec 08 sub $0x8,%esp
- c0101e90: 6a 20 push $0x20
- c0101e92: 50 push %eax
- c0101e93: e8 a0 fa ff ff call c0101938 <outb>
- c0101e98: 83 c4 10 add $0x10,%esp
- c0101e9b: eb 1b jmp c0101eb8 <ata_io+0x100>
- c0101e9d: 8b 45 0c mov 0xc(%ebp),%eax
- c0101ea0: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101ea4: 83 c0 07 add $0x7,%eax
- c0101ea7: 0f b7 c0 movzwl %ax,%eax
- c0101eaa: 83 ec 08 sub $0x8,%esp
- c0101ead: 6a 30 push $0x30
- c0101eaf: 50 push %eax
- c0101eb0: e8 83 fa ff ff call c0101938 <outb>
- c0101eb5: 83 c4 10 add $0x10,%esp
- c0101eb8: c6 45 f0 00 movb $0x0,-0x10(%ebp)
- c0101ebc: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
- c0101ec3: eb 1d jmp c0101ee2 <ata_io+0x12a>
- c0101ec5: 8b 45 0c mov 0xc(%ebp),%eax
- c0101ec8: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101ecc: 83 c0 07 add $0x7,%eax
- c0101ecf: 0f b7 c0 movzwl %ax,%eax
- c0101ed2: 83 ec 0c sub $0xc,%esp
- c0101ed5: 50 push %eax
- c0101ed6: e8 7c fa ff ff call c0101957 <inb>
- c0101edb: 83 c4 10 add $0x10,%esp
- c0101ede: 83 45 f4 01 addl $0x1,-0xc(%ebp)
- c0101ee2: 83 7d f4 03 cmpl $0x3,-0xc(%ebp)
- c0101ee6: 7e dd jle c0101ec5 <ata_io+0x10d>
- c0101ee8: c6 45 ef 00 movb $0x0,-0x11(%ebp)
- c0101eec: 0f b6 45 ef movzbl -0x11(%ebp),%eax
- c0101ef0: 3a 45 e4 cmp -0x1c(%ebp),%al
- c0101ef3: 72 0a jb c0101eff <ata_io+0x147>
- c0101ef5: b8 00 00 00 00 mov $0x0,%eax
- c0101efa: e9 f2 01 00 00 jmp c01020f1 <ata_io+0x339>
- c0101eff: 8b 45 0c mov 0xc(%ebp),%eax
- c0101f02: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0101f06: 83 c0 07 add $0x7,%eax
- c0101f09: 0f b7 c0 movzwl %ax,%eax
- c0101f0c: 83 ec 0c sub $0xc,%esp
- c0101f0f: 50 push %eax
- c0101f10: e8 42 fa ff ff call c0101957 <inb>
- c0101f15: 83 c4 10 add $0x10,%esp
- c0101f18: 88 45 f0 mov %al,-0x10(%ebp)
- c0101f1b: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101f1f: 84 c0 test %al,%al
- c0101f21: 79 21 jns c0101f44 <ata_io+0x18c>
- c0101f23: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101f27: 83 e0 08 and $0x8,%eax
- c0101f2a: 85 c0 test %eax,%eax
- c0101f2c: 75 16 jne c0101f44 <ata_io+0x18c>
- c0101f2e: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101f32: 83 e0 01 and $0x1,%eax
- c0101f35: 85 c0 test %eax,%eax
- c0101f37: 75 0b jne c0101f44 <ata_io+0x18c>
- c0101f39: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101f3d: 83 e0 20 and $0x20,%eax
- c0101f40: 85 c0 test %eax,%eax
- c0101f42: 74 bb je c0101eff <ata_io+0x147>
- c0101f44: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101f48: 83 e0 01 and $0x1,%eax
- c0101f4b: 85 c0 test %eax,%eax
- c0101f4d: 75 0f jne c0101f5e <ata_io+0x1a6>
- c0101f4f: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101f53: 83 e0 20 and $0x20,%eax
- c0101f56: 85 c0 test %eax,%eax
- c0101f58: 0f 84 fc 00 00 00 je c010205a <ata_io+0x2a2>
- c0101f5e: 0f b6 45 f0 movzbl -0x10(%ebp),%eax
- c0101f62: 83 ec 04 sub $0x4,%esp
- c0101f65: 50 push %eax
- c0101f66: 68 b6 32 10 c0 push $0xc01032b6
- c0101f6b: 6a 0c push $0xc
- c0101f6d: e8 3e e4 ff ff call c01003b0 <kprintf>
- c0101f72: 83 c4 10 add $0x10,%esp
- c0101f75: 83 ec 0c sub $0xc,%esp
- c0101f78: 68 f1 01 00 00 push $0x1f1
- c0101f7d: e8 d5 f9 ff ff call c0101957 <inb>
- c0101f82: 83 c4 10 add $0x10,%esp
- c0101f85: 88 45 f1 mov %al,-0xf(%ebp)
- c0101f88: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c0101f8c: 83 e0 02 and $0x2,%eax
- c0101f8f: 85 c0 test %eax,%eax
- c0101f91: 74 12 je c0101fa5 <ata_io+0x1ed>
- c0101f93: 83 ec 08 sub $0x8,%esp
- c0101f96: 68 be 32 10 c0 push $0xc01032be
- c0101f9b: 6a 04 push $0x4
- c0101f9d: e8 0e e4 ff ff call c01003b0 <kprintf>
- c0101fa2: 83 c4 10 add $0x10,%esp
- c0101fa5: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c0101fa9: 83 e0 04 and $0x4,%eax
- c0101fac: 85 c0 test %eax,%eax
- c0101fae: 74 12 je c0101fc2 <ata_io+0x20a>
- c0101fb0: 83 ec 08 sub $0x8,%esp
- c0101fb3: 68 c9 32 10 c0 push $0xc01032c9
- c0101fb8: 6a 04 push $0x4
- c0101fba: e8 f1 e3 ff ff call c01003b0 <kprintf>
- c0101fbf: 83 c4 10 add $0x10,%esp
- c0101fc2: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c0101fc6: 83 e0 08 and $0x8,%eax
- c0101fc9: 85 c0 test %eax,%eax
- c0101fcb: 74 12 je c0101fdf <ata_io+0x227>
- c0101fcd: 83 ec 08 sub $0x8,%esp
- c0101fd0: 68 db 32 10 c0 push $0xc01032db
- c0101fd5: 6a 04 push $0x4
- c0101fd7: e8 d4 e3 ff ff call c01003b0 <kprintf>
- c0101fdc: 83 c4 10 add $0x10,%esp
- c0101fdf: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c0101fe3: 83 e0 10 and $0x10,%eax
- c0101fe6: 85 c0 test %eax,%eax
- c0101fe8: 74 12 je c0101ffc <ata_io+0x244>
- c0101fea: 83 ec 08 sub $0x8,%esp
- c0101fed: 68 e6 32 10 c0 push $0xc01032e6
- c0101ff2: 6a 04 push $0x4
- c0101ff4: e8 b7 e3 ff ff call c01003b0 <kprintf>
- c0101ff9: 83 c4 10 add $0x10,%esp
- c0101ffc: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c0102000: 83 e0 20 and $0x20,%eax
- c0102003: 85 c0 test %eax,%eax
- c0102005: 74 12 je c0102019 <ata_io+0x261>
- c0102007: 83 ec 08 sub $0x8,%esp
- c010200a: 68 fc 32 10 c0 push $0xc01032fc
- c010200f: 6a 04 push $0x4
- c0102011: e8 9a e3 ff ff call c01003b0 <kprintf>
- c0102016: 83 c4 10 add $0x10,%esp
- c0102019: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c010201d: 83 e0 40 and $0x40,%eax
- c0102020: 85 c0 test %eax,%eax
- c0102022: 74 12 je c0102036 <ata_io+0x27e>
- c0102024: 83 ec 08 sub $0x8,%esp
- c0102027: 68 0d 33 10 c0 push $0xc010330d
- c010202c: 6a 04 push $0x4
- c010202e: e8 7d e3 ff ff call c01003b0 <kprintf>
- c0102033: 83 c4 10 add $0x10,%esp
- c0102036: 0f b6 45 f1 movzbl -0xf(%ebp),%eax
- c010203a: 84 c0 test %al,%al
- c010203c: 79 12 jns c0102050 <ata_io+0x298>
- c010203e: 83 ec 08 sub $0x8,%esp
- c0102041: 68 23 33 10 c0 push $0xc0103323
- c0102046: 6a 04 push $0x4
- c0102048: e8 63 e3 ff ff call c01003b0 <kprintf>
- c010204d: 83 c4 10 add $0x10,%esp
- c0102050: b8 ff ff ff ff mov $0xffffffff,%eax
- c0102055: e9 97 00 00 00 jmp c01020f1 <ata_io+0x339>
- c010205a: 66 c7 45 f2 00 00 movw $0x0,-0xe(%ebp)
- c0102060: eb 78 jmp c01020da <ata_io+0x322>
- c0102062: 83 7d 18 00 cmpl $0x0,0x18(%ebp)
- c0102066: 75 33 jne c010209b <ata_io+0x2e3>
- c0102068: 0f b6 45 ef movzbl -0x11(%ebp),%eax
- c010206c: c1 e0 08 shl $0x8,%eax
- c010206f: 89 c2 mov %eax,%edx
- c0102071: 0f b7 45 f2 movzwl -0xe(%ebp),%eax
- c0102075: 01 d0 add %edx,%eax
- c0102077: 8d 14 00 lea (%eax,%eax,1),%edx
- c010207a: 8b 45 08 mov 0x8(%ebp),%eax
- c010207d: 8d 1c 02 lea (%edx,%eax,1),%ebx
- c0102080: 8b 45 0c mov 0xc(%ebp),%eax
- c0102083: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c0102087: 0f b7 c0 movzwl %ax,%eax
- c010208a: 83 ec 0c sub $0xc,%esp
- c010208d: 50 push %eax
- c010208e: e8 e1 f8 ff ff call c0101974 <inw>
- c0102093: 83 c4 10 add $0x10,%esp
- c0102096: 66 89 03 mov %ax,(%ebx)
- c0102099: eb 34 jmp c01020cf <ata_io+0x317>
- c010209b: 0f b6 45 ef movzbl -0x11(%ebp),%eax
- c010209f: c1 e0 08 shl $0x8,%eax
- c01020a2: 89 c2 mov %eax,%edx
- c01020a4: 0f b7 45 f2 movzwl -0xe(%ebp),%eax
- c01020a8: 01 d0 add %edx,%eax
- c01020aa: 8d 14 00 lea (%eax,%eax,1),%edx
- c01020ad: 8b 45 08 mov 0x8(%ebp),%eax
- c01020b0: 01 d0 add %edx,%eax
- c01020b2: 0f b7 00 movzwl (%eax),%eax
- c01020b5: 0f b7 d0 movzwl %ax,%edx
- c01020b8: 8b 45 0c mov 0xc(%ebp),%eax
- c01020bb: 0f b7 40 10 movzwl 0x10(%eax),%eax
- c01020bf: 0f b7 c0 movzwl %ax,%eax
- c01020c2: 83 ec 08 sub $0x8,%esp
- c01020c5: 52 push %edx
- c01020c6: 50 push %eax
- c01020c7: e8 c7 f8 ff ff call c0101993 <outw>
- c01020cc: 83 c4 10 add $0x10,%esp
- c01020cf: 0f b7 45 f2 movzwl -0xe(%ebp),%eax
- c01020d3: 83 c0 01 add $0x1,%eax
- c01020d6: 66 89 45 f2 mov %ax,-0xe(%ebp)
- c01020da: 66 81 7d f2 ff 00 cmpw $0xff,-0xe(%ebp)
- c01020e0: 76 80 jbe c0102062 <ata_io+0x2aa>
- c01020e2: 0f b6 45 ef movzbl -0x11(%ebp),%eax
- c01020e6: 83 c0 01 add $0x1,%eax
- c01020e9: 88 45 ef mov %al,-0x11(%ebp)
- c01020ec: e9 fb fd ff ff jmp c0101eec <ata_io+0x134>
- c01020f1: 8b 5d fc mov -0x4(%ebp),%ebx
- c01020f4: c9 leave
- c01020f5: c3 ret
- c01020f6 <ata_read>:
- c01020f6: 55 push %ebp
- c01020f7: 89 e5 mov %esp,%ebp
- c01020f9: 83 ec 18 sub $0x18,%esp
- c01020fc: 8b 45 14 mov 0x14(%ebp),%eax
- c01020ff: 88 45 f4 mov %al,-0xc(%ebp)
- c0102102: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c0102106: 83 ec 0c sub $0xc,%esp
- c0102109: 6a 00 push $0x0
- c010210b: 50 push %eax
- c010210c: ff 75 10 pushl 0x10(%ebp)
- c010210f: ff 75 0c pushl 0xc(%ebp)
- c0102112: ff 75 08 pushl 0x8(%ebp)
- c0102115: e8 9e fc ff ff call c0101db8 <ata_io>
- c010211a: 83 c4 20 add $0x20,%esp
- c010211d: c9 leave
- c010211e: c3 ret
- c010211f <ata_write>:
- c010211f: 55 push %ebp
- c0102120: 89 e5 mov %esp,%ebp
- c0102122: 83 ec 18 sub $0x18,%esp
- c0102125: 8b 45 14 mov 0x14(%ebp),%eax
- c0102128: 88 45 f4 mov %al,-0xc(%ebp)
- c010212b: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c010212f: 83 ec 0c sub $0xc,%esp
- c0102132: 6a 01 push $0x1
- c0102134: 50 push %eax
- c0102135: ff 75 10 pushl 0x10(%ebp)
- c0102138: ff 75 0c pushl 0xc(%ebp)
- c010213b: ff 75 08 pushl 0x8(%ebp)
- c010213e: e8 75 fc ff ff call c0101db8 <ata_io>
- c0102143: 83 c4 20 add $0x20,%esp
- c0102146: c9 leave
- c0102147: c3 ret
- c0102148 <check_signature>:
- c0102148: 55 push %ebp
- c0102149: 89 e5 mov %esp,%ebp
- c010214b: 8b 45 08 mov 0x8(%ebp),%eax
- c010214e: 0f b7 00 movzwl (%eax),%eax
- c0102151: 66 3d 45 46 cmp $0x4645,%ax
- c0102155: 75 34 jne c010218b <check_signature+0x43>
- c0102157: 8b 45 08 mov 0x8(%ebp),%eax
- c010215a: 83 c0 02 add $0x2,%eax
- c010215d: 0f b7 00 movzwl (%eax),%eax
- c0102160: 66 3d 49 20 cmp $0x2049,%ax
- c0102164: 75 25 jne c010218b <check_signature+0x43>
- c0102166: 8b 45 08 mov 0x8(%ebp),%eax
- c0102169: 83 c0 04 add $0x4,%eax
- c010216c: 0f b7 00 movzwl (%eax),%eax
- c010216f: 66 3d 50 41 cmp $0x4150,%ax
- c0102173: 75 16 jne c010218b <check_signature+0x43>
- c0102175: 8b 45 08 mov 0x8(%ebp),%eax
- c0102178: 83 c0 06 add $0x6,%eax
- c010217b: 0f b7 00 movzwl (%eax),%eax
- c010217e: 66 3d 52 54 cmp $0x5452,%ax
- c0102182: 75 07 jne c010218b <check_signature+0x43>
- c0102184: b8 01 00 00 00 mov $0x1,%eax
- c0102189: eb 05 jmp c0102190 <check_signature+0x48>
- c010218b: b8 00 00 00 00 mov $0x0,%eax
- c0102190: 5d pop %ebp
- c0102191: c3 ret
- c0102192 <get_revision>:
- c0102192: 55 push %ebp
- c0102193: 89 e5 mov %esp,%ebp
- c0102195: 8b 45 08 mov 0x8(%ebp),%eax
- c0102198: 83 c0 08 add $0x8,%eax
- c010219b: 0f b7 00 movzwl (%eax),%eax
- c010219e: 0f b7 c0 movzwl %ax,%eax
- c01021a1: c1 e0 10 shl $0x10,%eax
- c01021a4: 89 c2 mov %eax,%edx
- c01021a6: 8b 45 08 mov 0x8(%ebp),%eax
- c01021a9: 83 c0 0a add $0xa,%eax
- c01021ac: 0f b7 00 movzwl (%eax),%eax
- c01021af: 0f b7 c0 movzwl %ax,%eax
- c01021b2: 09 d0 or %edx,%eax
- c01021b4: 5d pop %ebp
- c01021b5: c3 ret
- c01021b6 <get_header_size>:
- c01021b6: 55 push %ebp
- c01021b7: 89 e5 mov %esp,%ebp
- c01021b9: 8b 45 08 mov 0x8(%ebp),%eax
- c01021bc: 83 c0 0e add $0xe,%eax
- c01021bf: 0f b7 00 movzwl (%eax),%eax
- c01021c2: 0f b7 c0 movzwl %ax,%eax
- c01021c5: c1 e0 10 shl $0x10,%eax
- c01021c8: 89 c2 mov %eax,%edx
- c01021ca: 8b 45 08 mov 0x8(%ebp),%eax
- c01021cd: 83 c0 0c add $0xc,%eax
- c01021d0: 0f b7 00 movzwl (%eax),%eax
- c01021d3: 0f b7 c0 movzwl %ax,%eax
- c01021d6: 09 d0 or %edx,%eax
- c01021d8: 5d pop %ebp
- c01021d9: c3 ret
- c01021da <get_crc32>:
- c01021da: 55 push %ebp
- c01021db: 89 e5 mov %esp,%ebp
- c01021dd: 8b 45 08 mov 0x8(%ebp),%eax
- c01021e0: 83 c0 10 add $0x10,%eax
- c01021e3: 0f b7 00 movzwl (%eax),%eax
- c01021e6: 0f b7 c0 movzwl %ax,%eax
- c01021e9: c1 e0 10 shl $0x10,%eax
- c01021ec: 89 c2 mov %eax,%edx
- c01021ee: 8b 45 08 mov 0x8(%ebp),%eax
- c01021f1: 83 c0 12 add $0x12,%eax
- c01021f4: 0f b7 00 movzwl (%eax),%eax
- c01021f7: 0f b7 c0 movzwl %ax,%eax
- c01021fa: 09 d0 or %edx,%eax
- c01021fc: 5d pop %ebp
- c01021fd: c3 ret
- c01021fe <discover_gpt>:
- c01021fe: 55 push %ebp
- c01021ff: 89 e5 mov %esp,%ebp
- c0102201: 81 ec 28 02 00 00 sub $0x228,%esp
- c0102207: 8b 45 08 mov 0x8(%ebp),%eax
- c010220a: 89 85 e4 fd ff ff mov %eax,-0x21c(%ebp)
- c0102210: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c0102216: 89 45 f4 mov %eax,-0xc(%ebp)
- c0102219: 31 c0 xor %eax,%eax
- c010221b: 6a 01 push $0x1
- c010221d: 6a 01 push $0x1
- c010221f: ff b5 e4 fd ff ff pushl -0x21c(%ebp)
- c0102225: 8d 85 f4 fd ff ff lea -0x20c(%ebp),%eax
- c010222b: 50 push %eax
- c010222c: e8 c5 fe ff ff call c01020f6 <ata_read>
- c0102231: 83 c4 10 add $0x10,%esp
- c0102234: 83 ec 0c sub $0xc,%esp
- c0102237: 8d 85 f4 fd ff ff lea -0x20c(%ebp),%eax
- c010223d: 50 push %eax
- c010223e: e8 05 ff ff ff call c0102148 <check_signature>
- c0102243: 83 c4 10 add $0x10,%esp
- c0102246: 85 c0 test %eax,%eax
- c0102248: 74 07 je c0102251 <discover_gpt+0x53>
- c010224a: b8 00 00 00 00 mov $0x0,%eax
- c010224f: eb 05 jmp c0102256 <discover_gpt+0x58>
- c0102251: b8 fd ff ff ff mov $0xfffffffd,%eax
- c0102256: 8b 55 f4 mov -0xc(%ebp),%edx
- c0102259: 65 33 15 14 00 00 00 xor %gs:0x14,%edx
- c0102260: 74 05 je c0102267 <discover_gpt+0x69>
- c0102262: e8 df f0 ff ff call c0101346 <__stack_chk_fail>
- c0102267: c9 leave
- c0102268: c3 ret
- c0102269 <uart_puts>:
- c0102269: 55 push %ebp
- c010226a: 89 e5 mov %esp,%ebp
- c010226c: 83 ec 18 sub $0x18,%esp
- c010226f: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
- c0102276: eb 1e jmp c0102296 <uart_puts+0x2d>
- c0102278: 8b 55 f4 mov -0xc(%ebp),%edx
- c010227b: 8b 45 08 mov 0x8(%ebp),%eax
- c010227e: 01 d0 add %edx,%eax
- c0102280: 0f b6 00 movzbl (%eax),%eax
- c0102283: 0f be c0 movsbl %al,%eax
- c0102286: 83 ec 0c sub $0xc,%esp
- c0102289: 50 push %eax
- c010228a: e8 bf 02 00 00 call c010254e <uart_write>
- c010228f: 83 c4 10 add $0x10,%esp
- c0102292: 83 45 f4 01 addl $0x1,-0xc(%ebp)
- c0102296: 8b 55 f4 mov -0xc(%ebp),%edx
- c0102299: 8b 45 08 mov 0x8(%ebp),%eax
- c010229c: 01 d0 add %edx,%eax
- c010229e: 0f b6 00 movzbl (%eax),%eax
- c01022a1: 84 c0 test %al,%al
- c01022a3: 75 d3 jne c0102278 <uart_puts+0xf>
- c01022a5: 90 nop
- c01022a6: c9 leave
- c01022a7: c3 ret
- c01022a8 <uart_dump_frame>:
- c01022a8: 55 push %ebp
- c01022a9: 89 e5 mov %esp,%ebp
- c01022ab: 83 ec 08 sub $0x8,%esp
- c01022ae: 8b 45 08 mov 0x8(%ebp),%eax
- c01022b1: 8b 48 08 mov 0x8(%eax),%ecx
- c01022b4: 8b 45 08 mov 0x8(%ebp),%eax
- c01022b7: 8b 50 04 mov 0x4(%eax),%edx
- c01022ba: 8b 45 08 mov 0x8(%ebp),%eax
- c01022bd: 8b 00 mov (%eax),%eax
- c01022bf: 51 push %ecx
- c01022c0: 52 push %edx
- c01022c1: 50 push %eax
- c01022c2: 68 30 33 10 c0 push $0xc0103330
- c01022c7: e8 17 01 00 00 call c01023e3 <uart_printf>
- c01022cc: 83 c4 10 add $0x10,%esp
- c01022cf: 8b 45 08 mov 0x8(%ebp),%eax
- c01022d2: 8b 48 14 mov 0x14(%eax),%ecx
- c01022d5: 8b 45 08 mov 0x8(%ebp),%eax
- c01022d8: 8b 50 10 mov 0x10(%eax),%edx
- c01022db: 8b 45 08 mov 0x8(%ebp),%eax
- c01022de: 8b 40 0c mov 0xc(%eax),%eax
- c01022e1: 51 push %ecx
- c01022e2: 52 push %edx
- c01022e3: 50 push %eax
- c01022e4: 68 50 33 10 c0 push $0xc0103350
- c01022e9: e8 f5 00 00 00 call c01023e3 <uart_printf>
- c01022ee: 83 c4 10 add $0x10,%esp
- c01022f1: 8b 45 08 mov 0x8(%ebp),%eax
- c01022f4: 8b 48 20 mov 0x20(%eax),%ecx
- c01022f7: 8b 45 08 mov 0x8(%ebp),%eax
- c01022fa: 8b 50 1c mov 0x1c(%eax),%edx
- c01022fd: 8b 45 08 mov 0x8(%ebp),%eax
- c0102300: 8b 40 18 mov 0x18(%eax),%eax
- c0102303: 51 push %ecx
- c0102304: 52 push %edx
- c0102305: 50 push %eax
- c0102306: 68 70 33 10 c0 push $0xc0103370
- c010230b: e8 d3 00 00 00 call c01023e3 <uart_printf>
- c0102310: 83 c4 10 add $0x10,%esp
- c0102313: 8b 45 08 mov 0x8(%ebp),%eax
- c0102316: 8b 48 2c mov 0x2c(%eax),%ecx
- c0102319: 8b 45 08 mov 0x8(%ebp),%eax
- c010231c: 8b 50 28 mov 0x28(%eax),%edx
- c010231f: 8b 45 08 mov 0x8(%ebp),%eax
- c0102322: 8b 40 24 mov 0x24(%eax),%eax
- c0102325: 51 push %ecx
- c0102326: 52 push %edx
- c0102327: 50 push %eax
- c0102328: 68 90 33 10 c0 push $0xc0103390
- c010232d: e8 b1 00 00 00 call c01023e3 <uart_printf>
- c0102332: 83 c4 10 add $0x10,%esp
- c0102335: 8b 45 08 mov 0x8(%ebp),%eax
- c0102338: 8b 50 34 mov 0x34(%eax),%edx
- c010233b: 8b 45 08 mov 0x8(%ebp),%eax
- c010233e: 8b 40 30 mov 0x30(%eax),%eax
- c0102341: 83 ec 04 sub $0x4,%esp
- c0102344: 52 push %edx
- c0102345: 50 push %eax
- c0102346: 68 af 33 10 c0 push $0xc01033af
- c010234b: e8 93 00 00 00 call c01023e3 <uart_printf>
- c0102350: 83 c4 10 add $0x10,%esp
- c0102353: 90 nop
- c0102354: c9 leave
- c0102355: c3 ret
- c0102356 <uart_puti>:
- c0102356: 55 push %ebp
- c0102357: 89 e5 mov %esp,%ebp
- c0102359: 53 push %ebx
- c010235a: 83 ec 54 sub $0x54,%esp
- c010235d: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c0102363: 89 45 f4 mov %eax,-0xc(%ebp)
- c0102366: 31 c0 xor %eax,%eax
- c0102368: 83 7d 0c 01 cmpl $0x1,0xc(%ebp)
- c010236c: 7e 5e jle c01023cc <uart_puti+0x76>
- c010236e: 83 7d 0c 24 cmpl $0x24,0xc(%ebp)
- c0102372: 7f 58 jg c01023cc <uart_puti+0x76>
- c0102374: 8d 45 b3 lea -0x4d(%ebp),%eax
- c0102377: 83 c0 40 add $0x40,%eax
- c010237a: 89 45 ac mov %eax,-0x54(%ebp)
- c010237d: 8b 45 ac mov -0x54(%ebp),%eax
- c0102380: c6 00 00 movb $0x0,(%eax)
- c0102383: 83 6d ac 01 subl $0x1,-0x54(%ebp)
- c0102387: 8b 0d 44 51 10 c0 mov 0xc0105144,%ecx
- c010238d: 8b 5d 0c mov 0xc(%ebp),%ebx
- c0102390: 8b 45 08 mov 0x8(%ebp),%eax
- c0102393: ba 00 00 00 00 mov $0x0,%edx
- c0102398: f7 f3 div %ebx
- c010239a: 89 d0 mov %edx,%eax
- c010239c: 01 c8 add %ecx,%eax
- c010239e: 0f b6 10 movzbl (%eax),%edx
- c01023a1: 8b 45 ac mov -0x54(%ebp),%eax
- c01023a4: 88 10 mov %dl,(%eax)
- c01023a6: 8b 4d 0c mov 0xc(%ebp),%ecx
- c01023a9: 8b 45 08 mov 0x8(%ebp),%eax
- c01023ac: ba 00 00 00 00 mov $0x0,%edx
- c01023b1: f7 f1 div %ecx
- c01023b3: 89 45 08 mov %eax,0x8(%ebp)
- c01023b6: 83 7d 08 00 cmpl $0x0,0x8(%ebp)
- c01023ba: 75 c7 jne c0102383 <uart_puti+0x2d>
- c01023bc: 83 ec 0c sub $0xc,%esp
- c01023bf: ff 75 ac pushl -0x54(%ebp)
- c01023c2: e8 a2 fe ff ff call c0102269 <uart_puts>
- c01023c7: 83 c4 10 add $0x10,%esp
- c01023ca: eb 01 jmp c01023cd <uart_puti+0x77>
- c01023cc: 90 nop
- c01023cd: 8b 45 f4 mov -0xc(%ebp),%eax
- c01023d0: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
- c01023d7: 74 05 je c01023de <uart_puti+0x88>
- c01023d9: e8 68 ef ff ff call c0101346 <__stack_chk_fail>
- c01023de: 8b 5d fc mov -0x4(%ebp),%ebx
- c01023e1: c9 leave
- c01023e2: c3 ret
- c01023e3 <uart_printf>:
- c01023e3: 55 push %ebp
- c01023e4: 89 e5 mov %esp,%ebp
- c01023e6: 83 ec 28 sub $0x28,%esp
- c01023e9: 8b 45 08 mov 0x8(%ebp),%eax
- c01023ec: 89 45 e4 mov %eax,-0x1c(%ebp)
- c01023ef: 65 a1 14 00 00 00 mov %gs:0x14,%eax
- c01023f5: 89 45 f4 mov %eax,-0xc(%ebp)
- c01023f8: 31 c0 xor %eax,%eax
- c01023fa: 8d 45 0c lea 0xc(%ebp),%eax
- c01023fd: 89 45 ec mov %eax,-0x14(%ebp)
- c0102400: 8b 45 e4 mov -0x1c(%ebp),%eax
- c0102403: 89 45 f0 mov %eax,-0x10(%ebp)
- c0102406: e9 c3 00 00 00 jmp c01024ce <uart_printf+0xeb>
- c010240b: 8b 45 f0 mov -0x10(%ebp),%eax
- c010240e: 0f b6 00 movzbl (%eax),%eax
- c0102411: 3c 25 cmp $0x25,%al
- c0102413: 0f 85 9c 00 00 00 jne c01024b5 <uart_printf+0xd2>
- c0102419: 83 45 f0 01 addl $0x1,-0x10(%ebp)
- c010241d: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102420: 0f b6 00 movzbl (%eax),%eax
- c0102423: 0f be c0 movsbl %al,%eax
- c0102426: 83 f8 64 cmp $0x64,%eax
- c0102429: 74 1e je c0102449 <uart_printf+0x66>
- c010242b: 83 f8 64 cmp $0x64,%eax
- c010242e: 7f 0a jg c010243a <uart_printf+0x57>
- c0102430: 83 f8 63 cmp $0x63,%eax
- c0102433: 74 63 je c0102498 <uart_printf+0xb5>
- c0102435: e9 90 00 00 00 jmp c01024ca <uart_printf+0xe7>
- c010243a: 83 f8 73 cmp $0x73,%eax
- c010243d: 74 40 je c010247f <uart_printf+0x9c>
- c010243f: 83 f8 78 cmp $0x78,%eax
- c0102442: 74 20 je c0102464 <uart_printf+0x81>
- c0102444: e9 81 00 00 00 jmp c01024ca <uart_printf+0xe7>
- c0102449: 8b 45 ec mov -0x14(%ebp),%eax
- c010244c: 8d 50 04 lea 0x4(%eax),%edx
- c010244f: 89 55 ec mov %edx,-0x14(%ebp)
- c0102452: 8b 00 mov (%eax),%eax
- c0102454: 83 ec 08 sub $0x8,%esp
- c0102457: 6a 0a push $0xa
- c0102459: 50 push %eax
- c010245a: e8 f7 fe ff ff call c0102356 <uart_puti>
- c010245f: 83 c4 10 add $0x10,%esp
- c0102462: eb 66 jmp c01024ca <uart_printf+0xe7>
- c0102464: 8b 45 ec mov -0x14(%ebp),%eax
- c0102467: 8d 50 04 lea 0x4(%eax),%edx
- c010246a: 89 55 ec mov %edx,-0x14(%ebp)
- c010246d: 8b 00 mov (%eax),%eax
- c010246f: 83 ec 08 sub $0x8,%esp
- c0102472: 6a 10 push $0x10
- c0102474: 50 push %eax
- c0102475: e8 dc fe ff ff call c0102356 <uart_puti>
- c010247a: 83 c4 10 add $0x10,%esp
- c010247d: eb 4b jmp c01024ca <uart_printf+0xe7>
- c010247f: 8b 45 ec mov -0x14(%ebp),%eax
- c0102482: 8d 50 04 lea 0x4(%eax),%edx
- c0102485: 89 55 ec mov %edx,-0x14(%ebp)
- c0102488: 8b 00 mov (%eax),%eax
- c010248a: 83 ec 0c sub $0xc,%esp
- c010248d: 50 push %eax
- c010248e: e8 d6 fd ff ff call c0102269 <uart_puts>
- c0102493: 83 c4 10 add $0x10,%esp
- c0102496: eb 32 jmp c01024ca <uart_printf+0xe7>
- c0102498: 8b 45 ec mov -0x14(%ebp),%eax
- c010249b: 8d 50 04 lea 0x4(%eax),%edx
- c010249e: 89 55 ec mov %edx,-0x14(%ebp)
- c01024a1: 8b 00 mov (%eax),%eax
- c01024a3: 0f be c0 movsbl %al,%eax
- c01024a6: 83 ec 0c sub $0xc,%esp
- c01024a9: 50 push %eax
- c01024aa: e8 9f 00 00 00 call c010254e <uart_write>
- c01024af: 83 c4 10 add $0x10,%esp
- c01024b2: 90 nop
- c01024b3: eb 15 jmp c01024ca <uart_printf+0xe7>
- c01024b5: 8b 45 f0 mov -0x10(%ebp),%eax
- c01024b8: 0f b6 00 movzbl (%eax),%eax
- c01024bb: 0f be c0 movsbl %al,%eax
- c01024be: 83 ec 0c sub $0xc,%esp
- c01024c1: 50 push %eax
- c01024c2: e8 87 00 00 00 call c010254e <uart_write>
- c01024c7: 83 c4 10 add $0x10,%esp
- c01024ca: 83 45 f0 01 addl $0x1,-0x10(%ebp)
- c01024ce: 8b 45 f0 mov -0x10(%ebp),%eax
- c01024d1: 0f b6 00 movzbl (%eax),%eax
- c01024d4: 84 c0 test %al,%al
- c01024d6: 0f 85 2f ff ff ff jne c010240b <uart_printf+0x28>
- c01024dc: 90 nop
- c01024dd: 8b 45 f4 mov -0xc(%ebp),%eax
- c01024e0: 65 33 05 14 00 00 00 xor %gs:0x14,%eax
- c01024e7: 74 05 je c01024ee <uart_printf+0x10b>
- c01024e9: e8 58 ee ff ff call c0101346 <__stack_chk_fail>
- c01024ee: c9 leave
- c01024ef: c3 ret
- c01024f0 <uart_received>:
- c01024f0: 55 push %ebp
- c01024f1: 89 e5 mov %esp,%ebp
- c01024f3: 83 ec 08 sub $0x8,%esp
- c01024f6: 83 ec 0c sub $0xc,%esp
- c01024f9: 68 fd 03 00 00 push $0x3fd
- c01024fe: e8 54 f4 ff ff call c0101957 <inb>
- c0102503: 83 c4 10 add $0x10,%esp
- c0102506: 0f b6 c0 movzbl %al,%eax
- c0102509: 83 e0 01 and $0x1,%eax
- c010250c: c9 leave
- c010250d: c3 ret
- c010250e <uart_read>:
- c010250e: 55 push %ebp
- c010250f: 89 e5 mov %esp,%ebp
- c0102511: 83 ec 08 sub $0x8,%esp
- c0102514: 90 nop
- c0102515: e8 d6 ff ff ff call c01024f0 <uart_received>
- c010251a: 85 c0 test %eax,%eax
- c010251c: 74 f7 je c0102515 <uart_read+0x7>
- c010251e: 83 ec 0c sub $0xc,%esp
- c0102521: 68 f8 03 00 00 push $0x3f8
- c0102526: e8 2c f4 ff ff call c0101957 <inb>
- c010252b: 83 c4 10 add $0x10,%esp
- c010252e: c9 leave
- c010252f: c3 ret
- c0102530 <uart_is_transmit_empty>:
- c0102530: 55 push %ebp
- c0102531: 89 e5 mov %esp,%ebp
- c0102533: 83 ec 08 sub $0x8,%esp
- c0102536: 83 ec 0c sub $0xc,%esp
- c0102539: 68 fd 03 00 00 push $0x3fd
- c010253e: e8 14 f4 ff ff call c0101957 <inb>
- c0102543: 83 c4 10 add $0x10,%esp
- c0102546: 0f b6 c0 movzbl %al,%eax
- c0102549: 83 e0 20 and $0x20,%eax
- c010254c: c9 leave
- c010254d: c3 ret
- c010254e <uart_write>:
- c010254e: 55 push %ebp
- c010254f: 89 e5 mov %esp,%ebp
- c0102551: 83 ec 18 sub $0x18,%esp
- c0102554: 8b 45 08 mov 0x8(%ebp),%eax
- c0102557: 88 45 f4 mov %al,-0xc(%ebp)
- c010255a: 90 nop
- c010255b: e8 d0 ff ff ff call c0102530 <uart_is_transmit_empty>
- c0102560: 85 c0 test %eax,%eax
- c0102562: 74 f7 je c010255b <uart_write+0xd>
- c0102564: 0f b6 45 f4 movzbl -0xc(%ebp),%eax
- c0102568: 0f b6 c0 movzbl %al,%eax
- c010256b: 83 ec 08 sub $0x8,%esp
- c010256e: 50 push %eax
- c010256f: 68 f8 03 00 00 push $0x3f8
- c0102574: e8 bf f3 ff ff call c0101938 <outb>
- c0102579: 83 c4 10 add $0x10,%esp
- c010257c: 90 nop
- c010257d: c9 leave
- c010257e: c3 ret
- c010257f <uart_init>:
- c010257f: 55 push %ebp
- c0102580: 89 e5 mov %esp,%ebp
- c0102582: 83 ec 18 sub $0x18,%esp
- c0102585: b8 00 c2 01 00 mov $0x1c200,%eax
- c010258a: ba 00 00 00 00 mov $0x0,%edx
- c010258f: f7 75 08 divl 0x8(%ebp)
- c0102592: 66 89 45 f6 mov %ax,-0xa(%ebp)
- c0102596: 83 ec 08 sub $0x8,%esp
- c0102599: 6a 00 push $0x0
- c010259b: 68 f9 03 00 00 push $0x3f9
- c01025a0: e8 93 f3 ff ff call c0101938 <outb>
- c01025a5: 83 c4 10 add $0x10,%esp
- c01025a8: 83 ec 08 sub $0x8,%esp
- c01025ab: 68 80 00 00 00 push $0x80
- c01025b0: 68 fb 03 00 00 push $0x3fb
- c01025b5: e8 7e f3 ff ff call c0101938 <outb>
- c01025ba: 83 c4 10 add $0x10,%esp
- c01025bd: 0f b7 45 f6 movzwl -0xa(%ebp),%eax
- c01025c1: 0f b6 c0 movzbl %al,%eax
- c01025c4: 83 ec 08 sub $0x8,%esp
- c01025c7: 50 push %eax
- c01025c8: 68 f8 03 00 00 push $0x3f8
- c01025cd: e8 66 f3 ff ff call c0101938 <outb>
- c01025d2: 83 c4 10 add $0x10,%esp
- c01025d5: 0f b7 45 f6 movzwl -0xa(%ebp),%eax
- c01025d9: 66 c1 e8 08 shr $0x8,%ax
- c01025dd: 0f b6 c0 movzbl %al,%eax
- c01025e0: 83 ec 08 sub $0x8,%esp
- c01025e3: 50 push %eax
- c01025e4: 68 f9 03 00 00 push $0x3f9
- c01025e9: e8 4a f3 ff ff call c0101938 <outb>
- c01025ee: 83 c4 10 add $0x10,%esp
- c01025f1: 83 ec 08 sub $0x8,%esp
- c01025f4: 6a 03 push $0x3
- c01025f6: 68 fb 03 00 00 push $0x3fb
- c01025fb: e8 38 f3 ff ff call c0101938 <outb>
- c0102600: 83 c4 10 add $0x10,%esp
- c0102603: 83 ec 08 sub $0x8,%esp
- c0102606: 68 c7 00 00 00 push $0xc7
- c010260b: 68 fa 03 00 00 push $0x3fa
- c0102610: e8 23 f3 ff ff call c0101938 <outb>
- c0102615: 83 c4 10 add $0x10,%esp
- c0102618: 83 ec 08 sub $0x8,%esp
- c010261b: 6a 0b push $0xb
- c010261d: 68 fc 03 00 00 push $0x3fc
- c0102622: e8 11 f3 ff ff call c0101938 <outb>
- c0102627: 83 c4 10 add $0x10,%esp
- c010262a: b8 00 00 00 00 mov $0x0,%eax
- c010262f: c9 leave
- c0102630: c3 ret
- c0102631 <blank_directory>:
- c0102631: 55 push %ebp
- c0102632: 89 e5 mov %esp,%ebp
- c0102634: 83 ec 10 sub $0x10,%esp
- c0102637: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
- c010263e: eb 19 jmp c0102659 <blank_directory+0x28>
- c0102640: 8b 45 fc mov -0x4(%ebp),%eax
- c0102643: 8d 14 85 00 00 00 00 lea 0x0(,%eax,4),%edx
- c010264a: 8b 45 08 mov 0x8(%ebp),%eax
- c010264d: 01 d0 add %edx,%eax
- c010264f: c7 00 00 00 00 00 movl $0x0,(%eax)
- c0102655: 83 45 fc 01 addl $0x1,-0x4(%ebp)
- c0102659: 81 7d fc ff 03 00 00 cmpl $0x3ff,-0x4(%ebp)
- c0102660: 7e de jle c0102640 <blank_directory+0xf>
- c0102662: 90 nop
- c0102663: c9 leave
- c0102664: c3 ret
- c0102665 <vmm_create_context>:
- c0102665: 55 push %ebp
- c0102666: 89 e5 mov %esp,%ebp
- c0102668: 83 ec 18 sub $0x18,%esp
- c010266b: 83 ec 0c sub $0xc,%esp
- c010266e: 68 ec 33 10 c0 push $0xc01033ec
- c0102673: e8 6b fd ff ff call c01023e3 <uart_printf>
- c0102678: 83 c4 10 add $0x10,%esp
- c010267b: e8 1e 04 00 00 call c0102a9e <pmm_alloc>
- c0102680: 89 45 f4 mov %eax,-0xc(%ebp)
- c0102683: 83 ec 0c sub $0xc,%esp
- c0102686: 68 fc 33 10 c0 push $0xc01033fc
- c010268b: e8 53 fd ff ff call c01023e3 <uart_printf>
- c0102690: 83 c4 10 add $0x10,%esp
- c0102693: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102696: 8b 00 mov (%eax),%eax
- c0102698: 83 ec 0c sub $0xc,%esp
- c010269b: 50 push %eax
- c010269c: e8 90 ff ff ff call c0102631 <blank_directory>
- c01026a1: 83 c4 10 add $0x10,%esp
- c01026a4: 8b 45 f4 mov -0xc(%ebp),%eax
- c01026a7: 8b 00 mov (%eax),%eax
- c01026a9: 8d 90 00 10 00 00 lea 0x1000(%eax),%edx
- c01026af: 8b 45 f4 mov -0xc(%ebp),%eax
- c01026b2: 8b 00 mov (%eax),%eax
- c01026b4: 89 02 mov %eax,(%edx)
- c01026b6: 8b 45 f4 mov -0xc(%ebp),%eax
- c01026b9: c9 leave
- c01026ba: c3 ret
- c01026bb <vmm_map_consecutive>:
- c01026bb: 55 push %ebp
- c01026bc: 89 e5 mov %esp,%ebp
- c01026be: 83 ec 18 sub $0x18,%esp
- c01026c1: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
- c01026c8: eb 2b jmp c01026f5 <vmm_map_consecutive+0x3a>
- c01026ca: e8 cf 03 00 00 call c0102a9e <pmm_alloc>
- c01026cf: 89 45 f4 mov %eax,-0xc(%ebp)
- c01026d2: 8b 45 10 mov 0x10(%ebp),%eax
- c01026d5: c1 e0 0c shl $0xc,%eax
- c01026d8: 89 c2 mov %eax,%edx
- c01026da: 8b 45 0c mov 0xc(%ebp),%eax
- c01026dd: 01 d0 add %edx,%eax
- c01026df: 83 ec 04 sub $0x4,%esp
- c01026e2: ff 75 f4 pushl -0xc(%ebp)
- c01026e5: 50 push %eax
- c01026e6: ff 75 08 pushl 0x8(%ebp)
- c01026e9: e8 c7 01 00 00 call c01028b5 <vmm_map_page>
- c01026ee: 83 c4 10 add $0x10,%esp
- c01026f1: 83 45 f0 01 addl $0x1,-0x10(%ebp)
- c01026f5: 8b 45 f0 mov -0x10(%ebp),%eax
- c01026f8: 3b 45 10 cmp 0x10(%ebp),%eax
- c01026fb: 72 cd jb c01026ca <vmm_map_consecutive+0xf>
- c01026fd: 8b 45 0c mov 0xc(%ebp),%eax
- c0102700: c9 leave
- c0102701: c3 ret
- c0102702 <vmm_find_free_area>:
- c0102702: 55 push %ebp
- c0102703: 89 e5 mov %esp,%ebp
- c0102705: 83 ec 18 sub $0x18,%esp
- c0102708: 83 ec 08 sub $0x8,%esp
- c010270b: ff 75 08 pushl 0x8(%ebp)
- c010270e: 68 0b 34 10 c0 push $0xc010340b
- c0102713: e8 cb fc ff ff call c01023e3 <uart_printf>
- c0102718: 83 c4 10 add $0x10,%esp
- c010271b: 8b 45 08 mov 0x8(%ebp),%eax
- c010271e: 8b 00 mov (%eax),%eax
- c0102720: 89 45 f4 mov %eax,-0xc(%ebp)
- c0102723: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp)
- c010272a: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
- c0102731: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
- c0102738: eb 68 jmp c01027a2 <vmm_find_free_area+0xa0>
- c010273a: 83 ec 08 sub $0x8,%esp
- c010273d: ff 75 f0 pushl -0x10(%ebp)
- c0102740: 68 1b 34 10 c0 push $0xc010341b
- c0102745: e8 99 fc ff ff call c01023e3 <uart_printf>
- c010274a: 83 c4 10 add $0x10,%esp
- c010274d: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102750: 8d 14 85 00 00 00 00 lea 0x0(,%eax,4),%edx
- c0102757: 8b 45 f4 mov -0xc(%ebp),%eax
- c010275a: 01 d0 add %edx,%eax
- c010275c: 8b 00 mov (%eax),%eax
- c010275e: 83 e0 01 and $0x1,%eax
- c0102761: 85 c0 test %eax,%eax
- c0102763: 74 2b je c0102790 <vmm_find_free_area+0x8e>
- c0102765: 83 45 e8 01 addl $0x1,-0x18(%ebp)
- c0102769: 83 7d ec 00 cmpl $0x0,-0x14(%ebp)
- c010276d: 75 14 jne c0102783 <vmm_find_free_area+0x81>
- c010276f: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102772: 8d 14 85 00 00 00 00 lea 0x0(,%eax,4),%edx
- c0102779: 8b 45 f4 mov -0xc(%ebp),%eax
- c010277c: 01 d0 add %edx,%eax
- c010277e: 8b 00 mov (%eax),%eax
- c0102780: 89 45 ec mov %eax,-0x14(%ebp)
- c0102783: 8b 45 e8 mov -0x18(%ebp),%eax
- c0102786: 3b 45 0c cmp 0xc(%ebp),%eax
- c0102789: 72 13 jb c010279e <vmm_find_free_area+0x9c>
- c010278b: 8b 45 ec mov -0x14(%ebp),%eax
- c010278e: eb 20 jmp c01027b0 <vmm_find_free_area+0xae>
- c0102790: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp)
- c0102797: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
- c010279e: 83 45 f0 01 addl $0x1,-0x10(%ebp)
- c01027a2: 81 7d f0 ff 03 00 00 cmpl $0x3ff,-0x10(%ebp)
- c01027a9: 7e 8f jle c010273a <vmm_find_free_area+0x38>
- c01027ab: b8 00 00 00 00 mov $0x0,%eax
- c01027b0: c9 leave
- c01027b1: c3 ret
- c01027b2 <vmm_alloc_pages>:
- c01027b2: 55 push %ebp
- c01027b3: 89 e5 mov %esp,%ebp
- c01027b5: 83 ec 18 sub $0x18,%esp
- c01027b8: 83 ec 08 sub $0x8,%esp
- c01027bb: ff 75 0c pushl 0xc(%ebp)
- c01027be: 68 24 34 10 c0 push $0xc0103424
- c01027c3: e8 1b fc ff ff call c01023e3 <uart_printf>
- c01027c8: 83 c4 10 add $0x10,%esp
- c01027cb: 83 ec 08 sub $0x8,%esp
- c01027ce: ff 75 0c pushl 0xc(%ebp)
- c01027d1: ff 75 08 pushl 0x8(%ebp)
- c01027d4: e8 29 ff ff ff call c0102702 <vmm_find_free_area>
- c01027d9: 83 c4 10 add $0x10,%esp
- c01027dc: 89 45 f4 mov %eax,-0xc(%ebp)
- c01027df: 83 ec 08 sub $0x8,%esp
- c01027e2: ff 75 f4 pushl -0xc(%ebp)
- c01027e5: 68 3a 34 10 c0 push $0xc010343a
- c01027ea: e8 f4 fb ff ff call c01023e3 <uart_printf>
- c01027ef: 83 c4 10 add $0x10,%esp
- c01027f2: 83 7d f4 00 cmpl $0x0,-0xc(%ebp)
- c01027f6: 75 07 jne c01027ff <vmm_alloc_pages+0x4d>
- c01027f8: b8 00 00 00 00 mov $0x0,%eax
- c01027fd: eb 17 jmp c0102816 <vmm_alloc_pages+0x64>
- c01027ff: 83 ec 04 sub $0x4,%esp
- c0102802: ff 75 0c pushl 0xc(%ebp)
- c0102805: ff 75 f4 pushl -0xc(%ebp)
- c0102808: ff 75 08 pushl 0x8(%ebp)
- c010280b: e8 ab fe ff ff call c01026bb <vmm_map_consecutive>
- c0102810: 83 c4 10 add $0x10,%esp
- c0102813: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102816: c9 leave
- c0102817: c3 ret
- c0102818 <vmm_alloc>:
- c0102818: 55 push %ebp
- c0102819: 89 e5 mov %esp,%ebp
- c010281b: 83 ec 18 sub $0x18,%esp
- c010281e: 8b 45 0c mov 0xc(%ebp),%eax
- c0102821: 83 e8 01 sub $0x1,%eax
- c0102824: c1 e8 0c shr $0xc,%eax
- c0102827: 83 c0 01 add $0x1,%eax
- c010282a: 89 45 f4 mov %eax,-0xc(%ebp)
- c010282d: 83 ec 08 sub $0x8,%esp
- c0102830: ff 75 f4 pushl -0xc(%ebp)
- c0102833: ff 75 08 pushl 0x8(%ebp)
- c0102836: e8 77 ff ff ff call c01027b2 <vmm_alloc_pages>
- c010283b: 83 c4 10 add $0x10,%esp
- c010283e: c9 leave
- c010283f: c3 ret
- c0102840 <clear_flags>:
- c0102840: 55 push %ebp
- c0102841: 89 e5 mov %esp,%ebp
- c0102843: 8b 45 08 mov 0x8(%ebp),%eax
- c0102846: 25 00 f0 ff ff and $0xfffff000,%eax
- c010284b: 5d pop %ebp
- c010284c: c3 ret
- c010284d <table_put>:
- c010284d: 55 push %ebp
- c010284e: 89 e5 mov %esp,%ebp
- c0102850: 53 push %ebx
- c0102851: 8b 45 0c mov 0xc(%ebp),%eax
- c0102854: 8d 14 85 00 00 00 00 lea 0x0(,%eax,4),%edx
- c010285b: 8b 45 08 mov 0x8(%ebp),%eax
- c010285e: 8d 1c 02 lea (%edx,%eax,1),%ebx
- c0102861: ff 75 10 pushl 0x10(%ebp)
- c0102864: e8 d7 ff ff ff call c0102840 <clear_flags>
- c0102869: 83 c4 04 add $0x4,%esp
- c010286c: 0b 45 14 or 0x14(%ebp),%eax
- c010286f: 89 03 mov %eax,(%ebx)
- c0102871: 90 nop
- c0102872: 8b 5d fc mov -0x4(%ebp),%ebx
- c0102875: c9 leave
- c0102876: c3 ret
- c0102877 <directory_put>:
- c0102877: 55 push %ebp
- c0102878: 89 e5 mov %esp,%ebp
- c010287a: 53 push %ebx
- c010287b: 8b 45 08 mov 0x8(%ebp),%eax
- c010287e: 8b 00 mov (%eax),%eax
- c0102880: 8b 55 0c mov 0xc(%ebp),%edx
- c0102883: c1 e2 02 shl $0x2,%edx
- c0102886: 8d 1c 10 lea (%eax,%edx,1),%ebx
- c0102889: ff 75 10 pushl 0x10(%ebp)
- c010288c: e8 af ff ff ff call c0102840 <clear_flags>
- c0102891: 83 c4 04 add $0x4,%esp
- c0102894: 0b 45 14 or 0x14(%ebp),%eax
- c0102897: 89 03 mov %eax,(%ebx)
- c0102899: 90 nop
- c010289a: 8b 5d fc mov -0x4(%ebp),%ebx
- c010289d: c9 leave
- c010289e: c3 ret
- c010289f <invalidate_tlb>:
- c010289f: 55 push %ebp
- c01028a0: 89 e5 mov %esp,%ebp
- c01028a2: 8b 45 08 mov 0x8(%ebp),%eax
- c01028a5: 0f 01 38 invlpg (%eax)
- c01028a8: 90 nop
- c01028a9: 5d pop %ebp
- c01028aa: c3 ret
- c01028ab <vmm_get_virtual>:
- c01028ab: 55 push %ebp
- c01028ac: 89 e5 mov %esp,%ebp
- c01028ae: b8 00 00 00 00 mov $0x0,%eax
- c01028b3: 5d pop %ebp
- c01028b4: c3 ret
- c01028b5 <vmm_map_page>:
- c01028b5: 55 push %ebp
- c01028b6: 89 e5 mov %esp,%ebp
- c01028b8: 83 ec 28 sub $0x28,%esp
- c01028bb: 8b 45 0c mov 0xc(%ebp),%eax
- c01028be: c1 e8 0c shr $0xc,%eax
- c01028c1: 89 45 e8 mov %eax,-0x18(%ebp)
- c01028c4: 8b 45 e8 mov -0x18(%ebp),%eax
- c01028c7: c1 e8 0a shr $0xa,%eax
- c01028ca: 89 45 ec mov %eax,-0x14(%ebp)
- c01028cd: 8b 45 e8 mov -0x18(%ebp),%eax
- c01028d0: 25 ff 03 00 00 and $0x3ff,%eax
- c01028d5: 89 45 f0 mov %eax,-0x10(%ebp)
- c01028d8: ff 75 f0 pushl -0x10(%ebp)
- c01028db: ff 75 ec pushl -0x14(%ebp)
- c01028de: ff 75 e8 pushl -0x18(%ebp)
- c01028e1: 68 54 34 10 c0 push $0xc0103454
- c01028e6: e8 f8 fa ff ff call c01023e3 <uart_printf>
- c01028eb: 83 c4 10 add $0x10,%esp
- c01028ee: 8b 45 08 mov 0x8(%ebp),%eax
- c01028f1: 8b 00 mov (%eax),%eax
- c01028f3: 8b 55 ec mov -0x14(%ebp),%edx
- c01028f6: c1 e2 02 shl $0x2,%edx
- c01028f9: 01 d0 add %edx,%eax
- c01028fb: 8b 00 mov (%eax),%eax
- c01028fd: 83 e0 01 and $0x1,%eax
- c0102900: 85 c0 test %eax,%eax
- c0102902: 74 30 je c0102934 <vmm_map_page+0x7f>
- c0102904: 83 ec 0c sub $0xc,%esp
- c0102907: 68 79 34 10 c0 push $0xc0103479
- c010290c: e8 58 f9 ff ff call c0102269 <uart_puts>
- c0102911: 83 c4 10 add $0x10,%esp
- c0102914: 8b 45 08 mov 0x8(%ebp),%eax
- c0102917: 8b 00 mov (%eax),%eax
- c0102919: 8b 55 ec mov -0x14(%ebp),%edx
- c010291c: c1 e2 02 shl $0x2,%edx
- c010291f: 01 d0 add %edx,%eax
- c0102921: 8b 00 mov (%eax),%eax
- c0102923: 83 ec 0c sub $0xc,%esp
- c0102926: 50 push %eax
- c0102927: e8 14 ff ff ff call c0102840 <clear_flags>
- c010292c: 83 c4 10 add $0x10,%esp
- c010292f: 89 45 e4 mov %eax,-0x1c(%ebp)
- c0102932: eb 63 jmp c0102997 <vmm_map_page+0xe2>
- c0102934: 83 ec 0c sub $0xc,%esp
- c0102937: 68 83 34 10 c0 push $0xc0103483
- c010293c: e8 28 f9 ff ff call c0102269 <uart_puts>
- c0102941: 83 c4 10 add $0x10,%esp
- c0102944: a1 48 51 10 c0 mov 0xc0105148,%eax
- c0102949: 85 c0 test %eax,%eax
- c010294b: 74 0a je c0102957 <vmm_map_page+0xa2>
- c010294d: e8 4c 01 00 00 call c0102a9e <pmm_alloc>
- c0102952: 89 45 e4 mov %eax,-0x1c(%ebp)
- c0102955: eb 1c jmp c0102973 <vmm_map_page+0xbe>
- c0102957: e8 42 01 00 00 call c0102a9e <pmm_alloc>
- c010295c: 89 45 f4 mov %eax,-0xc(%ebp)
- c010295f: 83 ec 08 sub $0x8,%esp
- c0102962: ff 75 f4 pushl -0xc(%ebp)
- c0102965: ff 75 08 pushl 0x8(%ebp)
- c0102968: e8 3e ff ff ff call c01028ab <vmm_get_virtual>
- c010296d: 83 c4 10 add $0x10,%esp
- c0102970: 89 45 e4 mov %eax,-0x1c(%ebp)
- c0102973: 83 ec 0c sub $0xc,%esp
- c0102976: 68 fc 33 10 c0 push $0xc01033fc
- c010297b: e8 e9 f8 ff ff call c0102269 <uart_puts>
- c0102980: 83 c4 10 add $0x10,%esp
- c0102983: 8b 45 e4 mov -0x1c(%ebp),%eax
- c0102986: 6a 03 push $0x3
- c0102988: 50 push %eax
- c0102989: ff 75 ec pushl -0x14(%ebp)
- c010298c: ff 75 08 pushl 0x8(%ebp)
- c010298f: e8 e3 fe ff ff call c0102877 <directory_put>
- c0102994: 83 c4 10 add $0x10,%esp
- c0102997: 83 ec 0c sub $0xc,%esp
- c010299a: ff 75 e4 pushl -0x1c(%ebp)
- c010299d: e8 8f fc ff ff call c0102631 <blank_directory>
- c01029a2: 83 c4 10 add $0x10,%esp
- c01029a5: 83 ec 0c sub $0xc,%esp
- c01029a8: 68 91 34 10 c0 push $0xc0103491
- c01029ad: e8 b7 f8 ff ff call c0102269 <uart_puts>
- c01029b2: 83 c4 10 add $0x10,%esp
- c01029b5: 6a 03 push $0x3
- c01029b7: ff 75 10 pushl 0x10(%ebp)
- c01029ba: ff 75 f0 pushl -0x10(%ebp)
- c01029bd: ff 75 e4 pushl -0x1c(%ebp)
- c01029c0: e8 88 fe ff ff call c010284d <table_put>
- c01029c5: 83 c4 10 add $0x10,%esp
- c01029c8: 83 ec 0c sub $0xc,%esp
- c01029cb: ff 75 e4 pushl -0x1c(%ebp)
- c01029ce: e8 cc fe ff ff call c010289f <invalidate_tlb>
- c01029d3: 83 c4 10 add $0x10,%esp
- c01029d6: b8 00 00 00 00 mov $0x0,%eax
- c01029db: c9 leave
- c01029dc: c3 ret
- c01029dd <init_paging>:
- c01029dd: 55 push %ebp
- c01029de: 89 e5 mov %esp,%ebp
- c01029e0: 83 ec 18 sub $0x18,%esp
- c01029e3: e8 7d fc ff ff call c0102665 <vmm_create_context>
- c01029e8: a3 28 89 12 c0 mov %eax,0xc0128928
- c01029ed: a1 28 89 12 c0 mov 0xc0128928,%eax
- c01029f2: 89 c2 mov %eax,%edx
- c01029f4: a1 28 89 12 c0 mov 0xc0128928,%eax
- c01029f9: 83 ec 04 sub $0x4,%esp
- c01029fc: 52 push %edx
- c01029fd: 68 00 00 c0 3f push $0x3fc00000
- c0102a02: 50 push %eax
- c0102a03: e8 ad fe ff ff call c01028b5 <vmm_map_page>
- c0102a08: 83 c4 10 add $0x10,%esp
- c0102a0b: c7 45 f0 00 00 10 c0 movl $0xc0100000,-0x10(%ebp)
- c0102a12: eb 26 jmp c0102a3a <init_paging+0x5d>
- c0102a14: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102a17: 2d 00 00 00 40 sub $0x40000000,%eax
- c0102a1c: 89 c2 mov %eax,%edx
- c0102a1e: a1 28 89 12 c0 mov 0xc0128928,%eax
- c0102a23: 83 ec 04 sub $0x4,%esp
- c0102a26: ff 75 f0 pushl -0x10(%ebp)
- c0102a29: 52 push %edx
- c0102a2a: 50 push %eax
- c0102a2b: e8 85 fe ff ff call c01028b5 <vmm_map_page>
- c0102a30: 83 c4 10 add $0x10,%esp
- c0102a33: 81 45 f0 00 10 00 00 addl $0x1000,-0x10(%ebp)
- c0102a3a: b8 2c c9 12 c0 mov $0xc012c92c,%eax
- c0102a3f: 39 45 f0 cmp %eax,-0x10(%ebp)
- c0102a42: 72 d0 jb c0102a14 <init_paging+0x37>
- c0102a44: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
- c0102a4b: eb 1f jmp c0102a6c <init_paging+0x8f>
- c0102a4d: 8b 55 f4 mov -0xc(%ebp),%edx
- c0102a50: a1 28 89 12 c0 mov 0xc0128928,%eax
- c0102a55: 83 ec 04 sub $0x4,%esp
- c0102a58: ff 75 f4 pushl -0xc(%ebp)
- c0102a5b: 52 push %edx
- c0102a5c: 50 push %eax
- c0102a5d: e8 53 fe ff ff call c01028b5 <vmm_map_page>
- c0102a62: 83 c4 10 add $0x10,%esp
- c0102a65: 81 45 f4 00 10 00 00 addl $0x1000,-0xc(%ebp)
- c0102a6c: 81 7d f4 ff ff 3f 00 cmpl $0x3fffff,-0xc(%ebp)
- c0102a73: 76 d8 jbe c0102a4d <init_paging+0x70>
- c0102a75: a1 28 89 12 c0 mov 0xc0128928,%eax
- c0102a7a: 8b 00 mov (%eax),%eax
- c0102a7c: 83 ec 0c sub $0xc,%esp
- c0102a7f: 50 push %eax
- c0102a80: e8 ae d6 ff ff call c0100133 <load_page_directory>
- c0102a85: 83 c4 10 add $0x10,%esp
- c0102a88: e8 b4 d6 ff ff call c0100141 <enable_paging>
- c0102a8d: c7 05 48 51 10 c0 00 movl $0x0,0xc0105148
- c0102a94: 00 00 00
- c0102a97: b8 00 00 00 00 mov $0x0,%eax
- c0102a9c: c9 leave
- c0102a9d: c3 ret
- c0102a9e <pmm_alloc>:
- c0102a9e: 55 push %ebp
- c0102a9f: 89 e5 mov %esp,%ebp
- c0102aa1: 53 push %ebx
- c0102aa2: 83 ec 14 sub $0x14,%esp
- c0102aa5: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
- c0102aac: e9 92 00 00 00 jmp c0102b43 <pmm_alloc+0xa5>
- c0102ab1: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
- c0102ab8: eb 7b jmp c0102b35 <pmm_alloc+0x97>
- c0102aba: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102abd: 8b 14 85 00 60 10 c0 mov -0x3fefa000(,%eax,4),%edx
- c0102ac4: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102ac7: bb 01 00 00 00 mov $0x1,%ebx
- c0102acc: 89 c1 mov %eax,%ecx
- c0102ace: d3 e3 shl %cl,%ebx
- c0102ad0: 89 d8 mov %ebx,%eax
- c0102ad2: 21 d0 and %edx,%eax
- c0102ad4: 85 c0 test %eax,%eax
- c0102ad6: 74 59 je c0102b31 <pmm_alloc+0x93>
- c0102ad8: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102adb: 8b 14 85 00 60 10 c0 mov -0x3fefa000(,%eax,4),%edx
- c0102ae2: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102ae5: bb 01 00 00 00 mov $0x1,%ebx
- c0102aea: 89 c1 mov %eax,%ecx
- c0102aec: d3 e3 shl %cl,%ebx
- c0102aee: 89 d8 mov %ebx,%eax
- c0102af0: f7 d0 not %eax
- c0102af2: 21 c2 and %eax,%edx
- c0102af4: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102af7: 89 14 85 00 60 10 c0 mov %edx,-0x3fefa000(,%eax,4)
- c0102afe: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102b01: c1 e0 05 shl $0x5,%eax
- c0102b04: 89 c2 mov %eax,%edx
- c0102b06: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102b09: 01 d0 add %edx,%eax
- c0102b0b: c1 e0 0c shl $0xc,%eax
- c0102b0e: 83 ec 08 sub $0x8,%esp
- c0102b11: 50 push %eax
- c0102b12: 68 a0 34 10 c0 push $0xc01034a0
- c0102b17: e8 c7 f8 ff ff call c01023e3 <uart_printf>
- c0102b1c: 83 c4 10 add $0x10,%esp
- c0102b1f: 8b 45 f0 mov -0x10(%ebp),%eax
- c0102b22: c1 e0 05 shl $0x5,%eax
- c0102b25: 89 c2 mov %eax,%edx
- c0102b27: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102b2a: 01 d0 add %edx,%eax
- c0102b2c: c1 e0 0c shl $0xc,%eax
- c0102b2f: eb 34 jmp c0102b65 <pmm_alloc+0xc7>
- c0102b31: 83 45 f4 01 addl $0x1,-0xc(%ebp)
- c0102b35: 83 7d f4 1f cmpl $0x1f,-0xc(%ebp)
- c0102b39: 0f 8e 7b ff ff ff jle c0102aba <pmm_alloc+0x1c>
- c0102b3f: 83 45 f0 01 addl $0x1,-0x10(%ebp)
- c0102b43: 81 7d f0 ff 7f 00 00 cmpl $0x7fff,-0x10(%ebp)
- c0102b4a: 0f 8e 61 ff ff ff jle c0102ab1 <pmm_alloc+0x13>
- c0102b50: 83 ec 0c sub $0xc,%esp
- c0102b53: 68 ac 34 10 c0 push $0xc01034ac
- c0102b58: e8 0c f7 ff ff call c0102269 <uart_puts>
- c0102b5d: 83 c4 10 add $0x10,%esp
- c0102b60: b8 00 00 00 00 mov $0x0,%eax
- c0102b65: 8b 5d fc mov -0x4(%ebp),%ebx
- c0102b68: c9 leave
- c0102b69: c3 ret
- c0102b6a <pmm_free>:
- c0102b6a: 55 push %ebp
- c0102b6b: 89 e5 mov %esp,%ebp
- c0102b6d: 53 push %ebx
- c0102b6e: 83 ec 10 sub $0x10,%esp
- c0102b71: 8b 45 08 mov 0x8(%ebp),%eax
- c0102b74: c1 e8 0c shr $0xc,%eax
- c0102b77: 89 45 f8 mov %eax,-0x8(%ebp)
- c0102b7a: 8b 45 f8 mov -0x8(%ebp),%eax
- c0102b7d: c1 e8 05 shr $0x5,%eax
- c0102b80: 8b 14 85 00 60 10 c0 mov -0x3fefa000(,%eax,4),%edx
- c0102b87: 8b 4d f8 mov -0x8(%ebp),%ecx
- c0102b8a: 83 e1 1f and $0x1f,%ecx
- c0102b8d: bb 01 00 00 00 mov $0x1,%ebx
- c0102b92: d3 e3 shl %cl,%ebx
- c0102b94: 89 d9 mov %ebx,%ecx
- c0102b96: 09 ca or %ecx,%edx
- c0102b98: 89 14 85 00 60 10 c0 mov %edx,-0x3fefa000(,%eax,4)
- c0102b9f: 90 nop
- c0102ba0: 83 c4 10 add $0x10,%esp
- c0102ba3: 5b pop %ebx
- c0102ba4: 5d pop %ebp
- c0102ba5: c3 ret
- c0102ba6 <pmm_mark_used>:
- c0102ba6: 55 push %ebp
- c0102ba7: 89 e5 mov %esp,%ebp
- c0102ba9: 53 push %ebx
- c0102baa: 83 ec 14 sub $0x14,%esp
- c0102bad: 8b 45 08 mov 0x8(%ebp),%eax
- c0102bb0: c1 e8 0c shr $0xc,%eax
- c0102bb3: 89 45 f4 mov %eax,-0xc(%ebp)
- c0102bb6: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102bb9: c1 e8 05 shr $0x5,%eax
- c0102bbc: 50 push %eax
- c0102bbd: ff 75 f4 pushl -0xc(%ebp)
- c0102bc0: ff 75 08 pushl 0x8(%ebp)
- c0102bc3: 68 bc 34 10 c0 push $0xc01034bc
- c0102bc8: e8 16 f8 ff ff call c01023e3 <uart_printf>
- c0102bcd: 83 c4 10 add $0x10,%esp
- c0102bd0: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102bd3: c1 e8 05 shr $0x5,%eax
- c0102bd6: 8b 14 85 00 60 10 c0 mov -0x3fefa000(,%eax,4),%edx
- c0102bdd: 8b 4d f4 mov -0xc(%ebp),%ecx
- c0102be0: 83 e1 1f and $0x1f,%ecx
- c0102be3: bb 01 00 00 00 mov $0x1,%ebx
- c0102be8: d3 e3 shl %cl,%ebx
- c0102bea: 89 d9 mov %ebx,%ecx
- c0102bec: f7 d1 not %ecx
- c0102bee: 21 ca and %ecx,%edx
- c0102bf0: 89 14 85 00 60 10 c0 mov %edx,-0x3fefa000(,%eax,4)
- c0102bf7: 90 nop
- c0102bf8: 8b 5d fc mov -0x4(%ebp),%ebx
- c0102bfb: c9 leave
- c0102bfc: c3 ret
- c0102bfd <dump_free_bits>:
- c0102bfd: 55 push %ebp
- c0102bfe: 89 e5 mov %esp,%ebp
- c0102c00: 83 ec 18 sub $0x18,%esp
- c0102c03: fa cli
- c0102c04: 83 ec 0c sub $0xc,%esp
- c0102c07: 68 db 34 10 c0 push $0xc01034db
- c0102c0c: e8 58 f6 ff ff call c0102269 <uart_puts>
- c0102c11: 83 c4 10 add $0x10,%esp
- c0102c14: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%ebp)
- c0102c1b: eb 42 jmp c0102c5f <dump_free_bits+0x62>
- c0102c1d: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102c20: 8b 04 85 00 60 10 c0 mov -0x3fefa000(,%eax,4),%eax
- c0102c27: 83 ec 08 sub $0x8,%esp
- c0102c2a: 50 push %eax
- c0102c2b: 68 e9 34 10 c0 push $0xc01034e9
- c0102c30: e8 ae f7 ff ff call c01023e3 <uart_printf>
- c0102c35: 83 c4 10 add $0x10,%esp
- c0102c38: 83 7d f4 00 cmpl $0x0,-0xc(%ebp)
- c0102c3c: 74 1d je c0102c5b <dump_free_bits+0x5e>
- c0102c3e: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102c41: 83 e0 3f and $0x3f,%eax
- c0102c44: 85 c0 test %eax,%eax
- c0102c46: 75 13 jne c0102c5b <dump_free_bits+0x5e>
- c0102c48: 83 ec 08 sub $0x8,%esp
- c0102c4b: ff 75 f4 pushl -0xc(%ebp)
- c0102c4e: 68 ed 34 10 c0 push $0xc01034ed
- c0102c53: e8 8b f7 ff ff call c01023e3 <uart_printf>
- c0102c58: 83 c4 10 add $0x10,%esp
- c0102c5b: 83 45 f4 01 addl $0x1,-0xc(%ebp)
- c0102c5f: 81 7d f4 ff 7f 00 00 cmpl $0x7fff,-0xc(%ebp)
- c0102c66: 7e b5 jle c0102c1d <dump_free_bits+0x20>
- c0102c68: fb sti
- c0102c69: 90 nop
- c0102c6a: c9 leave
- c0102c6b: c3 ret
- c0102c6c <pmm_init>:
- c0102c6c: 55 push %ebp
- c0102c6d: 89 e5 mov %esp,%ebp
- c0102c6f: 83 ec 38 sub $0x38,%esp
- c0102c72: 8b 45 08 mov 0x8(%ebp),%eax
- c0102c75: 8b 40 30 mov 0x30(%eax),%eax
- c0102c78: 89 45 d4 mov %eax,-0x2c(%ebp)
- c0102c7b: 8b 45 08 mov 0x8(%ebp),%eax
- c0102c7e: 8b 40 30 mov 0x30(%eax),%eax
- c0102c81: 89 c2 mov %eax,%edx
- c0102c83: 8b 45 08 mov 0x8(%ebp),%eax
- c0102c86: 8b 40 2c mov 0x2c(%eax),%eax
- c0102c89: 01 d0 add %edx,%eax
- c0102c8b: 89 45 ec mov %eax,-0x14(%ebp)
- c0102c8e: 8b 45 08 mov 0x8(%ebp),%eax
- c0102c91: 8b 40 2c mov 0x2c(%eax),%eax
- c0102c94: ff 75 ec pushl -0x14(%ebp)
- c0102c97: 50 push %eax
- c0102c98: ff 75 d4 pushl -0x2c(%ebp)
- c0102c9b: 68 f8 34 10 c0 push $0xc01034f8
- c0102ca0: e8 3e f7 ff ff call c01023e3 <uart_printf>
- c0102ca5: 83 c4 10 add $0x10,%esp
- c0102ca8: c7 45 d8 00 00 00 00 movl $0x0,-0x28(%ebp)
- c0102caf: eb 12 jmp c0102cc3 <pmm_init+0x57>
- c0102cb1: 8b 45 d8 mov -0x28(%ebp),%eax
- c0102cb4: c7 04 85 00 60 10 c0 movl $0x0,-0x3fefa000(,%eax,4)
- c0102cbb: 00 00 00 00
- c0102cbf: 83 45 d8 01 addl $0x1,-0x28(%ebp)
- c0102cc3: 81 7d d8 ff 7f 00 00 cmpl $0x7fff,-0x28(%ebp)
- c0102cca: 7e e5 jle c0102cb1 <pmm_init+0x45>
- c0102ccc: eb 64 jmp c0102d32 <pmm_init+0xc6>
- c0102cce: 8b 45 d4 mov -0x2c(%ebp),%eax
- c0102cd1: 8b 40 14 mov 0x14(%eax),%eax
- c0102cd4: 83 f8 01 cmp $0x1,%eax
- c0102cd7: 75 55 jne c0102d2e <pmm_init+0xc2>
- c0102cd9: 8b 45 d4 mov -0x2c(%ebp),%eax
- c0102cdc: 8b 50 08 mov 0x8(%eax),%edx
- c0102cdf: 8b 40 04 mov 0x4(%eax),%eax
- c0102ce2: 89 45 dc mov %eax,-0x24(%ebp)
- c0102ce5: 8b 45 d4 mov -0x2c(%ebp),%eax
- c0102ce8: 8b 50 10 mov 0x10(%eax),%edx
- c0102ceb: 8b 40 0c mov 0xc(%eax),%eax
- c0102cee: 89 c2 mov %eax,%edx
- c0102cf0: 8b 45 dc mov -0x24(%ebp),%eax
- c0102cf3: 01 d0 add %edx,%eax
- c0102cf5: 89 45 f0 mov %eax,-0x10(%ebp)
- c0102cf8: 83 ec 04 sub $0x4,%esp
- c0102cfb: ff 75 f0 pushl -0x10(%ebp)
- c0102cfe: ff 75 dc pushl -0x24(%ebp)
- c0102d01: 68 22 35 10 c0 push $0xc0103522
- c0102d06: e8 d8 f6 ff ff call c01023e3 <uart_printf>
- c0102d0b: 83 c4 10 add $0x10,%esp
- c0102d0e: eb 16 jmp c0102d26 <pmm_init+0xba>
- c0102d10: 8b 45 dc mov -0x24(%ebp),%eax
- c0102d13: 83 ec 0c sub $0xc,%esp
- c0102d16: 50 push %eax
- c0102d17: e8 4e fe ff ff call c0102b6a <pmm_free>
- c0102d1c: 83 c4 10 add $0x10,%esp
- c0102d1f: 81 45 dc 00 10 00 00 addl $0x1000,-0x24(%ebp)
- c0102d26: 8b 45 dc mov -0x24(%ebp),%eax
- c0102d29: 3b 45 f0 cmp -0x10(%ebp),%eax
- c0102d2c: 72 e2 jb c0102d10 <pmm_init+0xa4>
- c0102d2e: 83 45 d4 18 addl $0x18,-0x2c(%ebp)
- c0102d32: 8b 45 d4 mov -0x2c(%ebp),%eax
- c0102d35: 3b 45 ec cmp -0x14(%ebp),%eax
- c0102d38: 72 94 jb c0102cce <pmm_init+0x62>
- c0102d3a: ba 2c c9 12 c0 mov $0xc012c92c,%edx
- c0102d3f: b8 00 00 10 c0 mov $0xc0100000,%eax
- c0102d44: 83 ec 04 sub $0x4,%esp
- c0102d47: 52 push %edx
- c0102d48: 50 push %eax
- c0102d49: 68 3e 35 10 c0 push $0xc010353e
- c0102d4e: e8 90 f6 ff ff call c01023e3 <uart_printf>
- c0102d53: 83 c4 10 add $0x10,%esp
- c0102d56: c7 45 e0 00 00 10 c0 movl $0xc0100000,-0x20(%ebp)
- c0102d5d: eb 16 jmp c0102d75 <pmm_init+0x109>
- c0102d5f: 8b 45 e0 mov -0x20(%ebp),%eax
- c0102d62: 83 ec 0c sub $0xc,%esp
- c0102d65: 50 push %eax
- c0102d66: e8 3b fe ff ff call c0102ba6 <pmm_mark_used>
- c0102d6b: 83 c4 10 add $0x10,%esp
- c0102d6e: 81 45 e0 00 10 00 00 addl $0x1000,-0x20(%ebp)
- c0102d75: b8 2c c9 12 c0 mov $0xc012c92c,%eax
- c0102d7a: 39 45 e0 cmp %eax,-0x20(%ebp)
- c0102d7d: 72 e0 jb c0102d5f <pmm_init+0xf3>
- c0102d7f: 83 ec 08 sub $0x8,%esp
- c0102d82: 68 00 00 40 00 push $0x400000
- c0102d87: 68 58 35 10 c0 push $0xc0103558
- c0102d8c: e8 52 f6 ff ff call c01023e3 <uart_printf>
- c0102d91: 83 c4 10 add $0x10,%esp
- c0102d94: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp)
- c0102d9b: eb 16 jmp c0102db3 <pmm_init+0x147>
- c0102d9d: 8b 45 e4 mov -0x1c(%ebp),%eax
- c0102da0: c1 e0 0c shl $0xc,%eax
- c0102da3: 83 ec 0c sub $0xc,%esp
- c0102da6: 50 push %eax
- c0102da7: e8 fa fd ff ff call c0102ba6 <pmm_mark_used>
- c0102dac: 83 c4 10 add $0x10,%esp
- c0102daf: 83 45 e4 01 addl $0x1,-0x1c(%ebp)
- c0102db3: 81 7d e4 ff 03 00 00 cmpl $0x3ff,-0x1c(%ebp)
- c0102dba: 7e e1 jle c0102d9d <pmm_init+0x131>
- c0102dbc: 8b 45 08 mov 0x8(%ebp),%eax
- c0102dbf: 8b 40 18 mov 0x18(%eax),%eax
- c0102dc2: 89 45 f4 mov %eax,-0xc(%ebp)
- c0102dc5: 83 ec 08 sub $0x8,%esp
- c0102dc8: ff 75 08 pushl 0x8(%ebp)
- c0102dcb: 68 71 35 10 c0 push $0xc0103571
- c0102dd0: e8 0e f6 ff ff call c01023e3 <uart_printf>
- c0102dd5: 83 c4 10 add $0x10,%esp
- c0102dd8: 83 ec 0c sub $0xc,%esp
- c0102ddb: ff 75 08 pushl 0x8(%ebp)
- c0102dde: e8 c3 fd ff ff call c0102ba6 <pmm_mark_used>
- c0102de3: 83 c4 10 add $0x10,%esp
- c0102de6: 83 ec 08 sub $0x8,%esp
- c0102de9: ff 75 f4 pushl -0xc(%ebp)
- c0102dec: 68 71 35 10 c0 push $0xc0103571
- c0102df1: e8 ed f5 ff ff call c01023e3 <uart_printf>
- c0102df6: 83 c4 10 add $0x10,%esp
- c0102df9: 83 ec 0c sub $0xc,%esp
- c0102dfc: ff 75 f4 pushl -0xc(%ebp)
- c0102dff: e8 a2 fd ff ff call c0102ba6 <pmm_mark_used>
- c0102e04: 83 c4 10 add $0x10,%esp
- c0102e07: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp)
- c0102e0e: eb 56 jmp c0102e66 <pmm_init+0x1fa>
- c0102e10: 8b 45 e8 mov -0x18(%ebp),%eax
- c0102e13: c1 e0 04 shl $0x4,%eax
- c0102e16: 89 c2 mov %eax,%edx
- c0102e18: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102e1b: 01 d0 add %edx,%eax
- c0102e1d: 8b 00 mov (%eax),%eax
- c0102e1f: 89 45 e0 mov %eax,-0x20(%ebp)
- c0102e22: eb 29 jmp c0102e4d <pmm_init+0x1e1>
- c0102e24: 83 ec 08 sub $0x8,%esp
- c0102e27: ff 75 e0 pushl -0x20(%ebp)
- c0102e2a: 68 71 35 10 c0 push $0xc0103571
- c0102e2f: e8 af f5 ff ff call c01023e3 <uart_printf>
- c0102e34: 83 c4 10 add $0x10,%esp
- c0102e37: 8b 45 e0 mov -0x20(%ebp),%eax
- c0102e3a: 83 ec 0c sub $0xc,%esp
- c0102e3d: 50 push %eax
- c0102e3e: e8 63 fd ff ff call c0102ba6 <pmm_mark_used>
- c0102e43: 83 c4 10 add $0x10,%esp
- c0102e46: 81 45 e0 00 10 00 00 addl $0x1000,-0x20(%ebp)
- c0102e4d: 8b 45 e8 mov -0x18(%ebp),%eax
- c0102e50: c1 e0 04 shl $0x4,%eax
- c0102e53: 89 c2 mov %eax,%edx
- c0102e55: 8b 45 f4 mov -0xc(%ebp),%eax
- c0102e58: 01 d0 add %edx,%eax
- c0102e5a: 8b 40 04 mov 0x4(%eax),%eax
- c0102e5d: 3b 45 e0 cmp -0x20(%ebp),%eax
- c0102e60: 77 c2 ja c0102e24 <pmm_init+0x1b8>
- c0102e62: 83 45 e8 01 addl $0x1,-0x18(%ebp)
- c0102e66: 8b 45 08 mov 0x8(%ebp),%eax
- c0102e69: 8b 50 14 mov 0x14(%eax),%edx
- c0102e6c: 8b 45 e8 mov -0x18(%ebp),%eax
- c0102e6f: 39 c2 cmp %eax,%edx
- c0102e71: 77 9d ja c0102e10 <pmm_init+0x1a4>
- c0102e73: b8 2c c9 12 c0 mov $0xc012c92c,%eax
- c0102e78: 83 ec 04 sub $0x4,%esp
- c0102e7b: 50 push %eax
- c0102e7c: ff 75 e0 pushl -0x20(%ebp)
- c0102e7f: 68 80 35 10 c0 push $0xc0103580
- c0102e84: e8 5a f5 ff ff call c01023e3 <uart_printf>
- c0102e89: 83 c4 10 add $0x10,%esp
- c0102e8c: 90 nop
- c0102e8d: c9 leave
- c0102e8e: c3 ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement