这是我的 C 代码
void user_main(void)
{
u32 asd;
osGetSysCnt(&asd);
}
这是拆解
void user_main(void)
{
10040230: b507 push {r0, r1, r2, lr}
u32 asd;
osGetSysCnt(&asd);
10040232: a801 add r0, sp, #4
10040234: f000 f801 bl 1004023a <osGetSysCnt>
}
10040238: bd07 pop {r0, r1, r2, pc}
堆栈指针为什么要增加?这不会覆盖已经推送的寄存器吗?