如何避免在GNU中使用balir作为分段扩展?

时间:2015-07-11 15:02:38

标签: assembly avr gas

我发现如果我使用.balign指令将位置计数器与n位地址边界对齐,那么只有在使用指令的地方插入而不是的填充字节。出乎意料的是,汇编器还填充了段末端,使得该段中的最后一个地址也位于n位地址边界。如果n很大,这可能非常浪费。例如

.section .test,"ax",@progbits
.balign  1024
nop

创建一个1024字节长的部分,即使nop指令只需要几个字节(在我的情况下为2,我现在在AVR32上)。

为什么会这样,以及如何避免它(例如,这个例子是2个字节长,在1024个可分割的地址对齐)?

0 个答案:

没有答案