align 64使用 来设置某些汇编器功能代码的最简单方法是什么ml64.exe?默认对齐方式_TEXT为 16,因此ml64不允许在align命令中设置超过 16。并且ml64不允许更改 的对齐方式_TEXT。
可以创建另一个部分/段,但是我们可以64 byte在主_TEXT部分中对齐吗?
有什么解决办法吗?
PS 解决方案建议在答案中_TEXT$FOO有效!
_TEXT$FOO SEGMENT ALIGN(64)
align 64
_TEXT$FOO ENDS
Characteristics我还尝试在十六进制编辑器中更改 obj (coff) 文件中的节标题中的对齐字段中的值_TEXT。链接器使用了改变的对齐方式。_TEXT那么,如果链接器可以使用 obj 文件中该字段的任何值,为什么 ml 和 jwasm 不允许更改 的默认 16 字节呢?
在某些情况下,64 字节对齐对于代码很有用。如果您使用 16 字节对齐,则另一个代码(可以是Ccode)可以随机将您的asm代码移动 4 个不同的偏移量:0、16、32、48。并且某些循环可能可以跨越 64 字节或 32 字节范围。asm因此,当您更改另一个代码时,您可以看到代码性能的一些不可预测的变化C。