+ -
当前位置:首页 → 问答吧 → 请教一段汇编代码的意思

请教一段汇编代码的意思

时间:2010-12-13

来源:互联网

Assembly code

movzx   ecx, al             ;假设al=X
mov     eax, 66666667h
imul    ecx                 ;edx=X * 0x66666667/0xFFFFFFFF =X * 0.4 ;eax=(X * 0x66666667)%0xFFFFFFFF
sar     edx, 2              ;edx=X * 0.1 = X / 10
mov     ecx, edx            ;
shr     ecx, 1Fh            ;右移31位,ecx为X的符号,即:若X<0,则ecx为1,否则ecx为0
add     ecx, edx            ;ecx=ecx+edx



所以,最终:
若X<0,ecx=X/10+1
若X>=0,ecx=X/10

请问,我的推测正确不?

作者: PDD123   发布时间: 2010-12-13

关注~~~

作者: masmaster   发布时间: 2010-12-13