Assembly mov eax如何在内存中存储数据?
我有以下汇编命令:Assembly mov eax如何在内存中存储数据?,assembly,memory-management,nasm,masm,cpu-registers,Assembly,Memory Management,Nasm,Masm,Cpu Registers,我有以下汇编命令: mov eax, 10001 mov [eax], DEADCODEh 我知道的是 我说的是X86 eax有32位 我必须记住小恩迪安 那么记忆是什么样子的呢? 整个十六进制数是存储在10001还是仅存储其一部分? 根据地址10002、10003和10004的样子,代码执行以下操作: 加载值为10001(十进制)的eax。这是十六进制的0x2711。eax的值现在是0x00002711。注意前导零,因为eax是一个32位寄存器 在eax中包含的地址处,将值0xdeadc
mov eax, 10001
mov [eax], DEADCODEh
我知道的是
- 我说的是X86
- eax有32位
- 我必须记住小恩迪安
根据地址10002、10003和10004的样子,代码执行以下操作:
。这是十六进制的0x2711。eax
的值现在是0x00002711。注意前导零,因为eax是一个32位寄存器
eax
中包含的地址处,将值0xdeadc0de(注意错误复制/粘贴的0)存储到内存中。由于字节顺序是little endian,10001左右的内存将包含以下内容:
10001: 0xde
10002: 0xc0
10003: 0xad
10004: 0xde
你为什么不试试看呢?非常感谢。现在我很困惑。我以为little endian意味着高地址值分配给低数字值?@isecstud Nope。那将是大端的。Little endian表示最低有效字节排在第一位。有关详细信息,请参阅。一旦你的问题解决了,别忘了将答案标记为已接受。