0
は、誰かが私にはアセンブリの次のスニペットを説明することができます:IA-32アセンブリdivison
mydiv:
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %edx ; get x
movl %edx, %eax
sarl $31, %edx ; divide by y
idivl 12(%ebp) ; return %eax
popl %ebp
ret
これは、次のC関数と等価である:
int mydiv(int x, int y)
{
return x/y;
}
私がいる部分問題を理解することはsarl
命令です:なぜあなたはシフトする必要がありますedx
?
私に例を教えてください。 –