Im Bereich 00400 - 004FF (0040:0000 - 0040:00FF) sind die vom BIOS
benötigten Daten gespeichert. Zwischen einzelnen BIOS-Versionen des gleichen Herstellers und
zwischen den BIOSen unterschiedlicher Hersteller können Unterschiede bei der Belegung der
einzelnen Zellen auftreten.
Die Werte können in Pascal relativ einfach mittels der Funktion MEM bzw. MEMW ausgelesen
werden.
| Adresse (Offset; im Segment $0040) |
Größe |
enthält |
| 0000 |
1 Wort |
Port-Adresse COM1 |
| 0002 |
1 Wort |
Port-Adresse COM2 |
| 0004 |
1 Wort |
Port-Adresse COM3 |
| 0006 |
1 Wort |
Port-Adresse COM4 |
| 0008 |
1 Wort |
Port-Adresse LPT1 |
| 000A |
1 Wort |
Port-Adresse LPT2 |
| 000C |
1 Wort |
Port-Adresse LPT3 |
| 000E |
1 Wort |
Port-Adresse LPT4 / nicht verwendet |
| 0010 |
1 Wort |
System-Status, u.a.:
Bit 1: Coprozessor gefunden? (ab AT) |
| 0012 |
1 Byte |
POST-Status #1 / nicht verwendet |
| 0013 |
1 Wort |
Speichergröße in KByte |
| 0015 |
1 Wort |
POST-Status #2 / nicht verwendet |
| 0017 |
1 Byte |
Tastenfeldstatus 1:
Bit 0: rechte Shift-Taste gedrückt?
Bit 1: linke Shift-Taste gedrückt?
Bit 2: Strg gedrückt?
Bit 3: Alt gedrückt?
Bit 4: Rollen an/aus (1/0)
Bit 5: Num-Lock an/aus
Bit 6: Caps-Lock an/aus
Bit 7: Einfg an/aus |
| 0018 |
1 Byte |
Tastenfeldstatus 2:
Bit 0: linke Strg-Taste wird betätigt
Bit 1: linke Alt-Taste wird betätigt
Bit 2: Taste System-Abfrage (SysReq) wird betätigt
Bit 3: Pausenmodus an/aus
Bit 4: Untbr wird betätigt
Bit 5: Num wird betätigt
Bit 6: Caps wird betätigt
Bit 7: Einfg wird betätigt |
| 0019 |
1 Byte |
ASCII-Code bei Eingabe über Alt+Ziffern |
| 001A |
1 Wort |
zeigt auf das Offset des nächsten Zeichens im Tastaturpuffer |
| 001C |
1 Wort |
zeigt auf das Offset des letzten Zeichens im Tastaturpuffer |
| 001E |
32 Byte |
Tastaturpuffer, pro Zeichen zwei Bytes |
| 003E |
1 Byte |
Floppy Rekalibrierung |
| 003F |
1 Byte |
Floppy Motor Status
Bit 0: Floppy #1 läuft
Bit 1: Floppy #2 läuft
Bit 2: Floppy #3 läuft
Bit 3: Floppy #4 läuft
Bit 7: 1=Schreib- oder Formatierzugriff, 0=Lese- oder Suchzugriff |
| 0040 |
1 Byte |
Floppy Motor-Aus Zähler |
| 0041 |
1 Byte |
Floppy Status der letzten Operation:
00: alles ok
01: unbekannte Funktion
02: Adresse nicht gefunden
03: Schreibschutz-Fehler
04: Sektor nicht gefunden
06: keine Verbindung zum Laufwerk
08: DMA-Fehler #1
09: DMA-Fehler #2
0C: unbekanntes Diskettenformat
10: Prüfsummen-Fehler beim Lesen
20: Controller-Fehler
40: Seek-Fehler
80: Laufwerk nicht bereit |
| 0042 |
7 Byte |
Floppy Controller Status Bytes |
| 0049 |
1 Byte |
aktueller Video-Modus:
00: Text 40x25, 16 Farben
01: Text 40x25, 16 Farben (CGA)
02: Text 80x25, 16 Farben
03: Text 80x25, 16 Farben (CGA)
04: Grafik 320x200, 4 Farben (CGA)
05: Grafik 320x200, 4 Farben
06: Grafik 640x200, 2 Farben
07: Text 80x25, monochrom
0D: Grafik 320x200, 16 Farben
0E: Grafik 640x200, 16 Farben
0F: Grafik 640x350, monochrom
10: Grafik 640x350, 16 Farben
11: Grafik 640x480, 2 Farben
12: Grafik 640x480, 16 Farben
13: Grafik 320x200, 256 Farben |
| 004A |
1 Wort |
Anzahl der Zeichen pro Zeile (Spalten) |
| 004C |
1 Wort |
Größe der aktuellen Bildschirmseite in Bytes |
| 004E |
1 Wort |
Adresse des Bildschirmspeichers relativ zum Video-RAM |
| 0050 |
16 Byte |
Cursorposition (8x 2 Byte für 8 Seiten) |
| 0060 |
2 Byte |
End- und Startzeile des Cursors im Zeichenraster (0-7 Farbe bzw. 0-14 Monochrom) |
| 0062 |
1 Byte |
Aktive Bildschirmseite |
| 0063 |
1 Wort |
Port-Adresse des Video-Controllers |
| 0065 |
1 Byte |
Videomodus-Register der Grafikkarte |
| 0066 |
1 Byte |
aktuelle Farbpalette |
| 0067 |
5 Byte |
nicht verwendet |
| 006C |
1 DWort |
Zähler der Systemuhr; dieses Doppelwort wird bei jedem Timer-Aufruf (ca. 18mal pro
Sekunde) erhöht; alle 24 Stunden wird es auf Null gesetzt. |
| 0070 |
1 Byte |
Zeitgeber-Überlauf; wird alle 24 Stunden erhöht |
| 0071 |
1 Byte |
Status Break Taste; bei Strg+Untbr wird Bit 7 gesetzt |
| 0072 |
1 Wort |
Warmstart-Flag für Strg-Alt-Entf; beim Booten erfolgt kein Speichertest, wenn dort 1234h
eingetragen ist |
| 0074 |
1 Byte |
Ergebnis der letzten Festplatten-Operation (nur AT):
01: Laufwerk nicht gefunden / unbekannte Funktion
02: Adresse nicht gefunden
04: Sektor nicht gefunden
05: Fehler beim Controller-Reset
07: Fehler beim Controller-Init
09: DMA-Fehler
0A: Sektor kaputt
0B: Spur kaputt
0D: Anzahl der Sektoren pro Spur ungültig
0E: Adresse nicht gefunden
0F: DMA-Fehler
10: Lese-Fehler
11: korrigierter Lese-Fehler
20: Controller-Fehler (kaputt?)
40: Suche gescheitert
80: Laufwerk reagiert nicht
AA: Laufwerk nicht bereit
CCH: Schreibfehler |
| 0075 |
1 Byte |
Anzahl der Festplatten (nur AT) |
| 0076 |
1 Byte |
Festplatten-Kontrollbyte (nur AT) |
| 0077 |
1 Byte |
Port-Adresse Festplatte (nur AT) |
| 0078 |
1 Byte |
LPT1 Timeout Wert |
| 0079 |
1 Byte |
LPT2 Timeout Wert |
| 007A |
1 Byte |
LPT3 Timeout Wert |
| 007B |
1 Byte |
LPT4 Timeout Wert / nicht verwendet |
| 007C |
1 Byte |
COM1 Timeout Wert |
| 007D |
1 Byte |
COM2 Timeout Wert |
| 007E |
1 Byte |
COM3 Timeout Wert |
| 007F |
1 Byte |
COM4 Timeout Wert |
| 0080 |
1 Word |
Zeiger auf Anfang Tastaturpuffer (nur AT) |
| 0082 |
1 Word |
Zeiger auf Ende Tastaturpuffer (nur AT) |
| 0084 |
1 Byte |
Zahl der Videozeilen - 1 (nur EGA/VGA) |
| 0085 |
1 Byte |
Punktzeilen pro Zeichen (nur EGA/VGA) |
| 0087 |
4 Byte |
EGA-/VGA-Status-Bereich (Herstellerabhängig) |
| 008B |
1 Byte |
Floppy Daten und Schritt-Rate (nur PS/2) |
| 008C |
1 Byte |
Festplatten Controller-Status (nur PS/2) |
| 008D |
1 Byte |
Festplatten Fehler-Status (nur PS/2) |
| 008E |
1 Byte |
Festplatten Interrupt-Control (nur PS/2) |
| 008F |
1 Byte |
nicht verwendet (nur PS/2) |
| 0090 |
1 Byte |
Medium in Laufwerk 0 (nur PS/2) |
| 0091 |
1 Byte |
Medium in Laufwerk 1 (nur PS/2) |
| 0092 |
2 Byte |
nicht verwendet (nur PS/2) |
| 0094 |
1 Byte |
Augenblickliche Spur in Laufwerk 0 (nur PS/2) |
| 0095 |
1 Byte |
Augenblickliche Spur in Laufwerk 1 (nur PS/2) |
| 0096 |
1 Byte |
Tastenfeldstatus 3 (nur AT):
Bit 0: Pause-Modus aktiv
Bit 2: rechte Strg-Taste betätigt
Bit 3: rechte Alt-Taste betätigt
Bit 4: Keyboard mit 101/102 Tasten? |
| 0097 |
1 Byte |
Status Tastenfeld-LED (nur AT):
Bit 0: Scoll-Lock-LED
Bit 1: Num-Lock-LED
Bit 2: Caps-Lock-LED |
| 0098 |
1 DWort |
Zeiger auf Wait-Flag (nur AT) |
| 009C |
1 DWort |
Zeit-Zähler (nur AT) |
| 00A0 |
1 Byte |
Wait-Status |
| 00A1 |
95 Byte |
reserviert (herstellerabhängig belegt) |
| 0100 |
1 Byte |
HardCopy-Status:
00: alles ok
01: aktiv (druckt gerade)
FF: Fehler beim Drucken |
Alle Angaben ohne Gewähr.