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

📄 sincos.u

📁 操作系统SunOS 4.1.3版本的源码
💻 U
📖 第 1 页 / 共 5 页
字号:
	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul mulacreg;			;		ptr5;	ptr5!dhalf	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dnop enra tioe tilsw loaddp halt;;		;	;			dnop;				;		ptr5;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul enrb loaddp halt;		regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!0x700+0xD1	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			drsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xDB	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xD6	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul mulacreg;			;		;	;			dnop;				;		;	;			dnop enrb tioe timsw loaddp halt;;		;	;			dnop enrb tioe tilsw loaddp halt;;		;	;			dnop;				;		ptr5;	ptr5!0x700+0xD0	;			dnop enra loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul enra loaddp halt;		regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!0x700+0xDB	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enrb tioe timsw loaddp halt;	;	;	;			dsub enrb tioe tilsw loaddp halt;	;	;	;			dnop;				;		ptr5;		ptr5!0x700+0xDA	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;	call trigend;		dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;docos:	;			;				;		;	ptr5!c_dcos5	call cc;		;				;		ptr5;			;			;				;		ptr5;	ptr5!0x700+0xD4	;			i2cmp enra halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;	ptr5!szero	;			i2cmp enrb halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;	ptr5!0x700+0xD0	jeq sincos3;		dnop enra loaddp halt;		regtoti;	rcsmsw ptr5;	;			dnop enra loaddp halt;		regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xD1	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul enrb loaddp halt;		regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!0x700+0xD5	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			drsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;|* cc in C register	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;sincos3:	;			;				;		ptr5;		ptr5!c_dtrthresh1	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dcmp aluacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	ptr5!dhalf	jlt thresh2;		dnop halt;			;		ptr5;			;			dnop halt;			;		ptr5;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!c_d3_8	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xD5	;			dnop enra srccalu clkcc loaddp halt;regtoti;	rcsmsw ptr5;	;			drsub alubcreg enra loaddp halt;regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!c_d5_8	;			dnop enra srccalu clkcc loaddp halt;regtoti;	rcsmsw ptr5;	;			dsub alubcreg enra loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xDA	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	call trigend;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;thresh2:	;			dnop;				;		ptr5;	ptr5!c_dtrthresh2	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dcmp aluacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	ptr5!dhalf	jlt thresh3;		dnop halt;			;		ptr5;			;			dnop halt;			;		ptr5;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!c_d3_16	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xD5	;			dnop enra srccalu clkcc loaddp halt;regtoti;	rcsmsw ptr5;	;			drsub alubcreg enra loaddp halt;regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!c_d13_16	;			dnop enra srccalu clkcc loaddp halt;regtoti;	rcsmsw ptr5;	;			dsub alubcreg enra loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xDA	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	call trigend;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;thresh3:	;			dnop;				;		ptr5;	ptr5!dhalf	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!0x700+0xD5	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!done	;			dnop enra srccalu clkcc loaddp halt;regtoti;	rcsmsw ptr5;	;			dsub alubcreg enra loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;		ptr5!0x700+0xDA	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	call trigend;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;dnotfinxs:|*  Check for x - NAN or inf, and for inexact (doing this by squaring c_ssin, which _will_ generate|*  an inexact.  If IMASK bit is set, the jnotierr will fail and so we will bail out.|*  Enter with msw(x) in RA register.  Return if (x) != NAN or inf, with 0.002246 in ptr5|*  First, get absolute value of DP (x).  Then load msw (infinity) into RB.|*  Check to see if (x) is (inf) or (NaN).  Look at msw[abs(x)] ANDed with 0x7FF00000 (i.e. (x) with|*  a max exponent, and compare with msw(infinity).  If =, then we have NAN or infinity.|*  Get msw[abs(x)] and store in RA as SP.  Store msw(infinity) in RB.  Treat as integers and logical|*  AND.  Get masked msw[abs(x)] and compare with msw(infinity).	;			;				;		ptr5;	ptr5!dinf	;			i2land enrb halt;		regtoti;	rcsmsw ptr5;	;			;				;		;	;			i2cmp enra tioe tisp halt;	;		;	;			;				;		ptr5;	ptr5!c_ssin	jeq dtrignan;		smul enra enrb halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;	ptr5!c_dtwo46	jnotierr goforit cstat;	dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dcmp aluacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;|*  Inexact mask bit set.  Bailout.	call bail.out;		;				;		;dtrignan:|* argument was a NAN of infinity. 	;			;				;		ptr2;	;			dnop enra loaddp halt;		regtoti;	rcsmsw ptr2;	;			dnop enra loaddp halt;		regtoti;	rcslsw ptr2;	;			dnop;				;		;	jtierr bail.out cstat;	dnop halt;			;		;	;			dnop halt;			;		;	call bail.out;		;				;		;|* compute ssss:	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!c_dsin4	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;	ptr5!c_dsin3	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;	ptr5!c_dsin2	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;	ptr5!c_dsin1	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;	ptr5!c_dsin0	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xD6	;			dnop enrb tioe timsw loaddp halt;titoreg;	rcsmsw ptr5;	rtn;			dnop enrb tioe tilsw loaddp halt;titoreg;	rcslsw ptr5;|* compute cccc:	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;		ptr5!c_dcos4	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;		ptr5!c_dcos3		;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;		ptr5!c_dcos2		;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;		ptr5!c_dcos1		;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul;				;		ptr5;	ptr5!c_dcos0	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dadd aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dmul mulbcreg enra tioe tilsw loaddp halt;;	;	;			dmul mulbcreg;			;		;	;			dnop;				;		;	;			dnop enrb tioe timsw loaddp halt;;		;	;			dmul mulacreg enrb tioe tilsw loaddp halt;;	;	;			dmul mulacreg;			;		;	;			dnop;				;		ptr5;	ptr5!0x700+0xD5	;			dnop enrb tioe timsw loaddp halt;titoreg;	rcsmsw ptr5;	rtn;			dnop enrb tioe tilsw loaddp halt;titoreg;	rcslsw ptr5;trigend:	;			;				;		ptr5;	ptr5!0x700+0xD2	;			i2cmp enra halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;	ptr5!c_sitwo	;			i2land enrb halt;		regtoti;	rcssp ptr5;	;			;				;		;	;			i2cmp enrb tioe tisp halt;	;		;	;			;				;		ptr5;		ptr5!szero	;			i2cmp enra halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;		ptr5!0x700+0xDA	jeq posw;		dnop enra loaddp halt;		regtoti;	rcsmsw ptr5;	;			dneg enra loaddp halt;		regtoti;	rcslsw ptr5;	;			dnop;				;		ptr1;	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;posw:		;			dnop;				;		;	;			dnop;				;		ptr1;	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;cksign:|*  if x is negative, return n = -n, y1 = -y1, y2 = -y2;	;			dnop enra loaddp halt;		regtoti;	rcsmsw ptr2;	;			dnop enra loaddp halt;		regtoti;	rcslsw ptr2;	ptr5!dzero	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dcmp enrb loaddp halt;		regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;		ptr5!0x700+0xD0	jge cksend;		dnop enra loaddp halt;		regtoti;	rcsmsw ptr5;	;			dneg enra loaddp halt;		regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;	;			dnop;				;		ptr5;		ptr5!0x700+0xD1	;			dnop enra loaddp halt;		regtoti;	rcsmsw ptr5;	;			dneg enra loaddp halt;		regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;	;			dnop;				;		ptr5;		ptr5!0x700+0xD2	;			i2negy2 enra halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;	;			tioe tisp halt;			titoreg;	rcssp ptr5;cksend:	rtn;			;				;		;dosincos:	;			;				;		;		ptr5!c_dsin5	call ss;		;				;		ptr5;	;			;				;		ptr5;		ptr5!0x700+0xD4	;			i2cmp enra halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;		ptr5!szero	;			i2cmp enrb halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;	ptr5!0x700+0xD6	jne sincos22;		dnop enra loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulbcreg enra loaddp halt;	regtoti;	rcslsw ptr5;|* compute w = y1 - y1*z*ss	;			dmul mulbcreg;			;		;	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dnop enra tioe tilsw loaddp halt;;		ptr5;	ptr5!0x700+0xD0	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;		;			dmul enrb loaddp halt;		regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!0x700+0xD0	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			drsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xDB	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;	call sincosend;		dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;sincos22:|*|* compute w = y1 - (y1*z*ss - (y2-0.5*(z*y2)))|*	;			dmul;				;		ptr5;	ptr5!0x700+0xD1	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul mulacreg;			;		ptr5;	ptr5!dhalf	;			dnop;				;		;	;			dnop enra tioe timsw loaddp halt;;		;	;			dnop enra tioe tilsw loaddp halt;;		;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul enrb loaddp halt;		regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!0x700+0xD1	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			drsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xDB	;			dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;	;			dnop;				;		ptr5;	ptr5!0x700+0xD6	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul mulacreg enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dmul mulacreg;			;		;	;			dnop;				;		;	;			dnop enrb tioe timsw loaddp halt;;		;	;			dnop enrb tioe tilsw loaddp halt;;		;	;			dnop;				;		ptr5;	ptr5!0x700+0xD0	;			dnop enra loaddp halt;		regtoti;	rcsmsw ptr5;	;			dmul enra loaddp halt;		regtoti;	rcslsw ptr5;	;			dmul;				;		ptr5;	ptr5!0x700+0xDB	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dsub aluamul enrb loaddp halt;	regtoti;	rcslsw ptr5;	;			dnop;				;		;	;			dnop enrb tioe timsw loaddp halt;;		;	;			dsub enrb tioe tilsw loaddp halt;;		;	;			dnop;				;		ptr5;	ptr5!0x700+0xDB	;			dnop tioe timsw halt;		titoreg;	rcsmsw ptr5;	call sincosend;		dnop tioe tilsw halt;		titoreg;	rcslsw ptr5;sincosend:

⌨️ 快捷键说明

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