Autor Thema: Sektor 37 einlesen  (Gelesen 4413 mal)

Darkmonkey

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« am: 08. March 2008, 20:39 »
Hallo,

Ich möchte meinen Kernel vom Sektor 37 einlesen ich benutze diesen Code:

LoadKern:
        mov ah, 0x02   
        mov al, 0x01   
        mov ch, 0x00   
        mov cl, 0x37   
        mov dh, 0x00   
        mov dl, 0x00   
        mov bx, 0x3025 
        mov es, bx     
        mov bx, 0x0000 
r:
        int 0x13
        jc r

Wenn mein Kernel sich im Sektor 4 befindet funktionierts!
Hab ich beim Interrupt aufruf einen Fehler vieleicht mit der Spur?

2. Wenn das A20 Gate aktiviert ist welche Zahlen brauch ich für Segment:Offset um gleich hinter dem 1 Mb zu sein? (oxfffff:0x00000)

Danke
Darkmonkey
« Letzte Änderung: 08. March 2008, 20:56 von Darkmonkey »

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #1 am: 09. March 2008, 00:22 »
Zitat
Hab ich beim Interrupt aufruf einen Fehler vieleicht mit der Spur?
Sektor 37 ist bei einer 1.44MB Diskette Spur 2, Kopf 0, Sektor 1 sowie ich das sehe. Insofern sollte
ch = 0x02
cl = 0x01
dh = 0x00
richtig sein. btw. 0x37 ist nicht 37 :wink:

Zitat
2. Wenn das A20 Gate aktiviert ist welche Zahlen brauch ich für Segment:Offset um gleich hinter dem 1 Mb zu sein? (oxfffff:0x00000)
Naja, 0xFFFF als Segment und als Offset halt alles >= 0x10. Damit kannst du aber nur die ersten 64kB überhalt der 1MB Marke ansprechen, danach ist im real-mode Schluss.

edit: Im wiki ist übrigens ein Artikel der die Umwandlung von CHS in LBA beschreibt. Ich hab da jetzt nicht nachgeschaut in das mal so aus dem Kopf gemacht, deswegen schau dir lieber den Artikel an und rechne selbst nach. :mrgreen:
edit2: Ich stellt gerade fest, dass 1. die Rechnung die du suchst unter diesem Artikel stattdessen zu finden ist und 2. ich richtig gerechnet habe.
« Letzte Änderung: 09. March 2008, 00:31 von bluecode »
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

Darkmonkey

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 09. March 2008, 12:31 »
Danke
Gregor
« Letzte Änderung: 09. March 2008, 12:52 von Darkmonkey »

 

Einloggen