首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ARM微处理器所支持的数据交换指令

ARM微处理器所支持的数据交换指令

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

 SWP:字数据交换指令。

 SWPB:字节数据交换指令。

 1、SWP指令

 SWP指令的格式为:

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

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

 指令示例:

 SWP R0, R1, [R2]

 ; 将R2所指向的存储器中的字数据传送到R0, 同时

 将R1中的字数据传送到R2 所指向的存储单元

 SWP R0, R0, [R1]    ;该指令完成将R1所指向

 的存储器中的字数据与R0中的字数据交换

 2、SWPB指令

 SWPB指令的格式为:

 SWPB 目的寄存器, 源寄存器1, [源寄存器2]

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

 指令示例:

 SWPB R0, R1, [R2]

 ; 将R2 所指向的存储器中的字节数据传送到R0, R0的高24位清零,

 ; 同时将R1中的低8位数据传送到R2所指向的存储单元。

 SWPB R0, R0, [R1]

 ; 该指令完成将R1 所指向的存储器中的字节数据与R0中的低8位数据交换
继承事业,薪火相传
返回列表