ARM汇编指令—访存指令(ldr/str &ldm/stm & swp)

三、SWP寄存器和存储器交换指令

SWP指令用于将一个内存单元(该单元地址放在寄存器Rn中)的内容读取到一个寄存器Rd 中,同时将另一个寄存器Rm 的内容写入到该内存单元中。

指令格式如下:SWP{cond}{B} Rd,Rm,[Rn]

其中,B 为可选后缀,若有B,则交换字节,否则交换32 位字:Rd 为数据从存储器加载到的寄存器;Rm 的数据用于存储到存储器中,若Rm 与Rn 相同,则为寄存器与存储器内容进行交换;Rn 为要进行数据交换的存储器地址,Rn 不能与Rd 和Rm 相同。

SWP 指令举例如下:

swp r1, r2, [r0]   把R0所指向的内容读到R1,同时把R2的内容写到 [r0] 

swp R1,R1,[R0] ; 将R1 的内容与R0 指向的存储单元的内容进行交换

可以大致这么理解



https://www.cnblogs.com/cynchanpin/p/7306482.html

https://blog.csdn.net/csshuke/article/details/39253479

猜你喜欢

转载自blog.csdn.net/wwwlyj123321/article/details/80797762