以下代码能够确定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 ×1