2008-08-21 10 views
7

मैं एक x86 मशीन पर बूट लोडर पर काम कर रहा हूं।बूटअप के बाद रजिस्टरों का राज्य

जब BIOS एमबीआर की सामग्री को 0x7c00 पर कॉपी करता है और उस पते पर कूदता है, तो क्या रजिस्टरों की सामग्री का मानक अर्थ है? क्या रजिस्टरों के मानक मान हैं?

मुझे पता है कि सेगमेंट रजिस्ट्रार आमतौर पर 0 पर सेट होते हैं, लेकिन कभी-कभी 0x7c0 होंगे। अन्य हार्डवेयर रजिस्टरों के बारे में क्या?

उत्तर

8

यह प्रारंभिक निष्पादन वातावरण अत्यधिक कार्यान्वयन परिभाषित किया गया है, जिसका अर्थ है आपके विशेष BIOS के कार्यान्वयन। रजिस्टरों की सामग्री पर कभी भी कोई धारणा न करें। उन्हें 0 तक प्रारंभ किया जा सकता है, लेकिन उनमें एक यादृच्छिक मूल्य भी हो सकता है।

OS dev Wiki है, जो मैं कहाँ जानकारी प्राप्त कर रहा है जब मैं के साथ खेल रहा हूँ से

मेरी खिलौना ओएस

1

सर्वश्रेष्ठ विकल्प कुछ भी नहीं मानना ​​होगा। यदि उनके पास अर्थ है, तो आप पाएंगे कि दूसरी ओर से जब आपको उनके द्वारा प्रदान की जाने वाली जानकारी की आवश्यकता होती है।

1

अपरिभाषित, मुझे विश्वास है? मुझे लगता है कि यह मुख्य बोर्ड और सीपीयू पर निर्भर करता है, और इसे अपने स्वयं के अच्छे के लिए यादृच्छिक माना जाना चाहिए।

1

तुम हमेशा उन्हें अपने को प्रारंभ कर सकते हैं एक ज्ञात राज्य के साथ शुरू करने के लिए।

1

सुरक्षित शर्त अपरिभाषित मानना ​​है।

1

एकमात्र चीज जो मुझे अच्छी तरह से परिभाषित करने के बारे में पता है, रीसेट के तुरंत बाद प्रोसेसर राज्य है।

रिकॉर्ड आप पा सकते हैं के लिए है किIntel's Software Developer's Manual में खंड 3 अध्याय 8: "प्रोसेसर प्रबंधन और आरंभीकरण" शीर्षक से तालिका में "IA-32 प्रोसेसर राज्य अमेरिका या बाद पावर-अप, रीसेट, INIT"

1

हमेशा अपरिभाषित मान लें, अन्यथा यदि आप पोर्ट आर्किटेक्चर बंद करने का प्रयास करते हैं तो आप बुरी समस्याओं को प्रभावित करेंगे।

पोर्टिंग कोड के दर्द की तरह कुछ भी नहीं है जो मानता है कि सब कुछ शुरू नहीं किया गया है शून्य।

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