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

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

?? reg_div.s

?? 內核是系統的心臟
?? S
字號:
	.file	"reg_div.S"
/*---------------------------------------------------------------------------+
 |  reg_div.S                                                                |
 |                                                                           |
 | Divide one FPU_REG by another and put the result in a destination FPU_REG.|
 |                                                                           |
 | Copyright (C) 1992,1993,1994                                              |
 |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |
 |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |
 |                                                                           |
 | Call from C as:                                                           |
 |   void reg_div(FPU_REG *a, FPU_REG *b, FPU_REG *dest,                     |
 |                                    unsigned int control_word)             |
 |                                                                           |
 +---------------------------------------------------------------------------*/

#include "exception.h"
#include "fpu_asm.h"


.text
	.align 2

.globl	_reg_div
_reg_div:
	pushl	%ebp
	movl	%esp,%ebp
#ifdef REENTRANT_FPU
	subl	$28,%esp	/* Needed by divide_kernel */
#endif REENTRANT_FPU

	pushl	%esi
	pushl	%edi
	pushl	%ebx

	movl	PARAM1,%esi
	movl	PARAM2,%ebx
	movl	PARAM3,%edi

	movb	TAG(%esi),%al
	orb	TAG(%ebx),%al

	jne	L_div_special		/* Not (both numbers TW_Valid) */

#ifdef DENORM_OPERAND
/* Check for denormals */
	cmpl	EXP_UNDER,EXP(%esi)
	jg	xL_arg1_not_denormal

	call	_denormal_operand
	orl	%eax,%eax
	jnz	fpu_Arith_exit

xL_arg1_not_denormal:
	cmpl	EXP_UNDER,EXP(%ebx)
	jg	xL_arg2_not_denormal

	call	_denormal_operand
	orl	%eax,%eax
	jnz	fpu_Arith_exit

xL_arg2_not_denormal:
#endif DENORM_OPERAND

/* Both arguments are TW_Valid */
	movb	TW_Valid,TAG(%edi)

	movb	SIGN(%esi),%cl
	cmpb	%cl,SIGN(%ebx)
	setne	(%edi)	      /* Set the sign, requires SIGN_NEG=1, SIGN_POS=0 */

	movl	EXP(%esi),%edx
	movl	EXP(%ebx),%eax
	subl	%eax,%edx
	addl	EXP_BIAS,%edx
	movl	%edx,EXP(%edi)

	jmp	_divide_kernel


/*-----------------------------------------------------------------------*/
L_div_special:
	cmpb	TW_NaN,TAG(%esi)	/* A NaN with anything to give NaN */
	je	L_arg1_NaN

	cmpb	TW_NaN,TAG(%ebx)	/* A NaN with anything to give NaN */
	jne	L_no_NaN_arg

/* Operations on NaNs */
L_arg1_NaN:
L_arg2_NaN:
	pushl	%edi			/* Destination */
	pushl	%esi
	pushl	%ebx			/* Ordering is important here */
	call	_real_2op_NaN
	jmp	LDiv_exit

/* Invalid operations */
L_zero_zero:
L_inf_inf:
	pushl	%edi			/* Destination */
	call	_arith_invalid		/* 0/0 or Infinity/Infinity */
	jmp	LDiv_exit

L_no_NaN_arg:
	cmpb	TW_Infinity,TAG(%esi)
	jne	L_arg1_not_inf

	cmpb	TW_Infinity,TAG(%ebx)
	je	L_inf_inf		/* invalid operation */

	cmpb	TW_Valid,TAG(%ebx)
	je	L_inf_valid

#ifdef PARANOID
	/* arg2 must be zero or valid */
	cmpb	TW_Zero,TAG(%ebx)
	ja	L_unknown_tags
#endif PARANOID

	/* Note that p16-9 says that infinity/0 returns infinity */
	jmp	L_copy_arg1		/* Answer is Inf */

L_inf_valid:
#ifdef DENORM_OPERAND
	cmpl	EXP_UNDER,EXP(%ebx)
	jg	L_copy_arg1		/* Answer is Inf */

	call	_denormal_operand
	orl	%eax,%eax
	jnz	fpu_Arith_exit
#endif DENORM_OPERAND

	jmp	L_copy_arg1		/* Answer is Inf */

L_arg1_not_inf:
	cmpb	TW_Zero,TAG(%ebx)	/* Priority to div-by-zero error */
	jne	L_arg2_not_zero

	cmpb	TW_Zero,TAG(%esi)
	je	L_zero_zero		/* invalid operation */

#ifdef PARANOID
	/* arg1 must be valid */
	cmpb	TW_Valid,TAG(%esi)
	ja	L_unknown_tags
#endif PARANOID

/* Division by zero error */
	pushl	%edi			/* destination */
	movb	SIGN(%esi),%al
	xorb	SIGN(%ebx),%al
	pushl	%eax			/* lower 8 bits have the sign */
	call	_divide_by_zero
	jmp	LDiv_exit

