码迷,mamicode.com
首页 > 其他好文 > 详细

CPSR & SPSR 程序状态寄存器的访问 笔记

时间:2014-09-05 14:24:31      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:arm

CPSR & SPSR 



bubuko.com,布布扣

一行短短的汇编触发的学习笔记~



ARM 微处理器支持程序状态寄存器访问指令,用于在程序状态寄存器和通用寄存器之间传递数据。程序状态寄存器(*PSR) 的访问指令包括一下两条:

bubuko.com,布布扣



--------------------------------------------------------------------------------------------------------------------------------------------------

关于MRS指令:

1.         当需要改变程序状态寄存器的内容时,可用MRS将程序状态寄存器的内容读入通用寄存器,修改后再写回到程序状态寄存器。

2.         当在异常处理或者进程切换时, 需要保存程序状态寄存器的值,可以先用该指令读出程序状态寄存器的值,然后保存.


MRS R0, SPSR; //把SPSR的值传送到R0寄存器中去.

---------------------------------------------------------------------------------------------------------------------------------------------


关于 MSR指令:

          MSR指令用于将操作数的内容传送到程序状态寄存器的特定域中。其中,操作数可以为通用寄存器或立即数。域用于设置程序状态寄存器中需要操作的位。


下图可以看到,32bits的 PSR可以分为4个域。F S X C


MSR CPSR_c,R0 ; //传送R0 到SPSR中,但仅仅修改CPSR中的控制域


-----------------------------------------------------------------------------------------------------------------------------------------




CPSR : current program status register

bubuko.com,布布扣



嘿嘿~ ARM的7种工作模式由CPSR寄存器的M[0:4]5个位来指明


SPSR:      Saved Program Status Register


SPSR用来进行异常处理,有以下功能

1.保存ALU中的当前操作信息。

2.控制允许和禁止中断。

3.设置处理器的运行模式。






bubuko.com,布布扣

CPSR & SPSR 程序状态寄存器的访问 笔记

标签:arm

原文地址:http://blog.csdn.net/cinmyheart/article/details/39079845

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!