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

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

?? head.s

?? LINXS基礎學習代碼 分析是一個很不錯的資料
?? 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一区二区三区免费野_久草精品视频
国产自产高清不卡| 欧美一区二区三区性视频| 精品视频色一区| 国产视频911| 奇米影视7777精品一区二区| 色香色香欲天天天影视综合网| 日韩美女在线视频| 日韩高清欧美激情| 色999日韩国产欧美一区二区| 久久无码av三级| 日本不卡一区二区三区| 欧洲精品一区二区三区在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲高清免费观看| 日本精品一级二级| 亚洲人成网站色在线观看| 国产成人午夜99999| 精品久久久久久久人人人人传媒| 午夜精品一区二区三区三上悠亚| 一本久久综合亚洲鲁鲁五月天| 国产女主播一区| 成人深夜在线观看| 国产精品欧美久久久久无广告 | 欧美疯狂性受xxxxx喷水图片| 国产精品久久久久久一区二区三区 | 中文字幕乱码一区二区免费| 极品美女销魂一区二区三区 | 日本丶国产丶欧美色综合| 中文字幕在线一区| 成人av影视在线观看| 中文字幕亚洲一区二区av在线| 国产成人精品免费| 国产精品网曝门| 99国产精品久久久| 一区二区三区欧美视频| 色噜噜狠狠成人中文综合| 夜夜嗨av一区二区三区四季av| 一本一道久久a久久精品 | 国产精品美女久久久久久| 成人一区二区三区视频| 国产精品短视频| 91视频xxxx| 亚洲成av人片在线| 日韩一区二区三区在线观看| 久久99国产精品久久99| 久久精品欧美日韩| 91蝌蚪porny| 亚洲一级二级三级在线免费观看| 欧美欧美欧美欧美首页| 久久国产精品一区二区| 久久精品水蜜桃av综合天堂| 成人激情动漫在线观看| 亚洲综合999| 欧美成人精品二区三区99精品| 国产成人免费av在线| 中文字幕在线一区免费| 91精品午夜视频| 美女视频网站黄色亚洲| 国产午夜精品一区二区三区四区 | 色婷婷综合五月| 日本亚洲视频在线| 久久久久99精品一区| 91麻豆国产在线观看| 五月天欧美精品| 久久久久88色偷偷免费 | 久草中文综合在线| 国产精品久久久久aaaa樱花| 欧美日韩中文一区| 国产精品综合久久| 亚洲一区二区免费视频| 久久久久九九视频| 欧美日韩午夜在线视频| 国产盗摄精品一区二区三区在线| 亚洲一区二区三区自拍| 国产日产欧产精品推荐色 | 一区二区欧美视频| 中文字幕欧美日韩一区| 337p亚洲精品色噜噜狠狠| 成人一二三区视频| 奇米色777欧美一区二区| 亚洲欧洲av一区二区三区久久| 日韩欧美一区二区免费| 色av成人天堂桃色av| 丁香婷婷综合激情五月色| 丝袜诱惑亚洲看片| 亚洲免费观看在线观看| 久久久蜜桃精品| 日韩一区二区免费视频| 在线日韩一区二区| av电影在线观看一区| 久久99国产精品麻豆| 午夜视黄欧洲亚洲| 亚洲精品亚洲人成人网| 国产精品美女www爽爽爽| 亚洲精品免费在线观看| 国产精品久久久久天堂| 久久嫩草精品久久久久| 日韩欧美视频一区| 欧美高清视频不卡网| 日本久久电影网| 欧美在线你懂得| 色婷婷精品久久二区二区蜜臀av| 高清shemale亚洲人妖| 欧美精品一区二区三区在线| 欧美日本国产视频| 欧美三级视频在线播放| 色八戒一区二区三区| 99这里只有精品| 成人免费视频视频| 成人蜜臀av电影| www.欧美精品一二区| 国产aⅴ综合色| 成人中文字幕在线| 成人黄色av电影| 成人美女视频在线观看18| 岛国精品在线播放| aaa国产一区| 91麻豆精品秘密| 欧美日韩国产一级二级| 欧美精品久久一区二区三区| 欧美日韩国产123区| 91精品国产福利在线观看| 91.麻豆视频| 2019国产精品| 欧美国产国产综合| 亚洲另类在线视频| 亚洲午夜免费电影| 日韩高清国产一区在线| 精品一区二区免费在线观看| 精品一区二区三区免费播放| 国产成人午夜高潮毛片| 99久久精品国产网站| 91久久国产综合久久| 欧美一区二区免费| 久久久精品黄色| 中文字幕中文字幕一区| 亚洲五月六月丁香激情| 麻豆精品一区二区三区| 成人一区在线观看| 欧美日韩大陆在线| 国产亚洲一二三区| 亚洲婷婷在线视频| 日本大胆欧美人术艺术动态| 国产美女一区二区| 91精品国产入口| 久久综合久色欧美综合狠狠| 国产欧美精品一区二区色综合| 亚洲三级在线观看| 日本va欧美va瓶| av电影在线观看一区| 制服丝袜在线91| 成人欧美一区二区三区视频网页| 亚洲五码中文字幕| 国产成人高清视频| 在线播放国产精品二区一二区四区| 精品久久人人做人人爰| 一区二区不卡在线播放 | 久久精品99国产精品日本| 国产成人免费在线| 欧美精品日韩精品| 亚洲日本一区二区| 黑人巨大精品欧美一区| 欧美私人免费视频| 国产欧美日韩激情| 免费高清不卡av| 日本韩国一区二区三区| 国产欧美日本一区二区三区| 全国精品久久少妇| 欧美伊人久久久久久久久影院| 国产偷国产偷精品高清尤物| 无码av中文一区二区三区桃花岛| 99久久婷婷国产综合精品| 精品剧情v国产在线观看在线| 亚洲第一激情av| 色婷婷综合久久久久中文 | 国产精品自拍毛片| 日韩午夜激情视频| 五月激情综合色| 欧美揉bbbbb揉bbbbb| 日韩毛片一二三区| 粉嫩高潮美女一区二区三区| 日韩一二在线观看| 日韩精品一卡二卡三卡四卡无卡| 91女厕偷拍女厕偷拍高清| 国产精品乱子久久久久| 国产寡妇亲子伦一区二区| 日韩欧美高清一区| 老色鬼精品视频在线观看播放| 在线电影一区二区三区| 亚洲线精品一区二区三区| 色狠狠一区二区| 亚洲人成网站影音先锋播放| 97久久精品人人爽人人爽蜜臀| 中文字幕一区二区三区视频| 国产精品99久久久久久似苏梦涵| 欧美电视剧免费全集观看| 精品一区二区三区久久| 久久久久久久久久久久电影| 国产一区二区三区免费看 | 亚洲一区二区三区不卡国产欧美|