sqrt32.asm
来自「这是我本人编写的一个32位定点小数运算的函数库。对于没有浮点运算器的场合」· 汇编 代码 · 共 68 行
ASM
68 行
.386
.MODEL SMALL
.CODE
PUBLIC _FixSqrt32
_FixSqrt32 PROC
; (long x,long y)
push ebp
mov ebp,esp
push ecx
push ebx
push esi
push edi
mov eax,dword ptr [ebp+8] ; x
cdq
xor eax,edx
sub eax,edx
mov ebx,eax
imul eax
mov esi,eax
mov edi,edx
mov eax,dword ptr [ebp+0Ch] ; y
cdq
xor eax,edx
sub eax,edx
mov ecx,eax
imul eax
cmp ebx,ecx
jae l3
mov ebx,ecx
l3: add esi,eax
adc edi,edx
mov eax,esi
mov edx,edi
div ebx
add ebx,eax
shr ebx,1
mov eax,esi
mov edx,edi
div ebx
add ebx,eax
shr ebx,1
mov eax,esi
mov edx,edi
div ebx
add ebx,eax
shr ebx,1
mov eax,ebx
pop edi
pop esi
pop ebx
mov esp,ebp
pop ebp
ret
_FixSqrt32 ENDP
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?