⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dependent.il

📁 操作系统SunOS 4.1.3版本的源码
💻 IL
📖 第 1 页 / 共 2 页
字号:
/*	@(#)dependent.il 1.1 92/07/30 SMI	*//* * Copyright (c) 1987 by Sun Microsystems, Inc. */	.inline _pow_rr,8	| float _pow_rr( float *x, *y )	movl	sp@+,a0		| a0 gets address of x.	movl	sp@+,a1		| a1 gets address of y.	fmovel	fpsr,d1		| d1 gets caller's status.	fmovel	fpcr,d0		| d0 gets caller's modes.	fmovel	#0,fpcr		| Set default modes. 		flogns	a0@,fp0		| fp0 gets log(x).	fmuls	a1@,fp0		| fp0 gets y*log(x).	fetoxx	fp0,fp0		| fp0 gets x**y.	fmovel	d0,fpcr		| Restore caller's modes.	btst	#9,d0		jne	1f		| Go the long way if inexact trap is intended.	btst	#3,d1	jeq	1f		| Go the long way if accrued inexact bit was off.	fmovel	fpsr,d0	andl	#0x07000000,d0	| Get Z/I/NaN condition code bits.	jeq	2f		| Go the long way if result is zero, infinity, or NaN.1:	fmovel	d1,fpsr		| Restore caller's status.	movl	a1,sp@- 	| Push parameters for _r_pow_.	movl	a0,sp@-	jsr	_r_pow_		| Compute carefully.	fmoves	d0,fp0	movl	sp@+,a0		| Clear parameters for _r_pow_.	movl	sp@+,a02:	fmoves	fp0,d0	.end	.inline _r_pow_,8	| float _r_pow_( float *x, *y )	movl	sp@+,a0		| a0 gets address of x.	movl	sp@+,a1		| a1 gets address of y.	fmovel	fpsr,d1		| d1 gets caller's status.	fmovel	fpcr,d0		| d0 gets caller's modes.	fmovel	#0,fpcr		| Set default modes. 		flogns	a0@,fp0		| fp0 gets log(x).	fmuls	a1@,fp0		| fp0 gets y*log(x).	fetoxx	fp0,fp0		| fp0 gets x**y.	fmovel	d0,fpcr		| Restore caller's modes.	btst	#9,d0		jne	1f		| Go the long way if inexact trap is intended.	btst	#3,d1	jeq	1f		| Go the long way if accrued inexact bit was off.	fmovel	fpsr,d0	andl	#0x07000000,d0	| Get Z/I/NaN condition code bits.	jeq	2f		| Go the long way if result is zero, infinity, or NaN.1:	fmovel	d1,fpsr		| Restore caller's status.	movl	a1,sp@- 	| Push parameters for _r_pow_.	movl	a0,sp@-	jsr	_r_pow_		| Compute carefully.	fmoves	d0,fp0	movl	sp@+,a0		| Clear parameters for _r_pow_.	movl	sp@+,a02:	fmoves	fp0,d0	.end	.inline _pow_dd,8	| double _pow_dd( double *x, *y )	movl	sp@+,a0		| a0 gets address of x.	movl	sp@+,a1		| a1 gets address of y.	fmovel	fpsr,d1		| d1 gets caller's status.	fmovel	fpcr,d0		| d0 gets caller's modes.	fmovel	#0,fpcr		| Set default modes. 		flognd	a0@,fp0		| fp0 gets log(x).	fmuld	a1@,fp0		| fp0 gets y*log(x).	fetoxx	fp0,fp0		| fp0 gets x**y.	fmovel	d0,fpcr		| Restore caller's modes.	btst	#9,d0		jne	1f		| Go the long way if inexact trap is intended.	btst	#3,d1	jeq	1f		| Go the long way if accrued inexact bit was off.	fmovel	fpsr,d0	andl	#0x07000000,d0	| Get Z/I/NaN condition code bits.	jeq	2f		| Go the long way if result is zero, infinity, or NaN.1:	fmovel	d1,fpsr		| Restore caller's status.	movl	a1@(4),sp@-	| Push parameters for _pow.	movl	a1@,sp@-	movl	a0@(4),sp@-	movl	a0@,sp@-	jsr	_pow		| Compute carefully.	movl	sp@+,a0		| Clear parameters for _pow.	movl	sp@+,a0	movl	d0,sp@	movl	d1,sp@(4)	fmoved	sp@+,fp02:	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline _d_pow_,8	| double _pow_dd( double *x, *y )	movl	sp@+,a0		| a0 gets address of x.	movl	sp@+,a1		| a1 gets address of y.	fmovel	fpsr,d1		| d1 gets caller's status.	fmovel	fpcr,d0		| d0 gets caller's modes.	fmovel	#0,fpcr		| Set default modes. 		flognd	a0@,fp0		| fp0 gets log(x).	fmuld	a1@,fp0		| fp0 gets y*log(x).	fetoxx	fp0,fp0		| fp0 gets x**y.	fmovel	d0,fpcr		| Restore caller's modes.	btst	#9,d0		jne	1f		| Go the long way if inexact trap is intended.	btst	#3,d1	jeq	1f		| Go the long way if accrued inexact bit was off.	fmovel	fpsr,d0	andl	#0x07000000,d0	| Get Z/I/NaN condition code bits.	jeq	2f		| Go the long way if result is zero, infinity, or NaN.1:	fmovel	d1,fpsr		| Restore caller's status.	movl	a1@(4),sp@-	| Push parameters for _pow.	movl	a1@,sp@-	movl	a0@(4),sp@-	movl	a0@,sp@-	jsr	_pow		| Compute carefully.	movl	sp@+,a0		| Clear parameters for _pow.	movl	sp@+,a0	movl	d0,sp@	movl	d1,sp@(4)	fmoved	sp@+,fp02:	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline _pow,16		| double _pow( double x, y )	fmoved	sp@+,fp1	| fp1 gets x.	fmovel	fpsr,d1		| d1 gets caller's status.	fmovel	fpcr,d0		| d0 gets caller's modes.	fmovel	#0,fpcr		| Set default modes. 		flognx	fp1,fp0		| fp0 gets log(x).	fmuld	sp@,fp0		| fp0 gets y*log(x).	fetoxx	fp0,fp0		| fp0 gets x**y.	fmovel	d0,fpcr		| Restore caller's modes.	btst	#9,d0		jne	1f		| Go the long way if inexact trap is intended.	btst	#3,d1	jeq	1f		| Go the long way if accrued inexact bit was off.	fmovel	fpsr,d0	andl	#0x07000000,d0	| Get Z/I/NaN condition code bits.	jeq	2f		| Go the long way if result is zero, infinity, or NaN.1:	fmovel	d1,fpsr		| Restore caller's status.	fmoved	fp1,sp@-	| Push parameters for _pow.	jsr	_pow		| Compute carefully.	movl	sp@+,a0		| Clear parameters for _pow.	movl	sp@+,a0	movl	d0,sp@	movl	d1,sp@(4)	fmoved	sp@,fp02:	fmoved	fp0,sp@	movl	sp@+,d0	movl	sp@+,d1	.end/*	-f68881 templates for documented libm functions		*/	.inline	_acos,8	facosd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_aint,8	fintrzd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline _anint,8	movl	sp@+,d0	movl	sp@+,d1	jsr	Manintd	.end	.inline	_asin,8	fasind	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_atan,8	fatand	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_atanh,8	fatanhd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_r_atanh_,4	movl	sp@+,a0	fatanhs	a0@,fp0	fmoves	fp0,d0	.end	.inline	_ceil,8	fmovel	fpcr,d1	movl	d1,d0	orb	#0x30,d0	| Turn on round to +inf.	fmovel	d0,fpcr	fintd	sp@+,fp0	fmoved	fp0,sp@-	fmovel	d1,fpcr	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_floor,8	fmovel	fpcr,d1	movl	d1,d0	andb	#0xcf,d0	orb	#0x20,d0	| Turn on round to -inf.	fmovel	d0,fpcr	fintd	sp@+,fp0	fmoved	fp0,sp@-	fmovel	d1,fpcr	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_d_ceil_,4	movl	sp@+,a0	fmovel	fpcr,d1	movl	d1,d0	orb	#0x30,d0	| Turn on round to +inf.	fmovel	d0,fpcr	fintd	a0@,fp0	fmoved	fp0,sp@-	fmovel	d1,fpcr	movl	sp@+,d0	movl	sp@+,d1	.end		.inline	_d_floor_,4	movl	sp@+,a0	fmovel	fpcr,d1	movl	d1,d0	andb	#0xcf,d0	orb	#0x20,d0	| Turn on round to -inf.	fmovel	d0,fpcr	fintd	a0@,fp0	fmoved	fp0,sp@-	fmovel	d1,fpcr	movl	sp@+,d0	movl	sp@+,d1	.end		.inline	_r_ceil_,4	movl	sp@+,a0	fmovel	fpcr,d1	movl	d1,d0	orb	#0x30,d0	| Turn on round to +inf.	fmovel	d0,fpcr	fints	a0@,fp0	fmoves	fp0,d0	fmovel	d1,fpcr	.end		.inline	_r_floor_,4	movl	sp@+,a0	fmovel	fpcr,d1	movl	d1,d0	andb	#0xcf,d0	orb	#0x20,d0	| Turn on round to -inf.	fmovel	d0,fpcr	fints	a0@,fp0	fmoves	fp0,d0	fmovel	d1,fpcr	.end	.inline	_cos,8	fcosd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_cosh,8	fcoshd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_exp,8	fetoxd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_expm1,8	fetoxm1d	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_r_expm1_,4	movl	sp@+,a0	fetoxm1s	a0@,fp0	fmoves	fp0,d0	.end	.inline	_exp2,8	ftwotoxd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_exp10,8	ftentoxd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end        .inline _hypot,16        fmoved	sp@+,fp0        fmulx   fp0,fp0	fmoved	sp@+,fp1        fmulx   fp1,fp1        faddx   fp1,fp0        fsqrtx  fp0,fp0        fmoved  fp0,sp@-        movl	sp@+,d0	movl	sp@+,d1	.end        .inline _d_hypot_,8        movl	sp@+,a0	fmoved	a0@,fp0	movl	sp@+,a0        fmulx   fp0,fp0	fmoved	a0@,fp1        fmulx   fp1,fp1        faddx   fp1,fp0        fsqrtx  fp0,fp0        fmoved  fp0,sp@-        movl	sp@+,d0	movl	sp@+,d1	.end       	.inline _r_hypot_,8        movl	sp@+,a0	fmoves	a0@,fp0	movl	sp@+,a0	fmoves	a0@,fp1        fmulx   fp0,fp0        fmulx   fp1,fp1        faddx   fp1,fp0        fsqrtx  fp0,fp0        fmoves  fp0,d0	.end	.inline	_log,8	flognd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_log1p,8	flognp1d	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_r_log1p_,4	movl	sp@+,a0	flognp1s	a0@,fp0	fmoves	fp0,d0	.end	.inline	_log2,8	flog2d	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_r_log2_,4	movl	sp@+,a0	flog2s	a0@,fp0	fmoves	fp0,d0	.end	.inline	_log10,8	flog10d	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline _nint,8	movl	sp@+,d0	movl	sp@+,d1	jsr	Mnintd	.end	.inline	_sin,8	fsind	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_sinh,8	fsinhd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_sqrt,8	fsqrtd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_tan,8	ftand	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_tanh,8	ftanhd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_rint,8	fintd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_d_rint_,4	movl	sp@+,a0	fintd	a0@,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_r_rint_,4	movl	sp@+,a0	fints	a0@,fp0	fmoves	fp0,d0	.end	.inline	_irint,8	fintd	sp@+,fp0	fmovel	fp0,d0	.end	.inline	_id_irint_,4	movl	sp@+,a0	fintd	a0@,fp0	fmovel	fp0,d0	.end	.inline	_ir_irint_,4	movl	sp@+,a0	fints	a0@,fp0	fmovel	fp0,d0	.end	.inline	_fmod,16	fmoved	sp@+,fp0		| fp0 gets first argument	fmodd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_remainder,16	fmoved	sp@+,fp0		| fp0 gets first argument	fremd	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_ldexp,12	fmoved	sp@+,fp0	fscalel	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_scalbn,12	fmoved	sp@+,fp0	fscalel	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_d_scalbn_,8	movl	sp@+,a0	fmoved	a0@,fp0	movl	sp@+,a0	fscalel	a0@,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_r_scalbn_,8	movl	sp@+,a0	fmoves	a0@,fp0	movl	sp@+,a0	fscalel	a0@,fp0	fmoves	fp0,d0	.end	.inline	_d_fmod_,8	movl	sp@+,a0	fmoved	a0@,fp0	movl	sp@+,a0	fmodd	a0@,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_d_remainder_,8	movl	sp@+,a0	fmoved	a0@,fp0	movl	sp@+,a0	fremd	a0@,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end	.inline	_ir_nint_,4	movl	sp@+,a0	movl	a0@,d0	jsr	Mnints	.end	.inline	_r_acos_,4	movl	sp@+,a0	facoss	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_aint_,4	movl	sp@+,a0	fintrzs	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_anint_,4	movl	sp@+,a0	movl	a0@,d0	jsr	Manints	.end	.inline	_r_asin_,4	movl	sp@+,a0	fasins	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_atan_,4	movl	sp@+,a0	fatans	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_cos_,4	movl	sp@+,a0	fcoss	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_cosh_,4	movl	sp@+,a0	fcoshs	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_exp10_,4	movl	sp@+,a0	ftentoxs	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_exp2_,4	movl	sp@+,a0	ftwotoxs	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_exp_,4	movl	sp@+,a0	fetoxs	a0@,fp0	fmoves	fp0,d0	.end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -