[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, Fri Dec 3 07:39:07 1999 UTC (24 years, 5 months ago) by noro
Branch point for: MAIN

Initial revision

/* 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 );
		*/
	}
}