/*函数调用过程与走迷宫类似,下面的函数 func1在执行过程中 , 会打断当前执行流程,去执行func2 ,
去执行func2前,应该记录当前func1的执行环境,如记录c的值 ,记录参数a和b , 当func2执行完后,
要退回func1继续执行*/
uint16_t func1(uint8_t a , uint8_t b)
{
uint16_t c = 0;
c = a + b; /*a 和 b 作为参数 通过 R0 和 R1传递 , 计算结果会存在 R0 , R1 , R3*/
func_2(c); /*在跳转执行func2 前 , 参数 a ,b ,c 需要保存 ,*/
return c;
}
void func2(uint16_t d)
{
uint32_t e;
e = d*d +2*d;
}
|