如何声明数据向量

时间:2019-06-06 15:02:55

标签: assembly arm arm64 armv8

我正在ArmV8中执行一个汇编程序,该程序使用多个常量(在浮点数中),因此要乘以某个值(也在浮点数中)。为此,我想开发一个循环,使之经过包含常数的向量,每次增加地址以访问下一个常数,将其相乘等等,而不是一次又一次地重复相同的操作。 虽然,我不确定如何直接在Assembly程序中声明此向量。

在ArmV7中,我做了这样的事情以实现该目的:

Aux         DCD     0x7F800000, 0x007FFFFF, 0x7FFFFFFF

但这仅适用于ArmV7中的单词,而我正在使用ArmV8中的双打。

1 个答案:

答案 0 :(得分:1)

您不是在声明向量,这里需要的只是源中的文字常量。假设Arm编译器6,7.21 DCQ and DCQU

  

DCQ指令分配一个或多个八个字节的内存块,   在四字节边界上对齐,并定义初始运行时   内存的内容。 DCQU相同,除了内存   对齐是任意的。

由于未键入内存,因此除了可读性之外,没有其他原因可以不使用DCD。如果您的文字是浮点数,则也可以使用DCFDDCFS