⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 krnl.lst

📁 一个类linux的dos下开发的操作系统.
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -