01/10/2018, 14:45

Có nên bỏ "push ebp" ở hàm được main gọi

Mình hiểu là việc “push ebp” ở đầu hàm được gọi là để lưu frame pointer của caller.Tuy nhiên,hàm main lại không sử dụng ebp để làm frame pointer.Vậy ta có thể bỏ phần này không ?

 .code
main proc
	call Proc_1
exit
main endp

Proc_1 proc
	push ebp  ; co nen bo khong ?
	mov ebp,esp
	;............
	mov esp,ebp
	pop ebp
ret
Proc_1 endp
end main
rogp10 viết 16:53 ngày 01/10/2018

Bỏ như bạn thì phải bỏ hết cả 4 lệnh.

stackoverflow.com
Remy Lebeau

Why do we "PUSH EBP" and "MOV EBP, ESP" in the CALLEE in Assembly?

assembly, x86, x86-64, cpu-registers
answered by Remy Lebeau on 08:25PM - 16 Mar 16
Bài liên quan
0