LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1130|回复: 2

那位大虾解析一下 .align 的第三个 abs-expr

[复制链接]
发表于 2005-12-13 01:56:57 | 显示全部楼层 |阅读模式
AS Manual 关于 .align 的第三个 abs-expr 的片段:

The third expression is also absolute, and is also optional. If it is present, it is the maximum number of bytes that should be skipped by this alignment directive. If doing the alignment would require skipping more bytes than the specified maximum, then the alignment is not done at all. You can omit the fill value (the second argument) entirely by simply using two commas after the required alignment; this can be useful if you want the alignment to be filled with no-op instructions when appropriate.

不是很明白他的具体意义,请指教?!
 楼主| 发表于 2005-12-13 16:42:51 | 显示全部楼层
没有人说明吗?我自己来试下:
>>>>>>>>>>>>>>>>>>>>

第三个表达式的结果应该是个绝对值,并且是个可选的,如果这个表达式存在,那么他是表明这个对齐伪指令推进地址计数的最大字节数(译注:即如果第三个表达式的结果是4,那么.align伪指令,最多将 location counter 推进4个字节)。如果推进的字节数大于第三个表达式指定的值,那么将不做任何对齐操作。你可以忽略用作填充被推进的空间的数值(第二个参数),只使用简单的两个参数的方式;如果你想在对齐后的空间中填充无操作指令(no-op)的话,那么这种方式非常有用。(译注:即如果第二个参数为空,那么对齐操作后所留下的空间将被填充相应的CPU的"nop"指令。)

============================

大家有什么不同理解大家在楼下补充!谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-13 16:45:07 | 显示全部楼层
没有人说明吗?我自己来试下:
>>>>>>>>>>>>>>>>>>>>

第三个表达式的结果应该是个绝对值,并且是个可选的,如果这个表达式存在,那么他是表明这个对齐伪指令推进地址计数的最大字节数(译注:即如果第三个表达式的结果是4,那么.align伪指令,最多将 location counter 推进4个字节)。如果推进的字节数大于第三个表达式指定的值,那么将不做任何对齐操作。你可以忽略用作填充被推进的空间的数值(第二个参数),只使用简单的两个参数的方式;如果你想在对齐后的空间中填充无操作指令(no-op)的话,那么这种方式非常有用。(译注:即如果第二个参数为空,那么对齐操作后所留下的空间将被填充相应的CPU的"nop"指令。)

============================

大家有什么不同理解大家在楼下补充!谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表