ARM杂项指令,状态寄存器读写指令MSR MRS
时间: 2023-06-28 19:16:09 浏览: 170
常用ARM指令集及汇编(完整版).pdf
5星 · 资源好评率100%
ARM杂项指令包括一些不同于常规数据处理指令的指令,用于控制处理器的状态和执行其他特殊的操作。其中,状态寄存器读写指令MSR和MRS用于读取和设置程序状态寄存器(CPSR或SPSR)的值。
MRS指令用于将程序状态寄存器(CPSR或SPSR)的值读取到通用寄存器中,其语法如下:
```
MRS Rd, CPSR ; 读取CPSR寄存器的值到Rd寄存器中
MRS Rd, SPSR ; 读取SPSR寄存器的值到Rd寄存器中
```
其中,Rd表示目标寄存器,可以是R0~R15中的任意一个寄存器。
MSR指令用于将通用寄存器的值写入程序状态寄存器(CPSR或SPSR)中,其语法如下:
```
MSR CPSR_f, #imm ; 将立即数imm写入CPSR寄存器中
MSR SPSR_f, #imm ; 将立即数imm写入SPSR寄存器中
MSR CPSR_f, Rd ; 将Rd寄存器的值写入CPSR寄存器中
MSR SPSR_f, Rd ; 将Rd寄存器的值写入SPSR寄存器中
```
其中,f表示要修改的CPSR或SPSR寄存器的标志位,可以是CPSR、SPSR_fi、SPSR_irq、SPSR_svc、SPSR_abt或SPSR_und。#imm表示要写入寄存器的立即数值,Rd表示要写入寄存器的通用寄存器。
通过MRS和MSR指令,程序可以读取和设置程序状态寄存器(CPSR或SPSR)中的标志位,以控制程序的执行状态和处理器的行为。
阅读全文