Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: elfish_rider am 30. November 2004, 20:24

Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: elfish_rider am 30. November 2004, 20:24
Die CPU bleibt bei einem normalen BIOS-Interrupt hängen. Bochs sagt dazu nur: SLDT: not recognized in real mode

MOV AX, 0201h
  MOV CH, [first_read_sec_chs]
  MOV CL, [first_read_sec_chs+2]
  MOV DH, [first_read_sec_chs+1]
  XOR DL, DL
  XOR BX, BX
  INT 13h
  JC NEAR .floppy_error


Vor dieser Stelle wird INT 13h auch schon mehrmals benutzt, ohne Probleme
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: GhostCoder am 01. December 2004, 12:22
Hiho,

Scheinbar ist irgendein Jump schiefgegangen und die CPU trifft auf die sldt Anweisung. Fehler u.a. könnten sein:

1.) "NEAR .floppy_error" label stimmt nicht
2.) du hast ein Bug im BIOS (Was ich nicht glaube wenn du die neueste Version hast)
3.) du hast die Interrupt Vector Tabelle überschrieben an Offset (0x0000:0x0000)
4.) du hast den Bereich im den der int 0x13 code liegt überschrieben.

Schmeiß am besten ma allen Code raus, der nicht wichtig ist, und teste dei BIOS call dann nochmal...

P.S.: Welchen wert hat es?

MfG GhostCoder
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: elfish_rider am 01. December 2004, 13:20
1. stimmt das Label
2. habe ich es mit 2 verschiedenen BIOS ausprobiert
3. und 4. werde ich überprüfen
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: elfish_rider am 01. December 2004, 19:10
Was für einen Wert meinst du?
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: Jidder am 01. December 2004, 19:33
ich glaub er meint den wert des segment registers es
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: elfish_rider am 01. December 2004, 20:02
Bin gerade am debuggen, und der Wert ist bei allen Floppy-Operationen 0400h.
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: elfish_rider am 01. December 2004, 20:31
Der Fehler liegt doch nicht bei INT 13h, sorry!
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: GhostCoder am 02. December 2004, 09:49
Hiho,

hab ich doch gesagt :)
Btw, woran lags?

MfG GhostCoder
Titel: Merkwürdiger Fehler bei INT 13h
Beitrag von: elfish_rider am 02. December 2004, 12:47
Ich lese die RootDir-Einträge und suche den, der der Benutzer eingegeben hat. Wenn es übereinstimmt, lese ich den LSN dieser Datei, lese diese ein und springe dorthin. Funktioniert aber immer noch nicht...

[FAT12]