【发布时间】:2015-03-10 17:39:32
【问题描述】:
我正在阅读有关数据对齐的信息。而且我知道当 x86 程序开始执行时,它的堆栈将与 4 字节边界对齐。但是 .data 和 .bss 部分也会对齐到 4 字节边界吗?例如,如果我有以下内容:
section .data
number1 DW 1234
当执行带有此代码的程序时,number1 是否始终位于可被 4 整除的地址上?
【问题讨论】:
-
如果“x86”是指 Intel/AMD 32 位或 64 位处理器(这是相当常见的用法),请记住对齐方式可能在 64-位案例,以及。尽管与 8 或 16 字节边界对齐的内容通常也可以在 4 字节边界上对齐...
-
@twalberg 我的意思是在 32 位处理器上。
标签: windows assembly x86 nasm memory-alignment