x86 アセンブリ言語の宿題に取り組んでいますが、テスト操作がキャリー、ゼロ、および符号フラグにどのように影響するかを正確に理解していません。私が理解しているように、AND
2 つのオペランドでビットごとの比較を行っています。最初の例では、ビット 1、2、3、4、および 7 が一致します。これは の結果AND
が 11110010 ということですか? これにより、符号フラグが負の右に設定されますか? このバイナリ結果は 0 ではないため、ゼロ フラグは設定されません。キャリー フラグは?どうすればいいのかよくわかりません。助けてくれてありがとう。
mov al,00001111b
test al,00000010b ; a. CF= ZF= SF=<br><br>
mov al,00000110b
cmp al,00000101b ; b. CF= ZF= SF=<br><br>
mov al,00000101b
cmp al,00000111b ; c. CF= ZF= SF=<br><br>