【问题标题】:Assembly - The sign flag & parity flag大会 - 标志旗和奇偶旗
【发布时间】: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


    【解决方案1】:

    代码

    mov al, -5 
    sub al, 124
    

    计算256-5-124。是127,是正数

    sub al, al127+129 的计算结果均为 0,设置了 0 位,0 为偶数,因此设置了 PF。

    【讨论】:

      【解决方案2】:

      您可以用 8 位表示的最大数字是 2^8-1,即 255 因此,因为 127+129=256,al 将保持 0,并且标志:CF PF AF ZF IF 将被设置,PF 如上所述被设置 - 因为当且仅当设置的位数是偶数时设置 PF。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-04
        • 2018-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-01
        • 2018-04-12
        • 1970-01-01
        相关资源
        最近更新 更多