mov DWORD PTR k, 2//首先给k赋值
mov DWORD PTR m, 5//给m赋值
mov eax, DWORD PTR k//这和下面一行实现左移1位,即*2,
shl eax, 1
xor ecx, ecx
cmp DWORD PTR m, 0//m和0比较,结果放在cl中,即ecx寄存器中,即实现!m
sete cl
xor edx, edx
cmp eax, ecx//2*k的值和!m值比较,结果放在dl中,即放在了edx寄存器中
setne dl
mov DWORD PTR a, edx//将edx中的值,即2*k与!m比较的结果,赋值给a
所以说应该是a=((2*k)!=(!m));