0

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

在 ArmV7 中,我做了这样的事情来达到这个目的:

Aux         DCD     0x7F800000, 0x007FFFFF, 0x7FFFFFFF

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

4

1 回答 1

2

你不是在声明一个向量,你需要的只是源代码中的一个字面常量。假设 Arm Compiler 6、7.21 DCQ 和 DCQU

DCQ 指令分配一个或多个 8 字节内存块,在 4 字节边界上对齐,并定义内存的初始运行时内容。DCQU 是一样的,只是内存对齐是任意的。

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

于 2019-06-07T11:20:23.847 回答