EFLAGSレジスタの未定義の第2ビットがデフォルトで1に設定されているのはなぜかと思います。 その他の未定義/予約ビットはすべて0に設定されています。これは特別な意味を持っていますか?EFLAGSビット1が常にセットされているのはなぜですか?
答えて
「予約済み」であり、「未定義」ではありません。おそらく、それは単に通常のアプリケーションに晒されていないいくつかの内部状態を反映します。
文書化されていない動作は、実際には「内部的にしか文書化されていない」ことを意味します。
「文書化されていない」動作はどこにありますか?そして、あなたが言ったことを言うようにする「内部的にしか書かれていない」ことについて、あなたは何を特定していますか? –
時々、これらは企業秘密です。例えば、GPUではそれが起こります。 – spraff
おそらく、このビットはデフォルト/互換性の設定が真と見なされるように予約されています。
予約ビットに割り当てられる値が重要な場合の例として、x86ページテーブルのNo-eXecuteビットを考慮してください。このビットはゼロの値で予約済みと定義されていたため、これをeXecute許可ビット(ソフトウェアの互換性を維持したまま)と呼ぶことはできませんでした。さらに、x86がページテーブルツリーをどのように使用するかによって、最後のアクセス許可はページテーブルのすべてのレベル(NXを除く)のアクセス許可設定のand
によって生成されます。これにより、各パーミッションビットは、少なくとも仮想メモリの最も制限的なセクションと同じくらい制限的になります。ただし、より限定的なアクセス許可としてNXが1の場合、NXは別の方法(and
の代わりにor
を使用)で処理する必要があります。
一貫した概念フレームワークを提供することは、メモリをより信頼できるものにします(少数のバグが生成され、特定の種類のバグがより明白になり、ドキュメントをチェックする必要性が低くなり、学習が容易になります)。予約ビットを1ビットとして提供することにより、合理的にデフォルトになる値は、一貫性のある簡単な名前と表現を持つことができます。
- 1. 1つのタグのセットが解析されないのはなぜですか?
- 2. 格納できる最小値はバイト(8ビット)でビット(1ビット)ではないのはなぜですか?
- 3. なぜhasLayoutは常に-1ですか?
- 4. XML文書ファイルが常にロックされているのはなぜですか?
- 5. debug.getinfo(1)に 'name'が指定されていないのはなぜですか?
- 6. オンラインコンパイラでコンパイラが正常にコンパイルされないのはなぜですか?
- 7. なぜobject = nullが常に使用されるのですか?
- 8. wikipedia opensearch ajaxリクエストが正常に返されないのはなぜですか?
- 9. プログラムが接続されていない接続が常に5つあるのはなぜですか?
- 10. 64ビットのみがインストールされている場合、web配備でdacpacの32ビット版が検索されるのはなぜですか?
- 11. コンパイルされているにもかかわらず、TSエラーが非常に多いのはなぜですか?
- 12. ThreadPoolExecutorの上位ビットに実行状態が格納されているのはなぜですか?
- 13. scanfは常に1を返すのはなぜですか?
- 14. この揮発性変数のアドレスが常に1になっているのはなぜですか?
- 15. なぜカール文字セットが変更されないのですか?
- 16. 式(0 == 0&1 == 1)がFalseに評価されるのはなぜですか?
- 17. "(oddNumber And 1)= 1"がtrueに評価されるのはなぜですか?
- 18. オリジナルが1つのデータノードに配布されないのはなぜですか?
- 19. 1 [1]がjavascriptで未定義に評価されているのはなぜですか?
- 20. LINQクエリで常に0が返されるのはなぜですか?
- 21. プロセスが常にDDMSプロセスリストに表示されるのはなぜですか?
- 22. ブラケットが常に%28に変換されるのはなぜですか?
- 23. ページがブックマークされていると、php header()が異常な動作をするのはなぜですか?
- 24. なぜLinuxファイルのセットを反復処理すると、一致しなくても常に1が返されますか?
- 25. AJAXでは、XMLHttpRequestのresponseTextは常にタグが削除されていますが、なぜですか?
- 26. pom.xmlのmodelVersionが必要で、常に4.0.0に設定されているのはなぜですか?
- 27. なぜビット数が上位ビットと下位ビットで区切られるのではなく、ビットインターリーブを使用してペアになるのですか?
- 28. なぜPlayerPrefs.GetInt()が1になっていないのですか?
- 29. Windows 10でnpm接頭辞が常にsystem32に設定されているのはなぜですか?
- 30. ポイントがプロットされていないのはなぜですか?
0には特別な意味がありますか?いいえ、歴史的な理由からちょっとしたことが起きただけの状態です。文書化されたステータスについてはhttp://en.wikipedia.org/wiki/FLAGS_registerを参照してください。 –