image/boot/kernel.bin: file format elf64-x86-64
Disassembly of section .boot:
0000000000100000 <start-0x3c>:
100000: d6 (bad)
100001: 50 push %rax
100002: 52 push %rdx
100003: e8 00 00 00 00 callq 100008 <start-0x34>
100008: 3c 00 cmp $0x0,%al
10000a: 00 00 add %al,(%rax)
10000c: ee out %al,(%dx)
10000d: ae scas %es:(%rdi),%al
10000e: ad lods %ds:(%rsi),%eax
10000f: 17 (bad)
100010: 02 00 add (%rax),%al
100012: 00 00 add %al,(%rax)
100014: 18 00 sbb %al,(%rax)
100016: 00 00 add %al,(%rax)
100018: 00 00 add %al,(%rax)
10001a: 10 00 adc %al,(%rax)
10001c: 3c 00 cmp $0x0,%al
10001e: 10 00 adc %al,(%rax)
100020: 2c e0 sub $0xe0,%al
100022: 10 00 adc %al,(%rax)
100024: 40 08 11 or %dl,(%rcx)
100027: 00 03 add %al,(%rbx)
100029: 00 00 add %al,(%rax)
10002b: 00 0c 00 add %cl,(%rax,%rax,1)
10002e: 00 00 add %al,(%rax)
100030: 3c 00 cmp $0x0,%al
100032: 10 00 adc %al,(%rax)
100034: 00 00 add %al,(%rax)
100036: 00 00 add %al,(%rax)
100038: 08 00 or %al,(%rax)
...
000000000010003c <start>:
10003c: 66 87 db xchg %bx,%bx
10003f: b8 1a 01 10 00 mov $0x10011a,%eax
100044: 0f 01 10 lgdt (%rax)
100047: 6a 08 pushq $0x8
100049: 68 4f 00 10 00 pushq $0x10004f
10004e: cb lret
10004f: b8 10 00 00 00 mov $0x10,%eax
100054: 8e d8 mov %eax,%ds
100056: 8e d0 mov %eax,%ss
100058: bc 00 c0 10 00 mov $0x10c000,%esp
10005d: e8 41 00 00 00 callq 1000a3 <start+0x67>
100062: b8 20 01 10 00 mov $0x100120,%eax
100067: 0f 01 10 lgdt (%rax)
10006a: 6a 08 pushq $0x8
10006c: 68 72 00 10 00 pushq $0x100072
100071: cb lret
100072: b8 10 00 00 00 mov $0x10,%eax
100077: 8e d8 mov %eax,%ds
100079: 8e c0 mov %eax,%es
10007b: 8e d0 mov %eax,%ss
10007d: 48 bc 00 c0 10 80 ff movabs $0xffffffff8010c000,%rsp
100084: ff ff ff
100087: 48 c7 c0 2a 01 10 00 mov $0x10012a,%rax
10008e: 0f 01 10 lgdt (%rax)
100091: 66 87 db xchg %bx,%bx
100094: 48 b8 50 c1 10 80 ff movabs $0xffffffff8010c150,%rax
10009b: ff ff ff
10009e: ff d0 callq *%rax
1000a0: fa cli
1000a1: eb fe jmp 1000a1 <start+0x65>
1000a3: b8 00 20 10 00 mov $0x102000,%eax
1000a8: 83 c8 01 or $0x1,%eax
1000ab: a3 00 10 10 00 a3 f8 movabs %eax,0x101ff8a300101000
1000b2: 1f 10
1000b4: 00 b8 00 30 10 00 add %bh,0x103000(%rax)
1000ba: 83 c8 01 or $0x1,%eax
1000bd: a3 00 20 10 00 a3 f0 movabs %eax,0x102ff0a300102000
1000c4: 2f 10
1000c6: 00 c7 add %al,%bh
1000c8: 05 00 30 10 00 add $0x103000,%eax
1000cd: 83 00 00 addl $0x0,(%rax)
1000d0: 00 c7 add %al,%bh
1000d2: 05 08 30 10 00 add $0x103008,%eax
1000d7: 83 00 20 addl $0x20,(%rax)
1000da: 00 c7 add %al,%bh
1000dc: 05 10 30 10 00 add $0x103010,%eax
1000e1: 83 00 40 addl $0x40,(%rax)
1000e4: 00 c7 add %al,%bh
1000e6: 05 18 30 10 00 add $0x103018,%eax
1000eb: 83 00 60 addl $0x60,(%rax)
1000ee: 00 b8 00 10 10 00 add %bh,0x101000(%rax)
1000f4: 0f 22 d8 mov %rax,%cr3
1000f7: 0f 20 e0 mov %cr4,%rax
1000fa: 83 c8 20 or $0x20,%eax
1000fd: 0f 22 e0 mov %rax,%cr4
100100: b9 80 00 00 c0 mov $0xc0000080,%ecx
100105: 0f 32 rdmsr
100107: 0d 00 01 00 00 or $0x100,%eax
10010c: 0f 30 wrmsr
10010e: 0f 20 c0 mov %cr0,%rax
100111: 0d 00 00 00 80 or $0x80000000,%eax
100116: 0f 22 c0 mov %rax,%cr0
100119: c3 retq
10011a: 17 (bad)
10011b: 00 34 01 add %dh,(%rcx,%rax,1)
10011e: 10 00 adc %al,(%rax)
100120: 17 (bad)
100121: 00 4c 01 10 add %cl,0x10(%rcx,%rax,1)
100125: 00 00 add %al,(%rax)
100127: 00 00 add %al,(%rax)
100129: 00 17 add %dl,(%rdi)
10012b: 00 4c 01 10 add %cl,0x10(%rcx,%rax,1)
10012f: 80 ff ff cmp $0xff,%bh
100132: ff (bad)
100133: ff 00 incl (%rax)
100135: 00 00 add %al,(%rax)
100137: 00 00 add %al,(%rax)
100139: 00 00 add %al,(%rax)
10013b: 00 ff add %bh,%bh
10013d: ff 00 incl (%rax)
10013f: 00 00 add %al,(%rax)
100141: 9a (bad)
100142: cf iret
100143: 00 ff add %bh,%bh
100145: ff 00 incl (%rax)
100147: 00 00 add %al,(%rax)
100149: 92 xchg %eax,%edx
10014a: cf iret
...
100157: 00 00 add %al,(%rax)
100159: 9a (bad)
10015a: a0 00 00 00 00 00 00 movabs 0xa092000000000000,%al
100161: 92 a0
...
0000000000101000 <PML4>:
...
0000000000102000 <PDPT>:
...
0000000000103000 <PD>:
...
Disassembly of section .text:
ffffffff8010c000 <isr0>:
ffffffff8010c000: fa cli
ffffffff8010c001: 6a 00 pushq $0x0
ffffffff8010c003: 6a 00 pushq $0x0
ffffffff8010c005: e9 01 01 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c00a <isr1>:
ffffffff8010c00a: fa cli
ffffffff8010c00b: 6a 00 pushq $0x0
ffffffff8010c00d: 6a 01 pushq $0x1
ffffffff8010c00f: e9 f7 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c014 <isr2>:
ffffffff8010c014: fa cli
ffffffff8010c015: 6a 00 pushq $0x0
ffffffff8010c017: 6a 02 pushq $0x2
ffffffff8010c019: e9 ed 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c01e <isr3>:
ffffffff8010c01e: fa cli
ffffffff8010c01f: 6a 00 pushq $0x0
ffffffff8010c021: 6a 03 pushq $0x3
ffffffff8010c023: e9 e3 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c028 <isr4>:
ffffffff8010c028: fa cli
ffffffff8010c029: 6a 00 pushq $0x0
ffffffff8010c02b: 6a 04 pushq $0x4
ffffffff8010c02d: e9 d9 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c032 <isr5>:
ffffffff8010c032: fa cli
ffffffff8010c033: 6a 00 pushq $0x0
ffffffff8010c035: 6a 05 pushq $0x5
ffffffff8010c037: e9 cf 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c03c <isr6>:
ffffffff8010c03c: fa cli
ffffffff8010c03d: 6a 00 pushq $0x0
ffffffff8010c03f: 6a 06 pushq $0x6
ffffffff8010c041: e9 c5 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c046 <isr7>:
ffffffff8010c046: fa cli
ffffffff8010c047: 6a 00 pushq $0x0
ffffffff8010c049: 6a 07 pushq $0x7
ffffffff8010c04b: e9 bb 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c050 <isr8>:
ffffffff8010c050: fa cli
ffffffff8010c051: 6a 08 pushq $0x8
ffffffff8010c053: e9 b3 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c058 <isr9>:
ffffffff8010c058: fa cli
ffffffff8010c059: 6a 00 pushq $0x0
ffffffff8010c05b: 6a 09 pushq $0x9
ffffffff8010c05d: e9 a9 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c062 <isr10>:
ffffffff8010c062: fa cli
ffffffff8010c063: 6a 0a pushq $0xa
ffffffff8010c065: e9 a1 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c06a <isr11>:
ffffffff8010c06a: fa cli
ffffffff8010c06b: 6a 0b pushq $0xb
ffffffff8010c06d: e9 99 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c072 <isr12>:
ffffffff8010c072: fa cli
ffffffff8010c073: 6a 0c pushq $0xc
ffffffff8010c075: e9 91 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c07a <isr13>:
ffffffff8010c07a: fa cli
ffffffff8010c07b: 6a 0d pushq $0xd
ffffffff8010c07d: e9 89 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c082 <isr14>:
ffffffff8010c082: fa cli
ffffffff8010c083: 6a 0e pushq $0xe
ffffffff8010c085: e9 81 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
ffffffff8010c08a <isr15>:
ffffffff8010c08a: fa cli
ffffffff8010c08b: 6a 00 pushq $0x0
ffffffff8010c08d: 6a 0f pushq $0xf
ffffffff8010c08f: eb 7a jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c091 <isr16>:
ffffffff8010c091: fa cli
ffffffff8010c092: 6a 00 pushq $0x0
ffffffff8010c094: 6a 10 pushq $0x10
ffffffff8010c096: eb 73 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c098 <isr17>:
ffffffff8010c098: fa cli
ffffffff8010c099: 6a 00 pushq $0x0
ffffffff8010c09b: 6a 11 pushq $0x11
ffffffff8010c09d: eb 6c jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c09f <isr18>:
ffffffff8010c09f: fa cli
ffffffff8010c0a0: 6a 00 pushq $0x0
ffffffff8010c0a2: 6a 12 pushq $0x12
ffffffff8010c0a4: eb 65 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0a6 <isr19>:
ffffffff8010c0a6: fa cli
ffffffff8010c0a7: 6a 00 pushq $0x0
ffffffff8010c0a9: 6a 13 pushq $0x13
ffffffff8010c0ab: eb 5e jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0ad <isr20>:
ffffffff8010c0ad: fa cli
ffffffff8010c0ae: 6a 00 pushq $0x0
ffffffff8010c0b0: 6a 14 pushq $0x14
ffffffff8010c0b2: eb 57 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0b4 <isr21>:
ffffffff8010c0b4: fa cli
ffffffff8010c0b5: 6a 00 pushq $0x0
ffffffff8010c0b7: 6a 15 pushq $0x15
ffffffff8010c0b9: eb 50 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0bb <isr22>:
ffffffff8010c0bb: fa cli
ffffffff8010c0bc: 6a 00 pushq $0x0
ffffffff8010c0be: 6a 16 pushq $0x16
ffffffff8010c0c0: eb 49 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0c2 <isr23>:
ffffffff8010c0c2: fa cli
ffffffff8010c0c3: 6a 00 pushq $0x0
ffffffff8010c0c5: 6a 17 pushq $0x17
ffffffff8010c0c7: eb 42 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0c9 <isr24>:
ffffffff8010c0c9: fa cli
ffffffff8010c0ca: 6a 00 pushq $0x0
ffffffff8010c0cc: 6a 18 pushq $0x18
ffffffff8010c0ce: eb 3b jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0d0 <isr25>:
ffffffff8010c0d0: fa cli
ffffffff8010c0d1: 6a 00 pushq $0x0
ffffffff8010c0d3: 6a 19 pushq $0x19
ffffffff8010c0d5: eb 34 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0d7 <isr26>:
ffffffff8010c0d7: fa cli
ffffffff8010c0d8: 6a 00 pushq $0x0
ffffffff8010c0da: 6a 1a pushq $0x1a
ffffffff8010c0dc: eb 2d jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0de <isr27>:
ffffffff8010c0de: fa cli
ffffffff8010c0df: 6a 00 pushq $0x0
ffffffff8010c0e1: 6a 1b pushq $0x1b
ffffffff8010c0e3: eb 26 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0e5 <isr28>:
ffffffff8010c0e5: fa cli
ffffffff8010c0e6: 6a 00 pushq $0x0
ffffffff8010c0e8: 6a 1c pushq $0x1c
ffffffff8010c0ea: eb 1f jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0ec <isr29>:
ffffffff8010c0ec: fa cli
ffffffff8010c0ed: 6a 00 pushq $0x0
ffffffff8010c0ef: 6a 1d pushq $0x1d
ffffffff8010c0f1: eb 18 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0f3 <isr30>:
ffffffff8010c0f3: fa cli
ffffffff8010c0f4: 6a 00 pushq $0x0
ffffffff8010c0f6: 6a 1e pushq $0x1e
ffffffff8010c0f8: eb 11 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c0fa <isr31>:
ffffffff8010c0fa: fa cli
ffffffff8010c0fb: 6a 00 pushq $0x0
ffffffff8010c0fd: 6a 1f pushq $0x1f
ffffffff8010c0ff: eb 0a jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c101 <isr255>:
ffffffff8010c101: fa cli
ffffffff8010c102: 6a 00 pushq $0x0
ffffffff8010c104: 68 ff 00 00 00 pushq $0xff
ffffffff8010c109: eb 00 jmp ffffffff8010c10b <isr_common_handler>
ffffffff8010c10b <isr_common_handler>:
ffffffff8010c10b: 50 push %rax
ffffffff8010c10c: 51 push %rcx
ffffffff8010c10d: 52 push %rdx
ffffffff8010c10e: 53 push %rbx
ffffffff8010c10f: 54 push %rsp
ffffffff8010c110: 55 push %rbp
ffffffff8010c111: 56 push %rsi
ffffffff8010c112: 57 push %rdi
ffffffff8010c113: 66 8c d8 mov %ds,%ax
ffffffff8010c116: 50 push %rax
ffffffff8010c117: 66 b8 10 00 mov $0x10,%ax
ffffffff8010c11b: 8e d8 mov %eax,%ds
ffffffff8010c11d: 8e c0 mov %eax,%es
ffffffff8010c11f: 8e e0 mov %eax,%fs
ffffffff8010c121: 8e e8 mov %eax,%gs
ffffffff8010c123: 8e d0 mov %eax,%ss
ffffffff8010c125: e8 b9 0d 00 00 callq ffffffff8010cee3 <idt_handler>
ffffffff8010c12a: 5b pop %rbx
ffffffff8010c12b: 8e db mov %ebx,%ds
ffffffff8010c12d: 8e c3 mov %ebx,%es
ffffffff8010c12f: 8e e3 mov %ebx,%fs
ffffffff8010c131: 8e eb mov %ebx,%gs
ffffffff8010c133: 8e d3 mov %ebx,%ss
ffffffff8010c135: 5f pop %rdi
ffffffff8010c136: 5e pop %rsi
ffffffff8010c137: 5d pop %rbp
ffffffff8010c138: 5c pop %rsp
ffffffff8010c139: 5b pop %rbx
ffffffff8010c13a: 5a pop %rdx
ffffffff8010c13b: 59 pop %rcx
ffffffff8010c13c: 58 pop %rax
ffffffff8010c13d: 48 83 c4 08 add $0x8,%rsp
ffffffff8010c141: fb sti
ffffffff8010c142: 48 cf iretq
ffffffff8010c144 <idt_flush>:
ffffffff8010c144: 48 8b 44 24 04 mov 0x4(%rsp),%rax
ffffffff8010c149: 0f 01 18 lidt (%rax)
ffffffff8010c14c: c3 retq
ffffffff8010c14d: 00 00 add %al,(%rax)
...
ffffffff8010c150 <kernel_main>:
ffffffff8010c150: 55 push %rbp
ffffffff8010c151: 48 89 e5 mov %rsp,%rbp
ffffffff8010c154: 48 81 ec c0 0f 00 00 sub $0xfc0,%rsp
ffffffff8010c15b: 48 89 bd 48 f0 ff ff mov %rdi,-0xfb8(%rbp)
ffffffff8010c162: c6 85 50 f0 ff ff 00 movb $0x0,-0xfb0(%rbp)
ffffffff8010c169: c6 85 51 f0 ff ff 00 movb $0x0,-0xfaf(%rbp)
ffffffff8010c170: c6 45 f2 00 movb $0x0,-0xe(%rbp)
ffffffff8010c174: c6 45 f3 0f movb $0xf,-0xd(%rbp)
ffffffff8010c178: 48 8d 85 50 f0 ff ff lea -0xfb0(%rbp),%rax
ffffffff8010c17f: 48 89 c7 mov %rax,%rdi
ffffffff8010c182: e8 2f 04 00 00 callq ffffffff8010c5b6 <monitor_switch_screen>
ffffffff8010c187: 48 8d 85 50 f0 ff ff lea -0xfb0(%rbp),%rax
ffffffff8010c18e: 48 89 c7 mov %rax,%rdi
ffffffff8010c191: e8 55 03 00 00 callq ffffffff8010c4eb <monitor_clear>
ffffffff8010c196: 48 8d 85 50 f0 ff ff lea -0xfb0(%rbp),%rax
ffffffff8010c19d: 48 c7 c6 00 e0 10 80 mov $0xffffffff8010e000,%rsi
ffffffff8010c1a4: 48 89 c7 mov %rax,%rdi
ffffffff8010c1a7: e8 ce 03 00 00 callq ffffffff8010c57a <monitor_write>
ffffffff8010c1ac: cc int3
ffffffff8010c1ad: 66 87 db xchg %bx,%bx
ffffffff8010c1b0: b8 de c0 ad de mov $0xdeadc0de,%eax
ffffffff8010c1b5: c9 leaveq
ffffffff8010c1b6: c3 retq
...
ffffffff8010c1b8 <outb>:
ffffffff8010c1b8: 55 push %rbp
ffffffff8010c1b9: 48 89 e5 mov %rsp,%rbp
ffffffff8010c1bc: 48 83 ec 08 sub $0x8,%rsp
ffffffff8010c1c0: 89 fa mov %edi,%edx
ffffffff8010c1c2: 89 f0 mov %esi,%eax
ffffffff8010c1c4: 66 89 55 fc mov %dx,-0x4(%rbp)
ffffffff8010c1c8: 88 45 f8 mov %al,-0x8(%rbp)
ffffffff8010c1cb: 0f b7 55 fc movzwl -0x4(%rbp),%edx
ffffffff8010c1cf: 0f b6 45 f8 movzbl -0x8(%rbp),%eax
ffffffff8010c1d3: ee out %al,(%dx)
ffffffff8010c1d4: c9 leaveq
ffffffff8010c1d5: c3 retq
ffffffff8010c1d6 <inb>:
ffffffff8010c1d6: 55 push %rbp
ffffffff8010c1d7: 48 89 e5 mov %rsp,%rbp
ffffffff8010c1da: 53 push %rbx
ffffffff8010c1db: 48 83 ec 18 sub $0x18,%rsp
ffffffff8010c1df: 89 f8 mov %edi,%eax
ffffffff8010c1e1: 66 89 45 e4 mov %ax,-0x1c(%rbp)
ffffffff8010c1e5: 0f b7 55 e4 movzwl -0x1c(%rbp),%edx
ffffffff8010c1e9: 66 89 55 e2 mov %dx,-0x1e(%rbp)
ffffffff8010c1ed: 0f b7 55 e2 movzwl -0x1e(%rbp),%edx
ffffffff8010c1f1: ec in (%dx),%al
ffffffff8010c1f2: 89 c3 mov %eax,%ebx
ffffffff8010c1f4: 88 5d f7 mov %bl,-0x9(%rbp)
ffffffff8010c1f7: 0f b6 45 f7 movzbl -0x9(%rbp),%eax
ffffffff8010c1fb: 48 83 c4 18 add $0x18,%rsp
ffffffff8010c1ff: 5b pop %rbx
ffffffff8010c200: 5d pop %rbp
ffffffff8010c201: c3 retq
ffffffff8010c202 <inw>:
ffffffff8010c202: 55 push %rbp
ffffffff8010c203: 48 89 e5 mov %rsp,%rbp
ffffffff8010c206: 53 push %rbx
ffffffff8010c207: 48 83 ec 18 sub $0x18,%rsp
ffffffff8010c20b: 89 f8 mov %edi,%eax
ffffffff8010c20d: 66 89 45 e4 mov %ax,-0x1c(%rbp)
ffffffff8010c211: 0f b7 55 e4 movzwl -0x1c(%rbp),%edx
ffffffff8010c215: 66 89 55 e2 mov %dx,-0x1e(%rbp)
ffffffff8010c219: 0f b7 55 e2 movzwl -0x1e(%rbp),%edx
ffffffff8010c21d: 66 ed in (%dx),%ax
ffffffff8010c21f: 89 c3 mov %eax,%ebx
ffffffff8010c221: 66 89 5d f6 mov %bx,-0xa(%rbp)
ffffffff8010c225: 0f b7 45 f6 movzwl -0xa(%rbp),%eax
ffffffff8010c229: 48 83 c4 18 add $0x18,%rsp
ffffffff8010c22d: 5b pop %rbx
ffffffff8010c22e: 5d pop %rbp
ffffffff8010c22f: c3 retq
ffffffff8010c230 <move_cursor>:
ffffffff8010c230: 55 push %rbp
ffffffff8010c231: 48 89 e5 mov %rsp,%rbp
ffffffff8010c234: 48 83 ec 20 sub $0x20,%rsp
ffffffff8010c238: 48 89 7d e8 mov %rdi,-0x18(%rbp)
ffffffff8010c23c: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c240: 0f b6 40 01 movzbl 0x1(%rax),%eax
ffffffff8010c244: 0f b6 d0 movzbl %al,%edx
ffffffff8010c247: 89 d0 mov %edx,%eax
ffffffff8010c249: c1 e0 02 shl $0x2,%eax
ffffffff8010c24c: 01 d0 add %edx,%eax
ffffffff8010c24e: c1 e0 04 shl $0x4,%eax
ffffffff8010c251: 89 c2 mov %eax,%edx
ffffffff8010c253: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c257: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c25a: 0f b6 c0 movzbl %al,%eax
ffffffff8010c25d: 01 d0 add %edx,%eax
ffffffff8010c25f: 66 89 45 fe mov %ax,-0x2(%rbp)
ffffffff8010c263: be 0e 00 00 00 mov $0xe,%esi
ffffffff8010c268: bf d4 03 00 00 mov $0x3d4,%edi
ffffffff8010c26d: e8 46 ff ff ff callq ffffffff8010c1b8 <outb>
ffffffff8010c272: 0f b7 45 fe movzwl -0x2(%rbp),%eax
ffffffff8010c276: 66 c1 e8 08 shr $0x8,%ax
ffffffff8010c27a: 0f b6 c0 movzbl %al,%eax
ffffffff8010c27d: 89 c6 mov %eax,%esi
ffffffff8010c27f: bf d5 03 00 00 mov $0x3d5,%edi
ffffffff8010c284: e8 2f ff ff ff callq ffffffff8010c1b8 <outb>
ffffffff8010c289: be 0f 00 00 00 mov $0xf,%esi
ffffffff8010c28e: bf d4 03 00 00 mov $0x3d4,%edi
ffffffff8010c293: e8 20 ff ff ff callq ffffffff8010c1b8 <outb>
ffffffff8010c298: 0f b7 45 fe movzwl -0x2(%rbp),%eax
ffffffff8010c29c: 0f b6 c0 movzbl %al,%eax
ffffffff8010c29f: 89 c6 mov %eax,%esi
ffffffff8010c2a1: bf d5 03 00 00 mov $0x3d5,%edi
ffffffff8010c2a6: e8 0d ff ff ff callq ffffffff8010c1b8 <outb>
ffffffff8010c2ab: c9 leaveq
ffffffff8010c2ac: c3 retq
ffffffff8010c2ad <scroll>:
ffffffff8010c2ad: 55 push %rbp
ffffffff8010c2ae: 48 89 e5 mov %rsp,%rbp
ffffffff8010c2b1: 48 83 ec 18 sub $0x18,%rsp
ffffffff8010c2b5: 48 89 7d e8 mov %rdi,-0x18(%rbp)
ffffffff8010c2b9: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c2bd: 0f b6 80 a2 0f 00 00 movzbl 0xfa2(%rax),%eax
ffffffff8010c2c4: 0f b6 c0 movzbl %al,%eax
ffffffff8010c2c7: c1 e0 04 shl $0x4,%eax
ffffffff8010c2ca: 89 c2 mov %eax,%edx
ffffffff8010c2cc: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c2d0: 0f b6 80 a3 0f 00 00 movzbl 0xfa3(%rax),%eax
ffffffff8010c2d7: 83 e0 0f and $0xf,%eax
ffffffff8010c2da: 09 d0 or %edx,%eax
ffffffff8010c2dc: 88 45 fb mov %al,-0x5(%rbp)
ffffffff8010c2df: 0f b6 45 fb movzbl -0x5(%rbp),%eax
ffffffff8010c2e3: c1 e0 08 shl $0x8,%eax
ffffffff8010c2e6: 83 c8 20 or $0x20,%eax
ffffffff8010c2e9: 66 89 45 f8 mov %ax,-0x8(%rbp)
ffffffff8010c2ed: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c2f1: 0f b6 40 01 movzbl 0x1(%rax),%eax
ffffffff8010c2f5: 3c 18 cmp $0x18,%al
ffffffff8010c2f7: 76 61 jbe ffffffff8010c35a <scroll+0xad>
ffffffff8010c2f9: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
ffffffff8010c300: eb 21 jmp ffffffff8010c323 <scroll+0x76>
ffffffff8010c302: 8b 45 fc mov -0x4(%rbp),%eax
ffffffff8010c305: 8d 50 50 lea 0x50(%rax),%edx
ffffffff8010c308: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c30c: 89 d2 mov %edx,%edx
ffffffff8010c30e: 0f b7 4c 50 02 movzwl 0x2(%rax,%rdx,2),%ecx
ffffffff8010c313: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c317: 8b 55 fc mov -0x4(%rbp),%edx
ffffffff8010c31a: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
ffffffff8010c31f: 83 45 fc 01 addl $0x1,-0x4(%rbp)
ffffffff8010c323: 81 7d fc 7f 07 00 00 cmpl $0x77f,-0x4(%rbp)
ffffffff8010c32a: 76 d6 jbe ffffffff8010c302 <scroll+0x55>
ffffffff8010c32c: c7 45 fc 80 07 00 00 movl $0x780,-0x4(%rbp)
ffffffff8010c333: eb 14 jmp ffffffff8010c349 <scroll+0x9c>
ffffffff8010c335: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c339: 8b 55 fc mov -0x4(%rbp),%edx
ffffffff8010c33c: 0f b7 4d f8 movzwl -0x8(%rbp),%ecx
ffffffff8010c340: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
ffffffff8010c345: 83 45 fc 01 addl $0x1,-0x4(%rbp)
ffffffff8010c349: 81 7d fc cf 07 00 00 cmpl $0x7cf,-0x4(%rbp)
ffffffff8010c350: 76 e3 jbe ffffffff8010c335 <scroll+0x88>
ffffffff8010c352: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c356: c6 40 01 18 movb $0x18,0x1(%rax)
ffffffff8010c35a: c9 leaveq
ffffffff8010c35b: c3 retq
ffffffff8010c35c <monitor_put>:
ffffffff8010c35c: 55 push %rbp
ffffffff8010c35d: 48 89 e5 mov %rsp,%rbp
ffffffff8010c360: 48 83 ec 20 sub $0x20,%rsp
ffffffff8010c364: 48 89 7d e8 mov %rdi,-0x18(%rbp)
ffffffff8010c368: 89 f0 mov %esi,%eax
ffffffff8010c36a: 88 45 e4 mov %al,-0x1c(%rbp)
ffffffff8010c36d: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c371: 0f b6 80 a2 0f 00 00 movzbl 0xfa2(%rax),%eax
ffffffff8010c378: 0f b6 c0 movzbl %al,%eax
ffffffff8010c37b: c1 e0 04 shl $0x4,%eax
ffffffff8010c37e: 89 c2 mov %eax,%edx
ffffffff8010c380: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c384: 0f b6 80 a3 0f 00 00 movzbl 0xfa3(%rax),%eax
ffffffff8010c38b: 83 e0 0f and $0xf,%eax
ffffffff8010c38e: 09 d0 or %edx,%eax
ffffffff8010c390: 88 45 ff mov %al,-0x1(%rbp)
ffffffff8010c393: 0f b6 45 ff movzbl -0x1(%rbp),%eax
ffffffff8010c397: c1 e0 08 shl $0x8,%eax
ffffffff8010c39a: 66 89 45 fc mov %ax,-0x4(%rbp)
ffffffff8010c39e: 80 7d e4 08 cmpb $0x8,-0x1c(%rbp)
ffffffff8010c3a2: 75 20 jne ffffffff8010c3c4 <monitor_put+0x68>
ffffffff8010c3a4: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c3a8: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c3ab: 84 c0 test %al,%al
ffffffff8010c3ad: 74 15 je ffffffff8010c3c4 <monitor_put+0x68>
ffffffff8010c3af: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c3b3: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c3b6: 8d 50 ff lea -0x1(%rax),%edx
ffffffff8010c3b9: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c3bd: 88 10 mov %dl,(%rax)
ffffffff8010c3bf: e9 a3 00 00 00 jmpq ffffffff8010c467 <monitor_put+0x10b>
ffffffff8010c3c4: 80 7d e4 09 cmpb $0x9,-0x1c(%rbp)
ffffffff8010c3c8: 75 1a jne ffffffff8010c3e4 <monitor_put+0x88>
ffffffff8010c3ca: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c3ce: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c3d1: 83 c0 08 add $0x8,%eax
ffffffff8010c3d4: 89 c2 mov %eax,%edx
ffffffff8010c3d6: 83 e2 f8 and $0xfffffff8,%edx
ffffffff8010c3d9: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c3dd: 88 10 mov %dl,(%rax)
ffffffff8010c3df: e9 83 00 00 00 jmpq ffffffff8010c467 <monitor_put+0x10b>
ffffffff8010c3e4: 80 7d e4 0d cmpb $0xd,-0x1c(%rbp)
ffffffff8010c3e8: 75 09 jne ffffffff8010c3f3 <monitor_put+0x97>
ffffffff8010c3ea: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c3ee: c6 00 00 movb $0x0,(%rax)
ffffffff8010c3f1: eb 74 jmp ffffffff8010c467 <monitor_put+0x10b>
ffffffff8010c3f3: 80 7d e4 0a cmpb $0xa,-0x1c(%rbp)
ffffffff8010c3f7: 75 1b jne ffffffff8010c414 <monitor_put+0xb8>
ffffffff8010c3f9: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c3fd: c6 00 00 movb $0x0,(%rax)
ffffffff8010c400: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c404: 0f b6 40 01 movzbl 0x1(%rax),%eax
ffffffff8010c408: 8d 50 01 lea 0x1(%rax),%edx
ffffffff8010c40b: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c40f: 88 50 01 mov %dl,0x1(%rax)
ffffffff8010c412: eb 53 jmp ffffffff8010c467 <monitor_put+0x10b>
ffffffff8010c414: 80 7d e4 1f cmpb $0x1f,-0x1c(%rbp)
ffffffff8010c418: 7e 4d jle ffffffff8010c467 <monitor_put+0x10b>
ffffffff8010c41a: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c41e: 0f b6 40 01 movzbl 0x1(%rax),%eax
ffffffff8010c422: 0f b6 d0 movzbl %al,%edx
ffffffff8010c425: 89 d0 mov %edx,%eax
ffffffff8010c427: c1 e0 02 shl $0x2,%eax
ffffffff8010c42a: 01 d0 add %edx,%eax
ffffffff8010c42c: c1 e0 04 shl $0x4,%eax
ffffffff8010c42f: 89 c2 mov %eax,%edx
ffffffff8010c431: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c435: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c438: 0f b6 c0 movzbl %al,%eax
ffffffff8010c43b: 8d 34 02 lea (%rdx,%rax,1),%esi
ffffffff8010c43e: 66 0f be 55 e4 movsbw -0x1c(%rbp),%dx
ffffffff8010c443: 0f b7 45 fc movzwl -0x4(%rbp),%eax
ffffffff8010c447: 09 d0 or %edx,%eax
ffffffff8010c449: 89 c1 mov %eax,%ecx
ffffffff8010c44b: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c44f: 48 63 d6 movslq %esi,%rdx
ffffffff8010c452: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
ffffffff8010c457: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c45b: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c45e: 8d 50 01 lea 0x1(%rax),%edx
ffffffff8010c461: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c465: 88 10 mov %dl,(%rax)
ffffffff8010c467: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c46b: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c46e: 3c 4f cmp $0x4f,%al
ffffffff8010c470: 76 19 jbe ffffffff8010c48b <monitor_put+0x12f>
ffffffff8010c472: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c476: c6 00 00 movb $0x0,(%rax)
ffffffff8010c479: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c47d: 0f b6 40 01 movzbl 0x1(%rax),%eax
ffffffff8010c481: 8d 50 01 lea 0x1(%rax),%edx
ffffffff8010c484: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c488: 88 50 01 mov %dl,0x1(%rax)
ffffffff8010c48b: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c48f: 48 89 c7 mov %rax,%rdi
ffffffff8010c492: e8 16 fe ff ff callq ffffffff8010c2ad <scroll>
ffffffff8010c497: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c49b: 48 89 c7 mov %rax,%rdi
ffffffff8010c49e: e8 02 00 00 00 callq ffffffff8010c4a5 <monitor_refresh>
ffffffff8010c4a3: c9 leaveq
ffffffff8010c4a4: c3 retq
ffffffff8010c4a5 <monitor_refresh>:
ffffffff8010c4a5: 55 push %rbp
ffffffff8010c4a6: 48 89 e5 mov %rsp,%rbp
ffffffff8010c4a9: 48 83 ec 10 sub $0x10,%rsp
ffffffff8010c4ad: 48 89 7d f8 mov %rdi,-0x8(%rbp)
ffffffff8010c4b1: 48 8b 05 48 2b 00 00 mov 0x2b48(%rip),%rax # ffffffff8010f000 <current_screen>
ffffffff8010c4b8: 48 39 45 f8 cmp %rax,-0x8(%rbp)
ffffffff8010c4bc: 75 1f jne ffffffff8010c4dd <monitor_refresh+0x38>
ffffffff8010c4be: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c4c2: 48 8d 48 02 lea 0x2(%rax),%rcx
ffffffff8010c4c6: 48 8b 05 33 0b 00 00 mov 0xb33(%rip),%rax # ffffffff8010d000 <video_memory>
ffffffff8010c4cd: ba a0 0f 00 00 mov $0xfa0,%edx
ffffffff8010c4d2: 48 89 ce mov %rcx,%rsi
ffffffff8010c4d5: 48 89 c7 mov %rax,%rdi
ffffffff8010c4d8: e8 b7 03 00 00 callq ffffffff8010c894 <memcpy>
ffffffff8010c4dd: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c4e1: 48 89 c7 mov %rax,%rdi
ffffffff8010c4e4: e8 47 fd ff ff callq ffffffff8010c230 <move_cursor>
ffffffff8010c4e9: c9 leaveq
ffffffff8010c4ea: c3 retq
ffffffff8010c4eb <monitor_clear>:
ffffffff8010c4eb: 55 push %rbp
ffffffff8010c4ec: 48 89 e5 mov %rsp,%rbp
ffffffff8010c4ef: 48 83 ec 20 sub $0x20,%rsp
ffffffff8010c4f3: 48 89 7d e8 mov %rdi,-0x18(%rbp)
ffffffff8010c4f7: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c4fb: 0f b6 80 a2 0f 00 00 movzbl 0xfa2(%rax),%eax
ffffffff8010c502: 0f b6 c0 movzbl %al,%eax
ffffffff8010c505: c1 e0 04 shl $0x4,%eax
ffffffff8010c508: 89 c2 mov %eax,%edx
ffffffff8010c50a: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c50e: 0f b6 80 a3 0f 00 00 movzbl 0xfa3(%rax),%eax
ffffffff8010c515: 83 e0 0f and $0xf,%eax
ffffffff8010c518: 09 d0 or %edx,%eax
ffffffff8010c51a: 88 45 fb mov %al,-0x5(%rbp)
ffffffff8010c51d: 0f b6 45 fb movzbl -0x5(%rbp),%eax
ffffffff8010c521: c1 e0 08 shl $0x8,%eax
ffffffff8010c524: 83 c8 20 or $0x20,%eax
ffffffff8010c527: 66 89 45 f8 mov %ax,-0x8(%rbp)
ffffffff8010c52b: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
ffffffff8010c532: eb 14 jmp ffffffff8010c548 <monitor_clear+0x5d>
ffffffff8010c534: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c538: 8b 55 fc mov -0x4(%rbp),%edx
ffffffff8010c53b: 0f b7 4d f8 movzwl -0x8(%rbp),%ecx
ffffffff8010c53f: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
ffffffff8010c544: 83 45 fc 01 addl $0x1,-0x4(%rbp)
ffffffff8010c548: 81 7d fc cf 07 00 00 cmpl $0x7cf,-0x4(%rbp)
ffffffff8010c54f: 76 e3 jbe ffffffff8010c534 <monitor_clear+0x49>
ffffffff8010c551: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c555: c6 00 00 movb $0x0,(%rax)
ffffffff8010c558: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c55c: c6 40 01 00 movb $0x0,0x1(%rax)
ffffffff8010c560: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c564: 48 89 c7 mov %rax,%rdi
ffffffff8010c567: e8 c4 fc ff ff callq ffffffff8010c230 <move_cursor>
ffffffff8010c56c: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c570: 48 89 c7 mov %rax,%rdi
ffffffff8010c573: e8 2d ff ff ff callq ffffffff8010c4a5 <monitor_refresh>
ffffffff8010c578: c9 leaveq
ffffffff8010c579: c3 retq
ffffffff8010c57a <monitor_write>:
ffffffff8010c57a: 55 push %rbp
ffffffff8010c57b: 48 89 e5 mov %rsp,%rbp
ffffffff8010c57e: 48 83 ec 10 sub $0x10,%rsp
ffffffff8010c582: 48 89 7d f8 mov %rdi,-0x8(%rbp)
ffffffff8010c586: 48 89 75 f0 mov %rsi,-0x10(%rbp)
ffffffff8010c58a: eb 1d jmp ffffffff8010c5a9 <monitor_write+0x2f>
ffffffff8010c58c: 48 8b 45 f0 mov -0x10(%rbp),%rax
ffffffff8010c590: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c593: 0f be d0 movsbl %al,%edx
ffffffff8010c596: 48 83 45 f0 01 addq $0x1,-0x10(%rbp)
ffffffff8010c59b: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c59f: 89 d6 mov %edx,%esi
ffffffff8010c5a1: 48 89 c7 mov %rax,%rdi
ffffffff8010c5a4: e8 b3 fd ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c5a9: 48 8b 45 f0 mov -0x10(%rbp),%rax
ffffffff8010c5ad: 0f b6 00 movzbl (%rax),%eax
ffffffff8010c5b0: 84 c0 test %al,%al
ffffffff8010c5b2: 75 d8 jne ffffffff8010c58c <monitor_write+0x12>
ffffffff8010c5b4: c9 leaveq
ffffffff8010c5b5: c3 retq
ffffffff8010c5b6 <monitor_switch_screen>:
ffffffff8010c5b6: 55 push %rbp
ffffffff8010c5b7: 48 89 e5 mov %rsp,%rbp
ffffffff8010c5ba: 48 83 ec 10 sub $0x10,%rsp
ffffffff8010c5be: 48 89 7d f8 mov %rdi,-0x8(%rbp)
ffffffff8010c5c2: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c5c6: 48 89 05 33 2a 00 00 mov %rax,0x2a33(%rip) # ffffffff8010f000 <current_screen>
ffffffff8010c5cd: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c5d1: 48 89 c7 mov %rax,%rdi
ffffffff8010c5d4: e8 cc fe ff ff callq ffffffff8010c4a5 <monitor_refresh>
ffffffff8010c5d9: c9 leaveq
ffffffff8010c5da: c3 retq
ffffffff8010c5db <monitor_write_dec>:
ffffffff8010c5db: 55 push %rbp
ffffffff8010c5dc: 48 89 e5 mov %rsp,%rbp
ffffffff8010c5df: 48 81 ec b0 00 00 00 sub $0xb0,%rsp
ffffffff8010c5e6: 48 89 bd 68 ff ff ff mov %rdi,-0x98(%rbp)
ffffffff8010c5ed: 48 89 b5 60 ff ff ff mov %rsi,-0xa0(%rbp)
ffffffff8010c5f4: 48 83 bd 60 ff ff ff cmpq $0x0,-0xa0(%rbp)
ffffffff8010c5fb: 00
ffffffff8010c5fc: 75 19 jne ffffffff8010c617 <monitor_write_dec+0x3c>
ffffffff8010c5fe: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
ffffffff8010c605: be 30 00 00 00 mov $0x30,%esi
ffffffff8010c60a: 48 89 c7 mov %rax,%rdi
ffffffff8010c60d: e8 4a fd ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c612: e9 e5 00 00 00 jmpq ffffffff8010c6fc <monitor_write_dec+0x121>
ffffffff8010c617: 48 8b 85 60 ff ff ff mov -0xa0(%rbp),%rax
ffffffff8010c61e: 48 89 45 f8 mov %rax,-0x8(%rbp)
ffffffff8010c622: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%rbp)
ffffffff8010c629: eb 69 jmp ffffffff8010c694 <monitor_write_dec+0xb9>
ffffffff8010c62b: 48 8b 4d f8 mov -0x8(%rbp),%rcx
ffffffff8010c62f: 48 ba cd cc cc cc cc movabs $0xcccccccccccccccd,%rdx
ffffffff8010c636: cc cc cc
ffffffff8010c639: 48 89 c8 mov %rcx,%rax
ffffffff8010c63c: 48 f7 e2 mul %rdx
ffffffff8010c63f: 48 c1 ea 03 shr $0x3,%rdx
ffffffff8010c643: 48 89 d0 mov %rdx,%rax
ffffffff8010c646: 48 c1 e0 02 shl $0x2,%rax
ffffffff8010c64a: 48 01 d0 add %rdx,%rax
ffffffff8010c64d: 48 01 c0 add %rax,%rax
ffffffff8010c650: 48 89 ca mov %rcx,%rdx
ffffffff8010c653: 48 29 c2 sub %rax,%rdx
ffffffff8010c656: 89 d0 mov %edx,%eax
ffffffff8010c658: 83 c0 30 add $0x30,%eax
ffffffff8010c65b: 89 c2 mov %eax,%edx
ffffffff8010c65d: 8b 45 f4 mov -0xc(%rbp),%eax
ffffffff8010c660: 48 98 cltq
ffffffff8010c662: 88 54 05 b0 mov %dl,-0x50(%rbp,%rax,1)
ffffffff8010c666: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c66a: 48 89 85 58 ff ff ff mov %rax,-0xa8(%rbp)
ffffffff8010c671: 48 ba cd cc cc cc cc movabs $0xcccccccccccccccd,%rdx
ffffffff8010c678: cc cc cc
ffffffff8010c67b: 48 8b 85 58 ff ff ff mov -0xa8(%rbp),%rax
ffffffff8010c682: 48 f7 e2 mul %rdx
ffffffff8010c685: 48 89 d0 mov %rdx,%rax
ffffffff8010c688: 48 c1 e8 03 shr $0x3,%rax
ffffffff8010c68c: 48 89 45 f8 mov %rax,-0x8(%rbp)
ffffffff8010c690: 83 45 f4 01 addl $0x1,-0xc(%rbp)
ffffffff8010c694: 48 83 7d f8 00 cmpq $0x0,-0x8(%rbp)
ffffffff8010c699: 75 90 jne ffffffff8010c62b <monitor_write_dec+0x50>
ffffffff8010c69b: 8b 45 f4 mov -0xc(%rbp),%eax
ffffffff8010c69e: 48 98 cltq
ffffffff8010c6a0: c6 44 05 b0 00 movb $0x0,-0x50(%rbp,%rax,1)
ffffffff8010c6a5: 8b 45 f4 mov -0xc(%rbp),%eax
ffffffff8010c6a8: 48 98 cltq
ffffffff8010c6aa: c6 84 05 70 ff ff ff movb $0x0,-0x90(%rbp,%rax,1)
ffffffff8010c6b1: 00
ffffffff8010c6b2: 83 6d f4 01 subl $0x1,-0xc(%rbp)
ffffffff8010c6b6: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%rbp)
ffffffff8010c6bd: eb 1e jmp ffffffff8010c6dd <monitor_write_dec+0x102>
ffffffff8010c6bf: 8b 45 f0 mov -0x10(%rbp),%eax
ffffffff8010c6c2: 48 98 cltq
ffffffff8010c6c4: 0f b6 54 05 b0 movzbl -0x50(%rbp,%rax,1),%edx
ffffffff8010c6c9: 8b 45 f4 mov -0xc(%rbp),%eax
ffffffff8010c6cc: 48 98 cltq
ffffffff8010c6ce: 88 94 05 70 ff ff ff mov %dl,-0x90(%rbp,%rax,1)
ffffffff8010c6d5: 83 6d f4 01 subl $0x1,-0xc(%rbp)
ffffffff8010c6d9: 83 45 f0 01 addl $0x1,-0x10(%rbp)
ffffffff8010c6dd: 83 7d f4 00 cmpl $0x0,-0xc(%rbp)
ffffffff8010c6e1: 79 dc jns ffffffff8010c6bf <monitor_write_dec+0xe4>
ffffffff8010c6e3: 48 8d 95 70 ff ff ff lea -0x90(%rbp),%rdx
ffffffff8010c6ea: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
ffffffff8010c6f1: 48 89 d6 mov %rdx,%rsi
ffffffff8010c6f4: 48 89 c7 mov %rax,%rdi
ffffffff8010c6f7: e8 7e fe ff ff callq ffffffff8010c57a <monitor_write>
ffffffff8010c6fc: c9 leaveq
ffffffff8010c6fd: c3 retq
ffffffff8010c6fe <monitor_write_hex>:
ffffffff8010c6fe: 55 push %rbp
ffffffff8010c6ff: 48 89 e5 mov %rsp,%rbp
ffffffff8010c702: 53 push %rbx
ffffffff8010c703: 48 83 ec 28 sub $0x28,%rsp
ffffffff8010c707: 48 89 7d d8 mov %rdi,-0x28(%rbp)
ffffffff8010c70b: 48 89 75 d0 mov %rsi,-0x30(%rbp)
ffffffff8010c70f: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c713: 48 c7 c6 0e e0 10 80 mov $0xffffffff8010e00e,%rsi
ffffffff8010c71a: 48 89 c7 mov %rax,%rdi
ffffffff8010c71d: e8 58 fe ff ff callq ffffffff8010c57a <monitor_write>
ffffffff8010c722: 48 83 7d d0 00 cmpq $0x0,-0x30(%rbp)
ffffffff8010c727: 75 13 jne ffffffff8010c73c <monitor_write_hex+0x3e>
ffffffff8010c729: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c72d: be 30 00 00 00 mov $0x30,%esi
ffffffff8010c732: 48 89 c7 mov %rax,%rdi
ffffffff8010c735: e8 22 fc ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c73a: eb 6d jmp ffffffff8010c7a9 <monitor_write_hex+0xab>
ffffffff8010c73c: c6 45 ef 3c movb $0x3c,-0x11(%rbp)
ffffffff8010c740: eb 61 jmp ffffffff8010c7a3 <monitor_write_hex+0xa5>
ffffffff8010c742: 0f be 45 ef movsbl -0x11(%rbp),%eax
ffffffff8010c746: 48 8b 55 d0 mov -0x30(%rbp),%rdx
ffffffff8010c74a: 48 89 d3 mov %rdx,%rbx
ffffffff8010c74d: 89 c1 mov %eax,%ecx
ffffffff8010c74f: 48 d3 eb shr %cl,%rbx
ffffffff8010c752: 48 89 d8 mov %rbx,%rax
ffffffff8010c755: 83 e0 0f and $0xf,%eax
ffffffff8010c758: 88 45 ee mov %al,-0x12(%rbp)
ffffffff8010c75b: 80 7d ee 09 cmpb $0x9,-0x12(%rbp)
ffffffff8010c75f: 76 1a jbe ffffffff8010c77b <monitor_write_hex+0x7d>
ffffffff8010c761: 0f b6 45 ee movzbl -0x12(%rbp),%eax
ffffffff8010c765: 83 c0 37 add $0x37,%eax
ffffffff8010c768: 0f be d0 movsbl %al,%edx
ffffffff8010c76b: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c76f: 89 d6 mov %edx,%esi
ffffffff8010c771: 48 89 c7 mov %rax,%rdi
ffffffff8010c774: e8 e3 fb ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c779: eb 1e jmp ffffffff8010c799 <monitor_write_hex+0x9b>
ffffffff8010c77b: 80 7d ee 00 cmpb $0x0,-0x12(%rbp)
ffffffff8010c77f: 74 18 je ffffffff8010c799 <monitor_write_hex+0x9b>
ffffffff8010c781: 0f b6 45 ee movzbl -0x12(%rbp),%eax
ffffffff8010c785: 83 c0 30 add $0x30,%eax
ffffffff8010c788: 0f be d0 movsbl %al,%edx
ffffffff8010c78b: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c78f: 89 d6 mov %edx,%esi
ffffffff8010c791: 48 89 c7 mov %rax,%rdi
ffffffff8010c794: e8 c3 fb ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c799: 0f b6 45 ef movzbl -0x11(%rbp),%eax
ffffffff8010c79d: 83 e8 04 sub $0x4,%eax
ffffffff8010c7a0: 88 45 ef mov %al,-0x11(%rbp)
ffffffff8010c7a3: 80 7d ef 00 cmpb $0x0,-0x11(%rbp)
ffffffff8010c7a7: 79 99 jns ffffffff8010c742 <monitor_write_hex+0x44>
ffffffff8010c7a9: 48 83 c4 28 add $0x28,%rsp
ffffffff8010c7ad: 5b pop %rbx
ffffffff8010c7ae: 5d pop %rbp
ffffffff8010c7af: c3 retq
ffffffff8010c7b0 <monitor_write_dual>:
ffffffff8010c7b0: 55 push %rbp
ffffffff8010c7b1: 48 89 e5 mov %rsp,%rbp
ffffffff8010c7b4: 53 push %rbx
ffffffff8010c7b5: 48 83 ec 28 sub $0x28,%rsp
ffffffff8010c7b9: 48 89 7d d8 mov %rdi,-0x28(%rbp)
ffffffff8010c7bd: 48 89 75 d0 mov %rsi,-0x30(%rbp)
ffffffff8010c7c1: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c7c5: 48 c7 c6 11 e0 10 80 mov $0xffffffff8010e011,%rsi
ffffffff8010c7cc: 48 89 c7 mov %rax,%rdi
ffffffff8010c7cf: e8 a6 fd ff ff callq ffffffff8010c57a <monitor_write>
ffffffff8010c7d4: c6 45 ef 3f movb $0x3f,-0x11(%rbp)
ffffffff8010c7d8: eb 35 jmp ffffffff8010c80f <monitor_write_dual+0x5f>
ffffffff8010c7da: 0f be 45 ef movsbl -0x11(%rbp),%eax
ffffffff8010c7de: 48 8b 55 d0 mov -0x30(%rbp),%rdx
ffffffff8010c7e2: 48 89 d3 mov %rdx,%rbx
ffffffff8010c7e5: 89 c1 mov %eax,%ecx
ffffffff8010c7e7: 48 d3 eb shr %cl,%rbx
ffffffff8010c7ea: 48 89 d8 mov %rbx,%rax
ffffffff8010c7ed: 83 e0 01 and $0x1,%eax
ffffffff8010c7f0: 88 45 ee mov %al,-0x12(%rbp)
ffffffff8010c7f3: 0f b6 45 ee movzbl -0x12(%rbp),%eax
ffffffff8010c7f7: 83 c0 30 add $0x30,%eax
ffffffff8010c7fa: 0f be d0 movsbl %al,%edx
ffffffff8010c7fd: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c801: 89 d6 mov %edx,%esi
ffffffff8010c803: 48 89 c7 mov %rax,%rdi
ffffffff8010c806: e8 51 fb ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c80b: 80 6d ef 01 subb $0x1,-0x11(%rbp)
ffffffff8010c80f: 80 7d ef 00 cmpb $0x0,-0x11(%rbp)
ffffffff8010c813: 79 c5 jns ffffffff8010c7da <monitor_write_dual+0x2a>
ffffffff8010c815: 48 83 c4 28 add $0x28,%rsp
ffffffff8010c819: 5b pop %rbx
ffffffff8010c81a: 5d pop %rbp
ffffffff8010c81b: c3 retq
ffffffff8010c81c <monitor_write_octal>:
ffffffff8010c81c: 55 push %rbp
ffffffff8010c81d: 48 89 e5 mov %rsp,%rbp
ffffffff8010c820: 53 push %rbx
ffffffff8010c821: 48 83 ec 28 sub $0x28,%rsp
ffffffff8010c825: 48 89 7d d8 mov %rdi,-0x28(%rbp)
ffffffff8010c829: 48 89 75 d0 mov %rsi,-0x30(%rbp)
ffffffff8010c82d: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c831: be 30 00 00 00 mov $0x30,%esi
ffffffff8010c836: 48 89 c7 mov %rax,%rdi
ffffffff8010c839: e8 1e fb ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c83e: c6 45 ef 3f movb $0x3f,-0x11(%rbp)
ffffffff8010c842: eb 41 jmp ffffffff8010c885 <monitor_write_octal+0x69>
ffffffff8010c844: 0f be 45 ef movsbl -0x11(%rbp),%eax
ffffffff8010c848: 48 8b 55 d0 mov -0x30(%rbp),%rdx
ffffffff8010c84c: 48 89 d3 mov %rdx,%rbx
ffffffff8010c84f: 89 c1 mov %eax,%ecx
ffffffff8010c851: 48 d3 eb shr %cl,%rbx
ffffffff8010c854: 48 89 d8 mov %rbx,%rax
ffffffff8010c857: 83 e0 07 and $0x7,%eax
ffffffff8010c85a: 88 45 ee mov %al,-0x12(%rbp)
ffffffff8010c85d: 80 7d ee 00 cmpb $0x0,-0x12(%rbp)
ffffffff8010c861: 74 18 je ffffffff8010c87b <monitor_write_octal+0x5f>
ffffffff8010c863: 0f b6 45 ee movzbl -0x12(%rbp),%eax
ffffffff8010c867: 83 c0 30 add $0x30,%eax
ffffffff8010c86a: 0f be d0 movsbl %al,%edx
ffffffff8010c86d: 48 8b 45 d8 mov -0x28(%rbp),%rax
ffffffff8010c871: 89 d6 mov %edx,%esi
ffffffff8010c873: 48 89 c7 mov %rax,%rdi
ffffffff8010c876: e8 e1 fa ff ff callq ffffffff8010c35c <monitor_put>
ffffffff8010c87b: 0f b6 45 ef movzbl -0x11(%rbp),%eax
ffffffff8010c87f: 83 e8 03 sub $0x3,%eax
ffffffff8010c882: 88 45 ef mov %al,-0x11(%rbp)
ffffffff8010c885: 80 7d ef 00 cmpb $0x0,-0x11(%rbp)
ffffffff8010c889: 79 b9 jns ffffffff8010c844 <monitor_write_octal+0x28>
ffffffff8010c88b: 48 83 c4 28 add $0x28,%rsp
ffffffff8010c88f: 5b pop %rbx
ffffffff8010c890: 5d pop %rbp
ffffffff8010c891: c3 retq
...
ffffffff8010c894 <memcpy>:
ffffffff8010c894: 55 push %rbp
ffffffff8010c895: 48 89 e5 mov %rsp,%rbp
ffffffff8010c898: 48 83 ec 28 sub $0x28,%rsp
ffffffff8010c89c: 48 89 7d e8 mov %rdi,-0x18(%rbp)
ffffffff8010c8a0: 48 89 75 e0 mov %rsi,-0x20(%rbp)
ffffffff8010c8a4: 48 89 55 d8 mov %rdx,-0x28(%rbp)
ffffffff8010c8a8: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c8ac: 48 89 45 f8 mov %rax,-0x8(%rbp)
ffffffff8010c8b0: 48 8b 45 e0 mov -0x20(%rbp),%rax
ffffffff8010c8b4: 48 89 45 f0 mov %rax,-0x10(%rbp)
ffffffff8010c8b8: eb 17 jmp ffffffff8010c8d1 <memcpy+0x3d>
ffffffff8010c8ba: 48 8b 45 f0 mov -0x10(%rbp),%rax
ffffffff8010c8be: 0f b6 10 movzbl (%rax),%edx
ffffffff8010c8c1: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c8c5: 88 10 mov %dl,(%rax)
ffffffff8010c8c7: 48 83 45 f8 01 addq $0x1,-0x8(%rbp)
ffffffff8010c8cc: 48 83 45 f0 01 addq $0x1,-0x10(%rbp)
ffffffff8010c8d1: 48 83 7d d8 00 cmpq $0x0,-0x28(%rbp)
ffffffff8010c8d6: 0f 95 c0 setne %al
ffffffff8010c8d9: 48 83 6d d8 01 subq $0x1,-0x28(%rbp)
ffffffff8010c8de: 84 c0 test %al,%al
ffffffff8010c8e0: 75 d8 jne ffffffff8010c8ba <memcpy+0x26>
ffffffff8010c8e2: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c8e6: c9 leaveq
ffffffff8010c8e7: c3 retq
ffffffff8010c8e8 <memset>:
ffffffff8010c8e8: 55 push %rbp
ffffffff8010c8e9: 48 89 e5 mov %rsp,%rbp
ffffffff8010c8ec: 48 83 ec 28 sub $0x28,%rsp
ffffffff8010c8f0: 48 89 7d e8 mov %rdi,-0x18(%rbp)
ffffffff8010c8f4: 89 75 e4 mov %esi,-0x1c(%rbp)
ffffffff8010c8f7: 48 89 55 d8 mov %rdx,-0x28(%rbp)
ffffffff8010c8fb: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c8ff: 48 89 45 f8 mov %rax,-0x8(%rbp)
ffffffff8010c903: eb 15 jmp ffffffff8010c91a <memset+0x32>
ffffffff8010c905: 8b 45 e4 mov -0x1c(%rbp),%eax
ffffffff8010c908: 89 c2 mov %eax,%edx
ffffffff8010c90a: 48 8b 45 f8 mov -0x8(%rbp),%rax
ffffffff8010c90e: 88 10 mov %dl,(%rax)
ffffffff8010c910: 48 83 45 f8 01 addq $0x1,-0x8(%rbp)
ffffffff8010c915: 48 83 6d d8 01 subq $0x1,-0x28(%rbp)
ffffffff8010c91a: 48 83 7d d8 00 cmpq $0x0,-0x28(%rbp)
ffffffff8010c91f: 75 e4 jne ffffffff8010c905 <memset+0x1d>
ffffffff8010c921: 48 8b 45 e8 mov -0x18(%rbp),%rax
ffffffff8010c925: c9 leaveq
ffffffff8010c926: c3 retq
...
ffffffff8010c928 <get_cpuid>:
ffffffff8010c928: 55 push %rbp
ffffffff8010c929: 48 89 e5 mov %rsp,%rbp
ffffffff8010c92c: 41 56 push %r14
ffffffff8010c92e: 41 55 push %r13
ffffffff8010c930: 41 54 push %r12
ffffffff8010c932: 53 push %rbx
ffffffff8010c933: 48 83 ec 30 sub $0x30,%rsp
ffffffff8010c937: 48 89 7d b8 mov %rdi,-0x48(%rbp)
ffffffff8010c93b: 66 87 db xchg %bx,%bx
ffffffff8010c93e: 48 8b 45 b8 mov -0x48(%rbp),%rax
ffffffff8010c942: 48 83 c0 0d add $0xd,%rax
ffffffff8010c946: c6 00 00 movb $0x0,(%rax)
ffffffff8010c949: c7 45 b4 01 00 00 00 movl $0x1,-0x4c(%rbp)
ffffffff8010c950: 8b 45 b4 mov -0x4c(%rbp),%eax
ffffffff8010c953: 0f a2 cpuid
ffffffff8010c955: 41 89 d4 mov %edx,%r12d
ffffffff8010c958: 41 89 cd mov %ecx,%r13d
ffffffff8010c95b: 41 89 c6 mov %eax,%r14d
ffffffff8010c95e: 44 89 75 d8 mov %r14d,-0x28(%rbp)
ffffffff8010c962: 89 5d d4 mov %ebx,-0x2c(%rbp)
ffffffff8010c965: 44 89 6d d0 mov %r13d,-0x30(%rbp)
ffffffff8010c969: 44 89 65 cc mov %r12d,-0x34(%rbp)
ffffffff8010c96d: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp)
ffffffff8010c974: eb 23 jmp ffffffff8010c999 <get_cpuid+0x71>
ffffffff8010c976: 8b 45 dc mov -0x24(%rbp),%eax
ffffffff8010c979: 48 63 d0 movslq %eax,%rdx
ffffffff8010c97c: 48 8b 45 b8 mov -0x48(%rbp),%rax
ffffffff8010c980: 48 01 c2 add %rax,%rdx
ffffffff8010c983: 8b 45 dc mov -0x24(%rbp),%eax
ffffffff8010c986: 01 c0 add %eax,%eax
ffffffff8010c988: 8b 75 d4 mov -0x2c(%rbp),%esi
ffffffff8010c98b: 89 f3 mov %esi,%ebx
ffffffff8010c98d: 89 c1 mov %eax,%ecx
ffffffff8010c98f: d3 eb shr %cl,%ebx
ffffffff8010c991: 89 d8 mov %ebx,%eax
ffffffff8010c993: 88 02 mov %al,(%rdx)
ffffffff8010c995: 83 45 dc 01 addl $0x1,-0x24(%rbp)
ffffffff8010c999: 83 7d dc 03 cmpl $0x3,-0x24(%rbp)
ffffffff8010c99d: 7e d7 jle ffffffff8010c976 <get_cpuid+0x4e>
ffffffff8010c99f: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp)
ffffffff8010c9a6: eb 26 jmp ffffffff8010c9ce <get_cpuid+0xa6>
ffffffff8010c9a8: 8b 45 dc mov -0x24(%rbp),%eax
ffffffff8010c9ab: 48 98 cltq
ffffffff8010c9ad: 48 8d 50 04 lea 0x4(%rax),%rdx
ffffffff8010c9b1: 48 8b 45 b8 mov -0x48(%rbp),%rax
ffffffff8010c9b5: 48 01 c2 add %rax,%rdx
ffffffff8010c9b8: 8b 45 dc mov -0x24(%rbp),%eax
ffffffff8010c9bb: 01 c0 add %eax,%eax
ffffffff8010c9bd: 8b 75 cc mov -0x34(%rbp),%esi
ffffffff8010c9c0: 89 f3 mov %esi,%ebx
ffffffff8010c9c2: 89 c1 mov %eax,%ecx
ffffffff8010c9c4: d3 eb shr %cl,%ebx
ffffffff8010c9c6: 89 d8 mov %ebx,%eax
ffffffff8010c9c8: 88 02 mov %al,(%rdx)
ffffffff8010c9ca: 83 45 dc 01 addl $0x1,-0x24(%rbp)
ffffffff8010c9ce: 83 7d dc 03 cmpl $0x3,-0x24(%rbp)
ffffffff8010c9d2: 7e d4 jle ffffffff8010c9a8 <get_cpuid+0x80>
ffffffff8010c9d4: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp)
ffffffff8010c9db: eb 26 jmp ffffffff8010ca03 <get_cpuid+0xdb>
ffffffff8010c9dd: 8b 45 dc mov -0x24(%rbp),%eax
ffffffff8010c9e0: 48 98 cltq
ffffffff8010c9e2: 48 8d 50 08 lea 0x8(%rax),%rdx
ffffffff8010c9e6: 48 8b 45 b8 mov -0x48(%rbp),%rax
ffffffff8010c9ea: 48 01 c2 add %rax,%rdx
ffffffff8010c9ed: 8b 45 dc mov -0x24(%rbp),%eax
ffffffff8010c9f0: 01 c0 add %eax,%eax
ffffffff8010c9f2: 8b 75 d0 mov -0x30(%rbp),%esi
ffffffff8010c9f5: 89 f3 mov %esi,%ebx
ffffffff8010c9f7: 89 c1 mov %eax,%ecx
ffffffff8010c9f9: d3 eb shr %cl,%ebx
ffffffff8010c9fb: 89 d8 mov %ebx,%eax
ffffffff8010c9fd: 88 02 mov %al,(%rdx)
ffffffff8010c9ff: 83 45 dc 01 addl $0x1,-0x24(%rbp)
ffffffff8010ca03: 83 7d dc 03 cmpl $0x3,-0x24(%rbp)
ffffffff8010ca07: 7e d4 jle ffffffff8010c9dd <get_cpuid+0xb5>
ffffffff8010ca09: 48 83 c4 30 add $0x30,%rsp
ffffffff8010ca0d: 5b pop %rbx
ffffffff8010ca0e: 41 5c pop %r12
ffffffff8010ca10: 41 5d pop %r13
ffffffff8010ca12: 41 5e pop %r14
ffffffff8010ca14: 5d pop %rbp
ffffffff8010ca15: c3 retq
...
ffffffff8010ca18 <idt_init>:
ffffffff8010ca18: 55 push %rbp
ffffffff8010ca19: 48 89 e5 mov %rsp,%rbp
ffffffff8010ca1c: ba 00 08 00 00 mov $0x800,%edx
ffffffff8010ca21: be 00 00 00 00 mov $0x0,%esi
ffffffff8010ca26: 48 c7 c7 40 00 11 80 mov $0xffffffff80110040,%rdi
ffffffff8010ca2d: e8 b6 fe ff ff callq ffffffff8010c8e8 <memset>
ffffffff8010ca32: 66 c7 05 e5 25 00 00 movw $0xfff,0x25e5(%rip) # ffffffff8010f020 <idt_ptr>
ffffffff8010ca39: ff 0f
ffffffff8010ca3b: 48 c7 c0 40 f0 10 80 mov $0xffffffff8010f040,%rax
ffffffff8010ca42: 48 89 05 d9 25 00 00 mov %rax,0x25d9(%rip) # ffffffff8010f022 <idt_ptr+0x2>
ffffffff8010ca49: ba f0 0f 00 00 mov $0xff0,%edx
ffffffff8010ca4e: be 00 00 00 00 mov $0x0,%esi
ffffffff8010ca53: 48 c7 c7 40 f0 10 80 mov $0xffffffff8010f040,%rdi
ffffffff8010ca5a: e8 89 fe ff ff callq ffffffff8010c8e8 <memset>
ffffffff8010ca5f: 48 c7 c0 00 c0 10 80 mov $0xffffffff8010c000,%rax
ffffffff8010ca66: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010ca6b: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010ca70: 48 89 c6 mov %rax,%rsi
ffffffff8010ca73: bf 00 00 00 00 mov $0x0,%edi
ffffffff8010ca78: e8 b3 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010ca7d: 48 c7 c0 0a c0 10 80 mov $0xffffffff8010c00a,%rax
ffffffff8010ca84: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010ca89: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010ca8e: 48 89 c6 mov %rax,%rsi
ffffffff8010ca91: bf 01 00 00 00 mov $0x1,%edi
ffffffff8010ca96: e8 95 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010ca9b: 48 c7 c0 14 c0 10 80 mov $0xffffffff8010c014,%rax
ffffffff8010caa2: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010caa7: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010caac: 48 89 c6 mov %rax,%rsi
ffffffff8010caaf: bf 02 00 00 00 mov $0x2,%edi
ffffffff8010cab4: e8 77 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cab9: 48 c7 c0 1e c0 10 80 mov $0xffffffff8010c01e,%rax
ffffffff8010cac0: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cac5: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010caca: 48 89 c6 mov %rax,%rsi
ffffffff8010cacd: bf 03 00 00 00 mov $0x3,%edi
ffffffff8010cad2: e8 59 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cad7: 48 c7 c0 28 c0 10 80 mov $0xffffffff8010c028,%rax
ffffffff8010cade: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cae3: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cae8: 48 89 c6 mov %rax,%rsi
ffffffff8010caeb: bf 04 00 00 00 mov $0x4,%edi
ffffffff8010caf0: e8 3b 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010caf5: 48 c7 c0 32 c0 10 80 mov $0xffffffff8010c032,%rax
ffffffff8010cafc: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cb01: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cb06: 48 89 c6 mov %rax,%rsi
ffffffff8010cb09: bf 05 00 00 00 mov $0x5,%edi
ffffffff8010cb0e: e8 1d 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cb13: 48 c7 c0 3c c0 10 80 mov $0xffffffff8010c03c,%rax
ffffffff8010cb1a: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cb1f: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cb24: 48 89 c6 mov %rax,%rsi
ffffffff8010cb27: bf 06 00 00 00 mov $0x6,%edi
ffffffff8010cb2c: e8 ff 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cb31: 48 c7 c0 46 c0 10 80 mov $0xffffffff8010c046,%rax
ffffffff8010cb38: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cb3d: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cb42: 48 89 c6 mov %rax,%rsi
ffffffff8010cb45: bf 07 00 00 00 mov $0x7,%edi
ffffffff8010cb4a: e8 e1 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cb4f: 48 c7 c0 50 c0 10 80 mov $0xffffffff8010c050,%rax
ffffffff8010cb56: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cb5b: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cb60: 48 89 c6 mov %rax,%rsi
ffffffff8010cb63: bf 08 00 00 00 mov $0x8,%edi
ffffffff8010cb68: e8 c3 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cb6d: 48 c7 c0 58 c0 10 80 mov $0xffffffff8010c058,%rax
ffffffff8010cb74: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cb79: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cb7e: 48 89 c6 mov %rax,%rsi
ffffffff8010cb81: bf 09 00 00 00 mov $0x9,%edi
ffffffff8010cb86: e8 a5 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cb8b: 48 c7 c0 62 c0 10 80 mov $0xffffffff8010c062,%rax
ffffffff8010cb92: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cb97: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cb9c: 48 89 c6 mov %rax,%rsi
ffffffff8010cb9f: bf 0a 00 00 00 mov $0xa,%edi
ffffffff8010cba4: e8 87 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cba9: 48 c7 c0 6a c0 10 80 mov $0xffffffff8010c06a,%rax
ffffffff8010cbb0: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cbb5: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cbba: 48 89 c6 mov %rax,%rsi
ffffffff8010cbbd: bf 0b 00 00 00 mov $0xb,%edi
ffffffff8010cbc2: e8 69 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cbc7: 48 c7 c0 72 c0 10 80 mov $0xffffffff8010c072,%rax
ffffffff8010cbce: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cbd3: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cbd8: 48 89 c6 mov %rax,%rsi
ffffffff8010cbdb: bf 0c 00 00 00 mov $0xc,%edi
ffffffff8010cbe0: e8 4b 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cbe5: 48 c7 c0 7a c0 10 80 mov $0xffffffff8010c07a,%rax
ffffffff8010cbec: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cbf1: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cbf6: 48 89 c6 mov %rax,%rsi
ffffffff8010cbf9: bf 0d 00 00 00 mov $0xd,%edi
ffffffff8010cbfe: e8 2d 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
ffffffff8010cc03: 48 c7 c0 82 c0 10 80 mov $0xffffffff8010c082,%rax
ffffffff8010cc0a: b9 8e 00 00 00 mov $0x8e,%ecx
ffffffff8010cc0f: ba 08 00 00 00 mov $0x8,%edx
ffffffff8010cc14: 48 89 c6 mov %rax,%rsi
ffffffff8010cc17: bf 0e 00 00 00 mov $0xe,%edi
ffffffff8010cc1c: e8 0f 02 00 00 callq ffffffff8