NASMのマニュアルで
mov eax, [ds:0x18]
の指示に関する情報が見つかりません。NASMのマニュアルで[ds:0x18]が参照している情報が見つかりません
有効なアドレッシングのための有効な構文である点を除いて、NASMのドキュメントを見ると、[ds:0x18]
のセマンティクスは書かれていません。
誰かがこの構文の機能を明確にし、可能であれば、そのセマンティクスが暗黙的に与えられているドキュメントの場所を参照できますか?
NASMのマニュアルで
mov eax, [ds:0x18]
の指示に関する情報が見つかりません。NASMのマニュアルで[ds:0x18]が参照している情報が見つかりません
有効なアドレッシングのための有効な構文である点を除いて、NASMのドキュメントを見ると、[ds:0x18]
のセマンティクスは書かれていません。
誰かがこの構文の機能を明確にし、可能であれば、そのセマンティクスが暗黙的に与えられているドキュメントの場所を参照できますか?
データセグメントのアドレス0x18
からeax
がロードされます。データセグメントds
がデータロードのデフォルトセグメントであるため、これを接頭辞として使用することは非常に特殊な場合を除いて冗長です。
mov eax, [cs:0x18]
でコードセグメントから何かを読み込むのが面白いでしょう。
その行は逆アセンブリから生成されましたか? 'ds:'部分はセグメントの上書きですが、Bo Perssonが答えで言及しているように 'ds'がここではデフォルトになっていたので、それを指定するのは冗長です。しかし、逆アセンブラの中にはまだそのようなアドレスが表示されることがあります。 – Michael
Boの答えにちょうど無意味な追加:[MOV命令](http://x86.renejeschke.de/html/file_module_x86_id_176.html)、この場合の関連する変形は '8B/r'です。MOV r32、r/m32 32ビットのメモリ内容(アドレスds:0x18)を32ビットレジスタ(eax)に移動します。 – Ped7g