本文主要是介绍x86汇编伪指令align和p2align,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.align
表达式
align bound
表达式说明
功能:地址对齐的伪指令,用来指定符号的对齐方式。.
作用范围:只限于紧跟它的那条指令或者数据,而接下来的指令或者数据的地址由上一条指令的地址和其长度决定。
2. p2align
表达式如下:
p2align[wl]
abs-expr,
abs-expr,
abs-expr
表达式说明:
表达式功能:将位置计数器(理解是针对汇编器而言的)填充到特定的存储边界。
第一个表达式(必须是绝对的):是位置计数器在前进后必须具有的低阶0位的数量。
- 例如“. p2align 3 ”使位置计数器前进,直到它是8的倍数。如果位置计数器已经是8的倍数,则不需要改变。
第二个表达式:给出要存储在填充字节中的填充值。
- 它(和逗号)可以省略。如果省略,填充字节通常为零。
- 但是,在某些系统上,如果该部分被标记为包含代码并且省略了填充值,则该空间将由空操作指令填充。
第三个表达式:也是可选的,如果存在,表示该对齐指令应该跳过的最大字节数。
- 如果进行对齐需要跳过比指定的最大值更多的字节,则根本不进行对齐。
- 只需在所需的对齐方式后使用两个逗号,就可以完全省略填充值(第二个参数);
- 如果您希望在适当的时候用空操作指令填充对齐,这将非常有用。
这篇关于x86汇编伪指令align和p2align的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!