对于第三点“如果不考虑系统堆栈的安全余量设置,一个没有二级中断嵌套的一级中断堆栈深度应该是13字节” 比较费解:
int sum(char a, char b, char c, char d)
{
return a + b + c +d;
}
int sum1(char a, char b, char c, char d)
{
return(sum(a, b, c, d));
}
int sum2(char a, char b, char c, char d)
{
return(sum1(a, b, c, d));
}
void isr0(void) interrupt 0
{
sum2(1,2,3,4);
}
用keil simulater运行,在isr0里堆栈深度为15(不算进入中断时压栈的2字节PC),如何解释??
|