5.6.1. VLDR 和 VSTR

扩展寄存器加载和存储。

语法

VLDR{cond}{.size} Fd, [Rn{, #offset}]
VSTR{cond}{.size} Fd, [Rn{, #offset}]
VLDR{cond}{.size} Fd, label
VSTR{cond}{.size} Fd, label

其中:

cond

是一个可选的条件代码(请参阅条件代码)。

size

是一个可选的数据大小说明符。 如果 Fd 是单精度 VFP 寄存器,则必须为 32;否则必须为 64。

Fd

是要加载或保存的扩展寄存器。 对于 NEON 指令,它必须为 D 寄存器。 对于 VFP 指令,它可以为 D 或 S 寄存器。

Rn

是存放要传送的基址的 ARM 寄存器。

offset

是一个可选的数值表达式。 在汇编时,该表达式的值必须为一个数字常数。 该值必须是 4 的倍数,并在 –1020 到 +1020 的范围内。 该值与基址相加得到用于传送的地址。

label

是一个程序相对的表达式。 有关详细信息,请参阅相对寄存器和程序相对的表达式

label 必须位于当前指令的 ±1KB 范围之内。

用法

VLDR 指令可从内存中加载一个扩展寄存器。 VSTR 指令可将一个扩展寄存器的内容保存到内存中。

如果 Fd 是单精度寄存器(仅限 VFP),则传送一个字。 否则传送两个字。

还有一个 VLDR 伪指令(请参阅VLDR 伪指令)。

Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IC
Non-Confidential