当前位置: 代码迷 >> 汇编语言 >> ARM处理器,怎么查看其他模式上的栈指针
  详细解决方案

ARM处理器,怎么查看其他模式上的栈指针

热度:5582   发布时间:2013-02-26 00:00:00.0
ARM处理器,如何查看其他模式下的栈指针
需求是这样的:程序正常运行在system mode下,当出现异常后,ARM处理器将自动进入某种异常模式(比如说是Data Abort)。此时,如果想查看程序在进入异常模式之前的栈指针,即system mode下的栈指针,有办法吗?
------最佳解决方案--------------------------------------------------------
似乎没有办法在同一模式下访问各模式的同名寄存器。
可以手动修改CPRS进入对应模式(这样应该是不会触发对应的中断入理程序的),将需要的信息保存到通用的寄存器,然后再修改CPRS回到之前模式……
------其他解决方案--------------------------------------------------------
异常帧中应该包括吧?没搞过ARM架构的,你可以查一下指令手册
------其他解决方案--------------------------------------------------------
我可以幫你看
------其他解决方案--------------------------------------------------------
引用:
我可以幫你看

什么意思?
------其他解决方案--------------------------------------------------------
引用:
似乎没有办法在同一模式下访问各模式的同名寄存器。
可以手动修改CPRS进入对应模式(这样应该是不会触发对应的中断入理程序的),将需要的信息保存到通用的寄存器,然后再修改CPRS回到之前模式……


按你的方法试过了,可行,谢谢!
------其他解决方案--------------------------------------------------------
呵呵,就是有点麻烦……
  相关解决方案