本文主要是介绍堆和栈(heap and stack),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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,跳转到的位置。
这篇关于堆和栈(heap and stack)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!