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

📄 trig.u

📁 操作系统SunOS 4.1.3版本的源码
💻 U
📖 第 1 页 / 共 3 页
字号:
	;		lam csla;		reg;		;	rcslsw ptr5;	;		lal csla csuxm umsw;	reg;		;	;	;		csuxm ulsw;		;		;	;	;		lbm csla woem;		;		;	;	;		lblf dsub csla woem;	;		;	;	ptr5!c_dpio2b	;		;			;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;	;		lblf dmul cslm;		reg;		;	;	;		lam csla csuxa umsw;	;		;	;	call wait3;	lal csla csuxa ulsw;	;		;	;	;		csuxm umsw;		;		;	;	ptr5!c_dSCRATCH_6	;		csuxm ulsw;		;		;	ptr5;|		*store q * pio2b	;		lbm csla woem;		dtor;		;	ramwe rcsmsw ptr5;	;		lblf dsub csla woem;	dtor;		;	ramwe rcslsw ptr5;	call wait2;	;			dtor;		;	ramwe ptr5;	;		lbm csla csuxa umsw;	;		;	;	ptr5!c_dSCRATCH_0	;		lblf dsub csla csuxa ulsw;;		;	ptr5;|		*store x	;		woea;			dtor;		;	ramwe rcsmsw ptr5;	;		woea;			dtor;		;	ramwe rcslsw ptr5;	;		;			dtor;		;	ramwe ptr5;	;		lam csla csuxa umsw;	;		;	;	ptr5!c_dSCRATCH_6	;		lal csla csuxa ulsw;	;		;	rcsmsw ptr5;	;		lbm csla;		reg;		;	rcslsw ptr5;	call wait3;	lblf dsub csla;		reg;		;	;	;		csuxa umsw;		;		;	;	ptr5!c_dSCRATCH_1	;		csuxa ulsw;		;		;	ptr5;|		*store ex	;		woea;			dtor;		;	ramwe rcsmsw ptr5;	;		woea;			dtor;		;	ramwe rcslsw ptr5;	;		;			dtor;		;	ramwe ptr5;	ptr5!c_dSCRATCH_3	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5!sone	;		lalf dcmp0 csla;	reg;		;	rcssp ptr5;	;		lbs csla;		reg;		;	;	call wait1;	;			;		;	;	;		lf dadd csla csuxa umsw;;		;	;	;		csuxa ulsw;		;		;	;	jlt dtrig.41;	woea;			;		;	;	jeq dtrig.a;	woea;			;		;	;	;		;			;		;	;|*  qrem > 0	call wait3;	lf dsub csla;		;		;	;	call wait1;	csuxa umsw;		;		;	;	jeq dtrig.c;	woea;			;		;	;	call dtrig.b;	;			;		;	;|*  qrem < 0dtrig.41:	call wait1;	csuxa umsw;		;		;	;	jeq dtrig.e;	woea;			;		;	;	call dtrig.d;	;			;		;	;dnegx:	;		;			;		;	;	;		;			;		;	;	;		lam csla csuxa umsw;	;		;	;	rtn;		lalf dneg csla csuxa ulsw;;		;	;|*	set "ex" to 0 for call to approx routinesdtrig.ex0:|		*this takes advantage of the fact that dzero is szero	;		;			;		;	;	ptr5!szero	;		;			;		recclk;	rcssp ptr5;	ptr5!c_dSCRATCH_1	;		;			;		recclk;	ptr5;	;		;			;		recoe;	ramwe rcsmsw ptr5;	;		;			;		recoe;	ramwe rcslsw ptr5;	rtn;		;			;		recoe;	ramwe ptr5;|*|*	Double Precision Cos Approximation|*|*  enter with:|*	x in c_dSCRATCH_0|*	ex in c_dSCRATCH_1|*  exit with:|*	ALU starting|*dcosapprox:	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;	;		lblf dmul cslm;		reg;		;	;	ptr5!c_dcos5	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		lam cslm csuxm umsw;	;		;	;	;		lal cslm csuxm ulsw;	;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;	ptr5-	;		lblf dmul cslm;		reg;		;	;	lpreg!5dcos.app.lp:	;		;			;		;	;	lpreg-	;		;			;		;	;	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	;		lal csla;		reg;		;	;	ptr5-	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lbm csla woem;		;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	jloop dcos.app.lp;lbm cslm woea;	;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		lbm cslm csuxm umsw;	;		;	;	;		lblf dmul cslm csuxm ulsw;;		;	;	ptr5!shalf	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	rcssp ptr5;|		*start z * .5	;		lbsf dmul cslm;		reg;		;	;	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lam csla woem;		;		;	;	;		lal csla woem;		;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	ptr5!c_dSCRATCH_1	;		lal cslm;		reg;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;	;		lblf dmul cslm;		reg;		;	;	;		csuxm umsw;		;		;	;	ptr5!c_dSCRATCH_2	;		csuxm ulsw;		;		;	ptr5;|		*hold z*HALF in c_dSCRATCH_2 for now	;		woem;			dtor;		;	ramwe rcsmsw ptr5;	;		woem;			dtor;		;	ramwe rcslsw ptr5;	;		;			dtor;		;	ramwe ptr5;	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lbm csla woem;		;		;	;|		*start ca - ex*x	;		lblf dsub csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_2	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5!c_dcosthresh	;		lal csla;		reg;		;	rcsmsw ptr5;	;		lbm csla;		reg;		;	rcslsw ptr5;	;		lblf dcmp csla;		reg;		;	;	;		csuxa umsw;		;		;	;	ptr5!c_dSCRATCH_3	;		csuxa ulsw;		;		;	ptr5;|		*hold ca in c_dSCRATCH_3 for now	;		woea;			dtor;		;	ramwe rcsmsw ptr5;	;		csuxa umsw woea;	dtor;		;	ramwe rcslsw ptr5;	;		;			dtor;		;	ramwe ptr5;	ptr5!shalf	jlt dcos.1;	woea;			;		;	;	;		;			;		;	rcssp ptr5;	ptr5!c_dSCRATCH_3|*  z >= dcosthresh	;		lbs csla;		reg;		;	;	;		lf dsub csla;		;		;	;	ptr5!c_dSCRATCH_3	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		lam csla csuxa umsw;	;		;	;	;		lal csla csuxa ulsw;	;		;	rcsmsw ptr5;	;		lbm csla;		reg;		;	rcslsw ptr5;	;		lblf dsub csla;		reg;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!shalf	;		;			;		;	rcssp ptr5;	;		las csla;		reg;		;	;	;		lbm csla csuxa umsw;	;		;	;	rtn;		lblf dsub csla csuxa ulsw;;		;	;dcos.1:|*  z < dcosthresh	;		;			;		;	rcsmsw ptr5;	;		lbm csla;		reg;		;	rcslsw ptr5;	;		lblf dsub csla;		reg;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!sone	;		;			;		;	rcssp ptr5;	;		las csla;		reg;		;	;	;		lbm csla csuxa umsw;	;		;	;	rtn;		lblf dsub csla csuxa ulsw;;		;	;|*|*	Double Precision Sin Approximation|*|*  enter with:|*	x in c_dSCRATCH_0|*	ex in c_dSCRATCH_1|*  exit with:|*	ALU starting|*dsinapprox:	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;	;		lblf dmul cslm;		reg;		;	;	ptr5!c_dsin5	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		lam cslm csuxm umsw;	;		;	;	;		lal cslm csuxm ulsw;	;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;	ptr5-	;		lblf dmul cslm;		reg;		;	;	lpreg!5dsin.app.lp:	;		;			;		;	;	lpreg-	;		;			;		;	;	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	;		lal csla;		reg;		;	;	ptr5-	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lbm csla woem;		;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	jloop dsin.app.lp;lbm cslm woea;	;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	;	;		lbm cslm csuxm umsw;	;		;	;	;		lblf dmul cslm csuxm ulsw;;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_1	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	;		lal csla;		reg;		;	;	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lbm csla woem;		;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	;		lal csla;		reg;		;	;	;		lbm csla csuxa umsw;	;		;	;	rtn;		lblf dadd csla csuxa ulsw;;		;	;#ifdef DTAN|*|*	Double Precision Tan Approximation|*|*  enter with:|*	x in c_dSCRATCH_0|*	ex in c_dSCRATCH_1|*  exit with:|*	ALU starting|*dtanapprox:	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;|		*start x * x	;		lblf dmul cslm;		reg;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dtanq4	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5-	;		lal csla;		reg;		;	;	;		lam cslm csuxm umsw;	;		;	;	;		lal cslm csuxm ulsw;	;		;	;	;		lbm csla woem;		;		;	;	;		lblf dsub csla woem;	;		;	;	lpreg!3dtan.app.lp1:	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	;		lbm cslm woea;		;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5-	;		lal csla;		reg;		;	;	lpreg-	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	jloop dtan.app.lp1;lbm csla woem;	;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	ptr5!c_dSCRATCH_2	;		csuxa ulsw;		;		;	ptr5;|		*store denominator in c_dSCRATCH_2	;		woea;			dtor;		;	ramwe rcsmsw ptr5;	lpreg!3	jmp dtan.app.entry;woea;		dtor;		;	ramwe rcslsw ptr5;	;		;			dtor;		;	ramwe ptr5;	ptr5!c_dtanp3dtan.app.lp2:	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	;		lbm cslm woea;		;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;dtan.app.entry:	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5-	;		lal csla;		reg;		;	;	lpreg-	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	jloop dtan.app.lp2;lbm csla woem;	;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	;		lbm cslm woea;		;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	;	;		lbm cslm csuxm umsw;	;		;	;	;		lblf dmul cslm csuxm ulsw;;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_1	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	;		lal csla;		reg;		;	;	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lbm csla woem;		;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_2	;		;			;		;	rcsmsw ptr5;	;		lbm csla;		reg;		;	rcslsw ptr5;	;		lbl csla;		reg;		;	;	;		lam csla csuxa umsw;	;		;	;	;		lalf ddiv csla csuxa ulsw;;		;	;	lpreg!28dtan.div:	jloop dtan.div;	;			;		;	;	;		;			;		;	;	lpreg-	;		lbm csla csuxa umsw;	;		;	;	ptr5!c_dSCRATCH_0	;		lbl csla csuxa ulsw;	;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	rtn;		lalf dadd csla;		reg;		;	;|*|*	Double Precision Negative Cot Approximation|*|*  enter with:|*	x in c_dSCRATCH_0|*	ex in c_dSCRATCH_1|*  exit with:|*	ALU starting|*dcotnapprox:	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;|		*start x * x	;		lblf dmul cslm;		reg;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dtanq4	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5-	;		lal csla;		reg;		;	;	;		lam cslm csuxm umsw;	;		;	;	;		lal cslm csuxm ulsw;	;		;	;	;		lbm csla woem;		;		;	;	;		lblf dsub csla woem;	;		;	;	lpreg!3dcot.app.lp1:	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	;		lbm cslm woea;		;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5-	;		lal csla;		reg;		;	;	lpreg-	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	jloop dcot.app.lp1;lbm csla woem;	;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	ptr5!c_dSCRATCH_2	;		csuxa ulsw;		;		;	ptr5;|		*store qq in c_dSCRATCH_2	;		woea;			dtor;		;	ramwe rcsmsw ptr5;	lpreg!3	jmp dcot.app.entry;woea;		dtor;		;	ramwe rcslsw ptr5;	;		;			dtor;		;	ramwe ptr5;	ptr5!c_dtanp3dcot.app.lp2:	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	;		lbm cslm woea;		;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;dcot.app.entry:	;		;			;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	ptr5-	;		lal csla;		reg;		;	;	lpreg-	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	jloop dcot.app.lp2;lbm csla woem;	;		;	;	;		lblf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		csuxa umsw;		;		;	;	;		csuxa ulsw;		;		;	;	;		lbm cslm woea;		;		;	;	;		lblf dmul cslm woea;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	ptr5!c_dSCRATCH_0	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	;	;		lbm cslm csuxm umsw;	;		;	;	;		lblf dmul cslm csuxm ulsw;;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	rcsmsw ptr5;	;		lam cslm;		reg;		;	rcslsw ptr5;	;		lal cslm;		reg;		;	rcsmsw ptr5;	;		lbm cslm;		reg;		;	rcslsw ptr5;|		*start ex * qq	;		lblf dmul cslm;		reg;		;	;	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lbm csla woem;		;		;	;	;		lbl csla woem;		;		;	;	;		;			;		;	;	;		csuxm umsw;		;		;	;	;		csuxm ulsw;		;		;	;	;		lam csla woem;		;		;	;|		*start ex*qq + x*z*(...)	;		lalf dadd csla woem;	;		;	;	;		;			;		;	;	;		;			;		;	;	;		;			;		;	;	;		lbm csla csuxa umsw;	;		;	;	ptr5!c_dSCRATCH_2	;		lbl csla csuxa ulsw;	;		;	rcsmsw ptr5;	;		lam csla;		reg;		;	rcslsw ptr5;	;		lalf ddiv csla;		reg;		;	;	lpreg!28dcot.div:	jloop dcot.div;	;			;		;	;	;		;			;		;	;	lpreg-	;		lam csla csuxa umsw;	;		;	;	rtn;		lalf dneg csla csuxa ulsw;;		;	;#endifdsinapprox1:	call dsinapprox;;			;		;	;	call dwrt1;	;			;		;	;dsinnapprox1:	call dsinapprox;;			;		;	;	call dnegx;	;			;		;	;	call dwrt1;	;			;		;	;dcosapprox1:	call dcosapprox;;			;		;	;	call dwrt1;	;			;		;	;dcosnapprox1:	call dcosapprox;;			;		;	;	call dnegx;	;			;		;	;	call dwrt1;	;			;		;	;#ifdef DTANdtanapprox1:	call dtanapprox;;			;		;	;	call dwrt1;	;			;		;	;dcotnapprox1:	call dcotnapprox;;			;		;	;	call dwrt1;	;			;		;	;#elsedtanapprox1:dcotnapprox1:	call invalid;	;			;		;	;#endif

⌨️ 快捷键说明

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