原创 ARM数据交换指令

2009-3-3 12:32 3265 6 6 分类: MCU/ 嵌入式

数据交换指令


ARM 微处理器所支持数据交换指令能在存储器和寄存器之间交换数据。数据交换指令有如下两条:


SWP   字数据交换指令


SWPB  字节数据交换指令


1SWP 指令


SWP 指令的格式为:


SWP{条件} 目的寄存器,源寄存器 1[源寄存器 2]


SWP 指令用于将源寄存器 2 所指向的存储器中的字数据传送到目的寄存器中,同时将源寄存器 1中的字数据传送到源寄存器 2 所指向的存储器中。显然,当源寄存器 1 和目的寄存器为同一个寄存器时,指令交换该寄存器和存储器的内容。


指令示例:


SWP  R0R1[R2]        ;将R2所指向的存储器中的字数据传送到R0,同时将R1 中的字数据传送到R2所指向的存储单元。


SWP  R0R0[R1]        ;该指令完成将R1所指向的存储器中的字数据与R0中的字数据交换。


2SWPB 指令


SWPB 指令的格式为:


SWP{条件}B 目的寄存器,源寄存器 1[源寄存器 2]


SWPB 指令用于将源寄存器 2 所指向的存储器中的字节数据传送到目的寄存器中,目的寄存器的高 24 清零,同时将源寄存器 1 中的字节数据传送到源寄存器 2 所指向的存储器中。显然,当源寄


存器 1 和目的寄存器为同一个寄存器时,指令交换该寄存器和存储器的内容。


指令示例:


SWPB  R0R1[R2]        ;将R2所指向的存储器中的字节数据传送到R0R0的高24位清零,同时将R1中的低8位数据传送到R2所指向的存储单元。


SWPB  R0R0[R1]        ;该指令完成将R1所指向的存储器中的字节数据与R0中的低8位数据交换。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条