NASM align属性默认值



我在NASM手册中读到align属性指定了段起始地址的低位数必须强制为零。

"

如上面所示,使用

ALIGN来指定有多少低位段起始地址必须强制为零。对齐值给定可以是1到4096之间2的任意次幂;在现实中,只有支持的值为1、2、4、16、256和4096,因此如果指定8它将四舍五入到16,32,64和128都将四舍五入到256,以此类推。注意,对4096字节边界的对齐是一个PharLap扩展的格式,可能不是所有的支持连接器。

链接

如果没有指定任何align属性,则被认为是0或1?

对于支持align的其他格式,链接文档页面列出了默认值。对于bin格式,它没有,但快速检查(您也可以轻松执行)显示它是4

我使用"org"指令自定义对齐:

START:
org START + ((($-START)/8)*8)+8
org START + ((($-START)/32)*32)+32
org START + ((($-START)/128)*128)+128

最新更新