它是如何运作的?最后一个align
是否覆盖了之前使其效果为null的行为,或者在一起使用时是否会执行某些操作?我从大型汇编源代码中找到了这个,我问这个是因为我不认为这只是一个错字。
align 64
align 4
答案 0 :(得分:1)
align
插入NOP以使当前节偏移量达到指定值的倍数。 (您还可以显式指定要插入的NOP以外的值,例如NULL填充)。它还隐式调用SECTALIGN
来设置节的对齐属性。
请参阅NASM manual section 4.12.12。
所以这是一个错字 - 第二个align
将不执行任何操作,因为第一个已填充到64字节对齐。隐式SECTALIGN
也没有效果,因为手册指定了对齐属性只能增加,永不减少。