mov eax如何在内存中存储数据?

How does mov eax store data in memory?

我有以下汇编命令:

mov eax, 10001
mov [eax], DEADCODEh

我知道的是

那么内存是什么样子的呢? 整个十六进制数是存储在 10001 还是只存储其中的一部分? 取决于地址 10002、10003 和 10004 是什么样子的?

代码执行以下操作:

  1. 用值 10001(十进制)加载 eax。这是十六进制的 0x2711。 eax 的值现在是 0x00002711。请注意前导零,因为 eax 是 32 位寄存器。
  2. 将值 0xdeadc0de(注意 0,你错误地 copy/pasted)存储到内存中 eax 中包含的地址。由于字节顺序是小端,10001附近的内存将有以下内容:

    10001: 0xde
    10002: 0xc0
    10003: 0xad
    10004: 0xde