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 指令的格式为:

SWP{条件}B 目的寄存器,源寄存器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 位数据交换。

 



  ARM公司| ARM 与单片机| ARM处理器| arm linux gcc| arm linux gdb| 三星ARM| arm芯片| ARM MMU| arm Vxworks|
arm bootloader|GPRS DTU|PC104 |硬盘播放机方案

Copyright © 2005-2008 All Rights Reserved
ARM开发板网 版权所有