Denis Yurichev 的逆向工程挑战 #10 https://challenges.re/10/中有这样一段 asm 代码片段
优化 GCC 4.8.2:
这段代码很短,但是很棘手。它有什么作用?它在低级编程中大量使用,并且为许多低级程序员所熟知。有多种计算方法,这就是其中之一。
Run Code Online (Sandbox Code Playgroud)f: lea eax, [rdi-1+rsi] neg esi and eax, esi ret
在 C 语言中,这段代码看起来像这样:
(a+b-1) & (-b)
Run Code Online (Sandbox Code Playgroud)
请帮我弄清楚这段代码的作用以及它的用途
我对 a 和 b 运行了几个测试值,但没有看到模式