我不明白何时设置了sign标志,以及何时设置了奇偶校验。
据我所知,符号标志表示操作结果的符号,0表示正数,1表示负数。
那么为什么在下一个代码中:
mov al, -5
sub al, 124
SF是零?结果是负数。
关于PF,为什么在a和b中,PF被设置?
a) sub al, al.
b) mov al, 127
add al, 129
答案 0 :(得分:4)
代码
mov al, -5
sub al, 124
计算256-5-124
。这是127而且是正数
sub al, al
和127+129
的计算结果为0,设置为0,0为偶数值,因此设置了PF。
答案 1 :(得分:0)
您可以用8位表示的最大数字是2 ^ 8-1,即255 因此,因为127 + 129 = 256,al将保持0,并且标志:CF PF AF ZF IF将被设置,PF如上所述设置 - 因为当且仅当设置的位数是偶数时才设置PF。