亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? head.s

?? linux 0.11源代碼
?? S
字號:
/* *  linux/boot/head.s * *  (C) 1991  Linus Torvalds *//* *  head.s contains the 32-bit startup code. * * NOTE!!! Startup happens at absolute address 0x00000000, which is also where * the page directory will exist. The startup code will be overwritten by * the page directory. */.text.globl _idt,_gdt,_pg_dir,_tmp_floppy_area_pg_dir:startup_32:	movl $0x10,%eax	mov %ax,%ds	mov %ax,%es	mov %ax,%fs	mov %ax,%gs	lss _stack_start,%esp	call setup_idt	call setup_gdt	movl $0x10,%eax		# reload all the segment registers	mov %ax,%ds		# after changing gdt. CS was already	mov %ax,%es		# reloaded in 'setup_gdt'	mov %ax,%fs	mov %ax,%gs	lss _stack_start,%esp	xorl %eax,%eax1:	incl %eax		# check that A20 really IS enabled	movl %eax,0x000000	# loop forever if it isn't	cmpl %eax,0x100000	je 1b/* * NOTE! 486 should set bit 16, to check for write-protect in supervisor * mode. Then it would be unnecessary with the "verify_area()"-calls. * 486 users probably want to set the NE (#5) bit also, so as to use * int 16 for math errors. */	movl %cr0,%eax		# check math chip	andl $0x80000011,%eax	# Save PG,PE,ET/* "orl $0x10020,%eax" here for 486 might be good */	orl $2,%eax		# set MP	movl %eax,%cr0	call check_x87	jmp after_page_tables/* * We depend on ET to be correct. This checks for 287/387. */check_x87:	fninit	fstsw %ax	cmpb $0,%al	je 1f			/* no coprocessor: have to set bits */	movl %cr0,%eax	xorl $6,%eax		/* reset MP, set EM */	movl %eax,%cr0	ret.align 21:	.byte 0xDB,0xE4		/* fsetpm for 287, ignored by 387 */	ret/* *  setup_idt * *  sets up a idt with 256 entries pointing to *  ignore_int, interrupt gates. It then loads *  idt. Everything that wants to install itself *  in the idt-table may do so themselves. Interrupts *  are enabled elsewhere, when we can be relatively *  sure everything is ok. This routine will be over- *  written by the page tables. */setup_idt:	lea ignore_int,%edx	movl $0x00080000,%eax	movw %dx,%ax		/* selector = 0x0008 = cs */	movw $0x8E00,%dx	/* interrupt gate - dpl=0, present */	lea _idt,%edi	mov $256,%ecxrp_sidt:	movl %eax,(%edi)	movl %edx,4(%edi)	addl $8,%edi	dec %ecx	jne rp_sidt	lidt idt_descr	ret/* *  setup_gdt * *  This routines sets up a new gdt and loads it. *  Only two entries are currently built, the same *  ones that were built in init.s. The routine *  is VERY complicated at two whole lines, so this *  rather long comment is certainly needed :-). *  This routine will beoverwritten by the page tables. */setup_gdt:	lgdt gdt_descr	ret/* * I put the kernel page tables right after the page directory, * using 4 of them to span 16 Mb of physical memory. People with * more than 16MB will have to expand this. */.org 0x1000pg0:.org 0x2000pg1:.org 0x3000pg2:.org 0x4000pg3:.org 0x5000/* * tmp_floppy_area is used by the floppy-driver when DMA cannot * reach to a buffer-block. It needs to be aligned, so that it isn't * on a 64kB border. */_tmp_floppy_area:	.fill 1024,1,0after_page_tables:	pushl $0		# These are the parameters to main :-)	pushl $0	pushl $0	pushl $L6		# return address for main, if it decides to.	pushl $_main	jmp setup_pagingL6:	jmp L6			# main should never return here, but				# just in case, we know what happens./* This is the default interrupt "handler" :-) */int_msg:	.asciz "Unknown interrupt\n\r".align 2ignore_int:	pushl %eax	pushl %ecx	pushl %edx	push %ds	push %es	push %fs	movl $0x10,%eax	mov %ax,%ds	mov %ax,%es	mov %ax,%fs	pushl $int_msg	call _printk	popl %eax	pop %fs	pop %es	pop %ds	popl %edx	popl %ecx	popl %eax	iret/* * Setup_paging * * This routine sets up paging by setting the page bit * in cr0. The page tables are set up, identity-mapping * the first 16MB. The pager assumes that no illegal * addresses are produced (ie >4Mb on a 4Mb machine). * * NOTE! Although all physical memory should be identity * mapped by this routine, only the kernel page functions * use the >1Mb addresses directly. All "normal" functions * use just the lower 1Mb, or the local data space, which * will be mapped to some other place - mm keeps track of * that. * * For those with more memory than 16 Mb - tough luck. I've * not got it, why should you :-) The source is here. Change * it. (Seriously - it shouldn't be too difficult. Mostly * change some constants etc. I left it at 16Mb, as my machine * even cannot be extended past that (ok, but it was cheap :-) * I've tried to show which constants to change by having * some kind of marker at them (search for "16Mb"), but I * won't guarantee that's all :-( ) */.align 2setup_paging:	movl $1024*5,%ecx		/* 5 pages - pg_dir+4 page tables */	xorl %eax,%eax	xorl %edi,%edi			/* pg_dir is at 0x000 */	cld;rep;stosl	movl $pg0+7,_pg_dir		/* set present bit/user r/w */	movl $pg1+7,_pg_dir+4		/*  --------- " " --------- */	movl $pg2+7,_pg_dir+8		/*  --------- " " --------- */	movl $pg3+7,_pg_dir+12		/*  --------- " " --------- */	movl $pg3+4092,%edi	movl $0xfff007,%eax		/*  16Mb - 4096 + 7 (r/w user,p) */	std1:	stosl			/* fill pages backwards - more efficient :-) */	subl $0x1000,%eax	jge 1b	xorl %eax,%eax		/* pg_dir is at 0x0000 */	movl %eax,%cr3		/* cr3 - page directory start */	movl %cr0,%eax	orl $0x80000000,%eax	movl %eax,%cr0		/* set paging (PG) bit */	ret			/* this also flushes prefetch-queue */.align 2.word 0idt_descr:	.word 256*8-1		# idt contains 256 entries	.long _idt.align 2.word 0gdt_descr:	.word 256*8-1		# so does gdt (not that that's any	.long _gdt		# magic number, but it works for me :^)	.align 3_idt:	.fill 256,8,0		# idt is uninitialized_gdt:	.quad 0x0000000000000000	/* NULL descriptor */	.quad 0x00c09a0000000fff	/* 16Mb */	.quad 0x00c0920000000fff	/* 16Mb */	.quad 0x0000000000000000	/* TEMPORARY - don't use */	.fill 252,8,0			/* space for LDT's and TSS's etc */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区私人影院日本| 成人av先锋影音| 亚洲成在人线免费| 亚洲一区二区在线播放相泽 | 日欧美一区二区| 亚洲资源中文字幕| 亚洲成a人片综合在线| 日本成人中文字幕在线视频| 免费在线欧美视频| 久久99精品国产91久久来源| 精品亚洲欧美一区| 成熟亚洲日本毛茸茸凸凹| 成人av电影在线网| 色吊一区二区三区| 6080国产精品一区二区| 日韩视频在线你懂得| 精品欧美乱码久久久久久1区2区| 久久综合色婷婷| 国产精品久久久久影院亚瑟| 免费不卡在线观看| 中文字幕一区二区在线观看| 亚洲精品久久久久久国产精华液| 一区二区三区在线高清| 人人爽香蕉精品| 成人一二三区视频| 一本色道综合亚洲| 日韩美一区二区三区| 中文幕一区二区三区久久蜜桃| 亚洲精品中文在线| 美日韩一区二区| 91农村精品一区二区在线| 欧美高清你懂得| 亚洲国产精品精华液ab| 亚洲一区二区三区四区五区黄 | 欧美一区二区三区白人| 久久久www成人免费毛片麻豆| 一区二区三区久久| 激情成人午夜视频| 欧美自拍偷拍午夜视频| 精品国产乱码久久久久久图片| 亚洲免费观看在线视频| 国产一区二区三区精品欧美日韩一区二区三区 | 成人免费在线观看入口| 蜜臀av一区二区在线免费观看| 不卡的av中国片| 日韩欧美中文字幕一区| 亚洲一区二区三区三| 成人精品鲁一区一区二区| 这里只有精品电影| 亚洲免费在线看| 丰满少妇在线播放bd日韩电影| 欧美老肥妇做.爰bbww| 日韩美女精品在线| 国产精品中文有码| 日韩一区二区三区观看| 亚洲香肠在线观看| 色综合一区二区三区| 国产欧美一二三区| 国产精品99久久久久久宅男| 日韩欧美国产一二三区| 亚洲成a人v欧美综合天堂| 91免费国产在线观看| 国产女主播一区| 国产主播一区二区三区| 91精品国产色综合久久ai换脸| 亚洲精品精品亚洲| 91一区一区三区| √…a在线天堂一区| av一二三不卡影片| 中文字幕亚洲区| av激情成人网| 日韩一区在线播放| 91网页版在线| 亚洲最快最全在线视频| 在线免费观看视频一区| 夜夜精品浪潮av一区二区三区| 在线一区二区三区四区| 一区二区三区欧美视频| 欧美日韩三级在线| 五月天欧美精品| 欧美电视剧免费观看| 美女一区二区在线观看| 精品美女在线观看| 国产精品自拍一区| 国产精品三级久久久久三级| 国产二区国产一区在线观看| 久久久久久影视| 成人高清视频在线| 一区二区在线观看免费 | 亚洲桃色在线一区| 在线亚洲欧美专区二区| 亚洲一区二区不卡免费| 欧美一区二区视频免费观看| 另类专区欧美蜜桃臀第一页| 国产欧美一区二区精品性色| 99久久精品99国产精品 | 久久久久亚洲蜜桃| 91视频在线观看| 亚洲一区二区三区影院| 欧美电视剧在线看免费| 成人激情午夜影院| 亚洲va国产天堂va久久en| 欧美v日韩v国产v| 不卡的看片网站| 日本va欧美va精品| 国产精品色呦呦| 制服丝袜激情欧洲亚洲| 风间由美一区二区av101 | 制服丝袜av成人在线看| 久久av中文字幕片| 自拍视频在线观看一区二区| 欧美久久一二区| 成人精品一区二区三区中文字幕| 亚洲丝袜精品丝袜在线| 精品少妇一区二区三区日产乱码| av网站一区二区三区| 美国精品在线观看| 亚洲视频综合在线| 欧美电影免费观看高清完整版在 | 99久久精品久久久久久清纯| 午夜精彩视频在线观看不卡| 中文字幕av一区二区三区免费看 | 国产偷国产偷精品高清尤物| 欧洲精品一区二区三区在线观看| 国产自产2019最新不卡| 婷婷综合另类小说色区| 亚洲丝袜精品丝袜在线| 久久综合成人精品亚洲另类欧美 | 国产亚洲女人久久久久毛片| 欧美日韩国产系列| 91性感美女视频| 国产在线播放一区三区四| 丝袜脚交一区二区| 成人欧美一区二区三区在线播放| 欧美精品一区二区三| 777奇米四色成人影色区| 日本高清不卡一区| 99久久777色| 不卡av免费在线观看| 国产精品77777| 精品一区二区三区免费| 午夜免费欧美电影| 亚洲乱码国产乱码精品精98午夜| 久久精品视频在线看| 日韩欧美激情一区| 欧美一区二区精美| 欧美绝品在线观看成人午夜影视| 99国产精品99久久久久久| 国产精品一区在线| 国产一区二区福利视频| 久久国产乱子精品免费女| 亚洲成人三级小说| 亚洲午夜久久久久久久久电影院| 亚洲欧洲制服丝袜| 亚洲精品中文字幕在线观看| 亚洲女同ⅹxx女同tv| 亚洲毛片av在线| 一区二区三区国产精品| 樱花影视一区二区| 亚洲国产中文字幕在线视频综合 | av亚洲精华国产精华| 99久久久国产精品免费蜜臀| 99精品视频一区二区| 91在线你懂得| 欧美三区在线视频| 欧美三级视频在线播放| 91精品在线免费| 日韩欧美国产小视频| 久久精品一区二区三区不卡| 国产视频在线观看一区二区三区| 国产精品乱人伦一区二区| 综合久久一区二区三区| 亚洲精品乱码久久久久久| 午夜精品成人在线| 黑人精品欧美一区二区蜜桃| 韩国精品主播一区二区在线观看| 成人免费高清在线| 91国产免费观看| 日韩一区二区三区三四区视频在线观看 | **性色生活片久久毛片| 夜色激情一区二区| 国产中文字幕精品| 91麻豆国产福利在线观看| 69成人精品免费视频| 国产欧美一区二区在线| 亚洲成人免费电影| 国模少妇一区二区三区| 91麻豆国产自产在线观看| 日韩一区二区在线免费观看| 中文字幕乱码久久午夜不卡| 亚洲一区国产视频| 国产精品99久久久久久宅男| 欧美亚一区二区| 国产精品天天看| 蜜桃久久久久久| 91福利资源站| 国产精品久久久久毛片软件| 毛片一区二区三区| 91国产福利在线| 国产精品乱码久久久久久|