Autor Thema: Funktion 13h Sektoren lesen  (Gelesen 3210 mal)

bscreator

  • Gast
Gespeichert
« am: 05. March 2004, 23:22 »
Hallo TeeJay,

ich habe eine Frage über euer StupidOS-Betriebssystem.
Verstanden habe ich alles bis auf die letzten paar Zeilen.
Genauer gesagt, die Funktion "Sektoren lesen".
Was ich bisher weiß:
Interrupt 13h
Funktion 02h
AH=02h
AL=Anzahl zu lesender Sektoren
CH=Spur
CL=erster Sektor
DH=Kopf
DL=Laufwerksnummer
ES=Segmentadresse des Puffers
BX=Offsetadresse des Puffers
CF=Fehler
AL=Anzahl gelesener Sektoren
AH=Fehlercode
------------------------------
Der Interrupt 13h wird ausgeführt mit den Daten:
ES = Segment 1000h (ax=100h ; mov es,ax)
BX = Offsetadresse (mov bx,0h)
------------------------------
- Das ES-Register ist ein zur freien Verfügung stehender
  Datenspeicher
- Das BX-Register dient zur Adressierung des Arbeitsspeichers
- Der Kernel steht in Adresse 1000h
- Jeder Sektor einer Diskette hat 512 Bytes

Jetzt zu meiner Frage:
Wenn man den Kernel in Adresse 3000h laden würde,
sind dann die folgenden Übergabewerte der Funktion
"Sektoren lesen" richtig ? :
mov al,5
mov cx,6
mov dx,0
Da der Wert in AL die Anzahl der zu lesenden Sektoren
enthält, geh´ ich mal davon aus, dass dieser Wert,
da sich die Kernelgröße nicht geändert hat, gleich bleibt.
Bitte korrigiert mich, falls ich falsch liege.

Wenn meine Meinung über die Kernelgröße richtig ist,
woher wissen Sie dann, dass der Kernel 5 Sektoren
groß ist ?
Wie gesagt, den Abschnitt nur beantworten, wenn meine
Meinung über die Kernelgröße stimmt.

Tschüss

 

Einloggen