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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bcopy.s

?? microWindows的模擬器,VC下
?? S
?? 第 1 頁 / 共 3 頁
字號:
	fistpq	56(%edi)	fistpq	48(%edi)	fistpq	40(%edi)	fistpq	32(%edi)	fistpq	24(%edi)	fistpq	16(%edi)	fistpq	8(%edi)	fistpq	0(%edi)	addl	$64,%esi	addl	$64,%edi	subl	$64,%ecx	cmpl	$64,%ecx	jae	large_i586_bcopy_loop	popl	%eax	addl	%eax,%ecx	cmpl	$64,%ecx	jae	4b	cmpl	$0,_npxproc	je	i586_bc2	frstor	0(%esp)	addl	$108,%espi586_bc2:	lmsw	%dx	movb	$0xfe,kernel_fpu_lock/* * This is a duplicate of the main part of generic_bcopy.  See the comments * there.  Jumping into generic_bcopy would cost a whole 0-1 cycles and * would mess up high resolution profiling. */	ALIGN_TEXTsmall_i586_bcopy:	shrl	$2,%ecx	cld	rep	movsl	movl	20(%esp),%ecx	andl	$3,%ecx	rep	movsb	popl	%edi	popl	%esi	ret	ALIGN_TEXT1:	addl	%ecx,%edi	addl	%ecx,%esi	decl	%edi	decl	%esi	andl	$3,%ecx	std	rep	movsb	movl	20(%esp),%ecx	shrl	$2,%ecx	subl	$3,%esi	subl	$3,%edi	rep	movsl	popl	%edi	popl	%esi	cld	ret#endif /* I586_CPU && NNPX > 0 *//* * Note: memcpy does not support overlapping copies */ENTRY(memcpy)	pushl	%edi	pushl	%esi	movl	12(%esp),%edi	movl	16(%esp),%esi	movl	20(%esp),%ecx	movl	%edi,%eax	shrl	$2,%ecx				/* copy by 32-bit words */	cld					/* nope, copy forwards */	rep	movsl	movl	20(%esp),%ecx	andl	$3,%ecx				/* any bytes left? */	rep	movsb	popl	%esi	popl	%edi	ret/*****************************************************************************//* copyout and fubyte family                                                 *//*****************************************************************************//* * Access user memory from inside the kernel. These routines and possibly * the math- and DOS emulators should be the only places that do this. * * We have to access the memory with user's permissions, so use a segment * selector with RPL 3. For writes to user space we have to additionally * check the PTE for write permission, because the 386 does not check * write permissions when we are executing with EPL 0. The 486 does check * this if the WP bit is set in CR0, so we can use a simpler version here. * * These routines set curpcb->onfault for the time they execute. When a * protection violation occurs inside the functions, the trap handler * returns to *curpcb->onfault instead of the function. *//* copyout(from_kernel, to_user, len) */ENTRY(copyout)	MEXITCOUNT	jmp	*_copyout_vectorENTRY(generic_copyout)	movl	_curpcb,%eax	movl	$copyout_fault,PCB_ONFAULT(%eax)	pushl	%esi	pushl	%edi	pushl	%ebx	movl	16(%esp),%esi	movl	20(%esp),%edi	movl	24(%esp),%ebx	testl	%ebx,%ebx			/* anything to do? */	jz	done_copyout	/*	 * Check explicitly for non-user addresses.  If 486 write protection	 * is being used, this check is essential because we are in kernel	 * mode so the h/w does not provide any protection against writing	 * kernel addresses.	 */	/*	 * First, prevent address wrapping.	 */	movl	%edi,%eax	addl	%ebx,%eax	jc	copyout_fault/* * XXX STOP USING VM_MAXUSER_ADDRESS. * It is an end address, not a max, so every time it is used correctly it * looks like there is an off by one error, and of course it caused an off * by one error in several places. */	cmpl	$VM_MAXUSER_ADDRESS,%eax	ja	copyout_fault#if defined(I386_CPU)#if defined(I486_CPU) || defined(I586_CPU) || defined(I686_CPU)	cmpl	$CPUCLASS_386,_cpu_class	jne	3f#endif/* * We have to check each PTE for user write permission. * The checking may cause a page fault, so it is important to set * up everything for return via copyout_fault before here. */	/* compute number of pages */	movl	%edi,%ecx	andl	$PAGE_MASK,%ecx	addl	%ebx,%ecx	decl	%ecx	shrl	$IDXSHIFT+2,%ecx	incl	%ecx	/* compute PTE offset for start address */	movl	%edi,%edx	shrl	$IDXSHIFT,%edx	andb	$0xfc,%dl1:	/* check PTE for each page */	leal	_PTmap(%edx),%eax	shrl	$IDXSHIFT,%eax	andb	$0xfc,%al	testb	$PG_V,_PTmap(%eax)		/* PTE page must be valid */	je	4f	movb	_PTmap(%edx),%al	andb	$PG_V|PG_RW|PG_U,%al		/* page must be valid and user writable */	cmpb	$PG_V|PG_RW|PG_U,%al	je	2f4:	/* simulate a trap */	pushl	%edx	pushl	%ecx	shll	$IDXSHIFT,%edx	pushl	%edx	call	_trapwrite			/* trapwrite(addr) */	popl	%edx	popl	%ecx	popl	%edx	testl	%eax,%eax			/* if not ok, return EFAULT */	jnz	copyout_fault2:	addl	$4,%edx	decl	%ecx	jnz	1b				/* check next page */#endif /* I386_CPU */	/* bcopy(%esi, %edi, %ebx) */3:	movl	%ebx,%ecx#if defined(I586_CPU) && NNPX > 0	ALIGN_TEXTslow_copyout:#endif	shrl	$2,%ecx	cld	rep	movsl	movb	%bl,%cl	andb	$3,%cl	rep	movsbdone_copyout:	popl	%ebx	popl	%edi	popl	%esi	xorl	%eax,%eax	movl	_curpcb,%edx	movl	%eax,PCB_ONFAULT(%edx)	ret	ALIGN_TEXTcopyout_fault:	popl	%ebx	popl	%edi	popl	%esi	movl	_curpcb,%edx	movl	$0,PCB_ONFAULT(%edx)	movl	$EFAULT,%eax	ret#if defined(I586_CPU) && NNPX > 0ENTRY(i586_copyout)	/*	 * Duplicated from generic_copyout.  Could be done a bit better.	 */	movl	_curpcb,%eax	movl	$copyout_fault,PCB_ONFAULT(%eax)	pushl	%esi	pushl	%edi	pushl	%ebx	movl	16(%esp),%esi	movl	20(%esp),%edi	movl	24(%esp),%ebx	testl	%ebx,%ebx			/* anything to do? */	jz	done_copyout	/*	 * Check explicitly for non-user addresses.  If 486 write protection	 * is being used, this check is essential because we are in kernel	 * mode so the h/w does not provide any protection against writing	 * kernel addresses.	 */	/*	 * First, prevent address wrapping.	 */	movl	%edi,%eax	addl	%ebx,%eax	jc	copyout_fault/* * XXX STOP USING VM_MAXUSER_ADDRESS. * It is an end address, not a max, so every time it is used correctly it * looks like there is an off by one error, and of course it caused an off * by one error in several places. */	cmpl	$VM_MAXUSER_ADDRESS,%eax	ja	copyout_fault	/* bcopy(%esi, %edi, %ebx) */3:	movl	%ebx,%ecx	/*	 * End of duplicated code.	 */	cmpl	$1024,%ecx	jb	slow_copyout	pushl	%ecx	call	_fastmove	addl	$4,%esp	jmp	done_copyout#endif /* I586_CPU && NNPX > 0 *//* copyin(from_user, to_kernel, len) */ENTRY(copyin)	MEXITCOUNT	jmp	*_copyin_vectorENTRY(generic_copyin)	movl	_curpcb,%eax	movl	$copyin_fault,PCB_ONFAULT(%eax)	pushl	%esi	pushl	%edi	movl	12(%esp),%esi			/* caddr_t from */	movl	16(%esp),%edi			/* caddr_t to */	movl	20(%esp),%ecx			/* size_t  len */	/*	 * make sure address is valid	 */	movl	%esi,%edx	addl	%ecx,%edx	jc	copyin_fault	cmpl	$VM_MAXUSER_ADDRESS,%edx	ja	copyin_fault#if defined(I586_CPU) && NNPX > 0	ALIGN_TEXTslow_copyin:#endif	movb	%cl,%al	shrl	$2,%ecx				/* copy longword-wise */	cld	rep	movsl	movb	%al,%cl	andb	$3,%cl				/* copy remaining bytes */	rep	movsb#if defined(I586_CPU) && NNPX > 0	ALIGN_TEXTdone_copyin:#endif	popl	%edi	popl	%esi	xorl	%eax,%eax	movl	_curpcb,%edx	movl	%eax,PCB_ONFAULT(%edx)	ret	ALIGN_TEXTcopyin_fault:	popl	%edi	popl	%esi	movl	_curpcb,%edx	movl	$0,PCB_ONFAULT(%edx)	movl	$EFAULT,%eax	ret#if defined(I586_CPU) && NNPX > 0ENTRY(i586_copyin)	/*	 * Duplicated from generic_copyin.  Could be done a bit better.	 */	movl	_curpcb,%eax	movl	$copyin_fault,PCB_ONFAULT(%eax)	pushl	%esi	pushl	%edi	movl	12(%esp),%esi			/* caddr_t from */	movl	16(%esp),%edi			/* caddr_t to */	movl	20(%esp),%ecx			/* size_t  len */	/*	 * make sure address is valid	 */	movl	%esi,%edx	addl	%ecx,%edx	jc	copyin_fault	cmpl	$VM_MAXUSER_ADDRESS,%edx	ja	copyin_fault	/*	 * End of duplicated code.	 */	cmpl	$1024,%ecx	jb	slow_copyin	pushl	%ebx			/* XXX prepare for fastmove_fault */	pushl	%ecx	call	_fastmove	addl	$8,%esp	jmp	done_copyin#endif /* I586_CPU && NNPX > 0 */#if defined(I586_CPU) && NNPX > 0/* fastmove(src, dst, len)	src in %esi	dst in %edi	len in %ecx		XXX changed to on stack for profiling	uses %eax and %edx for tmp. storage *//* XXX use ENTRY() to get profiling.  fastmove() is actually a non-entry. */ENTRY(fastmove)	pushl	%ebp	movl	%esp,%ebp	subl	$PCB_SAVEFPU_SIZE+3*4,%esp	movl	8(%ebp),%ecx	cmpl	$63,%ecx	jbe	fastmove_tail	testl	$7,%esi	/* check if src addr is multiple of 8 */	jnz	fastmove_tail	testl	$7,%edi	/* check if dst addr is multiple of 8 */	jnz	fastmove_tail/* if (npxproc != NULL) { */	cmpl	$0,_npxproc	je	6f/*    fnsave(&curpcb->pcb_savefpu); */	movl	_curpcb,%eax	fnsave	PCB_SAVEFPU(%eax)/*   npxproc = NULL; */	movl	$0,_npxproc/* } */6:/* now we own the FPU. *//* * The process' FP state is saved in the pcb, but if we get * switched, the cpu_switch() will store our FP state in the * pcb.  It should be possible to avoid all the copying for * this, e.g., by setting a flag to tell cpu_switch() to * save the state somewhere else. *//* tmp = curpcb->pcb_savefpu; */	movl	%ecx,-12(%ebp)	movl	%esi,-8(%ebp)	movl	%edi,-4(%ebp)	movl	%esp,%edi	movl	_curpcb,%esi	addl	$PCB_SAVEFPU,%esi	cld	movl	$PCB_SAVEFPU_SIZE>>2,%ecx	rep	movsl	movl	-12(%ebp),%ecx	movl	-8(%ebp),%esi	movl	-4(%ebp),%edi/* stop_emulating(); */	clts/* npxproc = curproc; */	movl	_curproc,%eax	movl	%eax,_npxproc	movl	_curpcb,%eax	movl	$fastmove_fault,PCB_ONFAULT(%eax)4:	movl	%ecx,-12(%ebp)	cmpl	$1792,%ecx	jbe	2f	movl	$1792,%ecx2:	subl	%ecx,-12(%ebp)	cmpl	$256,%ecx	jb	5f	movl	%ecx,-8(%ebp)	movl	%esi,-4(%ebp)	ALIGN_TEXT3:	movl	0(%esi),%eax	movl	32(%esi),%eax	movl	64(%esi),%eax	movl	96(%esi),%eax	movl	128(%esi),%eax	movl	160(%esi),%eax	movl	192(%esi),%eax	movl	224(%esi),%eax	addl	$256,%esi	subl	$256,%ecx	cmpl	$256,%ecx	jae	3b	movl	-8(%ebp),%ecx	movl	-4(%ebp),%esi5:	ALIGN_TEXTfastmove_loop:	fildq	0(%esi)	fildq	8(%esi)	fildq	16(%esi)	fildq	24(%esi)	fildq	32(%esi)	fildq	40(%esi)	fildq	48(%esi)	fildq	56(%esi)	fistpq	56(%edi)	fistpq	48(%edi)	fistpq	40(%edi)	fistpq	32(%edi)	fistpq	24(%edi)	fistpq	16(%edi)	fistpq	8(%edi)	fistpq	0(%edi)	addl	$-64,%ecx	addl	$64,%esi	addl	$64,%edi	cmpl	$63,%ecx	ja	fastmove_loop	movl	-12(%ebp),%eax	addl	%eax,%ecx	cmpl	$64,%ecx	jae	4b/* curpcb->pcb_savefpu = tmp; */	movl	%ecx,-12(%ebp)	movl	%esi,-8(%ebp)	movl	%edi,-4(%ebp)	movl	_curpcb,%edi	addl	$PCB_SAVEFPU,%edi	movl	%esp,%esi	cld	movl	$PCB_SAVEFPU_SIZE>>2,%ecx	rep	movsl	movl	-12(%ebp),%ecx	movl	-8(%ebp),%esi	movl	-4(%ebp),%edi/* start_emulating(); */	smsw	%ax	orb	$CR0_TS,%al	lmsw	%ax/* npxproc = NULL; */	movl	$0,_npxproc	ALIGN_TEXT

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲不卡| 天天做天天摸天天爽国产一区| 国产美女精品在线| 精品成人一区二区三区四区| 蜜桃一区二区三区四区| 欧美久久一二三四区| 麻豆高清免费国产一区| 精品毛片乱码1区2区3区| 国内精品国产成人国产三级粉色| 久久久精品天堂| voyeur盗摄精品| 亚洲国产日韩一级| 日韩免费高清av| 国产在线播放一区| 国产精品久久久久久户外露出 | 成人免费高清在线观看| 国产精品动漫网站| 91视频.com| 五月婷婷激情综合| 精品少妇一区二区三区日产乱码| 成人免费黄色在线| 亚洲午夜视频在线观看| 精品精品国产高清一毛片一天堂| 国产成人在线视频网站| 一区二区三区在线高清| 日韩女优视频免费观看| 不卡的av电影在线观看| 午夜激情综合网| 国产女人18毛片水真多成人如厕| 色婷婷综合五月| 久久精品国产免费| 亚洲激情第一区| 精品久久人人做人人爰| 成人精品免费视频| 日本一区中文字幕| 国产精品天干天干在线综合| 欧美肥大bbwbbw高潮| 国产盗摄一区二区| 婷婷国产v国产偷v亚洲高清| 国产精品入口麻豆原神| 91麻豆精品国产91久久久久| 成人午夜碰碰视频| 日本视频在线一区| 亚洲三级在线播放| 日韩一区二区三区在线视频| 播五月开心婷婷综合| 日韩不卡手机在线v区| 国产精品久久久久四虎| 日韩一区二区影院| 欧洲生活片亚洲生活在线观看| 国产中文字幕精品| 视频在线观看一区| 一区免费观看视频| 精品精品国产高清一毛片一天堂| 在线免费观看一区| 国产精品一区专区| 免费在线欧美视频| 亚洲欧洲日本在线| 久久久精品国产99久久精品芒果| 欧美老年两性高潮| 色老汉一区二区三区| 国产高清在线观看免费不卡| 奇米四色…亚洲| 午夜久久久久久久久久一区二区| 日韩伦理免费电影| 中文字幕亚洲综合久久菠萝蜜| 久久天天做天天爱综合色| 在线播放国产精品二区一二区四区 | 日本精品裸体写真集在线观看| 国产成人av电影| 国产毛片精品一区| 日本女人一区二区三区| 亚洲超丰满肉感bbw| 一区二区三区视频在线看| 亚洲色图欧洲色图| 亚洲视频综合在线| 亚洲色图欧美偷拍| 亚洲靠逼com| 一区二区三区国产精华| 亚洲自拍偷拍麻豆| 夜色激情一区二区| 一区二区三区免费观看| 伊人夜夜躁av伊人久久| 亚洲在线视频网站| 香港成人在线视频| 午夜一区二区三区在线观看| 日韩高清电影一区| 麻豆成人在线观看| 韩国av一区二区三区四区| 国产不卡视频在线观看| 99精品视频一区二区三区| 91丨porny丨最新| 欧美视频一区二区三区| 欧美一级日韩一级| 国产亚洲一区二区在线观看| 中文字幕高清不卡| 亚洲激情六月丁香| 日韩精品亚洲专区| 国产毛片精品视频| 91麻豆免费看| 欧美日韩的一区二区| 欧美一区二区三区免费在线看 | 亚洲第一久久影院| 久久精品国产亚洲一区二区三区| 国产成人综合亚洲网站| 99久久国产综合色|国产精品| 欧美日韩午夜精品| www国产成人免费观看视频 深夜成人网| 国产人成亚洲第一网站在线播放| 亚洲乱码国产乱码精品精的特点 | 亚洲成a人在线观看| 精彩视频一区二区三区| 97精品电影院| 日韩一区国产二区欧美三区| 亚洲国产成人一区二区三区| 一区二区国产视频| 国产一区二区三区最好精华液| 一本到高清视频免费精品| 欧美电影免费观看高清完整版在线观看| 日本一区二区成人| 午夜精品久久一牛影视| 国产不卡在线一区| 91精品国产手机| 国产精品久久久久久妇女6080| 日本欧美大码aⅴ在线播放| 99精品在线免费| 久久嫩草精品久久久精品| 亚洲自拍偷拍九九九| 成人一区在线看| 日韩一区二区三区在线视频| 亚洲免费观看在线观看| 激情亚洲综合在线| 欧美日韩国产高清一区二区| 国产精品传媒入口麻豆| 另类欧美日韩国产在线| 在线区一区二视频| 中文字幕一区二区三区视频 | 视频一区在线播放| 97久久精品人人做人人爽50路| 精品黑人一区二区三区久久| 亚洲电影中文字幕在线观看| 99精品国产91久久久久久| 久久久久久久久久久久久女国产乱| 亚洲一区二区美女| 成人av免费在线播放| 国产午夜精品理论片a级大结局| 青青草国产成人99久久| 欧美日韩精品欧美日韩精品| 亚洲欧美日韩系列| a美女胸又www黄视频久久| 国产亚洲成年网址在线观看| 另类欧美日韩国产在线| 91精品国产全国免费观看| 亚洲一卡二卡三卡四卡五卡| 色屁屁一区二区| 中文字幕亚洲欧美在线不卡| 国产传媒日韩欧美成人| 久久伊人蜜桃av一区二区| 久久精品av麻豆的观看方式| 日韩欧美在线综合网| 亚洲mv在线观看| 欧美区一区二区三区| 五月婷婷久久综合| 欧美高清dvd| 日本麻豆一区二区三区视频| 这里只有精品电影| 日本成人在线电影网| 3d动漫精品啪啪1区2区免费| 日韩精品成人一区二区三区| 91精品国模一区二区三区| 丝袜亚洲另类欧美综合| 欧美一区二区不卡视频| 日本美女一区二区三区视频| 日韩欧美二区三区| 国内精品久久久久影院薰衣草| 精品久久国产字幕高潮| 国产一区二区三区黄视频| 国产亚洲成aⅴ人片在线观看| 粉嫩在线一区二区三区视频| 综合激情成人伊人| 91免费视频大全| 亚洲一二三区在线观看| 欧美精三区欧美精三区| 免费高清在线一区| 久久亚区不卡日本| 不卡一区中文字幕| 一区二区欧美国产| 91精品在线观看入口| 激情另类小说区图片区视频区| 国产色一区二区| 日本久久精品电影| 天堂影院一区二区| 国产日韩欧美a| 欧美性色黄大片手机版| 久久99久久精品| 国产精品美女久久福利网站| 欧美性感一类影片在线播放| 麻豆成人免费电影| 中文字幕日本不卡| 日韩一区二区精品在线观看|