enter函數的作用?
ENTER指令和LEAVE指令是由CPU提供的內置工具,用于實現某種類型的堆棧幀。
它們使用起來非常簡便,只需一步就可以完成在例程中建立堆棧幀的操作。
ENTER指令建立堆棧棧的過程是:將當前EBP寄存器壓入堆棧,并使它指向局部變量區的頂部。
ENTER指令還支持嵌套堆棧幀的管理,通常嵌套堆棧是在同一個例程內(當然高級語言也得支持嵌套塊才行)。
為了實現嵌套,使用ENTER指令代碼的必須指明當前嵌套的層數(這使得ENTER的使用與實現具體的例程調用之間關聯性較小)。
當給出嵌套的層數時,ENTER指令將指向當前每一個活動的堆棧幀的起始位置的指針存儲到例程的堆棧幀中。
然后,代碼就可以使用這些指針來訪問其它當前活動的堆棧幀了。