协处理器及其他指令之:状态寄存器访问指令

嵌入式系统 时间:2013-09-13来源:网络

4.指令的使用

详见MRS指令。

5.指令举例

(1)使用“读-修改-写”模式更新CPSR寄存器。

MRSr0,CPSR ;读CPSR寄存器的值

BICr0,r0,#0xf0000000 ;清除N、Z、C、V位

MSRCPSR_f,r0 ;更新CPSR中的标志位

注意

因为PSR状态寄存器中存在目前没有定义的保留位,所以在使用时,最好加上“_fsxc”后缀,如上例中的“CPSR_f”。这样做的目的是使指令只修改程序状态寄存器的某个域,防止程序向高版本指令集移植时发生意外。

(2)禁止IRQ中断。

MRSr0,CPSR;读CPSR状态寄存器

ORRr0,r0,#0x80;设置IRQ中断禁止位

MSRCPSR_c,r0;更新CPSR状态寄存器

(3)堆栈初始化。

INITSTACK

MOVr0,LR;保存返回地址

;设置管理模式堆栈

MSRCPSR_c,#0xd3;

LDRSP,StackSvc;

;设置中断模式堆栈

MSRCPSR_c,#0xd2;

LDRSP,StackIrq;

1 2 3

关键词: 协处理器 状态寄存器访问指令 ARM 微处理器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版