📄 sqrt32.cpp
字号:
//
//
//
#include <stdlib.h>
////////////////////////////////////////////////////////////////////////////////////
long FixSqrt32(long x,long y)
{
long r;
long x1=__max(x,y);
__asm {
mov eax,x
mov ebx,eax
cmp ebx,0
jnl l1
neg ebx
}
l1:
__asm {
imul eax
mov esi,eax
mov edi,edx
mov eax,y
mov ecx,eax
cmp ecx,0
jnl l2
neg ecx
}
l2:
__asm {
imul eax
cmp ebx,ecx
jnc l3
mov ebx,ecx
}
l3:
__asm {
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 r,ebx
}
return r;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -