2011-12-14 8 views
0

署名フラグが設定されているときとパリティがわかっていませんでした。アセンブリ - 署名フラグとパリティフラグ

私が知っているように、signフラグは演算結果の符号を示し、0は正の数を表し、1は負の数を表します。

なぜ次のコードで:SFがゼロである

mov al, -5 
sub al, 124 

?結果は負の数です。

PFについて、なぜPFが設定されていますか?

a) sub al, al. 

b) mov al, 127 
    add al, 129 

答えて

4

コード

mov al, -5 
sub al, 124 

256-5-124を算出します。 127で正の数

sub al, al127+129は0と評価され、0ビットが設定され、0が偶数なので、PFが設定されます。

0

8ビットで表現できる最大数は255-であり、したがって127 + 129 = 256、alは0を保持し、フラグ:CF PF AF ZF IFが設定され、PFは設定されたビット数が偶数である場合にのみPFが設定されるため、前述のように設定されます。

関連する問題