निम्न साइट "Writing Boot Sector Code" कोड के नमूने प्रदान करता है जो सिस्टम बूट होने पर स्क्रीन पर 'ए' प्रिंट करता है। जो मैंने पढ़ा है, उससे आपको कुछ चीजों को करने के लिए BIOS प्राप्त करने के लिए INT opcode का उपयोग नहीं करना है? इंटरप्ट्स के बिना काम के ऊपर संदर्भित साइट से नीचे दिया गया कोड कैसा है? कोड का कौन सा हिस्सा वास्तव में हार्डवेयर को स्क्रीन पर 'ए' प्रिंट करने के लिए कहता है? सवाल मेंरियल मोड असेंबली: बूट पर छंटनी के बिना स्क्रीन पर प्रिंट करें
कोड:
.code16
.section .text
.globl _start
_start:
mov $0xb800, %ax
mov %ax, %ds
movb $'A', 0
movb $0x1e, 1
idle:
jmp idle
जोड़कर मूल प्रश्न
अगर मैं का उपयोग निम्न कोड करता है मेरे लिए पाठ बफर करने के लिए BIOS कॉल लिखने? बफर 0xb800 पता से शुरू हो रहा है?
# Author: Matthew Hoggan
# Date Created: Tuesday, Mar 6, 2012
.code16 # Tell assembler to work in 16 bit mode (directive)
.section .text
.globl _start # Help linker find start of program
_start:
movb $0x0e, %ah # Function to print a character to the screen
movb $0x00, %bh # Indicate the page number
movb $0x07, %bl # Text attribute
mov $'A', %al # Move data into low nibble
int $0x10 # Video Service Request to Bios
_hang:
jmp _hang
.end
यह करता है। हालांकि, बफर स्थान वास्तव में ग्राफिक्स चिप पर निर्भर करता है। मोनोक्रोम एडेप्टर पर आप 0xb800 के बजाय सेगमेंट 0xb000 का उपयोग करेंगे। –