Ich schreibe einen Bootstrap und Kernel für mich und beide Bootstrap und Kernel wird auf einer CD-R brennen und wird als CD-Live funktionieren. Es ist kein Linux-CD-Live oder etwas anderes, ist mein eigener Bootloader und Kernel. Ich möchte keine anderen Booloader (d. H. GRUB) verwenden, also bitte schlage mir nicht vor, sie zu benutzen.So laden Sie Kernel von CD-ROM mit Assembly (NASM)
Hier ist meine Frage: In meinem Bootloader ASM-Code, ich möchte meinen Kernel und den Eintritt in den RAM von CD-ROM (nicht von der Festplatte oder Diskette) laden, und vermuten lässt, dass wir wissen, wo sich der Kernel genau auf der CD-ROM (Sektornummer) befindet. Soweit ich weiß, muss ich int 0x13, AH = 02h verwenden, die Sektoren von Drive in den RAM lesen wird. Um diesen Interrupt-Service zu nutzen, ich habe einige Register ziehen zu können, dass ich mich die Liste werden: Parameter: AL Branchen AH 02h CX Track + Sector Count To Read/Siehe Bemerkung DH Kopf DL Laufwerk ES: BX Buffer Address Pointer
Mein Problem ist über DL und DH.Um auf die 1. Festplatte zu zeigen, können wir es auf 80h setzen, oder für eine Diskette können wir es auf 00h setzen. Aber ich möchte von CD-ROM lesen und ich weiß nicht, welche Werte ich für DH und DL verwenden muss.
Um von CD-ROM paar Sektoren in in den RAM gelesen ist es eine richtige Interrupt (int 0x13)? Wenn ja, welchen Wert sollte ich für DH und DL angeben?
Grüße, Pooria.