[BACK]Return to sparc.c-cc CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / asm

File: [local] / OpenXM_contrib2 / asir2000 / asm / sparc.c-cc (download)

Revision 1.1.1.1 (vendor branch), Fri Dec 3 07:39:07 1999 UTC (24 years, 5 months ago) by noro
Branch: NORO, MAIN
CVS Tags: maekawa-ipv6, STABLE_1_1_3, R_1_3_1-2, RELEASE_20000124, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, RELEASE_1_1_3, RELEASE_1_1_2, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9, ASIR2000
Changes since 1.1: +0 -0 lines

Imported asir2000 as OpenXM_contrib2/asir2000.

/* OpenXM */
addpadic(mod,n,n1,n2)
register int mod;
int n;
register int *n1,*n2;
{
	register int i,carry,tmp;

	for ( i = 0, carry = 0; i < n; i++,n1++,n2++ ) {
		asm("	ld	[%i2],%o0	");
		asm("	ld	[%i3],%l7	");
		asm("	add	%o0,%l7,%l7	");
		asm("	add	%l7,%i4,%l7	");
		asm("	mov	%i0,%o1	");
		asm("	call	.udr,2	");
		asm("	mov	%l7,%o0	");

		asm("	mov	%o1,%i4	");
		asm("	st	%o0,[%i3]	");
		/*
		tmp = *n1 + *n2 + carry;
		carry = tmp / mod;
		*n2 = tmp - ( carry * mod );
		*/
	}
}