Autor Thema: Merkwürdiger Fehler bei INT 13h  (Gelesen 3815 mal)

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« 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

GhostCoder

  • Beiträge: 187
    • Profil anzeigen
Gespeichert
« Antwort #1 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
A man, a legend!

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #2 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

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 01. December 2004, 19:10 »
Was für einen Wert meinst du?

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 01. December 2004, 19:33 »
ich glaub er meint den wert des segment registers es
Dieser Text wird unter jedem Beitrag angezeigt.

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 01. December 2004, 20:02 »
Bin gerade am debuggen, und der Wert ist bei allen Floppy-Operationen 0400h.

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 01. December 2004, 20:31 »
Der Fehler liegt doch nicht bei INT 13h, sorry!

GhostCoder

  • Beiträge: 187
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 02. December 2004, 09:49 »
Hiho,

hab ich doch gesagt :)
Btw, woran lags?

MfG GhostCoder
A man, a legend!

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #8 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]

 

Einloggen