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

📄 fptrig32.s

📁 VXWORKS源代码
💻 S
字号:
/* fptrig32.s - VxWorks conversion from Microtek tools to Sun native *//* Copyright 1984-1992 Wind River Systems, Inc. *//*modification history--------------------01a,06aug92,jwt  converted.*//*! ! ! ! !!	SPARClite		Floating Point Library!!	Copyright (C) 1992 By!	United States Software Corporation!	14215 N.W. Science Park Drive!	Portland, Oregon 97229!!	This software is furnished under a license and may be used!	and copied only in accordance with the terms of such license!	and with the inclusion of the above copyright notice.!	This software or any other copies thereof may not be provided!	or otherwise made available to any other person.  No title to!	and ownership of the software is hereby transferred.!!	The information in this software is subject to change without !	notice and should not be construed as a commitment by United!	States Software Corporation.!!	First Release:		V1.02	March 26 1992! ! ! ! !	.macro	scan,p1,p2,p3	.word	0x81602000 | (&p3<<25) | (&p1<<14) | p2	.endm	.macro	umul,p1,p2,p3	.word	0x80500000 | (&p3<<25) | (&p1<<14) | &p2	.endm	.macro	divscc,p1,p2,p3	.word	0x80e80000 | (&p3<<25) | (&p1<<14) | &p2	.endm*/#include "arch/sparc/ussSun4.h"	.data	.align	4sincof:	.word	0x171e	.word	0xfff97f98	.word	0x1111111	.word	0xeaaaaaab	.word	0x80000000coscof:	.word	0xd00d	.word	0xffd27d28	.word	0x5555555	.word	0xc0000000	.word	0x80000000tancof:	.word	0x1228	.word	0xb354	.word	0x6ef5e	.word	0x4559ab	.word	0x2d82d83	.word	0x2aaaaaab	.text	.align	4	.global	_fpreduct_fpreduct:	save	%sp,-96,%sp	sra     %i0,23,%i2	and     %i2,0xff,%i2	sll     %i0,8,%i1	sethi   %hi(0x80000000),%l2	or      %i1,%l2,%i1	or      %g0,0,%i3	subcc   %i2,0x7e,%i4	bneg    Aret           	subcc   %i4,0x40,%g0	bg      Anan     	NOP	srl     %i1,1,%i1	or      %g0,0,%i5	or      %g0,-1,%i3	sethi   %hi(0x10b4611a),%l1	or      %l1,0x11a,%l1	sethi   %hi(0x6487ed51),%l0	or      %l0,0x151,%l0b1:	subcc   %i5,%l1,%i5	subxcc  %i1,%l0,%i1	bcc     i2       	NOP	addcc   %i5,%l1,%i5	addxcc  %i1,%l0,%i1i2:	addx    %i3,%i3,%i3	addcc   %i5,%i5,%i5	addx    %i1,%i1,%i1	subcc   %i4,0,%i4	bne     b1       	sub     %i4,1,%i4	xor     %i3,7,%i3	and     %i3,7,%i3	andcc   %i3,1,%l2	be      i3       	NOP	or      %g0,%i5,%i4	sll     %l1,1,%i5	subcc   %i5,%i4,%i5	or      %g0,%i1,%i4	sll     %l0,1,%i1	subx    %i1,%i4,%i1i3:	or      %g0,0x7e,%i2b4:	subcc   %i1,0,%i1	bneg    Aret     	NOP	addcc   %i5,%i5,%i5	addx    %i1,%i1,%i1	ba      b4       	sub     %i2,1,%i2Aret:	or      %g0,%i1,%i0	or      %g0,%i2,%i1	or      %g0,%i3,%i2A999:	jmpl	%i7+8,%g0	restore	%g0,0,%g0Anan:	sethi   %hi(0x80000000),%i3	or      %g0,0xff,%i2	ba      Aret     	sethi   %hi(0xc0000000),%i1	.global	_fpsin_fpsin:	.global	_sinf_sinf:	save	%sp,-96,%sp	or      %g0,%i0,%o0	call    _fpreduct	NOP	or      %g0,%o0,%l0	or      %g0,%o1,%l1	orcc    %g0,%o2,%l2	bpos    i5       	NOP	ba      B999     	sethi   %hi(0xffc00000),%i0i5:	sethi   %hi(0x80000000),%l7	and     %l7,%i0,%i1	andcc   %l2,4,%l7	be      i6       	NOP	sub     %l2,4,%l2	sethi   %hi(0x80000000),%l7	xor     %i1,%l7,%i1i6:	sub     %l2,1,%l7	subcc   %l7,2,%g0	bcc     i7       	NOP	umul	%l0,%l0,%i5	rd	%y,%i5	sethi   %hi(coscof),%l6	or	%l6,%lo(coscof),%l6	or      %g0,0x7e,%i3	sub     %i3,%l1,%i3	sll     %i3,1,%i3	subcc	%i3,32,%g0	bcc,a	L1             	or	%g0,0,%i5L1:	srl	%i5,%i3,%i5	ld      [%l6],%l0	add     %l6,4,%l6b8:	sra     %l0,31,%i4	xor     %l0,%i4,%l0	sub     %l0,%i4,%l0	umul	%i5,%l0,%l0	rd	%y,%l0	xor     %l0,%i4,%l0	sub     %l0,%i4,%l0	ld      [%l6],%i4	add     %l6,4,%l6	add     %l0,%i4,%l0	addcc   %i4,%i4,%l7	bne     b8       	NOP	ba      e7       	or      %g0,0x7f,%l1i7:	or      %g0,%l0,%l3	umul	%l0,%l0,%i5	rd	%y,%i5	sethi   %hi(sincof),%l6	or	%l6,%lo(sincof),%l6	or      %g0,0x7e,%i3	sub     %i3,%l1,%i3	sll     %i3,1,%i3	subcc	%i3,32,%g0	bcc,a	L2             	or	%g0,0,%i5L2:	srl	%i5,%i3,%i5	ld      [%l6],%l0	add     %l6,4,%l6b9:	sra     %l0,31,%i4	xor     %l0,%i4,%l0	sub     %l0,%i4,%l0	umul	%i5,%l0,%l0	rd	%y,%l0	xor     %l0,%i4,%l0	sub     %l0,%i4,%l0	ld      [%l6],%i4	add     %l6,4,%l6	add     %l0,%i4,%l0	addcc   %i4,%i4,%l7	bne     b9             	subcc   %l0,0,%l0	ble     i10      	NOP	sll     %l0,1,%l0	sub     %l1,1,%l1i10:	add     %l1,1,%l1	umul	%l0,%l3,%l0	rd	%y,%l0e7:	subcc   %l0,0,%l0	ble     i11      	NOP	sll     %l0,1,%l0	sub     %l1,1,%l1i11:	sll     %l0,1,%l0	srl     %l0,9,%l0	sll     %l1,23,%l7	or      %l0,%l7,%l0	or      %l0,%i1,%i0B999:	jmpl	%i7+8,%g0	restore	%g0,0,%g0	.global	_fpcos_fpcos:	.global	_cosf_cosf:	save	%sp,-96,%sp	or      %g0,%i0,%o0	call    _fpreduct	NOP	or      %g0,%o0,%i5	or      %g0,%o1,%l0	orcc    %g0,%o2,%l1	bneg    Cnan     	NOP	or      %g0,0,%i1	andcc   %l1,4,%l6	be      i12      	NOP	sub     %l1,4,%l1	sethi   %hi(0x80000000),%l6	xor     %i1,%l6,%i1i12:	andcc   %l1,2,%l6	be      i13      	NOP	sethi   %hi(0x80000000),%l6	xor     %i1,%l6,%i1i13:	sub     %l1,1,%l6	subcc   %l6,2,%g0	bcc     i14      	NOP	or      %g0,%i5,%l2	umul	%i5,%i5,%i4	rd	%y,%i4	sethi   %hi(sincof),%l5	or	%l5,%lo(sincof),%l5	or      %g0,0x7e,%i2	sub     %i2,%l0,%i2	sll     %i2,1,%i2	subcc	%i2,32,%g0	bcc,a	L3             	or	%g0,0,%i4L3:	srl	%i4,%i2,%i4	ld      [%l5],%i5	add     %l5,4,%l5b15:	sra     %i5,31,%i3	xor     %i5,%i3,%i5	sub     %i5,%i3,%i5	umul	%i4,%i5,%i5	rd	%y,%i5	xor     %i5,%i3,%i5	sub     %i5,%i3,%i5	ld      [%l5],%i3	add     %l5,4,%l5	add     %i5,%i3,%i5	addcc   %i3,%i3,%l6	bne     b15            	subcc   %i5,0,%i5	ble     i16      	NOP	sll     %i5,1,%i5	sub     %l0,1,%l0i16:	add     %l0,1,%l0	umul	%i5,%l2,%i5	rd	%y,%i5	ba,a    e14      i14:	umul	%i5,%i5,%i4	rd	%y,%i4	sethi   %hi(coscof),%l5	or	%l5,%lo(coscof),%l5	or      %g0,0x7e,%i2	sub     %i2,%l0,%i2	sll     %i2,1,%i2	subcc	%i2,32,%g0	bcc,a	L4             	or	%g0,0,%i4L4:	srl	%i4,%i2,%i4	ld      [%l5],%i5	add     %l5,4,%l5b17:	sra     %i5,31,%i3	xor     %i5,%i3,%i5	sub     %i5,%i3,%i5	umul	%i4,%i5,%i5	rd	%y,%i5	xor     %i5,%i3,%i5	sub     %i5,%i3,%i5	ld      [%l5],%i3	add     %l5,4,%l5	add     %i5,%i3,%i5	addcc   %i3,%i3,%l6	bne     b17      	NOP	or      %g0,0x7f,%l0e14:	subcc   %i5,0,%i5	ble     i18      	NOP	sll     %i5,1,%i5	sub     %l0,1,%l0i18:	sll     %i5,1,%i5	srl     %i5,9,%i5	sll     %l0,23,%l6	or      %i5,%l6,%i5	or      %i5,%i1,%i0C999:	jmpl	%i7+8,%g0	restore	%g0,0,%g0Cnan:	ba      C999     	sethi   %hi(0xffc00000),%i0	.global	_fptan_fptan:	.global	_tanf_tanf:	save	%sp,-96,%sp	or      %g0,%i0,%o0	call    _fpreduct	NOP	or      %g0,%o0,%l0	or      %g0,%o1,%l1	orcc    %g0,%o2,%l2	bneg    Dnan     	NOP	sethi   %hi(0x80000000),%l7	and     %l7,%i0,%i1	and     %l2,0xfffffffb,%l2	andcc   %l2,2,%l7	be      i19      	NOP	sethi   %hi(0x80000000),%l7	xor     %i1,%l7,%i1i19:	or      %g0,%l1,%l4	umul	%l0,%l0,%l3	rd	%y,%l3	sethi   %hi(tancof),%l6	or	%l6,%lo(tancof),%l6	or      %g0,0x7e,%i2	sub     %i2,%l1,%i2	sll     %i2,1,%i2	subcc	%i2,32,%g0	bcc,a	L5             	or	%g0,0,%l3L5:	srl	%l3,%i2,%l3	or      %g0,0,%i4b20:	ld      [%l6],%i3	add     %l6,4,%l6	add     %i4,%i3,%i4	umul	%l3,%i4,%i4	rd	%y,%i4	sethi   %hi(0x20000000),%l7	subcc   %i3,%l7,%g0	bcs     b20      	NOP	or      %g0,0x7f,%l1	sethi   %hi(0x7fffffff),%l7	or      %l7,0x3ff,%l7	subcc   %l7,%i4,%i4	bneg    i21      	NOP	sll     %i4,1,%i4	sub     %l1,1,%l1i21:	sub     %l2,1,%l7	subcc   %l7,2,%g0	bcc     i22      	NOP	add     %l1,0x7f,%l1	sub     %l1,%l4,%l1	srl     %i4,1,%i4	or      %g0,%l0,%i5	wr	%i4,0,%y	or	%g0,0x0,%l0	orcc	%g0,0,%g0#if 0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0	divscc	%l0,%i5,%l0#else	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in5 | (lo0 << 25)#endif	ba,a    e22      i22:	sub     %l4,%l1,%l1	add     %l1,0x7f,%l1	srl     %l0,1,%l0	wr	%l0,0,%y	or	%g0,0x0,%l0	orcc	%g0,0,%g0#if 0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0	divscc	%l0,%i4,%l0#else	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)	DIVSCC | (lo0 << 14) | in4 | (lo0 << 25)#endife22:	subcc   %l0,0,%l0	ble     i23      	NOP	sll     %l0,1,%l0	sub     %l1,1,%l1i23:	sll     %l0,1,%l0	srl     %l0,9,%l0	sll     %l1,23,%l7	or      %l0,%l7,%l0	or      %l0,%i1,%i0D999:	jmpl	%i7+8,%g0	restore	%g0,0,%g0Dnan:	ba      D999     	sethi   %hi(0xffc00000),%i0!	.end

⌨️ 快捷键说明

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