NASM对于每个SECTION,默认按4字节对齐。
关于这一点我们可以通过实验来证明。
比如源文件是:
SECTION s1
db 0x11
SECTION s2
db 0x45
SECTION s3
db 0x99
编译后对应的二进制文件是:
可以看到section s1 和 section s2 都被扩展为4个字节(后面的3字节用0填充)。
注意:可以用ALIGN来指定SECTION的对齐方式。
比如
section .data align=16
指定.data段按照16字节对齐。(align后面的对齐值必须为2的幂)。