vmul32.asm

来自「这是我本人编写的一个32位定点小数运算的函数库。对于没有浮点运算器的场合」· 汇编 代码 · 共 49 行

ASM
49
字号
		.386
		.MODEL	SMALL
		
		.DATA		
xx		DD		?
		ENDS

		.CODE
		PUBLIC	_VectorMul32

_VectorMul32	PROC
;	(const long v1[],const long v2[],long n)

		push        ebp
		mov         ebp,esp
		push        ebx
		push        esi
		push        edi

		mov         esi,dword ptr [ebp+10h]		; n
		mov         ebx,dword ptr [ebp+8]		; v1
		mov         ecx,dword ptr [ebp+0Ch]		; v2
		sub         edi,edi
		shl         esi,2
		mov			xx,edi

		sub         esi,4
loop0:	mov         eax,dword ptr [ebx+esi]
		imul        dword ptr [ecx+esi]
		add			xx,eax
		adc         edi,edx
		sub         esi,4
		jnl			loop0

		mov			eax,xx
		add			eax,eax
		adc			edi,edi
		mov			eax,edi

		pop         edi
		pop         esi
		pop         ebx
		mov         esp,ebp
		pop         ebp
		ret

_VectorMul32	ENDP
		END

⌨️ 快捷键说明

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