2012-06-07 8 views
5

इंटेल प्लेटफार्मों पर, BP स्टैक फ्रेम की शुरुआत को इंगित करने के लिए और [bp+0x??] और स्थानीय चर [bp-0x??] तर्कों तक पहुंचने के लिए उपयोग किया जाता है।एआरएम प्रोसेसर पर बीपी रजिस्टर (फ्रेम सूचक) के बराबर क्या है?

एआरएम में कौन सा रजिस्टर उपयोग किया जाता है? या, केवल एसपी पर आधारित एड्रेसिंग है?

[मेरे पास इसे देखने के लिए संकलन और पृथक करने के लिए बुनियादी ढांचा नहीं है। एएपीसीएस का जिक्र करने से मुझे कोई मदद नहीं मिली]

+0

के लिए कोई समकक्ष नहीं है ** AAPCS ** (2003); पुराना ** एपीसीएस ** आरआर 11 एआरएम मोड में 'एफपी' के रूप में है। चूंकि एआरएम में अधिक रजिस्ट्रार होते हैं, इसलिए आमतौर पर स्टैक/फ्रेम के माध्यम से स्थानीय लोगों को इंडेक्स करने की आवश्यकता नहीं होती है। –

उत्तर

7

जो आप खोज रहे हैं वह फ्रेम सूचक है। आम तौर पर, R7 THUMB मोड में फ्रेम पॉइंटर के रूप में कार्य करता है और R11 एआरएम मोड में फ्रेम पॉइंटर के रूप में कार्य करता है। लेकिन अगर यह चाहती है तो इस सम्मेलन को बदलने के लिए ओएस के विवेक के तहत है।

पढ़ें here

+3

ध्यान दें कि यह एक एबीआई मुद्दा है, प्रोसेसर मुद्दा नहीं। (प्रोसेसर इस बात पर परवाह नहीं करता कि आप किस रजिस्टर का उपयोग करते हैं।) विभिन्न ओएस चीजों को अलग-अलग कर सकते हैं। –

+0

धन्यवाद @ रेमंड चेन। मैंने आपके उत्तर को सही (सही) दृश्य –

+2

को प्रतिबिंबित करने के लिए अपडेट किया ... और यदि आपके पास स्टैक पॉइंटर रजिस्टर है, तो आधुनिक कंपाइलर्स को वास्तव में फ्रेम पॉइंटर्स (एफपी) की आवश्यकता नहीं होती है; वे ढेर के लेआउट को जानते हैं और इसलिए एसपी से इंडेक्स भी एफपी से पहुंचने के लिए आवश्यक कुछ भी प्राप्त कर सकते हैं। इसलिए आपके कंपाइलर के आधार पर एक एफपी वास्तव में वैकल्पिक है। –

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