小编Igo*_*lov的帖子

如何在ml64.exe中设置align 64?

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

x86 assembly masm alignment segments

3
推荐指数
1
解决办法
1421
查看次数

标签 统计

alignment ×1

assembly ×1

masm ×1

segments ×1

x86 ×1