相关疑难解决方法(0)

在汇编程序中派生优化的strlen?

以下代码能够确定DWORD的一个或多个字节是否设置为0.

mov eax, value
mov edx, 07EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
and eax, 081010100h
Run Code Online (Sandbox Code Playgroud)

例如,如果我们输入34323331h,则eax = 0但是如果输入1字节设置为00的内容,例如34003231h,则eax!= 0

我知道这段代码的作用,但我不明白它是如何做到的.这在数学上如何工作?有人可以用比特向我解释这个过程以及它是如何导出的吗?

它应该相对简单,但我看不到它

assembly

4
推荐指数
1
解决办法
238
查看次数

标签 统计

assembly ×1