adding 5 to 0FBh in an 8-bit register sets the Zero flag
我是新手,所以如果你是专家,请耐心等待我。 这是我分解它的方式,但我显然做错了什么。也许我对零标志的理解是错误的?
在我的理解中,如果结果为 0,则设置零标志。 0FB = 251; 251 + 5 = 256; 二进制:0000000100000000 十六进制:100
哪个不是0,那么为什么设置零标志呢?
最佳答案
您可以在 8 位寄存器中存储的最大无符号值是 0xFF
(即:255
以 10 为基数),因此寄存器中的值只是普通值零 (0b00000000
),这会导致设置 ZF
。
检查溢出进位标志,CF
。它也应该通过这个操作来设置。您正在进行的操作导致寄存器值为零 (+ZF
) 并且寄存器溢出 (+CF
).
感谢@EOF感谢您指出我帖子中的错误。
关于assembly - 8 位寄存器中的 0FBh 加 5 如何设置零标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36580507/