ARM中PC(program counter)和CPSR分别起什么作用,两种联合起来具体想实现什么?不懂勿入,谢谢分享!

ARM中PC(program counter)和CPSR(current program status register)分别起什么作用,两种联合起来具体想实现什么,还有就是pc-->lr,cpsr-->spsr他们的有机的联系在什么地方,高手分享,不懂勿入,谢谢分享!
需要详解,当异常发生的时候,处理异常和恢复异常的4大步3小步具体怎样设置,谢谢分享!

PC寄存器用来保存即将要执行的指令的内存地址,CPSR是用来保存当前操作处理器的各种状态的。ARM处理器在执行某些指令时,对应的状态会发生改变,这些改变的状态可以在CPSR中显示出来,例如运算结果溢出、发生借位或进位、结果为0或负数,而处理器在执行汇编指令时可以根据CPSR中的不同状态值来进行跳转或者相关的处理,pc-->lr,cpsr-->spsr一般是用在发生异常(中断、快中断、复位、软中断、数据中止等)时,将PC(对于中断情况一般是PC+4)的内容复制到lr中进行保存,CPSR中的内容则根据不同的异常情况进行到不同的工作模式,例如对于中断异常CPSR->SPSR_irq进行保存,在执行完ISR后,lr-4 -> PC, SPSR_irq->CPSR, 程序就接着上一次发生异常时的位置处继续执行原来的代码。
PS:望采纳!
异常分很多种的,不同异常处理不一样,你说的是什么异常。
温馨提示:答案为网友推荐,仅供参考
相似回答