我尝试将此程序集文件:https ://github.com/gvanas/KeccakCodePackage/blob/master/SnP/KeccakF-1600/OptimizedAsmX86-64/KeccakF-1600-x86-64-gas.s转换为苹果语法。(旧语法)
我将 .eq 替换为 #define,将 .global 替换为 .globl,删除 .type、.size。
再次出现一些错误(我使用clang):
1 --
错误:指令 subq *25, %rsp 的操作数无效(指令为 : subq $8*25, %rsp
)
2 --
后端错误:64 位模式不支持 32 位绝对寻址:
movb KeccakPowerOf2(arg2), %al
xorb %al, (arg1)
和
#define arg1 %rdi
#define arg2 %rsi
和
KeccakPowerOf2:
.byte 1, 2, 4, 8, 16, 32, 64, 128
3 --
后端错误:64 位模式不支持 32 位绝对寻址
leaq KeccakLaneComplementTable, arg5
和
#define arg5 %r8
和
`KeccakLaneComplementTable:
.quad 0
.quad 0xFFFFFFFFFFFFFFFF // 1 be
.quad 0xFFFFFFFFFFFFFFFF // 2 bi
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0xFFFFFFFFFFFFFFFF // 8 go
.quad 0
.quad 0
.quad 0
.quad 0xFFFFFFFFFFFFFFFF // 12 ki
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0xFFFFFFFFFFFFFFFF // 17 mi
.quad 0
.quad 0
.quad 0xFFFFFFFFFFFFFFFF // 20 sa
.quad 0
.quad 0
.quad 0
.quad 0`
有任何想法吗 ?
谢谢