|
|
|
|
|
by vardump
4081 days ago
|
|
One example seems a bit odd. if(LocalVariable & 0x00001000)
return 1;
else
return 0;
mov eax, [ebp - 10]
and eax, 0x00001000
neg eax
sbb eax, eax
neg eax
ret
Hmm... wouldn't this be faster? Two instructions less: mov eax, [ebp - 10]
and eax, 0x00001000
shr eax, 12
ret
Well, who knows. Didn't bother to analyze this case. Maybe the article's example is faster somehow? |
|
You're right that yours should work too, because after the and the value can only have 1 bit set. But it only works for this particular and mask.