这条指令到底是做什么的?我知道它会尝试将数据与特定数字的倍数对齐,但为什么需要这样做呢?其他汇编程序中是否有等效的指令?
答案 0 :(得分:9)
您通常会调整数据以获得更好的效果。对于大多数处理器,当不访问特定字节边界时,内存访问会有一些损失。对于其他汇编程序,通常会有某种pseudo-op .align
。大多数编译器也会调整其数据结构(尽管您可以将其禁用以进行调试)。
答案 1 :(得分:1)
其他汇编程序中是否有等效指令?
MASM有一个Align指令:http://msdn.microsoft.com/en-us/library/dwa9fwef(VS.80).aspx
答案 2 :(得分:0)
它将一切都与二的n次幂对齐。它不是一个指令,它是一个将被翻译成指令的指令
至于它的用法,例如:
mips32指令总是32位长。所以每条指令都应该从单词边界开始。在代码开始之前添加.align指令,将事物与32位对齐。这有很多好处,包括它只需要1次内存访问来获取指令,并且它可能对指令缓存有益。