如题,进入中断处理函数时程序会将cpu的关键寄存器push到stack中,到中断处理函数结束的时候会重新pop出来,但是我调试程序观察stack区域的内存发现,在中断处理函数中的计算代码执行之后(如a = b + c这类代码而非配置寄存器的代码),stack中被压入栈的那部分内存区域的值有一些发生了改变,导致当中断返回后的程序执行发生运算错误,因为cpu的寄存器值被更改了。这是为什么,理论上来说不会产生这个问题,但是出现了,请帮忙解答,谢谢!
坐等高手!
Young Hu:
这个问题真的不好分析,可能是编译出现问题。建议您将代码贴上来帮您试试