Ton*_*ion 14
它推动ecx了堆栈的价值. ecx是一个x86 CPU寄存器,它可以保存一定数量的位(rcx在现代x86 CPU上为32或64(当时称为)).
所述调用栈被分成堆栈帧.调用函数时会创建堆栈帧,将参数推送到传递给函数的堆栈上,然后执行该函数.在函数运行时,本地函数变量也通过使用push和存储在堆栈中pop. push把东西放在堆栈上,pop 把最后放在它上面的东西拿回去.
你必须想象堆栈就像一堆盘子,你把一个放在上面,(推)然后你再拿掉那个(pop),然后你可以到达下面的下一个.
导致当前正在运行的函数的函数都在这个堆栈上,如果你愿意,可以坐在"下面",当前函数堆栈框架.当前函数返回时,它会从堆栈中弹出(堆栈帧被破坏),调用函数可以从中断处继续.
为了这个解释,我简化了一些比特.