在匯編中,用CALL調(diào)用子程序時(shí),處理器要保存當(dāng)前的狀態(tài).但具體地來說,它會(huì)保存哪些寄存器的值呢?
首先保存的應(yīng)該就是返回地址了吧,但這一過程可不可以用其它代碼來顯式的實(shí)現(xiàn)呢?也就是用push or mov等將它所做的工作代替,這樣可能嗎?
另外,C/C++中的局部變量是在哪里分配的呢?我記得好像是在堆上,但不太清楚了.這一過程在匯編中是如何實(shí)現(xiàn)的呢?看過了C的反匯編代碼還是沒搞清楚啊.