我试图确定在以下操作之后应该设置哪些各种标志(进位、符号、零、溢出):
mov ax, 7ff0h; ax register is now 7ff0h
add al, 10h;
我对汇编如何处理这个感到困惑。因为我们只添加到寄存器的 al 部分,其中包含f0h
,f0h + 10h
给出100h
. 这是否设置了溢出标志?携带标志?两者都不?我认为会设置溢出标志,但是,我想到的另一种可能性是程序检测到这一点并自动将 ah 寄存器从 更改7fh
为80h
,从而使ax
寄存器完整8000h
。这在理论上不会设置进位标志,而是设置符号标志和溢出标志,因为我们的总数8000h
现在是负数。谁能解释这是如何处理的?
谢谢。