汇编 - 进位标志 - 0xFF

Tom*_*m O 1 x86 assembly

在下一个代码中:

mov ebx, 0xFF
add ebx, 1
Run Code Online (Sandbox Code Playgroud)

为什么没有设置Carry标志?

ebx = 11111111
+   = 00000001
     100000000
Run Code Online (Sandbox Code Playgroud)

Mys*_*ial 14

那是因为ebx是32位寄存器.它足够大以保持值(256) - 因此没有结转.

更好的测试是:

mov ebx, 0xFFFFFFFF
add ebx, 1
Run Code Online (Sandbox Code Playgroud)