一条协处理器Load/Store指令可以再ARM处理器和协处理器之间传输批量数据。其语法格式如下:
<opcode>{<cond>} {L} <coproc>,<CRd>,<addressing_mode>
其中<addressing_mode>表示地址的变化方式,有如下4种:
-
[<Rn>,#+/-<offset_8>*4]
-
[<Rn>,#+/-<offset_8>*4]!
-
[<Rn>],#+/-<offset_8>*4
-
[<Rn>],<option>
协处理器Load/Store指令的编码格式:
标志位含义如下:
U标志位表示基址寄存器<Rn>值的更新方式。当U = 1时, 基址寄存器<Rn>的值加上地址偏移量;当U = 0时,基址寄存器<Rn>的值减去地址偏移量。
N标志位的含义由各协处理器决定,一般用来表示传输数据字的字节大小。
W标志位表示指令执行后,基址寄存器<Rn>的值是否更新。当W = 1时,指令执行后更新基址寄存器的内容;当W = 0时,指令执行后基址寄存器的内容不变。
标志位P和W一起决定指令中基址寄存器内容更新的方式,如下图所示:
L标志位表示操作的类型。当L=1时,执行Store操作;当L=0时,执行Load操作。