调用函数前先创建空间,后堆放元素,紧接着初始化。
传参就是数值进入cpu中的寄存器,由寄存器放到堆砌的元素之上又一次压栈的元素(数值空间头上的那堆,不是自定义函数空间头上那堆,为的是dsp返回到这堆元素以消除自定义函数栈帧空间)里,那堆元素也是形参的空间(代码运行到形参时,形参成为那堆元素),那堆元素头顶紧挨call指令地址。
call调回指令在调用函数里(dsp能回来以销毁自定义数栈帧),如(add(a,b);),为的是和自定义函数里的return语句发生作用。
call指令地址和形参那堆元素挨着的,所以销毁栈帧空间不冲突。
call指令里有dsp移动指令,包括形参空间的自定义函数栈帧空间全部销毁。
dbp 栈低指针(高地址)
dsp栈顶指针(低地址)
pop脱栈 push压栈(元素就是被压栈进去的)
dsp dbp就好比操纵栈区的一双手。
内容仅供参考。