一、SWI指令执行过程
CSPR保存到SPSR_svc。
改变处郑凳宏理器状态进入ARM状态
改变处理器模式进入相应的管理员模式(svc)
看需要禁止中断
保存返回地址(pc-4)到LR_svc
二、回答粗扰你的疑惑
由上面可以知道,即使是在THUMB状态下进入SWI异常,在执行SWI时,一样喊册会进入ARM状态。执行完,返回时到下一条指令(PC-4),返回后,具体是什么状态,要根据进入SWI中断前的
CSPR决定(欢迎纠错)
ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。
快速中断模式(fiq):用于高速数据传输或通道处理。
外部中断模式(irq):用于通用的中断处理。
管理模简禅式(svc): *** 作系统使用的保护模式。
数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 统模式(sys):运行具有特权的 *** 作系统任务。
定义指令中止模式(und):当未定义的指令简培执拦咐尘行时进入该模式,可用于支持硬件协处理器的软件仿真。
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)