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

📄 dependent.il

📁 操作系统SunOS 4.1.3版本的源码
💻 IL
📖 第 1 页 / 共 2 页
字号:
	.inline	_r_fmod_,8	movl	sp@+,a0	fmoves	a0@,fp0	movl	sp@+,a0	fmods	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_remainder_,8	movl	sp@+,a0	fmoves	a0@,fp0	movl	sp@+,a0	frems	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_log10_,4	movl	sp@+,a0	flog10s	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_log_,4	movl	sp@+,a0	flogns	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_sin_,4	movl	sp@+,a0	fsins	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_sinh_,4	movl	sp@+,a0	fsinhs	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_sqrt_,4	movl	sp@+,a0	fsqrts	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_tan_,4	movl	sp@+,a0	ftans	a0@,fp0	fmoves	fp0,d0	.end	.inline	_r_tanh_,4	movl	sp@+,a0	ftanhs	a0@,fp0	fmoves	fp0,d0	.end/*	-f68881 templates for libF77 entry points	*/	.inline	__Fz_add,12	movl	sp@+,d0		| d0 = c.	movl	sp@+,a0		| a0 = a.	movl	sp@+,a1		| a1 = b.	fmoved	a0@+,fp0	| fp0 = a->dreal + b->dreal.	faddd	a1@+,fp0	fmoved	a0@,fp1		| fp1 = a->dimag + b->dimag.	faddd	a1@,fp1	movl	d0,a0	fmoved	fp0,a0@+	| c->dreal = fp0.	fmoved	fp1,a0@		| c->dimag = fp1.	.end	.inline	__Fz_conv_c,4	movl	sp@+,a0	fmoved	a0@+,fp0	fmoved	a0@+,fp1	fmoves	fp0,d0	fmoves	fp1,d1	.end	.inline	__Fz_conv_f,4	movl    sp@+,a0   	fmoved	a0@,fp0	fmoves	fp0,d0	.end	.inline	__Fz_conv_i,4	movl    sp@+,a0   	fintrzd	a0@,fp0	fmovel	fp0,d0	.end	.inline	__Fz_minus,12	movl	sp@+,d0		| d0 = c.	movl	sp@+,a0		| a0 = a.	movl	sp@+,a1		| a1 = b.	fmoved	a0@+,fp0	| fp0 = a->dreal - b->dreal.	fsubd	a1@+,fp0	fmoved	a0@,fp1		| fp1 = a->dimag - b->dimag.	fsubd	a1@,fp1	movl	d0,a0	fmoved	fp0,a0@+	| c->dreal = fp0.	fmoved	fp1,a0@		| c->dimag = fp1.	.end        .inline __Fz_mult,12        movl    sp@+,d0         | d0 = c.        movl    sp@+,a1         | a0 = a.        movl    sp@+,a0         | a1 = b.        fmoved  a1@,fp0         | fp0 = (a->dreal *  b->dreal).        fmuld   a0@,fp0        fmoved  a1@(8),fp1      | fp1 = (a->dimag *  b->dimag).        fmuld   a0@(8),fp1        fsubx   fp1,fp0         | c->dreal = fp0 - fp1.        exg     d0,a0        fmoved  fp0,a0@        exg     d0,a0        fmoved  a1@,fp0         | fp0 = (a->dreal *  b->dimag).        fmuld   a0@(8),fp0        fmoved  a1@(8),fp1      | fp1 = (a->dimag *  b->dreal).        fmuld   a0@,fp1        faddx   fp1,fp0         | c->dimag = fp0 + fp1.        movl    d0,a0        fmoved  fp0,a0@(8)        .end 	.inline	_c_abs,4	movl	sp@+,a0	fmoves	a0@+,fp0	fmulx	fp0,fp0	fmoves	a0@,fp1	fmulx	fp1,fp1	faddx	fp1,fp0	fsqrtx	fp0,fp0	fmoves	fp0,d0	.end	.inline	_d_dim,8        movl   sp@+,a0        fmoved  a0@,fp0        movl   sp@+,a0        fsubd   a0@,fp0	fjugt	1f		| Accept difference if ? or >0.	clrl	d0		| Return +0 if difference is <= 0.	clrl	d1	jra	2f1:        fmoved  fp0,sp@-	movl	sp@+,d0	movl	sp@+,d12:	.end	.inline	_d_mod,8        movl   sp@+,a0        fmoved  a0@,fp0        movl   sp@+,a0        fmodd   a0@,fp0        fmoved  fp0,sp@-        movl   sp@+,d0        movl   sp@+,d1 	.end        .inline _i_dnnt,4        movl   sp@+,a0        movl   a0@+,d0        movl   a0@,d1        jsr     Mnintd        .end        .inline _id_nint_,4        movl   sp@+,a0        movl   a0@+,d0        movl   a0@,d1        jsr     Mnintd        .end        .inline _i_nint,4        movl   sp@+,a0        movl   a0@,d0        jsr     Mnints        .end        .inline _r_atn2,8        movl    sp@+,a0         | a0 gets address of first argument.        movl    sp@+,a1         | a1 gets address of second argument.        fmoves  a1@,fp0        fmoved  fp0,sp@-        fmoves  a0@,fp1        fmoved  fp1,sp@-        jsr     _atan2        movl    sp@+,a0         | Pop junk.        movl    sp@+,a0         | Pop junk.        movl    sp@+,a0         | Pop junk.        movl    sp@+,a0         | Pop junk.        movl    d1,sp@-        movl    d0,sp@-        fmoved  sp@+,fp0        fmoves  fp0,d0        .end 	.inline	_r_dim,8        movl   sp@+,a0        fmoves 	a0@,fp0        movl   sp@+,a0        fsubs  	a0@,fp0	fjugt	1f	clrl	d0		| Return 0 if diff <=0.	jra	2f1:        fmoves 	fp0,d0		| Accept difference if ? or >0.2:	.end	.inline	_r_mod,8        movl   sp@+,a0        fmoves  a0@,fp0        movl   sp@+,a0        fmods   a0@,fp0        fmoves  fp0,d0 	.end	.inline	_z_abs,4	movl	sp@+,a0	fmoved	a0@+,fp0	fmoved	a0@,fp1        fmulx   fp0,fp0        fmulx   fp1,fp1        faddx   fp1,fp0        fsqrtx  fp0,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end/*	templates for undocumented libm functions	*/#ifndef FFPA/*  * _swapRD(rd) 	exchanges rd with the current rounding direction. * _swapRP(rp) 	exchanges rp with the current rounding precision. * _swapTE(ex)  exchanges ex with the current exception trap enable bits. * _swapEX(ex) 	exchanges ex with the current accrued exception.  *		Here ex is a five bit value where each bit (cf. enum  *		fp_exception_type in <sys/ieeefloatingpoint.h>) corresponds  *		to either an exception-occurred accrued status flag or an *		exception trap enable flag (0 off,1 on): * 			bit 0 :  inexact flag * 			bit 1 :  division by zero flag * 			bit 2 :  underflow flag * 			bit 3 :  overflow flag * 			bit 4 :  invalid flag */	.inline	__swapRD,4	movl	sp@+,d1	movl	d1,_fp_direction	lsll	#4,d1	movl	d2,a0	fmovel	fpcr,d2	movl	d2,d0	andl	#0xFFFFFFCF,d0	orl	d1,d0	fmovel	d0,fpcr	movl	d2,d0	lsrl	#4,d0	moveq	#3,d2	andl	d2,d0	movl	a0,d2	.end	.inline	__swapRP,4	movl	sp@+,d1	movl	d1,_fp_precision	lsll	#6,d1	movl	d2,a0	fmovel	fpcr,d2	movl	d2,d0	andl	#0xFFFFFF3F,d0	orl	d1,d0	fmovel	d0,fpcr	movl	d2,d0	lsrl	#6,d0	moveq	#3,d2	andl	d2,d0	movl	a0,d2	.end	.inline	__swapEX,4	movl	sp@+,d1	movl	d1,_fp_accrued_exceptions	movl	d2,a0	fmovel	fpsr,d2	movl	d2,d0	andl	#0xFFFFFF07,d0	lsll	#3,d1	orl	d1,d0	fmovel	d0,fpsr	movl	d2,d0	lsrl	#3,d0	moveq	#31,d2	andl	d2,d0	movl	a0,d2	.end	.inline	__swapTE,4        movl    sp@+,d1        movl	d6,a0	movl	d7,a1        moveq   #9,d7        lsll    d7,d1        btst    d7,d1        jeq     1f        orw     #0x100,d11:        btst    #13,d1        jeq     1f        orw     #0xc000,d11:        fmovel  fpcr,d6        movl    d6,d0        andl    #0xFFFFC1FF,d0        orl     d1,d0        fmovel  d0,fpcr        movl    d6,d0        lsrl    d7,d0        moveq   #31,d1        andl    d1,d0        movl	a0,d6	movl	a1,d7	.end#endif/*	templates for obsolete libm functions	*/        .inline Mlog10s,0        flog10s	d0,fp0	fmoves	fp0,d0        .end        .inline Mlog10d,0        movl    d1,sp@-        movl    d0,sp@-        flog10d	sp@+,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1        .end	.inline	__Fz_eq,8	movl	sp@+,a0		| a0 -> x	movl	sp@+,a1		| a1 -> y	fmoved	a0@+,fp0	| Re x	fcmpd	a1@+,fp0	| Re y	clrl	d0		| x == y	fjneq	1f	fmoved	a0@,fp0		| Im x	fcmpd	a1@,fp0		| Im y	fjneq	1f	moveq	#1,d0		| x != y1:	.end	.inline	__Fz_ne,8	movl	sp@+,a0		| a0 -> x	movl	sp@+,a1		| a1 -> y	fmoved	a0@+,fp0	| Re x	fcmpd	a1@+,fp0	| Re y	moveq	#1,d0		| x != y	fjneq	1f	fmoved	a0@,fp0		| Im x	fcmpd	a1@,fp0		| Im y	fjneq	1f	clrl	d0		| x == y1:	.end        .inline _d_anint_,4        movl   sp@+,a0        movl   a0@+,d0        movl   a0@,d1        jsr     Manintd        .end	.inline	_sincos,16	fsincosd  sp@+,fp0:fp1	movl	sp@+,a0			| Address for sin.	movl	sp@+,a1			| Address for cos.	fmoved fp1,a0@		| Store sin.	fmoved fp0,a1@		| Store cos.	.end	.inline	_d_sincos_,12	movl	sp@+,a0	fsincosd  a0@,fp0:fp1	movl	sp@+,a0			| Address for sin.	movl	sp@+,a1			| Address for cos.	fmoved fp0,a1@		| Store cos.	fmoved fp1,a0@		| Store sin.	.end	.inline	_r_sincos_,12	movl	sp@+,a0	fsincoss  a0@,fp0:fp1	movl	sp@+,a0			| Address for sin.	movl	sp@+,a1			| Address for cos.	fmoves fp0,a1@		| Store cos.	fmoves fp1,a0@		| Store sin.	.end#define D_81(F,G) \	.inline	_d_/**/F/**/_,4 ; \	movl	sp@+,a0 ; \	f/**/G/**/d	a0@,fp0 ; \	fmoved	fp0,sp@- ; \	movl	sp@+,d0 ; \	movl	sp@+,d1 ; \	.end	D_81(cos,cos)	D_81(sin,sin)	D_81(tan,tan)	D_81(cosh,cosh)	D_81(sinh,sinh)	D_81(tanh,tanh)	D_81(acos,acos)	D_81(asin,asin)	D_81(atan,atan)	D_81(atanh,atanh)	D_81(aint,intrz)	D_81(exp,etox)	D_81(expm1,etoxm1)	D_81(exp10,tentox)	D_81(exp2,twotox)	D_81(log,logn)	D_81(log1p,lognp1)	D_81(log10,log10)	D_81(log2,log2)	D_81(sqrt,sqrt)|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void| _Fc_mult(c, a, b)| complex *c, *a, *b;		/* c = a * b */| {	.inline	__Fc_mult,12	movl	sp@+,d0	movl	sp@+,a0	movl	sp@+,a1|    21		c->real = (a->real *  b->real) - (a->imag *  b->imag);	fmoves	a0@,fp0	fmuls	a1@,fp0	fmoves	a0@(4),fp1	fmuls	a1@(4),fp1	fsubx	fp1,fp0	exg	d0,a0	fmoves	fp0,a0@	exg	d0,a0|    22		c->imag = (a->real *  b->imag) + (a->imag *  b->real);	fmoves	a0@,fp0	fmuls	a1@(4),fp0	fmoves	a0@(4),fp1	fmuls	a1@,fp1	faddx	fp1,fp0	movl	d0,a0	fmoves	fp0,a0@(4)	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void| _Fc_minus(c, a, b)| complex *c, *a, *b;		/* c = a - b */| {	.inline	__Fc_minus,12|    30	 	c->real = a->real - b->real;	movl	sp@+,d0	movl	sp@+,a0	movl	sp@+,a1	fmoves	a0@+,fp0	fsubs	a1@+,fp0|    31	  	c->imag = a->imag - b->imag;	fmoves	a0@,fp1	fsubs	a1@,fp1	movl	d0,a0	fmoves	fp0,a0@+	fmoves	fp1,a0@	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void| _Fc_add(c, a, b)| complex *c, *a, *b;		/* c = a + b */| {	.inline	__Fc_add,12|    30	 	c->real = a->real - b->real;	movl	sp@+,d0	movl	sp@+,a0	movl	sp@+,a1	fmoves	a0@+,fp0	fadds	a1@+,fp0|    31	  	c->imag = a->imag - b->imag;	fmoves	a0@,fp1	fadds	a1@,fp1	movl	d0,a0	fmoves	fp0,a0@+	fmoves	fp1,a0@	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void| _Fc_neg(c, a)| complex *c, *a;		/* c = -a */| {	.inline	__Fc_neg,8|    48	  	c->real = - a->real;	movl	sp@+,a0	movl	sp@+,a1	movl	a1@+,d0	bchg	#31,d0	movl	d0,a0@+|    49	  	c->imag = - a->imag;	movl	a1@,d0	bchg	#31,d0	movl	d0,a0@	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void| _Ff_conv_c(c, x)	/* convert float to complex */| complex *c;| FLOATPARAMETER x;| {	.inline	__Ff_conv_c,8|    59		c->real = FLOATPARAMETERVALUE(x);	movl	sp@+,a0	movl	sp@+,a0@+|    60		c->imag = 0.0;	clrl	a0@	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| FLOATFUNCTIONTYPE| _Fc_conv_f( c )		/* Convert complex to float */| complex *c;| {	.inline	__Fc_conv_f,4|    69		RETURNFLOAT(c->real);	movl	sp@+,a0	movl	a0@,d0	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| int| _Fc_conv_i (c)			/* Convert complex to int */| complex *c;| {	.inline	__Fc_conv_i,4|    78		return (int)c->real;	movl	sp@+,a0	fmoves	a0@,fp0	fmovel	fp0,d0	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void     | _Fi_conv_c (c,i)		/* Convert int to complex */| complex *c;| int i;   | {        	.inline	__Fi_conv_c,8|    88		c->real = (float)i;	movl	sp@+,a0	movl	sp@+,d0	fmovel	d0,fp0	fmoves	fp0,a0@+|    89		c->imag = 0.0;	clrl	a0@	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| double| _Fc_conv_d ( c )		/* Convert complex to double */| complex *c;| {	.inline	__Fc_conv_d,4|    98		return (double)c->real;	movl	sp@+,a0	fmoves	a0@,fp0	fmoved	fp0,sp@-	movl	sp@+,d0	movl	sp@+,d1	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void| _Fd_conv_c (c, x)		/* Convert double to complex */| complex *c;| double x;| {	.inline	__Fd_conv_c,8|   109		c->real = (float)(x);	movl	sp@+,a0	fmoved	sp@+,fp0	fmoves	fp0,a0@+|   110		c->imag = 0.0;	clrl	a0@	.end|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| void| _Fc_conv_z( result, c )	/* Convert complex to double complex */| dcomplex *result;| complex *c;| {	.inline	__Fc_conv_z,8|   120		result->dreal = (double)c->real;	movl	sp@+,a0	movl	sp@+,a1	fmoves	a1@+,fp0	fmoved	fp0,a0@+|   121		result->dimag = (double)c->imag;	fmoves	a1@,fp0	fmoved	fp0,a0@	.end

⌨️ 快捷键说明

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