| Funktion | Bedeutung und Eingabe | Ausgabe und Kommentar |
| 00h | Video-Modus setzen
AL: Modusnummer | keine
Videomodi siehe nächste Tabelle |
| 01h | Cursorgröße einstellen
CH: Startzeile
CL: Endzeile | keine
Bei VGA-Karten nur im Bereich von 00h bis 0Dh |
| 02h | Cursor positionieren
BH: Videoseite
DL: Cursorspalte
DH: Cursorzeile | keine
Die Zählung beginnt in der linken oberen Ecke mit 0,0
Bei Werten oberhalb der eigentlich möglichen kann der Cursor verschwinden |
| 03h | Cursorposition und Größe lesen
BH: Videoseite | DL: aktuelle Spalte
DH: aktuelle Zeile
CH: Startzeile
CL: Endzeile |
| 04h | Lichtgriffel lesen | AH: Erfolgskennzeichen (00h=kein Lichtgriffel, 01h=Griffel angeschlossen
DL: Textspalte Lichtgriffel
DH: Textzeile Lichtgriffel
BX: Grafikspalte Lichtgriffel
CH: Grafikzeile Lichtgriffel |
| 05h | Videoseite wählen
AL: Seitennummer | keine
Die Videoseitenzählung beginnt bei 0 (Null)
Standardmäßig ist Seite 0 eingeblendet |
| 06h | Aufwärts rollen
AL: Anzahl Zeilen
CL: Spalte oben links
CH: Zeile oben links
DL: Spalte unten rechts
DH: Zeile unten rechts
BH: Attribut | keine
Innerhalb des gewählten Fensters werden die Zeilen nach oben verschoben. Für jede Zeile, die oben aus diesem Bereich verschwindet wird unten eine leere Zeile eingefügt. Das Attribut bestimmt das Aussehen der neu hinzukommenden Zeilen. Wird für die Zeilenanzahl der Wert 0 (Null) gewählt, dann wird der Bereich gelöscht und entsprechend dem Attrubut eingefärbt |
| 07h | Abwärts rollen
AL: Anzahl Zeilen
CL: Spalte oben links
CH: Zeile oben links
DL: Spalte unten rechts
DH: Zeile unten rechts
BH: Attribut | keine
Innerhalb des gewählten Fensters werden die Zeilen nach unten verschoben. Für jede Zeile, die unten aus diesem Bereich verschwindet wird oben eine leere Zeile eingefügt. Das Attribut bestimmt das Aussehen der neu hinzukommenden Zeilen. Wird für die Zeilenanzahl der Wert 0 (Null) gewählt, dann wird der Bereich gelöscht und entsprechend dem Attribut eingefärbt |
| 08h | Zeichen an der aktuellen Position lesen
BH: Videoseite | AL: ASCII-Code des Zeichens
AH: Attribut des Zeichens |
| 09h | Zeichen und Attribut setzen
BH: Videoseite
AL: ASCII-Code des Zeichens
BL: Attribut
CX: Zeichenzahl | keine
Steuercodes werden angezeigt;
Cursorposition wird nicht verändert;
Zeichenzahl gibt an, wie oft das Zeichen geschrieben wird |
| 0Ah | Zeichen wiederholt setzen
BH: Videoseite
AL: ASCII-Code des Zeichens
CX: Zeichenzahl | keine
Steuercodes werden angezeigt
Cursorposition wird nicht verändert |
| 0Bh | Hintergrundfarbe setzen
BH: 00h
BL: Rahmen/Hintergrundfarbe | keine |
| 0Bh | Farpalette wählen
BH: 01h
BL: Palettennummer | keine |
| 0Ch | Pixel setzen
CX: Grafikspalte
DX: Grafikzeile
AL: Farbwert | keine
Farbwert gilt nur relativ innerhalb einer Palette, nicht absolut |
| 0Dh | Pixel lesen
BH: Videoseite
CX: Grafikspalte
DX: Grafikzeile | AL: Farbwert;
Wenn AL=00h dann hat der Punkt die Hintergrundfarbe, ist also gelöscht |
| 0Eh | Zeichen im TTY-Modus schreiben
BH: Videoseite (0 zeigt Grafik)
AL: ASCII-Code des Zeichens
BL: Vordergrundfarbe (nur Grafik) | keine
Steuercodes werden ausgeführt, es werden nur Zeichen geschrieben |
| 0Fh | Videostatus lesen | AL: Videomodusnummer
AH: Anzahl Zeichen je Zeile
BH: aktuelle Videoseite |
| 10h | verändere Palette-Register
AL: 00h
BL: Plettennummer
BH: Videoseite | keine |
| 10h | Rahmenfarbe wählen
AL: 01h
BH: Farbwert | keine |
| 10h | alle Palettenregister und Rahmenfarbe setzen
AL: 02h
ES:DX: Adresse Parametertabelle | keine |
| 10h | Hintergrundintensität setzen
AL: 03h
BL: Intensitätsbit | keine
Wenn BL=1 dann gilt Attributbit 7 als Blinkbit, sonst HiColor |
| 10h | Palettenregister auslesen
AL: 07h
BL: Palettennumer | BH: Farbwert |
| 10h | Rahmenfarbe lesen
AL: 08h | BH: Rahmenfarbe |
| 10h | AL: 09h
ES:DX: Adresse einer 17-Byte-Parametertabelle | die ersten 16 Werte := Farbregistern, der 17. := Rahmenfarbe |
| 10h | DAC-Farbregister setzen
AL: 10h
BX: Registernummer
CL: Blauanteil
CH: Grünanteil
DH: Rotanteil | keine |
| 10h | mehrere DAC-Farbregister setzen
AL: 12h
BX: Nummer des ersten Farbregisters
CX: Registeranzahl
ES:DX: Adresse einer Parametertabelle | keine
Ausgehend vom ersten Register in BX werden CX Farbregister mit neuen Werten belegt |
| 10h | Internes Register setzen
AL: 13h
BL: Registerauswahl
BH: Wert für Register oder Bit | keine |
| 10h | DAC-Farbregister lesen
AL: 15h
BX: Registernummer | CL: Blauanteil
CH: Grünanteil
DH: Rotanteil |
| 10h | Mehrere DAC-Register lesen
AL: 17h
BX: Nummer des ersten Registers
CX: Registeranzahl
ES:DX: Adresse Parametertabelle | keine |
| 10h | DAC-Maskierungsregister setzen
AL: 18h
BL: neuer Wert | keine |
| 10h | DAC-Maskierungsregister lesen
AL: 19h | BL: Wert des Maskierungsregisters |
| 10h | Interne Register lesen
AL: 1Ah | BL: Bit 7 des Modus-Registers
BH: Bits des Farbauswahlregisters |
| 10h | Graustufen zuordnen
AL: 1Bh
BX: 1. Farbregister
CX: Anzahl Farbregister | keine |
| 11h | Lade Zeichensatz mit Reset
AL: 00h
BH: Byteanzahl je Zeichen
BL: Blocknummer
CX: Zeichenanzahl
DX: Videospeicheroffset
ES:BP: Adresse Zeichensatz | Blocknummer ist die Zahl, ab der der neue Zeichensatz den alten substituieren soll;
max 32 Bytes je Zeichen |
| 11h | Monochromzeichensatz mit Reset laden
AL: 01h
BL: Blocknummer | lädt den 9x14-Zeichensatz |
| 11h | 8x8-Zeichensatz mit Reset laden
AL: 02h
BL: Blocknummer | keine |
| 11h | Zeichensatz auswählen
AL: 03h
BL: Wert für Character-Map-Select-Register | Bits 5/3/2: Zeichensatz
Bits 4/1/0: Zeichensatz A
Bits 6/7: nicht belegt |
| 11h | 8x16-Zeichensatz mit Reset laden
AL: 04h
BL: Blocknummer | keine |
| 11h | Zeichensatz laden
AL: 10h
BH: Bytes je Zeichen
BL: Blocknummer
CX: Zeichenanzahl
ES:BP: Adresse Zeichensatz | keine |
| 11h | Monochrom-Zeichensatz setzen
AL: 11h
BL: Blocknummer | keine |
| 11h | 8x8-Zeichensatz setzen
AL: 12h
BL: Blocknummer | keine |
| 11h | 8x16-Zeichensatz setzen
AL: 14h
BL: Blocknummer | keine |
| 11h | Benutzerzeichensatz für Int 1Fh einrichten
AL: 20h
ES:BP: Adresse Zeichensatz | keine
Zeichensatzdefinition für Zeichen 128-255, nur Videomodi 4,5 und 6 |
| 11h | Benutzerzeichensatz einrichten
AL: 21h
BL: Bildschirmzeilen
CX: Bytezahl je Zeichen
DL: Zeilenanzahl
ES:BP: Adresse Zeichensatz | keine |
| 11h | 8x14-Zeichensatz für Grafikmodus setzen
AL: 22h
BL: Zeilenzahl
DL: Anzahl Bildschirmseiten | keine |
| 11h | 8x8-Zeichensatz in doppelter Dichte setzen
AL: 23h
BL: Zeilenzahl
DL: Anzahl Bildschirmseiten | keine |
| 11h | 8x16-Zeichensatz für Grafikmodus setzen
AL: 24h
BL: Zeilenzahl
DL: Anzahl Bildschirmseiten | keine |
| 11h | Zeichensatzinformationen auslesen
AL: 30h
BH: Zeichensatz (Codierung siehe außerhalb der Tabelle) | CX: Byte je Zeichen
DL: Anzahl Bildschirmzeilen
ES:BP: Adresse Zeichensatz |
| 12h | Hardcopy-Routine festlegen
BL: 20h
AL: 00h | keine |
| 12h | Rasterzeilen festlegen
BL: 30h
AL: Rasterzeilenzahl
(Angabe: 0/1/2=2007350/400 Rasterzeilen) | AL: Fehlercode(12h=fehlerfrei) |
| 12h | Laden der Standardpalette erlauben/verbieten
BL: 31h
AL: 0/1 = erlauben/verhindern | AL: Fehlercode(12h=fehlerfrei) |
| 12h | Bildschirmzugriff ein/ausschalten
BL: 32h
AL: 0/1 = ein/aus | AL: Fehlercode(12h=fehlerfrei) |
| 12h | Graustufenumwandlung ein/ausschalten
BL: 33h
AL: 0/1 = ein/aus | AL: Fehlercode(12h=fehlerfrei) |
| 12h | Bildschirmumschaltung
BL: 35h
AL: Modus | schaltet zwischen 2 Grafikkarten um; nur PS/2 |
| 12h | Monitor ein/ausschalten
BL: 36h
AL: 0/1 = ein/aus | AL: Fehlercode |
| 13h | Textstring ausgeben
AL: Ausgabemodus
BL: Zeichenattribut
CX: Stringlänge
DL: Textspalte
DH: Textzeile
BH: Videoseite
ES:BP: Adresse des Strings | Modus: 0=Attribut in BL, Cursorpos. nicht ändern
1=Attribut in BL, Cursorposition ändern
2=Attribut im String enthalten, Cursorpos. nicht ändern
3=Attribut im String enthalten, Cursorposition ändern |
| 1Ah | Grafikkarte ermitteln
AL: 00h | BL: aktive Grafikkarte
BH: passive Grafikkarte |
| 1Ah | aktuelle Grafikkarte setzen
AL: 01h
BL/BH: aktive/passive Grafikkarte | wenn korrekt verlaufen dann AL= 1AH |
| 1Bh | Video-BIOS-Informationen lesen
BX: 00h
ES:DI: Adresse eines 64-Byte-Puffers | wenn korrekt verlaufen dann AL=1Bh |
| 1Ch | Puffergröße für Zustandinformationen durch Unterfunktion 01h ermitteln
AL: 00h
CX: Bereich
(0=Hardwarestatus,
1=BIOS-Datenbereich,
2=DAC-Status) | AL: Fehlercode (1CH=kein Fehler)
BX: Puffergröße in Einheiten zu 64 Bytes |
| 1Ch | Zustand lesen
AL: 01h
CX: Bereich
ES:BX: Pufferadresse | AL: Fehlercode (1CH=kein Fehler) |
| 1Ch | Zustand setzen
AL: 02h
CX: Bereich | AL: Fehlercode (1CH=kein Fehler) |