[解決済み] xorl %eax - IA-32 の命令セット・アーキテクチャ
2022-02-07 19:49:13
質問
この演習を理解するのに苦労しています。
このアセンブリのスニペットでxorlは具体的に何をするのですか?
Cコードです。
int i = 0;
if (i>=55)
i++;
else
i--;
組立
xorl ____ , %ebx
cmpl ____ , %ebx
Jel .L2
____ %ebx
.L2:
____ %ebx
.L3:
組み立ての部分はどうなっているのでしょうか?
解決方法は?
それはおそらく
xorl %ebx, %ebx
これは、x86でレジスタをゼロにするための一般的なイディオムです。これは次のように対応します。
i = 0
をC言語のコードに置き換えたものです。
しかし、なぜなのか?
xor
命令より少ないバイト数で
mov $0, %ebx
.
長い答えは、他の微妙な理由を含んでいます
.
残りの演習は、特質的なものが残っていないので省きます。
関連
-
[解決済み】「ポインタから異なるサイズの整数へのキャスト」エラーが発生するのはなぜですか?
-
[解決済み] Connect: ソケット以外でのソケット操作
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み] エラー:整数が期待されるところで集約値が使用された
-
[解決済み】インクリメントオペランドとして lvalue が必要です。
-
[解決済み] eax に対して `testl` eax?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Valgrind が "Invalid write of size 8" で文句を言う。
-
[解決済み】組み込み関数「malloc」の暗黙の宣言の非互換性
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み】 switch case: error: case label does not reduce to an integer constant
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】EAGAINとはどういう意味ですか?
-
[解決済み】C言語で入力が整数型かどうかチェックする
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】シンプルなC言語のscanfが機能しない?重複
-
[解決済み] x86アセンブリでレジスタをゼロに設定するには、xor、mov、andのどれが一番良い方法ですか?