汇编里的PUSH功能是压栈但为什么要压栈的呢?

汇编里的PUSH功能是压栈但为什么要压栈的呢?

计算机程序用来放数据的地方有两种,一个是堆,一个是栈。
栈一般用来放一些函数的临时变量,还有中断和调用函数时的返回地址。因为这些地址都是临时的,所以在栈的出栈和进栈的时候可以动态的进入和删除。调滑掘用函数和中断的时候,临时变量和返回地址就暂存在栈中。函数调用完了,临时变量和返回地址就从栈删除了。所以栈一般来说是临时变量,调裂让租用函数会自动回收内存。这就是PUSH 和 POP 的功能了。相当于一个暂时保存数据的地方。
而堆肆兆的话一般用来动态分配内存,分配的内存一般不会自动释放。
← 上一篇: 下一篇: →