Here's your kernel, compiled with GCC - 327 bytes of code and 84 bytes of string data.
Code: Select all
Disassembly of section .text:
00100000 <start>:
100000: eb 0e jmp 100010 <over_multiboot_header>
100002: 66 90 xchg %ax,%ax
100004: 02 b0 ad 1b 03 00 add 0x31bad(%eax),%dh
10000a: 00 00 add %al,(%eax)
10000c: fb sti
10000d: 4f dec %edi
10000e: 52 push %edx
10000f: e4 e8 in $0xe8,%al
00100010 <over_multiboot_header>:
100010: e8 0b 01 00 00 call 100120 <main>
100015: fa cli
100016: f4 hlt
100017: 66 90 xchg %ax,%ax
100019: 66 90 xchg %ax,%ax
10001b: 66 90 xchg %ax,%ax
10001d: 66 90 xchg %ax,%ax
10001f: 90 nop
00100020 <clear>:
100020: 0f b6 54 24 04 movzbl 0x4(%esp),%edx
100025: 31 c0 xor %eax,%eax
100027: c1 e2 04 shl $0x4,%edx
10002a: 02 54 24 08 add 0x8(%esp),%dl
10002e: 66 90 xchg %ax,%ax
100030: c6 80 00 80 0b 00 20 movb $0x20,0xb8000(%eax)
100037: 88 90 01 80 0b 00 mov %dl,0xb8001(%eax)
10003d: 83 c0 02 add $0x2,%eax
100040: 3d a0 0f 00 00 cmp $0xfa0,%eax
100045: 75 e9 jne 100030 <clear+0x10>
100047: f3 c3 repz ret
100049: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
00100050 <printf>:
100050: 56 push %esi
100051: 53 push %ebx
100052: 0f b6 44 24 18 movzbl 0x18(%esp),%eax
100057: 8b 5c 24 14 mov 0x14(%esp),%ebx
10005b: 8b 4c 24 0c mov 0xc(%esp),%ecx
10005f: c1 e0 04 shl $0x4,%eax
100062: 89 c6 mov %eax,%esi
100064: 0f b6 44 24 1c movzbl 0x1c(%esp),%eax
100069: 8d 14 9b lea (%ebx,%ebx,4),%edx
10006c: 83 c1 01 add $0x1,%ecx
10006f: c1 e2 04 shl $0x4,%edx
100072: 03 54 24 10 add 0x10(%esp),%edx
100076: 01 c6 add %eax,%esi
100078: 01 d2 add %edx,%edx
10007a: eb 18 jmp 100094 <printf+0x44>
10007c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
100080: 88 82 00 80 0b 00 mov %al,0xb8000(%edx)
100086: 89 f0 mov %esi,%eax
100088: 88 82 01 80 0b 00 mov %al,0xb8001(%edx)
10008e: 83 c2 02 add $0x2,%edx
100091: 83 c1 01 add $0x1,%ecx
100094: 0f b6 41 ff movzbl -0x1(%ecx),%eax
100098: 84 c0 test %al,%al
10009a: 74 14 je 1000b0 <printf+0x60>
10009c: 3c 0a cmp $0xa,%al
10009e: 75 e0 jne 100080 <printf+0x30>
1000a0: 83 c3 01 add $0x1,%ebx
1000a3: 8d 14 9b lea (%ebx,%ebx,4),%edx
1000a6: c1 e2 05 shl $0x5,%edx
1000a9: eb e6 jmp 100091 <printf+0x41>
1000ab: 90 nop
1000ac: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1000b0: b8 01 00 00 00 mov $0x1,%eax
1000b5: 5b pop %ebx
1000b6: 5e pop %esi
1000b7: c3 ret
1000b8: 90 nop
1000b9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
001000c0 <bscreen>:
1000c0: 83 ec 14 sub $0x14,%esp
1000c3: c7 44 24 10 0c 00 00 movl $0xc,0x10(%esp)
1000ca: 00
1000cb: c7 44 24 0c 00 00 00 movl $0x0,0xc(%esp)
1000d2: 00
1000d3: c7 44 24 08 08 00 00 movl $0x8,0x8(%esp)
1000da: 00
1000db: c7 44 24 04 0c 00 00 movl $0xc,0x4(%esp)
1000e2: 00
1000e3: c7 04 24 47 01 10 00 movl $0x100147,(%esp)
1000ea: e8 61 ff ff ff call 100050 <printf>
1000ef: c7 44 24 10 0c 00 00 movl $0xc,0x10(%esp)
1000f6: 00
1000f7: c7 44 24 0c 00 00 00 movl $0x0,0xc(%esp)
1000fe: 00
1000ff: c7 44 24 08 0a 00 00 movl $0xa,0x8(%esp)
100106: 00
100107: c7 44 24 04 18 00 00 movl $0x18,0x4(%esp)
10010e: 00
10010f: c7 04 24 64 01 10 00 movl $0x100164,(%esp)
100116: e8 35 ff ff ff call 100050 <printf>
10011b: 83 c4 14 add $0x14,%esp
10011e: c3 ret
10011f: 90 nop
00100120 <main>:
100120: 31 c0 xor %eax,%eax
100122: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
100128: c6 80 00 80 0b 00 20 movb $0x20,0xb8000(%eax)
10012f: c6 80 01 80 0b 00 00 movb $0x0,0xb8001(%eax)
100136: 83 c0 02 add $0x2,%eax
100139: 3d a0 0f 00 00 cmp $0xfa0,%eax
10013e: 75 e8 jne 100128 <main+0x8>
100140: e8 7b ff ff ff call 1000c0 <bscreen>
100145: f3 c3 repz ret
Disassembly of section .rodata.str1.1:
00100147 <.rodata.str1.1>:
100147: 57 push %edi
100148: 65 gs
100149: 6c insb (%dx),%es:(%edi)
10014a: 63 6f 6d arpl %bp,0x6d(%edi)
10014d: 65 20 74 6f 20 and %dh,%gs:0x20(%edi,%ebp,2)
100152: 54 push %esp
100153: 4f dec %edi
100154: 53 push %ebx
100155: 20 33 and %dh,(%ebx)
100157: 32 2d 42 69 74 20 xor 0x20746942,%ch
10015d: 2d 20 32 30 31 sub $0x31303220,%eax
100162: 33 00 xor (%eax),%eax
Disassembly of section .rodata.str1.4:
00100164 <.rodata.str1.4>:
100164: 54 push %esp
100165: 68 69 73 20 77 push $0x77207369
10016a: 61 popa
10016b: 73 20 jae 10018d <main+0x6d>
10016d: 6d insl (%dx),%es:(%edi)
10016e: 61 popa
10016f: 64 65 20 69 6e fs and %ch,%fs:%gs:0x6e(%ecx)
100174: 20 43 20 and %al,0x20(%ebx)
100177: 62 79 20 bound %edi,0x20(%ecx)
10017a: 67 addr16
10017b: 65 gs
10017c: 72 72 jb 1001f0 <main+0xd0>
10017e: 79 67 jns 1001e7 <main+0xc7>
100180: 20 61 73 and %ah,0x73(%ecx)
100183: 20 72 65 and %dh,0x65(%edx)
100186: 71 75 jno 1001fd <main+0xdd>
100188: 65 gs
100189: 73 74 jae 1001ff <main+0xdf>
10018b: 65 64 20 62 79 gs and %ah,%fs:%gs:0x79(%edx)
100190: 20 4b 6f and %cl,0x6f(%ebx)
100193: 72 74 jb 100209 <main+0xe9>
100195: 61 popa
100196: 74 68 je 100200 <main+0xe0>
100198: 2e 00 00 add %al,%cs:(%eax)