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

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

?? lnxboot.s

?? 有助于了解操作系統如何啟動之過程
?? S
字號:
/* -*-Asm-*- *//* *  GRUB  --  GRand Unified Bootloader *  Copyright (C) 2007,2008  Free Software Foundation, Inc. * *  GRUB is free software: you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation, either version 3 of the License, or *  (at your option) any later version. * *  GRUB is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>. */#include <grub/boot.h>#include <grub/machine/boot.h>#include <grub/machine/kernel.h>#include <multiboot.h>        .file   "lnxboot.S"#define CODE_ADDR	0x6000#define CODE_LENG	(code_end - start)#define DATA_ADDR	((GRUB_BOOT_MACHINE_KERNEL_ADDR) + 0x200)#define BLCK_LENG	0x4000	.text        .code16        .globl  start, _startdata_start:	xorl	%ebp, %ebp	jmp	linux_next	. = data_start + 0x1F1setup_sects:	.byte	(CODE_LENG >> 9)root_flags:	.word	0syssize:	.word	0swap_dev:	.word	0ram_size:	.word	0vid_mode:	.word	0root_dev:	.word	0boot_flag:	.word	0xAA55start:_start:	jmp linux_init	.ascii	"HdrS"			/* Header signature.  */	.word	0x0203			/* Header version number.  */realmode_swtch:	.word	0, 0			/* default_switch, SETUPSEG.  */start_sys_seg:	.word	0x1000			/* Obsolete.  */version_ptr:	.word	0			/* Version string ptr.  */type_of_loader:	.byte	0			/* Filled in by boot loader.  */loadflags:	.byte	1			/* Please load high.  */setup_move_size:	.word	0			/* Unused.  */code32_start:	.long	0x100000		/* 32-bit start address.  */ramdisk_image:	.long	0			/* Loaded ramdisk image address.  */ramdisk_size:	.long	0			/* Size of loaded ramdisk.  */bootsect_kludge:	.word	0, 0heap_end_ptr:	.word	0pad1:	.word	0cmd_line_ptr:	.long	0			/* Command line.  */ramdisk_max:	.long	0xffffffff		/* Highest allowed ramdisk address.  */gdt:	.long	0, 0, 0, 0		/* Must be zero.  */	.word	0xffff			/* 64 K segment size.  */gdt_src1:	.byte	0, 0 ,0			/* Low 24 bits of source address.  */	.byte	0x93			/* Access rights.  */	.byte	0			/* Extended access rights.  */gdt_src2:	.byte	0			/* High 8 bits of source address.  */	.word	0xffff			/* 64 K segment size.  */gdt_dst1:	.byte	0, 0, 0			/* Low 24 bits of target address.  */	.byte	0x93			/* Access rights.  */	.byte	0			/* Extended access rights.  */gdt_dst2:	.byte	0			/* High 8 bits of source address.  */	.long	0, 0, 0, 0		/* More space for the BIOS.  */reg_edx:	.byte	0x80,0,0xFF,0xFFdata_leng:	.long	0linux_init:	movw	%cs:(reg_edx - start), %dx	movl	%cs:(code32_start - start), %ebplinux_next:	call	normalizenormalize:	popw	%bx	subw	$(normalize - start), %bx	shrw	$4, %bx	movw	%cs, %ax	addw	%bx, %ax	pushw	%ax	pushw	$(real_code - start)	lret				/* Jump to real_code.  */real_code:	subw	$0x20, %ax	movw	%ax, %ds	movw	(setup_sects - data_start), %cx	shlw	$7, %cx	/* Setup stack.  */	xorw	%si, %si	movw	%si, %ss	movw	$(CODE_ADDR), %sp	/* Move itself to 0:CODE_ADDR.  */	cld	movw	%cs, %ax	movw	%ax, %ds	movw	$(CODE_ADDR >> 4), %ax	movw	%ax, %es	movw	%si, %di	rep	movsl	ljmp	$(CODE_ADDR >> 4), $(real_code_2  - start)real_code_2:	xchgl	%ebp, %esi	orl	%esi, %esi	jnz	1f	movw	%ds, %si	shll	$4, %esi	addl	%ebp, %esi1:	pushw	%es	popw	%ds	movl	$0x200, %ecx	addl	%ecx, %esi	movl	$DATA_ADDR, %edi	call	move_memory	/* Check for multiboot signature.  */	cmpl	$MULTIBOOT_MAGIC, %ss:(DATA_ADDR + 0x50)	jz	1f	movl	(ramdisk_image - start), %esi	movl	(ramdisk_size - start), %ecx	movl	$(DATA_ADDR - 0x200), %edi	jmp	2f1:	movl	%ss:(DATA_ADDR + GRUB_KERNEL_MACHINE_COMPRESSED_SIZE), %ecx	addl	$(GRUB_KERNEL_MACHINE_RAW_SIZE - 0x200), %ecx2:	call	move_memory	movsbl	%dh, %eax	movl	%eax, %ss:(DATA_ADDR + GRUB_KERNEL_MACHINE_INSTALL_DOS_PART)	movsbl	(reg_edx + 2 - start), %eax	movl	%eax, %ss:(DATA_ADDR + GRUB_KERNEL_MACHINE_INSTALL_BSD_PART)	ljmp	$(DATA_ADDR >> 4), $0/* * Parameters: *   esi: source address *   edi: target address *   ecx: number of bytes */move_memory:	incl	%ecx	andb	$0xFE, %cl	pushw	%dx1:	pushl	%esi	pushl	%edi	pushl	%ecx	cmpl	$BLCK_LENG, %ecx	jbe	2f	movl	$BLCK_LENG, %ecx2:	pushl	%ecx	movl	%esi, %eax	movw	%si, (gdt_src1 - start)	shrl	$16, %eax	movb	%al, (gdt_src1 + 2 - start)	movb	%ah, (gdt_src2 - start)	movl	%edi, %eax	movw	%di, (gdt_dst1 - start)	shrl	$16, %eax	movb	%al, (gdt_dst1 + 2 - start)	movb	%ah, (gdt_dst2 - start)	movw	$(gdt - start), %si	movb	$0x87, %ah	shrw	$1, %cx	int	$0x15	popl	%eax	popl	%ecx	popl	%edi	popl	%esi	jnc	2f	movw	$(err_int15_msg - start), %si	jmp	fail2:	addl	%eax, %esi	addl	%eax, %edi	subl	%eax, %ecx	jnz	1b	popw	%dx	ret/* * Parameters: *   si: message */fail:	movb	$0x0e, %ah	xorw	%bx, %bx1:	lodsb	(%si), %al	int	$0x10	cmpb	$0, %al	jne	1b1:	jmp	1berr_int15_msg:	.ascii	"move memory fails\0"	. = (.  & (~0x1FF)) + 0x1FF	.byte	0code_end:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美乱熟臀69xxxxxx| 色老汉av一区二区三区| 亚洲午夜视频在线观看| 国产精品久久久久久久久久免费看 | 亚洲午夜在线观看视频在线| 国产精品美女久久久久aⅴ| 久久精品视频在线免费观看| 欧美成人a视频| 精品免费99久久| 精品国产99国产精品| 久久久精品免费免费| 欧美不卡在线视频| xfplay精品久久| 久久久亚洲精品石原莉奈| 日本一区二区视频在线观看| 久久久久久9999| 国产偷国产偷精品高清尤物| 欧美国产精品久久| 亚洲视频免费在线观看| 亚洲婷婷综合久久一本伊一区| 国产欧美日韩激情| 亚洲日本在线看| 夜夜精品视频一区二区| 亚洲高清中文字幕| 男女激情视频一区| 国产麻豆午夜三级精品| av午夜精品一区二区三区| 99久久精品国产一区二区三区| 91久久精品网| 日韩一级高清毛片| 欧美国产国产综合| 亚洲精品国产第一综合99久久| 亚洲国产精品久久艾草纯爱| 蜜臀99久久精品久久久久久软件| 国产伦精品一区二区三区免费| av亚洲精华国产精华精华| 色婷婷综合久久| 欧美一区二区福利视频| 欧美国产日韩一二三区| 亚洲精品第1页| 久久99热99| gogo大胆日本视频一区| 91精品在线麻豆| 国产精品狼人久久影院观看方式| 亚洲国产美国国产综合一区二区| 极品少妇一区二区三区精品视频| www.久久久久久久久| 国产亚洲短视频| 一区二区日韩电影| 亚洲第一成年网| 久久精品国产精品亚洲精品| aaa国产一区| 欧美一区欧美二区| 亚洲精品日韩专区silk| 紧缚捆绑精品一区二区| 欧美午夜片在线观看| 国产欧美日韩在线| 极品少妇xxxx精品少妇偷拍| 在线观看免费成人| 国产精品高潮呻吟| 国产麻豆一精品一av一免费| 7777女厕盗摄久久久| 自拍偷拍亚洲综合| 高清成人在线观看| 欧美va日韩va| 免费在线一区观看| 91电影在线观看| 最新日韩在线视频| 国产精品一区二区三区99| 日韩午夜在线影院| 丝袜亚洲另类丝袜在线| 在线精品视频一区二区三四| 日韩av一区二区在线影视| aaa欧美大片| 中文字幕一区在线观看视频| 成人妖精视频yjsp地址| 国产三级久久久| 精品一区二区免费看| 日韩一区二区电影网| 五月天激情综合| 欧美精品三级在线观看| 偷偷要91色婷婷| 3d动漫精品啪啪一区二区竹菊| 亚洲综合男人的天堂| 欧美私人免费视频| 亚洲va中文字幕| 欧美日韩国产成人在线免费| 亚洲国产成人av网| 欧美另类一区二区三区| 日韩在线一区二区| 日韩精品一区二区三区老鸭窝| 免费成人美女在线观看| 精品国产网站在线观看| 韩国理伦片一区二区三区在线播放 | 欧美日韩一区二区在线观看视频 | 一区二区三区日韩精品| 色屁屁一区二区| 亚洲一区二区三区激情| 欧美剧在线免费观看网站| 青娱乐精品视频| 久久综合久久综合九色| www.视频一区| 亚洲与欧洲av电影| 日韩一卡二卡三卡国产欧美| 国产在线精品视频| 国产精品久久久久影院| 91精品91久久久中77777| 亚洲福利电影网| 欧美精品一区二区三区四区| 成人免费av在线| 亚洲成人自拍一区| 亚洲三级电影网站| 这里只有精品99re| 国产成人亚洲综合色影视| 亚洲日本一区二区| 日韩色在线观看| 99re这里都是精品| 蜜桃久久久久久| 自拍偷拍欧美精品| 日韩精品中文字幕一区| 色综合色狠狠天天综合色| 免费成人美女在线观看.| 国产精品你懂的在线| 欧美精品tushy高清| 不卡的电影网站| 秋霞电影网一区二区| 亚洲美女少妇撒尿| 欧美精品一区二区三区四区| 91国产精品成人| 国产成人在线网站| 日韩av一区二区三区四区| 国产精品成人一区二区三区夜夜夜| 宅男在线国产精品| 在线观看亚洲一区| 成人免费毛片片v| 经典一区二区三区| 天堂久久久久va久久久久| 亚洲女性喷水在线观看一区| 久久久久久免费网| 777色狠狠一区二区三区| 91老司机福利 在线| 丁香啪啪综合成人亚洲小说| 麻豆91免费看| 日韩av午夜在线观看| 一区二区免费看| 亚洲精品少妇30p| 中文字幕乱码日本亚洲一区二区 | 欧美一级xxx| 欧美亚洲精品一区| 99视频精品在线| 成人高清视频在线| 国产91色综合久久免费分享| 青青草91视频| 麻豆免费看一区二区三区| 亚洲bt欧美bt精品777| 亚洲一区二区视频在线观看| 亚洲精品国产无套在线观| 国产精品久久久久9999吃药| 日本一区二区三区高清不卡| 久久亚洲欧美国产精品乐播| 精品久久久久99| 久久综合色综合88| 国产视频在线观看一区二区三区| 日韩一级二级三级| 欧美不卡视频一区| 久久久久久久久久久99999| 久久久精品综合| 欧美韩国日本不卡| 一区免费观看视频| 亚洲码国产岛国毛片在线| 一区二区三区av电影 | 色偷偷久久人人79超碰人人澡| 成人短视频下载| 色综合久久久久久久| 在线亚洲免费视频| 欧美精品久久一区| 精品91自产拍在线观看一区| 中文字幕精品在线不卡| 国产精品免费视频观看| 亚洲卡通动漫在线| 午夜精品久久久| 黄色资源网久久资源365| 成人深夜视频在线观看| 色婷婷av一区二区三区大白胸| 欧美美女一区二区三区| 精品国产凹凸成av人网站| 国产精品热久久久久夜色精品三区| 亚洲人成亚洲人成在线观看图片 | 日日摸夜夜添夜夜添国产精品 | 国产一区二区三区观看| 成人动漫在线一区| 欧美日韩国产影片| 久久久亚洲欧洲日产国码αv| 最近日韩中文字幕| 日韩电影一区二区三区四区| 国产黄色成人av| 欧美日韩美女一区二区| 久久久久久一二三区| 五月激情综合婷婷| 成人18视频在线播放|