次のテーブルがある場合:
Case 1: x: 42 y: -15 (y-x) = -57
Case 2: x: -17 y: -17 (y-x) = 0
Case 3: x: 0x7ffffffd y: -67 (y-x) = 2147483584
Case 4: x: 67 y: -0x7fffffffd (y-x) = 2147483584
条件コード フラグが設定するもの (フラグごとに 0 または 1)ZF
SF
OF
とCF
命令を検討するとき: cmp1 %eax %ecx
if %eax
containsx
および%ecx
contains y
?
私はそれが以下によって実行されることを理解していcmp1 ...,...
ます:cmp1 SRC2,SRC1
つまり、「条件コードをSRC1
–に設定しますSRC2
」
フラグが次のことを表していることを理解しています。
OF = overflow (?)
ZF = zero flag i.e. zero...
CF = carry out from msb
SF - sign flag i.e. negative
表の 4 つのケースでは、フラグは次のようになると思います。
1) ZF = 0 SF = 1 CF = 0 OF = ?
2) ZF = 1 SF = 0 CF = 0 OF = ?
3) ZF = 0 SF = 0 CF = 1 OF = ?
4) ZF = 0 SF = 0 CF = 1 OF = ?
私は正しいですか?CF
どちらがTRUEに設定されるかを判断する方法と、何が何であるかを説明しOF
、私の誤解を修正してください。ありがとうございました。