是否有任何资源可以涵盖在GNU汇编程序中使用NEON Assembly的语法?我读过这个语法与使用RVCT汇编程序的语法不同,但这是我唯一可以找到文档的东西。有什么好的资源可以让我开始吗?
答案 0 :(得分:4)
除了一个小细节之外,NEON语法是相同的:对齐的加载/存储在ARM中使用@,并且:在GAS中。这是因为@是GAS中的注释符号。
ARM:
vld1.32 {d0-d3}, [r1@128]!
vld1.32 {d16-d19}, [r1@128]
GAS:
vld1.32 {d0-d3}, [r1,:128]!
vld1.32 {d16-d19}, [r1,:128]
答案 1 :(得分:2)
答案 2 :(得分:1)
从GAS开始时,有一点不自我解释的是定义符号的方法。它在ARM汇编程序中的工作方式不适用于GAS。
但是在GAS中你可以使用#define为某些寄存器制作符号。比如...
#define MyLoopCounter r0
#define MyLoopInc #32
这样......
add MyLoopCounter,MyLoopCounter,MyLoopInc
与
相同 add r0,r0,#32
否则我发现几乎所有其他内容都是相同的,当然还有已经回答的对齐差异。