程序状态寄存器的作用就是反映处理器的状态信息。在程序运行期间我们可以通过查看程序状态寄存器的状态位来进行程序的分支跳转处理,或者我们可以设置程序状态寄存器的模式位来改变处理器的运行模式,或者我们可以设置程序状态寄存器的中断屏蔽位来屏蔽中断。
2023-10-20 11:38
: lr_svc = SWI指令后面的指令地址 spsr_svc = cpsr pc = vectors + 0x08 cpsr模式 = SVC cpsr I = 1(屏蔽IRQ中断)
2018-11-08 16:47
任何一种中断模式都可以通过手动的修改cpsr的值来进入。但是User和System模式是仅有的2个不能由相应中断进入的模式,换句话说,我们必须要通过手动修改cpsr才能进入。
2018-06-25 10:49
可见,ARM Linux最初进入IRQ模式后,比较快速地从IRQ模式切换到了SVC模式,但是这个时候,并没有使能CPSR的I bit,所以仍然是禁止其他中断嵌套进入的。
2018-07-27 14:54
。thumb不是一个完整的体系结构,不能指望处理器只执行thumb指令集而不支持arm指令集。 thumb指令集分为:分支指令、数据传送指令、单寄存器加载和存储指令以及多寄存器加载和存储指令。thumb指令集没有协处理器指令、信号量(semaphore)指令以及访问cpsr或spsr的指令。
2017-11-03 17:34