次のコード ブロックが実行されたときに、eax にどの値が割り当てられたのでしょうか。
mov eax, dword ptr fs:loc_12+6
必要に応じてダンプされたデータ:
00000012 0F B6 83 1B 47 40 00 0B C0 75 0A B8 F8 FF FF FF
編集:プロセッサはx86、OSはWindows
次のコード ブロックが実行されたときに、eax にどの値が割り当てられたのでしょうか。
mov eax, dword ptr fs:loc_12+6
必要に応じてダンプされたデータ:
00000012 0F B6 83 1B 47 40 00 0B C0 75 0A B8 F8 FF FF FF
編集:プロセッサはx86、OSはWindows
あなたの逆アセンブラーは私たちが知らない loc_12 に値を割り当てました。あなたはこれがどのプラットフォームであるかを言っていませんが、Windows では fs: register に関係するものは一般にスレッド情報ブロック ( TIB ) に関係しています。
ほとんどの場合、例外ハンドラー チェーンからの読み取り、またはスタック制限またはスレッド ID の読み取りです。命令で使用される実際のオフセットは、私が参照したページで確認できるはずです。
eax
次の情報を知らずに、この命令の後に の値を伝えることは不可能です。
fs
を指すセグメントのセグメントベースアドレスloc_12+6
定数の値segment base address + offset encoded in the instruction