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

📄 atan.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
ldfps = 170100^tststfps = 170200^tst/.globl	atan, _atan.globl	atan2, _atan2//	floating-point arctangent//	atan replaces the value in fr0 by its arctangent/	in the range [-pi/2,pi/2].//	atan2 places in fr0 the arctangent of fr0/fr1/	in the range [-pi,pi].//	there are no error exits//	coefficients are #5076 from Hart & Cheney.//_atan:	mov	r5,-(sp)	mov	sp,r5	movf	4(r5),fr0	jsr	pc,atan	br	1f_atan2:	mov	r5,-(sp)	mov	sp,r5	movf	4(r5),fr0	movf	12.(r5),fr1	jsr	pc,atan21:	mov	(sp)+,r5	rts	pcatan:	jsr	r0,save	tstf	fr0	cfcc	blt	1f	jsr	pc,satan	br	ret1:	negf	fr0	jsr	pc,satan	negf	fr0	br	ret/atan2:	jsr	r0,save	clr	-(sp)	tstf	fr0	cfcc	bge	1f	inc	(sp)	negf	fr01:	tstf	fr1	cfcc	beq	2f	bgt	1f	add	$2,(sp)	negf	fr11:	divf	fr1,fr0	jsr	pc,satan	br	1f2:	movf	pi2,fr01:	bit	$2,(sp)	beq	1f	negf	fr0	addf	pi2,fr0	addf	pi2,fr01:	bit	$1,(sp)+	beq	1f	negf	fr01:ret:	ldfps	(sp)+	movf	(sp)+,fr3	movf	(sp)+,fr2	movf	(sp)+,fr1	mov	(sp)+,r0	rts	pcsave:	movf	fr1,-(sp)	movf	fr2,-(sp)	movf	fr3,-(sp)	stfps	-(sp)	ldfps	$40200		/ DP, no interrupt	jmp	(r0)satan:	cmpf	sq2m1,fr0	cfcc	bge	arctan	cmpf	sq2p1,fr0	cfcc	bgt	1f	movf	one,fr1	divf	fr0,fr1	movf	fr1,fr0	jsr	pc,arctan	negf	fr0	addf	pi2,fr0	rts	pc1:	movf	fr0,fr1	subf	one,fr0	addf	one,fr1	divf	fr1,fr0	jsr	pc,arctan	addf	pi4,fr0	rts	pcarctan:	mov	$p4p,r0	mov	$4,-(sp)	movf	fr0,fr3	mulf	fr3,fr3	movf	*(r0)+,fr11:	mulf	fr3,fr1	addf	*(r0)+,fr1	dec	(sp)	bne	1b	mov	$4,(sp)	movf	fr3,fr2	br	2f1:	mulf	fr3,fr22:	addf	*(r0)+,fr2	dec	(sp)	bne	1b	tst	(sp)+	divf	fr2,fr1	mulf	fr1,fr0	rts	pc.datap4p:	p4;p3;p2;p1;p0	q3;q2;q1;p0one:	40200;0;0;0pi2:	40311;7732;121041;64302pi4:	40111;7732;121041;64302sq2p1:	40432	101171	114774	167461sq2m1:	37724	11714	147747	74621p4:	37442	145026	75504	15621p3:	40725	21566	115517	50305p2:	41443	160206	172714	25441p1:	41632	172223	76027	56645p0:	41462	25125	6152	126064q3:	41170	10112	141724	64324q2:	41573	53776	25372	71522q1:	41670	123114	51576	75020/	one = 1.00000 00000 00000 00000 d0/	sq2p1=2.41421 35623 73095 04880 d0/	sq2m1= .41421 35623 73095 04880 d0/	pi2 = 1.57079 63267 94896 61923  d0/	p4 = .15897 40288 48230 7048 d0/	p3 = .66605 79017 00926 2658 d1/	p2 = .40969 26483 21022 5637 d2/	p1 = .77477 68771 92042 0862 d2/	p0 = .44541 34005 92906 8032 d2/	q4 = .10000 00000 00000 0000 d1/	q3 = .15503 97755 14219 8753 d2/	q2 = .62835 93051 10323 7683 d2/	q1 = .92324 80107 23009 7484 d2/	q0 = .44541 34005 92906 8044 d2

⌨️ 快捷键说明

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