```asm
neg eax
sbb eax, eax
```
[=>]
```txt
CarryFlag = (eax != 0);
eax = -(LONG)eax;
eax -= eax + CarryFlag;
```
Devide the cases about CarryFlag and we get:
```c-like
if (eax != 0)
eax = 0xFFFFFFFF;
else
eax = 0;
```
これがneg-sbbのトリック。