idigitvecmultsub.s

来自「Arithmetic for integers of almost unlimi」· S 代码 · 共 77 行

S
77
字号
! Integer Version 2.1, RD, 3.5.93, Sparc7	idigitvecmultsub.s!		new specification! Integer Version 2.0, RD, 11.2.93	idigitvecmultsub.s	*/#include <config.h>	.global	DigitVecMultSubDigitVecMultSub:	tst	%o3	ble	Lvma1	mov	0, %g5		! carryLvma2:	mov	%o2, %y	andcc	%g0, %g0, %g3	ld	[%o1], %g2	! *a	ld	[%o0], %g4	! *res	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g2, %g3	mulscc	%g3, %g0, %g3		! 33rd iteration, prod high	tst	%g2			! sign correction	bge	Lvma3	rd	%y, %g2			! prod low	add	%g3, %o2, %g3		! sign correctionLvma3:	addcc	%g5, %g2, %g2		! carry + prod(low)	addx	%g3, %g0, %g3		! prod(high) + ..	subcc	%g4, %g2, %g2		! *res - (low)	addx	%g3, %g0, %g5		! new carry	st	%g2, [%o0]		! *res	inc	4, %o1			! a++	subcc	%o3, 1, %o3		! count--	bg	Lvma2			! loop	inc	4, %o0Lvma1:	retl	mov	%g5, %o0		! return carry

⌨️ 快捷键说明

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