L_arg2_not_zero:
	cmpb	TW_Infinity,TAG(%ebx)
	jne	L_arg2_not_inf

#ifdef DENORM_OPERAND
	cmpb	TW_Valid,TAG(%esi)
	jne	L_return_zero

	cmpl	EXP_UNDER,EXP(%esi)
	jg	L_return_zero		/* Answer is zero */

	call	_denormal_operand
	orl	%eax,%eax
	jnz	fpu_Arith_exit
#endif DENORM_OPERAND

	jmp	L_return_zero		/* Answer is zero */

L_arg2_not_inf:

#ifdef PARANOID
	cmpb	TW_Zero,TAG(%esi)
	jne	L_unknown_tags
#endif PARANOID

	/* arg1 is zero, arg2 is not Infinity or a NaN */

#ifdef DENORM_OPERAND
	cmpl	EXP_UNDER,EXP(%ebx)
	jg	L_copy_arg1		/* Answer is zero */

	call	_denormal_operand
	orl	%eax,%eax
	jnz	fpu_Arith_exit
#endif DENORM_OPERAND

L_copy_arg1:
	movb	TAG(%esi),%ax
	movb	%ax,TAG(%edi)
	movl	EXP(%esi),%eax
	movl	%eax,EXP(%edi)
	movl	SIGL(%esi),%eax
	movl	%eax,SIGL(%edi)
	movl	SIGH(%esi),%eax
	movl	%eax,SIGH(%edi)

LDiv_set_result_sign:
	movb	SIGN(%esi),%cl
	cmpb	%cl,SIGN(%ebx)
	jne	LDiv_negative_result

	movb	SIGN_POS,SIGN(%edi)
	xorl	%eax,%eax		/* Valid result */
	jmp	LDiv_exit

LDiv_negative_result:
	movb	SIGN_NEG,SIGN(%edi)
	xorl	%eax,%eax		/* Valid result */

LDiv_exit:
#ifdef REENTRANT_FPU
	leal	-40(%ebp),%esp
#else
	leal	-12(%ebp),%esp
#endif REENTRANT_FPU

	popl	%ebx
	popl	%edi
	popl	%esi
	leave
	ret


L_return_zero:
	xorl	%eax,%eax
	movl	%eax,SIGH(%edi)
	movl	%eax,SIGL(%edi)
	movl	EXP_UNDER,EXP(%edi)
	movb	TW_Zero,TAG(%edi)
	jmp	LDiv_set_result_sign

#ifdef PARANOID
L_unknown_tags:
	pushl	EX_INTERNAL | 0x208
	call	EXCEPTION

	/* Generate a NaN for unknown tags */
	movl	_CONST_QNaN,%eax
	movl	%eax,(%edi)
	movl	_CONST_QNaN+4,%eax
	movl	%eax,SIGL(%edi)
	movl	_CONST_QNaN+8,%eax
	movl	%eax,SIGH(%edi)
	jmp	LDiv_exit		/* %eax is nz */
