我再次学习汇编编程的基础知识。我正在逐步学习汇编语言:使用 Linux 编程。
我正在使用 NASM 开发 64 位 Slackware 机器(x86-x64)。
我对增加地址的含义有点困惑。在我的bss部分,我有一个Buffer resb 4096缓冲区。在text部分中,我将地址分配给esi:
mov esi, Buffer
后来,我inc esi。这似乎推进esi到下一个字节偏移量。我有点惊讶——我期待esi提前 4 个字节,因为它是一个 32 位寄存器。
我可以假设增加地址总是一次移动一个字节吗?我会使用add esi, 4推进 32 位吗?
当我想填充 32 位寄存器时,是否必须明确要求 4 个字节?像mov eax, DWORD [esi]什么?