問題タブ [eflags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lldb - lldbでゼロフラグを設定するには?
lldb デバッガーでゼロフラグを設定する方法はありますか?
set ($eflags)=
gdbのようなものは、register write rflags ...
すべてを設定するだけのようです
assembly - x86 でのサブ命令と影響を受けるフラグ: SUB は SF != CF を設定できますか?
ドキュメントはフラグがどのように影響を受けるかを実際に説明していないため、サブ命令中にキャリーと符号付きフラグの違いが何であるかを理解できませんでしたsub a, b
。キャリーと符号付きフラグの両方で a < b が設定されるようです。サブ命令で、キャリーなしで符号付きフラグがセットされる場合 (またはその逆) はありますか?
assembly - x86 アセンブリでオーバーフロー フラグを設定またはクリアするにはどうすればよいですか?
オーバーフロー フラグを設定/クリアするための簡単なコード (またはアルゴリズム) を書きたいと思います。OF の設定には、符号付きの値を使用できることがわかっています。しかし、どうすればそれをクリアできますか?
assembly - cmp 命令が zf フラグを変更するのはいつですか? [x86 MASM]
「... 算術演算または論理演算の結果がゼロの結果を生成するときにゼロ フラグ (ZF) が設定される」場合、cmp 命令は ZF とどのように相互作用しますか?
次のコード スニペットを考えると、
cmp は 2 つのオペランドをどのように評価し、ZF は何に設定されますか? オペランドが逆になっている場合 (cmp edx、eax)、ZF は元のステートメントと同じ値に設定されますか?
2 つの同一の値を比較する場合、cmp はオペランドをどのように評価し、ZF は何に設定されますか?
linux - AC フラグを使用したアライメントされていないメモリ アクセスは、Windows でトラップを発生させません。
Intel x86_64 CPU搭載。Windows で「unaligned memory access fault」をキャッチしようとしています。これは Linux (Ubuntu) で完全に機能します。
たとえば、次のように EFLAGS レジスタの AC フラグをオンにできます。
次に、位置合わせされていないメモリ アクセス (0x804a003 での DWORD 読み取り/書き込みなど) により、Linux プロセスで SIGBUS エラーが発生します。
ただし、同じ CPU を使用して、Windows (7 および 8) で同じことを行っても、何も起こりません。誰かが私に理由を説明できますか?? これは、Windows が CR0.AM フラグを無効にし、Linux が無効にしないためですか?
アドバイスをいただければ幸いです。ありがとうございました。
qemu - i386 ターゲットの QEMU リポジトリに compute_all_xxx 関数の定義が見つかりませんか?
Qemu のソース コードを読んでいて、Qemu が x86 プロセッサの eflags をエミュレートする方法を知りたいと思っていました。そのtarget-i386/cc-helper.c
ファイルで、関数がそのようなcompute_all_addw
仕事をしていることがわかりました。Qemu がそれらの関数をどのように実装しているか知りたいのですが、これらすべての関数の定義を見つけることができません。 . 私は何か見落としてますか?助けてください。
assembly - 1 番目と 2 番目のオペランドと同じレジスタを持つ x86 sbb
一連のx86
命令を分析していて、次のコードと混同してしまいました。
sbb
が に等しいdes = des - (src + CF)
、つまり に何らかの形で最初に入れ-CF
られた命令であることを理解していedx
ます。それからnegtive
-CF
、CF
そしてゼロに等しいtest
かどうか??CF
ただし、jz
チェック フラグZF
ではなくCF
! では、基本的に上記のコード シーケンスは何をしようとしているのでしょうか。これは、バージョンx86
によって生成される正当な命令シーケンスです。g++
4.6.3
C++
コードは実際にはbotanプロジェクトからのものです。全体的なアセンブリ コード (Botan RSA 復号化の例) は、こちらにあります。逆アセンブルされたコードには、このような命令シーケンスが非常に多くあります。