导航| 欢迎访问商讯网
综合商讯
当前位置: 商讯网 > 综合商讯 >

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


投稿: tkseo  2014-01-15 17:10:34  来源:  我要评论(0 ) 访问次数 
 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位数据交换
 
  文章由飞思卡尔开发板供应商小编原创,转载请注明文章来源出处,谢谢合作!
分享到:  
20.9K
栏目导航
热门标签
图片推荐