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 - 46 - Prof. Dipl.-Ing. Komar<br />
Nur die aktuelle Bildschirmseite kann mit dieser Funktion beeinflußt werden.<br />
Das Löschen des Bildschirmbereichs (Anzahl Zeilen = 0) kommt einem Füllen mit Leerzeichen (ASCII-Code 32) gleich.<br />
Der Inhalt der aus dem Fenster herausgescrollten Zeilen ist unwiederbringbar verloren und kann nicht wieder zurückgeholt<br />
werden.<br />
Um den gesamten Bildschirm zu löschen, kann man sich besser der Funktion 0 dieses Interrupts bedienen.<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 worden sein.<br />
Interrupt 10h, Funktion 08h Bildschirm: Auslesen <strong>eines</strong> Zeichens/Farbe<br />
Der ASCII-Code des Zeichens an der aktuellen Cursor-Position und dessen Farbe (Attribut) werden ausgelesen.<br />
Eingabe AH = 08h<br />
BH = Nummer der Bildschirmseite<br />
Ausgabe AL = ASCII-Code des Zeichens<br />
AH = Farbe (Attribut)<br />
Die Nummer der Bildschirmseite ist auch davon abhängig, wie viele Bildschirmseiten von der Videokarte zur Verfügung<br />
gestellt werden.<br />
Diese Funktion kann auch im Grafikmodus aufgerufen werden, wobei dann das Bitmuster des Zeichens auf dem Bildschirm<br />
mit den Bitmustern der Zeichen im Zeichen-ROM der Videokarte und den Zeichenmustern, die in einer RAM-Tabelle gespeichert<br />
sind, deren Adresse der Interrupt 1Fh enthält, verglichen werden. Kann das Zeichen dabei nicht identifiziert<br />
werden, enthält das AL-Register nach dem Funktionsaufruf den Wert 0.<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 worden sein.<br />
Interrupt 10h, Funktion 09h Bildschirm: Schreiben <strong>eines</strong> Zeichens/Farbe<br />
Ein Zeichen mit einer bestimmten Farbe wird an die aktuelle Cursor-Position (in einer vorgegebenen Bildschirmseite)<br />
geschrieben.<br />
Eingabe AH = 09h<br />
BH = Nummer der Bildschirmseite<br />
CX = Anzahl, wie oft das Zeichen hintereinander geschrieben werden soll<br />
AL = ASCII-Code des Zeichens<br />
BL = Farbe/Attribut<br />
Ausgabe keine Ausgabe<br />
Soll das angegebene Zeichen mehrmals ausgegeben werden (in dem Fall ist der Wert des CX-Registers größer 1), müssen im<br />
Grafikmodus alle Zeichen in die aktuelle Bildschirmzeile passen.<br />
Die Steuercodes Bell, Carriage Return usw. werden nicht als solche erkannt, sondern als normale ASCII-Codes ausgegeben.<br />
Mit dieser Funktion können auch Zeichen im Grafikmodus ausgegeben werden, wobei die Zeichenmuster der Zeichen mit<br />
den Codes 0 bis 127 aus einer Tabelle im ROM und die Zeichenmuster der Zeichen 128 bis 255 aus einer RAM-Tabelle<br />
ermittelt werden, die zuvor mit dem DOS-Befehl GRAFTABL installiert werden muß.<br />
Im Textmodus definiert der Inhalt des BL-Registers das Attribut-Byte des Zeichens. Im Grafikmodus bestimmt es die Farbe<br />
des Zeichens. Dabei sind im 640*200-Punkte-Modus nur die Werte 0 und 1, im 320*200-Punkte-Modus die Werte 0 bis 3 für<br />
die verschiedenen Farben der angewählten Farbpalette möglich.<br />
Ist der Grafikmodus während der Zeichenausgabe aktiv, und ist das Bit 7 des BL-Registers gesetzt, so wird das<br />
Zeichenmuster mit den Grafikpunkten unter diesem Zeichen durch ein Exklusiv-Oder verkn üpft.<br />
Der Cursor wird durch diese Funktion nicht auf die nächste Bildschirmposition versetzt.<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 0Ah Bildschirm: Schreiben <strong>eines</strong> Zeichens<br />
Ein Zeichen wird an die aktuelle Cursor-Position in einer vorgegebenen Bildschirmseite geschrieben, wobei die Farbe des<br />
alten Zeichens an dieser Bildschirmposition beibehalten wird.<br />
Eingabe AH = 0Ah<br />
BH = Nummer der Bildschirmseite<br />
CX = Anzahl, wie oft das Zeichen hintereinander geschrieben werden soll<br />
AL = ASCII-Code des Zeichens<br />
Ausgabe keine Ausgabe<br />
Soll das angegebene Zeichen mehrmals ausgegeben werden (in dem Fall ist der Wert des CX-Registers größer 1), müssen im<br />
Grafikmodus alle Zeichen in die aktuelle Bildschirmzeile passen.<br />
Die Steuercodes Bell, Carriage Return usw. werden nicht als solche erkannt, sondern als normale ASCII-Codes ausgegeben.