मैं कोड के इस टुकड़े समझ में नहीं आता:ढेर खंड
mov ax, 07C0h ; Set up 4K of stack space above buffer
add ax, 544 ; 8k buffer = 512 paragraphs + 32 paragraphs (loader)
cli ; Disable interrupts while changing stack
mov ss, ax
mov sp, 4096
sti ; Restore interrupts
- mov कुल्हाड़ी, 07C0h - यहाँ BIOS हमारे कोड लोड करता है। लेकिन '4 के' क्या है? किलोबाइट? मैं इसे प्राप्त नहीं किया :)
- कुल्हाड़ी जोड़ें, 544 - फिर क्यों '8 के'? और हम 544 क्यों जोड़ते हैं? 512 क्यों नहीं?
- mov sp, 4096 - यहां हम स्टैक पॉइंटर सेट करते हैं।
स्टैक पॉइंटर सेट करने से पहले, हम इन सभी कुशलताओं के लिए क्या करते हैं?
क्या आपके पास बूट लोडर के बाकी स्रोत हैं? –
हां। यह यहां उपलब्ध है http://mikeos.berlios.de/#downloads या मैंने इसे यहां साझा किया है http://snipt.org/Tmon –
थोड़ा स्पर्शक: मैं इस पर गलत हो सकता हूं, और मेरे पास इंटेल मैनुअल नहीं है जांच करने के लिए आसान है, लेकिन मुझे लगता है कि 'सीएलआई' और 'एसटीआई' निर्देश यहां अनावश्यक हैं। आईआईआरसी, यह गारंटी है कि यदि 'एसएस' के लिए कदम तुरंत 'एसपी' के कदम से पीछा किया जाता है, तो दो कदम निर्देशों के बीच कोई हस्तक्षेप नहीं होगा। – bcat