Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

FAT12 Blockadressen auslesen

Empfohlene Antworten

Veröffentlicht

Hey

Ich wollte ein Programm schreiben, welches die Blockadressen von einer Datei aus einer Diskette ausgibt.

Was ich mir für das Programm gedacht hatte:

- Dateiname möchte ich als Benutzer eingeben

- diese soll im Root Directory (Stammverzeichnis) gesucht werden (also Sektor 19 -32, das sind dann insgesamt 14 Sektoren die man durchsuchen muss)

//wenn die datei nicht existiert soll eine Fehlermeldung kommen

- nun schaut man im ersten FAT - Eintrag nach (beginnend bei 2, weil 0 und 1 schon für MS-DOS reserviert waren)

- in dem FAT-Eintrag steht die Nummer des Clusters der die jeweils nächsten Daten der Datei enthält

- dies soll solange gemacht werden bis die Blockadresse 0xFF7 - 0xFFF (ende) ist

Bsp:

1. suche Datei Text.txt im RootDir

2. Datei wird gefunden

3. im RootDir-Eintrag nachschauen bei welchen Cluster die Datei beginnt

4. in unserem Beispiel wäre das Cluster 2

5. dann also FAT-Tabellen Eintrag 3 (man fängt von 0 an zu zählen)

6. Eintrag durchsuchen

7. Wenn =Wert 0x0FFF ist = letzter Sektor den man einlesen muss

=Wert 0x0FF7 ist = Datenträger ist an dieser Stelle defekt

=Wert 0x0000 ist = Cluster ist noch frei

Jeder andere Wert (niedriger als 0x0FFF) ist die Nummer des Clusters, der die nächsten Daten der Datei enthält

8. angenommen in dem Eintrag der FAT-Tabelle von Cluster 2 steht 0x003

(daran erkennt man das man Cluster 3 einlesen müssen)

9. dort steht angenommen der Wert 0x010

(d.h Datei hat einen 3ten Cluster, 0x010 = 16dez, also Cluster 16)

10.Cluster 16 einlesen

11.FAT-Tabelle nachschauen was in Cluster 16 steht

12.Dort steht angenommen der Wert 0x0FFF (letzter Cluster der Datei)

(in meinem Beispiel war der erste Cluster der Datei Cluster 2, da wir aber die ersten

beiden FAT-Einträge nicht benutzten dürfen, deshalb aber keine 2 Cluster unbenutzt

lassen wollen, müssen wir nur die Zahl 2 von der Clusternummer suptrahieren um die

Clusternummer des Datenclusters zu erhalten, die wir einlesen müssen)

So hoffe ihr könnt das Nachvollziehen :)

Ich hab jetzt bloß keine Ahnung wie ich das ganze Ding umsetzen kann.

Möchte das per Konsolenanwendung von Borland B. v2006 realisieren!

Danke für alle Antworten.

Mit freundlichen Grüßen Shanos

hab eine mögliche lösung gefunden aber trotzdem danke

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.