アセンブリ言語で可能なブール論理演算の複雑さをすべて説明するチュートリアルがあります。アセンブリで使用されるブール論理に関するチュートリアル
mov [ebp-8h], 31982853h
mov eax, [ebp+Ch]
shl eax, 8
mov ecx, [ebp+Ch]
shr ecx, 8
or eax, ecx
は私は何がSHL、SHR理解し、または指示を行うが、その結合された結果については考えている:例えば、私は、次のアセンブリコードのブロックが何をするのか見当がつかない。 誰でもアセンブリのブール論理操作を詳しく説明しているチュートリアルを教えてもらえますか?
ありがとうございました。
デモ値を使用してデバッガでステップ実行し、ビットが変化していることを確認します。それを書いてください。 – spraff
まあ、左右にシフトされてからor'edにシフトされる値は関数の引数です。これは整数なので、異なる値を試すことは可能ですが、上記のアセンブリコードが直感的に理解できる方が良いと思います。 – pokiman
[ebp + ch]に6ビットの値がある場合、このロジックはビット0をスワップします-2を最終結果(eax)のビット3〜5と比較する。その目的が何であるかは言うまでもありません。最初の命令はこのロジックの一部ではありません。 –