1、堆:一块内存空间,可以从中分配一个小buffer,用完后再把它放回去。
2、栈:也是一块内存空间,cpu的sp寄存器指向它,它可以用于函数调用、局部变量、多任务系统里保存现场。
PUSH [r3-r6,lr]; #将r3到r6寄存器和lr入栈,起站位作用
MOVS r5,#0x41;将0x41(65)放入r5寄存器
MOVS r0,#0x63; 将0x(63)放入r0寄存器
STR r0,[sp,#0]; 将r0寄存器的值存入栈
MOVS r0,0x64;将0x64(100)放入r0寄存器
BL my_malloc;0x80001c4; BL跳转到0x80001c4执行
BL a_func;0x8000154 跳转到a_func,LR=0x80001be,保存执行到位置,PC=0x8000154,跳转到的位置。