2008-09-18 42 views
7

मैं खिलौना ओएस पर काम कर रहा हूं और अपने बूट लोडर के रूप में ग्रब का उपयोग कर रहा हूं। हाल ही में जब वीजीए का उपयोग करने की कोशिश की गई तो मैंने पाया कि मैं हार्डवेयर इंटरप्ट्स का उपयोग नहीं कर सका। यह मुझे मिला क्योंकि मैं ग्रब द्वारा संरक्षित मोड में फंस गया था।ग्रब और रीयल मोड (निम्न स्तरीय असेंबली भाषा प्रोग्रामिंग) में प्रवेश करना

क्या कोई जानता है कि ग्रब से छुटकारा पाने के बिना असली मोड में कैसे वापस आना है?

+0

संभावित डुप्लिकेट [GRUB से वास्तविक मोड BIOS/VESA कॉल का उपयोग कैसे करें?] (Http://stackoverflow.com/questions/30747574/how-to-use-real-mode-bios-vesa-calls-from -grub) – peterh

उत्तर

1

आप अपने बूट लोडर जैसा GRUB उपयोग कर रहे हैं आप इस्तेमाल कर सकते हैं intcall (COMBOOT API में विनिर्दिष्ट है) VESA VBE तक पहुँचने के लिए अपने मामले में BIOS समारोह पूर्णांक 0x10 कॉल करने के लिए।

लेकिन अगर आपको वीजीए हार्डवेयर रजिस्टरों तक पहुंचने की आवश्यकता है तो इससे मदद नहीं मिलेगी।

1

आपका मतलब है लेखन (मूल्य, $ 3 सी 9)?

>mov 03c9,AH 
>out value,AL 

या इंटेल एएसएम (NASM)

3c9 3C8 IIRC में समान वीजीए रजिस्टरों हैं।