第4篇 ARM指令集系统2.pptVIP

  • 4
  • 0
  • 约7.57千字
  • 约 56页
  • 2017-06-03 发布于湖北
  • 举报
4.5 交换指令 ARM指令支持原子操作,主要是用来对信号量的操作,因为信号量操作的要求是作原子操作,即在一条指令中完成信号量的读取和修改操作。 字数据交换指令 SWP是对字数据操作指令,用于将一个寄存器Rn为地址的内存字数据单元的内容读取到一个寄存器Rd中,同时将另一个寄存器Rm的内容写入到该内存单元中。 SWP{cond} Rd, Rm, [Rn] 例如:SWP R0,R1,[R2] ; 将R2所表示的内存单元中的字数据装载到R0,然后将R1中的字数据保存到R2所表示的内存单元中 字节数据交换指令 SWPB是对字节操作指令,用于将一个寄存器Rn为内存地址的字节数据单元的内容读取到一个寄存器Rd中,寄存器Rd的高24设置为0,同时将另一个寄存器Rm的低8位数值写入到该内存单元中 SWP{cond}{B} Rd, Rm,[Rn] 具体操作同SWP。 4.6程序状态寄存器PSR访问指令 程序状态寄存器PSR访问指令用来实现通用寄存器与程序状态寄存器之间的数据传输,共有两条:读程序状态寄存器指令MRS和写程序状态寄存器指令MSR。 这类指令可以用来修改CPSR,通常是通过“读取-修改-写回”的操作序列来实现。 读程序状态寄存器指令 MRS指令用于将状态寄存器的内容传送到通用寄存器中。这是程序获得程序状寄存器PSR数据的唯一方法。 MRS {cond} Rd, C

文档评论(0)

1亿VIP精品文档

相关文档