6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Rechnergrundlagen Teil 2 - 48 - Prof. Dipl.-Ing. Komar<br />
Interrupt 10h, Funktion 0Eh Bilds chirm: Schreiben <strong>eines</strong> Zeichens<br />
Ein Zeichen wird an die aktuelle Cursor-Position in der aktuellen Bildschirmseite geschrieben, wobei die Farbe des alten<br />
Zeichens an dieser Bildschirmposition beibehalten wird.<br />
Eingabe AH = 0Eh<br />
AL = ASCII-Code des Zeichens<br />
BL = Vordergrundfarbe des Zeichens (nur im Grafikmodus)<br />
Ausgabe keine Ausgabe<br />
Diese Funktion interpretiert die verschiedenen Steuercodes wie Bell und Carriage Return nicht wie normale ASCII-Codes,<br />
sondern wie besondere Steuercodes und löst z.B. anstatt das Bell-Zeichen auszugeben einen Piepston aus.<br />
Nach der Ausgabe <strong>eines</strong> Zeichens über diese Funktion wird die Cursor-Position inkrementiert, so daß das nächste Zeichen an<br />
der folgenden Bildschirmposition ausgegeben wird. Wird die letzte Bildschirmposition erreicht, dann wird der Bildschirm um<br />
eine Zeile nach oben geschoben und mit der Ausgabe in der ersten Spalte der letzten Bildschirmzeile fortgefahren.<br />
Die Vordergrundfarbe richtet sich nach dem aktuellen Grafikmodus. Im 640*200-Punkte-Modus sind nur die Werte 0 und 1<br />
erlaubt. Im 320*200-Punkte-Modus sind die Werte 0 bis 3 erlaubt, die je nach der angewählten Farbpalette eine bestimmte<br />
Farbe erzeugen. 0 steht dabei für die angewählte Hintergrundfarbe, 1 für die erste Farbe der angewählten Farbpalette, 2 für<br />
die zweite Farbe der Farbpalette usw.<br />
Der Inhalt der Register BX, CX, DX und der Segmentregister SS, CS und DS wird durch diese Funktion nicht verändert. Der<br />
Inhalt aller anderen Register, vor allem der Register SI und DI, kann verändert werden.<br />
Interrupt 10h, Funktion 0Fh Bildschirm: Auslesen des Video-Modus<br />
Die Nummer des aktuellen Video-Modus, die Anzahl der Zeichen pro Zeile und die Nummer der aktuellen Bildschirmseite<br />
wird ausgelesen.<br />
Eingabe AH = 0Fh<br />
Ausgabe AL = Video-Modus (siehe Funktion 00h)<br />
AH = Anzahl der Zeichen pro Zeile<br />
BH = Nummer der aktuellen Bildschirmseite<br />
Der Inhalt der Register BL, CX, DX und der Segmentregister SS, CS und DS wird durch diese Funktion nicht verändert. Der<br />
Inhalt aller anderen Register, vor allem der Register SI und DI, kann verändert werden.<br />
Interrupt 10h, Funktion 13h Bildschirm: Ausgabe einer Zeichenkette<br />
Eine Zeichenkette wird ab einer vorgegebenen Bildschirmposition in einer bestimmten Bildschirmseite auf dem Bildschirm<br />
ausgegeben. Die Zeichen werden dabei einem Puffer entnommen, dessen Adresse der Funktion übergeben wird.<br />
Eingabe AH = 13h<br />
AL = Ausgabemodus (0 - 3)<br />
0 = Attribut in BL, Cursor-Position beibehalten<br />
1 = Attribut in BL, Cursor-Position aktualisieren<br />
2 = Attribut im Puffer, Cursor-Position beibehalten<br />
3 = Attribut im Puffer, Cursor-Position aktualisieren<br />
BL = Attribut-Byte der Zeichen (nur Modi 0 und 1)<br />
CX = Anzahl der auszugebenden Zeichen<br />
DH = Bildschirmzeile<br />
DL = Bildschirmspalte<br />
BH = Bildschirmseite<br />
ES:BP = FAR-Zeiger auf den Puffer<br />
Ausgabe keine Ausgabe<br />
In den Modi 1 und 3 wird die Cursor-Position nach Ausgabe der Zeichenkette hinter das letzte Zeichen der Zeichenkette<br />
gesetzt, so daß bei nachfolgenden Aufrufen einer BIOS-Funktion zur Zeichenausgabe die Zeichen hinter der Zeichenkette<br />
ausgegeben werden. Dies geschieht in den Modi 0 und 2 nicht.<br />
In den Modi 0 und 1 enthält der Puffer nur die ASCII-Codes der auszugebenden Zeichen. Die Farbe aller Zeichen der<br />
Zeichenkette wird in diesem Fall durch das BL-Register angegeben. In den Modi 2 und 3 hingegen folgt auf jedes Zeichen im<br />
Puffer das dazugehörige Attribut-Byte, so daß jedes Zeichen über ein individuelles Attribut verfügt. Das BL-Register braucht<br />
in diesen Modi nicht belegt zu werden. Obwohl in diesen Modi die Zeichenkette doppelt so groß wie die Anzahl der<br />
auszugebenden Zeichen ist, braucht im CX-Register nicht die Länge der Zeichenkette, sondern nur die Anzahl der<br />
auszugebenden ASCII-Zeichen abgespeichert werden.<br />
Die speziellen Steuercodes wie Bell und Carriage Return werden als Steuercodes und nicht als normale ASCII-Codes<br />
interpretiert. Wird die letzte Bildschirmposition erreicht, wird der Bildschirm um eine Zeile nach oben geschoben und mit der<br />
Ausgabe in der ersten Spalte der letzten Bildschirmzeile fortgefahren.<br />
Der Inhalt der Register BX, CX, DX und der Segmentregister SS, CS und DS wird durch diese Funktion nicht verändert. Der<br />
Inhalt aller anderen Register, vor allem der Register SI und DI, kann verändert werden.