#endif PARANOID

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久三级国产网站| 婷婷丁香激情综合| 亚洲综合区在线| 国产在线不卡一卡二卡三卡四卡| 91麻豆免费看片| 久久久久久日产精品| 日韩国产欧美在线播放| 日本丰满少妇一区二区三区| 国产亚洲精品超碰| 国产精品2024| 欧美日韩国产高清一区二区三区 | 国产精品一二三四区| 欧美日韩三级视频| 一区二区三区精品视频在线| 成人中文字幕合集| 久久综合999| 精品亚洲成av人在线观看| 欧美久久久影院| 一区二区三区波多野结衣在线观看| 国产**成人网毛片九色| 精品国产网站在线观看| 麻豆成人免费电影| 日韩视频一区二区三区在线播放| 日韩中文字幕亚洲一区二区va在线| 99re这里只有精品视频首页| 国产精品日韩成人| 成人一区在线观看| 国产精品丝袜久久久久久app| 国产毛片一区二区| 国产日韩欧美制服另类| 岛国精品在线播放| 中文字幕不卡在线观看| 高清成人免费视频| 国产精品久久久久四虎| 9l国产精品久久久久麻豆| 国产精品久久久久久久久果冻传媒| 国产精品一区二区不卡| 国产精品免费久久久久| 91亚洲国产成人精品一区二区三 | 欧美高清在线精品一区| 成人亚洲一区二区一| 国产精品高潮呻吟| 色婷婷精品大视频在线蜜桃视频 | 91麻豆精品久久久久蜜臀| 日韩影院在线观看| 精品精品国产高清a毛片牛牛| 激情亚洲综合在线| 亚洲国产激情av| 色哟哟欧美精品| 日本亚洲电影天堂| 国产日产欧美一区| 99精品视频一区二区| 亚洲电影一区二区| 精品国产三级电影在线观看| 99视频在线精品| 天涯成人国产亚洲精品一区av| 欧美v亚洲v综合ⅴ国产v| 成人丝袜高跟foot| 亚洲国产一区二区在线播放| 欧美videos大乳护士334| 99国产精品久久久久久久久久| 蓝色福利精品导航| 久久久久久99久久久精品网站| 99视频在线观看一区三区| 三级不卡在线观看| 中日韩av电影| 正在播放亚洲一区| av爱爱亚洲一区| 免费三级欧美电影| 国产精品不卡一区二区三区| 51精品久久久久久久蜜臀| 国产成人午夜99999| 亚洲chinese男男1069| 欧美国产乱子伦| 91精品国产欧美一区二区18| 成人高清免费观看| 裸体一区二区三区| 一区二区三区国产精品| 久久久久亚洲综合| 欧美一区二区视频免费观看| 成人国产精品免费网站| 老司机午夜精品99久久| 一区二区三区鲁丝不卡| 久久精品在线免费观看| 日韩欧美在线网站| 欧美日韩中文字幕一区二区| 成人动漫一区二区| 国产一区二区福利视频| 日韩av一区二区三区四区| 亚洲精品中文字幕乱码三区| 久久精品这里都是精品| 日韩欧美电影一区| 欧美精品一二三区| 在线亚洲欧美专区二区| 91麻豆精品视频| 成人av在线电影| 成人一区二区三区在线观看| 国产激情91久久精品导航| 日韩影院在线观看| 亚洲一二三区在线观看| 一二三区精品视频| 亚洲欧美偷拍另类a∨色屁股| 亚洲国产成人在线| 中文字幕av一区二区三区免费看| 精品毛片乱码1区2区3区| 欧美成人video| 日韩欧美123| 精品免费99久久| 久久久久久久性| 久久精品亚洲精品国产欧美| 久久伊99综合婷婷久久伊| 久久综合久久综合九色| 精品国产乱码久久久久久夜甘婷婷| 日韩一级精品视频在线观看| 欧美一区二区美女| 日韩精品一区二区三区swag| 久久综合五月天婷婷伊人| 久久久久久日产精品| 中文字幕免费一区| 亚洲精品免费在线观看| 亚洲综合男人的天堂| 性做久久久久久久免费看| 午夜电影久久久| 精品一区二区精品| 国产成人免费视频一区| 99久久精品免费| 欧美唯美清纯偷拍| 91精品国产91久久综合桃花| 日韩欧美综合在线| 国产欧美综合在线| 亚洲三级在线观看| 午夜激情综合网| 国产自产v一区二区三区c| 福利一区二区在线| 欧日韩精品视频| 欧美一级高清片| 国产精品久线在线观看| 亚洲一区二区三区四区在线 | 久久久精品tv| 国产精品高潮久久久久无| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲一区二区欧美日韩| 日韩精品一级中文字幕精品视频免费观看 | 97aⅴ精品视频一二三区| 欧洲生活片亚洲生活在线观看| 欧美精品丝袜久久久中文字幕| 日韩精品一区二区三区蜜臀| 国产精品色在线| 丝袜亚洲另类欧美综合| 成人午夜在线免费| 欧美日韩国产成人在线免费| 久久网站热最新地址| 日韩美女视频一区二区 | 久久美女艺术照精彩视频福利播放 | 日韩精品一级二级| 成人午夜av电影| 欧美肥妇毛茸茸| 中文字幕五月欧美| 免费观看成人鲁鲁鲁鲁鲁视频| 暴力调教一区二区三区| 欧美精品黑人性xxxx| 亚洲欧洲精品成人久久奇米网| 免费久久精品视频| 色婷婷av一区二区三区大白胸 | 91精品欧美一区二区三区综合在 | 免费在线一区观看| 色婷婷久久久亚洲一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧美电影院| 福利一区二区在线观看| 欧美电影免费提供在线观看| 亚洲福利一区二区三区| 波多野结衣精品在线| 久久久精品日韩欧美| 国内外成人在线视频| 色先锋aa成人| 国产精品区一区二区三区| 麻豆91在线播放免费| 欧美精品视频www在线观看| 成人免费视频在线观看| 国产大陆精品国产| 久久婷婷国产综合精品青草| 日韩vs国产vs欧美| 欧美日韩中文字幕一区| 一区二区三区在线播| 99re在线视频这里只有精品| 国产嫩草影院久久久久| 国产不卡高清在线观看视频| 久久综合99re88久久爱| 精品无码三级在线观看视频| 欧美一区日韩一区| 日韩国产在线一| 欧美一卡2卡3卡4卡| 天天做天天摸天天爽国产一区| 精品视频色一区| 亚洲电影一级片| 9191国产精品| 日本不卡视频一二三区| 日韩视频在线永久播放| 裸体健美xxxx欧美裸体表演|