idigitvecmult.s

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

S
75
字号
! Integer Version 2.0, RD, 11.2.93	idigitvecmult.s	*/#include <config.h>	.global	DigitVecMultDigitVecMult:	tst	%o3	ble	Lvma1	mov	0, %g5		! carryLvma2:	mov	%o2, %y	andcc	%g0, %g0, %g3	ld	[%o1], %g2	! *a	nop	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	%g2, %g5, %g2		! carry + prod (low) -> result low	addx	%g3, %g0, %g5		! result high -> 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 + -
显示快捷键?