2010-07-31 13 views
6

मैंने एक .exe फ़ाइल को अलग किया और इसे अपनी पहली पंक्ति के रूप में मिला।x86 assemby में "पुश ईबीपी" का क्या अर्थ है?

push ebp 
  • इसका क्या मतलब है?
  • क्यों ebp?
  • क्या pop कमांड के साथ इसका कोई संबंध नहीं है? भले ही मैं इसे अलग-अलग हिस्सों में नहीं देखता!

उत्तर

10

push ebp सिर्फ धक्का जो कुछ भी ढेर पर registerebp में है का मतलब है। ebp सम्मेलन द्वारा ढेर सूचक को स्टोर करता है।

यह आम तौर पर, एक stack frame स्थापित करने के लिए प्रयोग किया जाता है द्वारा

mov  ebp, esp 
+0

तुम भी समारोह है, जो MOV ईएसपी, ईबीपी पॉप ईबीपी के बाद के बराबर है के अंत में अनुदेश अवकाश देख सकते हैं। यही कारण है कि आप एक स्पष्ट पॉप नहीं देख सकते हैं। – indiv

+0

तो, क्या इसका मतलब यह है कि सभी एप्लिकेशन 'पुश ईबीपी' के साथ शुरू होते हैं, इसके बाद 'mov ebp, esp'? –

+0

अधिकतर। सभी एप्स जो वेरिएबल एड्रेसिंग के लिए ईबीपी रजिस्टर का उपयोग करते हैं या जो भी कॉलिंग प्रोग्राम के स्टैक फ्रेम को पुनर्स्थापित करना होगा। –

-1

शायद यह ebp रजिस्टर के बारे में बात कर रही है पीछा किया?

+0

यह एक टिप्पणी है, उत्तर नहीं। –

2

यह स्टैक पर ईबीपी रजिस्टर के मूल्य को धक्का देता है, और इसका उपयोग आमतौर पर स्टैकफ्रेम सेट करने के लिए किया जाता है। Pop स्टैक से एक मूल्य पुनर्प्राप्त करता है।

2

पुश निर्देश स्टैक पर एक रजिस्टर के मूल्य को बचाता है। मूल्य को बाद में पॉप-निर्देश का उपयोग करके पुनर्प्राप्त किया जा सकता है।

विकिपीडिया ढेर (डेटा संरचना): http://en.wikipedia.org/wiki/Stack_%28data_structure%29

संबंधित मुद्दे