【发布时间】:2012-06-28 03:40:18
【问题描述】:
我不明白什么时候设置标志标志,什么时候设置奇偶校验。
据我所知,符号标志表示运算结果的符号,0 表示正数,1 表示负数。
那么为什么在下一个代码中:
mov al, -5
sub al, 124
SF 为零?结果是负数。
关于PF,为什么在a和b中设置了PF?
a) sub al, al.
b) mov al, 127
add al, 129
【问题讨论】:
标签: assembly
我不明白什么时候设置标志标志,什么时候设置奇偶校验。
据我所知,符号标志表示运算结果的符号,0 表示正数,1 表示负数。
那么为什么在下一个代码中:
mov al, -5
sub al, 124
SF 为零?结果是负数。
关于PF,为什么在a和b中设置了PF?
a) sub al, al.
b) mov al, 127
add al, 129
【问题讨论】:
标签: assembly
代码
mov al, -5
sub al, 124
计算256-5-124。是127,是正数
sub al, al 和 127+129 的计算结果均为 0,设置了 0 位,0 为偶数,因此设置了 PF。
【讨论】:
您可以用 8 位表示的最大数字是 2^8-1,即 255 因此,因为 127+129=256,al 将保持 0,并且标志:CF PF AF ZF IF 将被设置,PF 如上所述被设置 - 因为当且仅当设置的位数是偶数时设置 PF。
【讨论】: