-1
section .data
fun:
   add word[L+2],0x203
L: mov eax,0x1020304 ; this instruction including operand stored in 5 byte in memory
   ret

「楽しい」機能は何をしますか?eaxの新しい値が0x1040604になる理由

4

1 に答える 1

2

わかりmov eax, 0x1020304ました。5バイトのエンコーディングを使用したがあります(6バイトのエンコーディングもありますが、無視しましょう)。したがって、次のようになります(覚えておいてください-リトルエンディアン):

B8 04 03 02 01

ここで、LはB8を指し、L + 2は03を指します。0x0203を追加すると(覚えておいてください-リトルエンディアン)、03が03に追加され、02が02に追加されるため、次のようになります。

B8 04 06 04 01

これは:

mov eax, 0x01040604
于 2012-09-20T11:53:54.557 に答える