タグ付けされた質問 「machine-code」



2
「担当者」とは いいえ;」x86アセンブリの意味ですか?「一時停止」の指示と同じですか?
どういうrep; nop意味ですか? pause指導と同じですか? rep nop(セミコロンなし)と同じですか? 簡単なnop指示との違いは何ですか? AMDプロセッサとIntelプロセッサでは動作が異なりますか? (ボーナス)これらの指示の公式文書はどこにありますか? この質問の動機 別の質問のコメントでいくつか議論した後rep; nop;、x86(またはx86-64)アセンブリで何を意味するのかわからないことに気付きました。また、ウェブ上で適切な説明を見つけることができませんでした。 これrepは、「次の命令cx回数を繰り返す」ことを意味するプレフィックスであることを私は知っています(または、少なくとも、古い16ビットx86アセンブリではそうでした)。これによると、ウィキペディアでの集計表、それが思わrepだけで使用することができmovs、stos、cmps、lods、scas(多分、この制限は、新しいプロセッサ上で削除されました)。したがって、rep nop(セミコロンなしで)nop操作cx時間を繰り返すと思います。 しかし、さらに調べてみると、さらに混乱しました。これは、と思われるrep; nopとpause まったく同じオペコードにマップし、pauseちょうどより少し異なる振る舞いを持ってnop。2005年からのいくつかの古いメールは異なることを言っていました: 「力を入れすぎないように」 「2バイトのエンコーディングだけで「nop」と同等です。」 「それはIntelの魔法です。それは「いや、でも他のHT兄弟を走らせて」のようなものです。」 「Intelでは一時停止し、Athlonでは高速パディングです」 これらの異なる意見で、私は正しい意味を理解することができませんでした。 これは、Linuxカーネル(i386とx86_64の両方)でこのコメントとともに使用されています。同じコメントで、BeRTOS/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */でも使用されています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.