...
.L5:
movl 8(%ebp), %eax # A(param) is at ebp + 8
movl 12(%ebp), %edx # B(param) is at ebp + 12
movl %edx, %ecx
subl %eax, %ecx
movl %ecx, %eax
addl $1, %eax
movl %eax, %edx
shrl $31, %edx
leal (%edx,%eax), %eax
sarl %eax
addl %eax, 8(%ebp)
movl 8(%ebp), %eax
cmpl 12(%ebp), %eax
jge .L5
我遇到了对这个x86进行逆向工程的问题,我现在正在考虑的是它是一段时间,但我得到的表达似乎并不正确,如果不使用变量,它就会很长。我想在shrl $31, %edx
,注册edx
应该等于((B-A)+1)>>31
?我离开了吗?
答案 0 :(得分:1)
不,那是对的。