📄 krnl.lst
字号:
c00007c9: 6e outsb %ds:(%esi),(%dx)
c00007ca: 74 69 je c0000835 <_foo+0x105>
c00007cc: 6f outsl %ds:(%esi),(%dx)
c00007cd: 6e outsb %ds:(%esi),(%dx)
c00007ce: 61 popa
c00007cf: 6c insb (%dx),%es:(%edi)
c00007d0: 20 6d 65 and %ch,0x65(%ebp)
c00007d3: 6d insl (%dx),%es:(%edi)
c00007d4: 6f outsl %ds:(%esi),(%dx)
c00007d5: 72 79 jb c0000850 <_foo+0x120>
c00007d7: 2c 20 sub $0x20,%al
c00007d9: 25 75 4b 20 65 and $0x65204b75,%eax
c00007de: 78 74 js c0000854 <_foo+0x124>
c00007e0: 65 6e outsb %gs:(%esi),(%dx)
c00007e2: 64 65 64 20 6d 65 and %ch,%fs:%gs:0x65(%ebp)
c00007e8: 6d insl (%dx),%es:(%edi)
c00007e9: 6f outsl %ds:(%esi),(%dx)
c00007ea: 72 79 jb c0000865 <_foo+0x135>
c00007ec: 2e 20 56 69 and %dl,%cs:0x69(%esi)
c00007f0: 72 74 jb c0000866 <_foo+0x136>
c00007f2: 2d 74 6f 2d 70 sub $0x702d6f74,%eax
c00007f7: 68 79 73 3d 30 push $0x303d7379
c00007fc: 78 25 js c0000823 <_foo+0xf3>
c00007fe: 58 pop %eax
c00007ff: 2c 0a sub $0xa,%al
c0000801: 00 90 90 90 90 90 add %dl,0x90909090(%eax)
c0000807: 90 nop
c0000808: 90 nop
c0000809: 90 nop
c000080a: 90 nop
c000080b: 90 nop
c000080c: 90 nop
c000080d: 90 nop
c000080e: 90 nop
c000080f: 90 nop
c0000810: 90 nop
c0000811: 90 nop
c0000812: 90 nop
c0000813: 90 nop
c0000814: 90 nop
c0000815: 90 nop
c0000816: 90 nop
c0000817: 90 nop
c0000818: 90 nop
c0000819: 90 nop
c000081a: 90 nop
c000081b: 90 nop
c000081c: 90 nop
c000081d: 90 nop
c000081e: 90 nop
c000081f: 90 nop
c0000820: 6b 65 72 6e imul $0x6e,0x72(%ebp),%esp
c0000824: 65 gs
c0000825: 6c insb (%dx),%es:(%edi)
c0000826: 20 76 69 and %dh,0x69(%esi)
c0000829: 72 74 jb c000089f <_foo+0x16f>
c000082b: 75 61 jne c000088e <_foo+0x15e>
c000082d: 6c insb (%dx),%es:(%edi)
c000082e: 20 61 64 and %ah,0x64(%ecx)
c0000831: 64 fs
c0000832: 72 65 jb c0000899 <_foo+0x169>
c0000834: 73 73 jae c00008a9 <_foo+0x179>
c0000836: 3d 30 78 25 58 cmp $0x58257830,%eax
c000083b: 2c 20 sub $0x20,%al
c000083d: 70 68 jo c00008a7 <_foo+0x177>
c000083f: 79 73 jns c00008b4 <_foo+0x184>
c0000841: 69 63 61 6c 20 61 64 imul $0x6461206c,0x61(%ebx),%esp
c0000848: 64 fs
c0000849: 72 65 jb c00008b0 <_foo+0x180>
c000084b: 73 73 jae c00008c0 <_foo+0x190>
c000084d: 3d 30 78 25 58 cmp $0x58257830,%eax
c0000852: 0a 00 or (%eax),%al
c0000854: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
c000085a: 8d bf 00 00 00 00 lea 0x0(%edi),%edi
c0000860: 4b dec %ebx
c0000861: 65 gs
c0000862: 72 6e jb c00008d2 <_foo+0x1a2>
c0000864: 65 gs
c0000865: 6c insb (%dx),%es:(%edi)
c0000866: 20 6d 65 and %ch,0x65(%ebp)
c0000869: 6d insl (%dx),%es:(%edi)
c000086a: 6f outsl %ds:(%esi),(%dx)
c000086b: 72 79 jb c00008e6 <_foo+0x1b6>
c000086d: 3a 09 cmp (%ecx),%cl
c000086f: 63 6f 64 arpl %bp,0x64(%edi)
c0000872: 65 09 64 61 74 or %esp,%gs:0x74(%ecx,2)
c0000877: 61 popa
c0000878: 09 62 73 or %esp,0x73(%edx)
c000087b: 73 09 jae c0000886 <_foo+0x156>
c000087d: 54 push %esp
c000087e: 4f dec %edi
c000087f: 54 push %esp
c0000880: 41 inc %ecx
c0000881: 4c dec %esp
c0000882: 0a 09 or (%ecx),%cl
c0000884: 54 push %esp
c0000885: 4f dec %edi
c0000886: 54 push %esp
c0000887: 41 inc %ecx
c0000888: 4c dec %esp
c0000889: 09 25 75 09 25 75 or %esp,0x75250975
c000088f: 09 25 75 09 25 75 or %esp,0x75250975
c0000895: 0a 09 or (%ecx),%cl
c0000897: 44 inc %esp
c0000898: 49 dec %ecx
c0000899: 53 push %ebx
c000089a: 43 inc %ebx
c000089b: 41 inc %ecx
c000089c: 52 push %edx
c000089d: 44 inc %esp
c000089e: 09 25 75 09 25 75 or %esp,0x75250975
c00008a4: 09 25 75 09 25 75 or %esp,0x75250975
c00008aa: 0a 09 or (%ecx),%cl
c00008ac: 4b dec %ebx
c00008ad: 45 inc %ebp
c00008ae: 45 inc %ebp
c00008af: 50 push %eax
c00008b0: 09 25 75 09 25 75 or %esp,0x75250975
c00008b6: 09 25 75 09 25 75 or %esp,0x75250975
c00008bc: 09 28 or %ebp,(%eax)
c00008be: 61 popa
c00008bf: 6c insb (%dx),%es:(%edi)
c00008c0: 6c insb (%dx),%es:(%edi)
c00008c1: 20 76 61 and %dh,0x61(%esi)
c00008c4: 6c insb (%dx),%es:(%edi)
c00008c5: 75 65 jne c000092c <_foo+0x1fc>
c00008c7: 73 20 jae c00008e9 <_foo+0x1b9>
c00008c9: 69 6e 20 62 79 74 65 imul $0x65747962,0x20(%esi),%ebp
c00008d0: 73 29 jae c00008fb <_foo+0x1cb>
c00008d2: 0a 00 or (%eax),%al
c00008d4: 63 61 6c arpl %sp,0x6c(%ecx)
c00008d7: 6c insb (%dx),%es:(%edi)
c00008d8: 69 6e 67 20 69 6e 69 imul $0x696e6920,0x67(%esi),%ebp
c00008df: 74 5f je c0000940 <_foo+0x210>
c00008e1: 38 32 cmp %dh,(%edx)
c00008e3: 35 39 73 0a 00 xor $0xa7339,%eax
c00008e8: 63 61 6c arpl %sp,0x6c(%ecx)
c00008eb: 6c insb (%dx),%es:(%edi)
c00008ec: 69 6e 67 20 69 6e 69 imul $0x696e6920,0x67(%esi),%ebp
c00008f3: 74 5f je c0000954 <_foo+0x224>
c00008f5: 38 32 cmp %dh,(%edx)
c00008f7: 35 33 0a 00 63 xor $0x63000a33,%eax
c00008fc: 61 popa
c00008fd: 6c insb (%dx),%es:(%edi)
c00008fe: 6c insb (%dx),%es:(%edi)
c00008ff: 69 6e 67 20 69 6e 69 imul $0x696e6920,0x67(%esi),%ebp
c0000906: 74 5f je c0000967 <_foo+0x237>
c0000908: 70 61 jo c000096b <_foo+0x23b>
c000090a: 67 69 6e 67 0a 00 69 addr16 imul $0x6e69000a,103(%bp),%ebp
c0000911: 6e
c0000912: 69 74 5f 70 61 67 69 imul $0x6e696761,0x70(%edi,%ebx,2),%esi
c0000919: 6e
c000091a: 67 20 72 65 addr16 and %dh,101(%bp,%si)
c000091e: 74 75 je c0000995 <_foo+0x265>
c0000920: 72 6e jb c0000990 <_foo+0x260>
c0000922: 65 64 20 25 64 0a 00 and %ah,%fs:%gs:0x66000a64
c0000929: 66
c000092a: 6f outsl %ds:(%esi),(%dx)
c000092b: 6f outsl %ds:(%esi),(%dx)
c000092c: 21 00 and %eax,(%eax)
c000092e: 63 61 6c arpl %sp,0x6c(%ecx)
c0000931: 6c insb (%dx),%es:(%edi)
c0000932: 69 6e 67 20 69 6e 69 imul $0x696e6920,0x67(%esi),%ebp
c0000939: 74 5f je c000099a <_foo+0x26a>
c000093b: 74 61 je c000099e <_foo+0x26e>
c000093d: 73 6b jae c00009aa <_foo+0x27a>
c000093f: 73 0a jae c000094b <_foo+0x21b>
c0000941: 00 90 90 90 90 90 add %dl,0x90909090(%eax)
c0000947: 90 nop
c0000948: 90 nop
c0000949: 90 nop
c000094a: 90 nop
c000094b: 90 nop
c000094c: 90 nop
c000094d: 90 nop
c000094e: 90 nop
c000094f: 90 nop
c0000950: 90 nop
c0000951: 90 nop
c0000952: 90 nop
c0000953: 90 nop
c0000954: 90 nop
c0000955: 90 nop
c0000956: 90 nop
c0000957: 90 nop
c0000958: 90 nop
c0000959: 90 nop
c000095a: 90 nop
c000095b: 90 nop
c000095c: 90 nop
c000095d: 90 nop
c000095e: 90 nop
c000095f: 90 nop
c0000960: 73 6f jae c00009d1 <_main+0x1>
c0000962: 72 72 jb c00009d6 <_main+0x6>
c0000964: 79 2c jns c0000992 <_foo+0x262>
c0000966: 20 64 69 64 and %ah,0x64(%ecx,%ebp,2)
c000096a: 20 6e 6f and %ch,0x6f(%esi)
c000096d: 74 20 je c000098f <_foo+0x25f>
c000096f: 66 69 6e 64 20 61 imul $0x6120,0x64(%esi),%bp
c0000975: 6e outsb %ds:(%esi),(%dx)
c0000976: 79 20 jns c0000998 <_foo+0x268>
c0000978: 74 61 je c00009db <_main+0xb>
c000097a: 73 6b jae c00009e7 <_main+0x17>
c000097c: 73 20 jae c000099e <_foo+0x26e>
c000097e: 74 6f je c00009ef <_main+0x1f>
c0000980: 20 72 75 and %dh,0x75(%edx)
c0000983: 6e outsb %ds:(%esi),(%dx)
c0000984: 0a 00 or (%eax),%al
c0000986: 90 nop
c0000987: 90 nop
c0000988: 90 nop
c0000989: 90 nop
c000098a: 90 nop
c000098b: 90 nop
c000098c: 90 nop
c000098d: 90 nop
c000098e: 90 nop
c000098f: 90 nop
c0000990: 90 nop
c0000991: 90 nop
c0000992: 90 nop
c0000993: 90 nop
c0000994: 90 nop
c0000995: 90 nop
c0000996: 90 nop
c0000997: 90 nop
c0000998: 90 nop
c0000999: 90 nop
c000099a: 90 nop
c000099b: 90 nop
c000099c: 90 nop
c000099d: 90 nop
c000099e: 90 nop
c000099f: 90 nop
c00009a0: 70 72 jo c0000a14 <_main+0x44>
c00009a2: 65 gs
c00009a3: 73 73 jae c0000a18 <_main+0x48>
c00009a5: 20 46 31 and %al,0x31(%esi)
c00009a8: 2c 20 sub $0x20,%al
c00009aa: 46 inc %esi
c00009ab: 32 2c 20 xor (%eax,1),%ch
c00009ae: 65 gs
c00009af: 74 63 je c0000a14 <_main+0x44>
c00009b1: 2e 20 74 6f 20 and %dh,%cs:0x20(%edi,%ebp,2)
c00009b6: 73 65 jae c0000a1d <_main+0x4d>
c00009b8: 6c insb (%dx),%es:(%edi)
c00009b9: 65 63 74 20 76 arpl %si,%gs:0x76(%eax,1)
c00009be: 69 72 74 75 61 6c 20 imul $0x206c6175,0x74(%edx),%esi
c00009c5: 63 6f 6e arpl %bp,0x6e(%edi)
c00009c8: 73 6f jae c0000a39 <_main+0x69>
c00009ca: 6c insb (%dx),%es:(%edi)
c00009cb: 65 0a 00 or %gs:(%eax),%al
c00009ce: 89 f6 mov %esi,%esi
c00009d0 <_main>:
_main():
main.c:355
/*****************************************************************************
*****************************************************************************/
DISCARDABLE_CODE(static void init_8259s(void))
{
outportb(0x20, 0x11); /* ICW1 */
outportb(0xA0, 0x11);
outportb(0x21, 0x20); /* ICW2: route IRQs 0...7 to INTs 20h...27h */
outportb(0xA1, 0x28); /* ...IRQs 8...15 to INTs 28h...2Fh */
outportb(0x21, 0x04); /* ICW3 */
outportb(0xA1, 0x02);
outportb(0x21, 0x01); /* ICW4 */
outportb(0xA1, 0x01);
/* enable IRQ0 (timer) and IRQ1 (keyboard) */
outportb(0x21, ~0x03);
outportb(0xA1, ~0x00);
}
/*****************************************************************************
*****************************************************************************/
DISCARDABLE_CODE(static void init_8253(void))
{
/* I can remember the NTSC TV color burst frequency, but not the PC
peripheral clock. Fortunately, they are related: */
static const unsigned short foo = (3579545L / 3) / HZ;
/* reprogram the 8253 timer chip to run at 'HZ', instead of 18 Hz */
outportb(0x43, 0x36); /* channel 0, LSB/MSB, mode 3, binary */
outportb(0x40, foo & 0xFF); /* LSB */
outportb(0x40, foo >> 8); /* MSB */
}
/*****************************************************************************
for MinGW32
*****************************************************************************/
#ifdef __WIN32__
int __main(void) { return 0; }
#endif
/*****************************************************************************
*****************************************************************************/
int main(void)
{
unsigned keep, discard, temp;
// unsigned long *cr3;
init_console();
c00009d0: 55 push %ebp
c00009d1: 89 e5 mov %esp,%ebp
c00009d3: 83 ec 1c sub $0x1c,%esp
c00009d6: 57 push %edi
c00009d7: 56 push %esi
c00009d8: 53 push %ebx
c00009d9: e8 d6 39 00 00 call c00043b4 <_init_console>
main.c:356
kprintf("\x1B[31m""C""\x1B[32m""o""\x1B[33m""s""\x1B[34m""m"
c00009de: 83 c4 f4 add $0xfffffff4,%esp
c00009e1: 68 40 07 00 c0 push $0xc0000740
c00009e6: e8 55 f8 ff ff call c0000240 <_kprintf>
main.c:359
"\x1B[35m""o""\x1B[36m""s""\x1B[37m"" OS release 10 "
"- Copyright (C) 2001 Chris Giese <geezer@execpc.com>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -