mov eax如何在内存中存储数据?
How does mov eax store data in memory?
我有以下汇编命令:
mov eax, 10001
mov [eax], DEADCODEh
我知道的是
- 我说的是 X86
- eax 有 32 位
- 我必须牢记小端
那么内存是什么样子的呢?
整个十六进制数是存储在 10001 还是只存储其中的一部分?
取决于地址 10002、10003 和 10004 是什么样子的?
代码执行以下操作:
- 用值 10001(十进制)加载
eax
。这是十六进制的 0x2711。 eax
的值现在是 0x00002711。请注意前导零,因为 eax 是 32 位寄存器。
将值 0xdeadc0de(注意 0,你错误地 copy/pasted)存储到内存中 eax
中包含的地址。由于字节顺序是小端,10001附近的内存将有以下内容:
10001: 0xde
10002: 0xc0
10003: 0xad
10004: 0xde
我有以下汇编命令:
mov eax, 10001
mov [eax], DEADCODEh
我知道的是
- 我说的是 X86
- eax 有 32 位
- 我必须牢记小端
那么内存是什么样子的呢? 整个十六进制数是存储在 10001 还是只存储其中的一部分? 取决于地址 10002、10003 和 10004 是什么样子的?
代码执行以下操作:
- 用值 10001(十进制)加载
eax
。这是十六进制的 0x2711。eax
的值现在是 0x00002711。请注意前导零,因为 eax 是 32 位寄存器。 将值 0xdeadc0de(注意 0,你错误地 copy/pasted)存储到内存中
eax
中包含的地址。由于字节顺序是小端,10001附近的内存将有以下内容:10001: 0xde 10002: 0xc0 10003: 0xad 10004: 0xde