Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Cool-Andy am 04. November 2009, 20:05

Titel: Frage zu farbiger Textausgabe
Beitrag von: Cool-Andy am 04. November 2009, 20:05
Ich muss mich wal wieder mit einer wahrscheinlich totalen Anfängerfrage melden:
Ich will meine Textausgabe im Real Mode farbig machen und habe das bisher so probiert:
; ...
mov si, string
mov bx, 07h
call textout
;...
textout:
lodsb ; Byte laden
or al, al
jz short textoutend         ; wenn Byte=0, dann zu "textoutend" springen
mov ah, 0x0E ; Funktion 0x0E
int 0x10 ; Interrupt 0x10 Ausführen (Textausgabe)
jmp textout ; nächstes Byte bearbeiten

textoutend:
retn ; Funktion beenden
;...
string db "Hello World",10,13,0
Die Ausgabe bleibt leider wie immer hellgrau auf schwarz. Habt ihr eine Idee was ich falsch mache?  :?

Vielen Dank schon mal im Vorraus!
Titel: Re: Frage zu farbiger Textausgabe
Beitrag von: Cool-Andy am 05. November 2009, 12:54
Hat den niemand eine Idee?
Titel: Re: Frage zu farbiger Textausgabe
Beitrag von: DerHartmut am 05. November 2009, 13:13
Die Funktion 0x0E erwartet in BL die Farbe, allerdings für den Grafikmodus. Probiere es mal mit der Funktion 0x09, dieser erwartet in:

AH=09h
BH=Nummer der Bildschirmseite
CX=Anzahl der Wiederholungen
AL=ASCII - Code
BL=Attribut / Farbe

Für die einzelnen Farbcodes und die Textausgabe in C und im Protected Mode solltest du dir folgenden Artikel (http://lowlevel.brainsware.org/wiki/index.php/Textausgabe) durchlesen ;)
Titel: Re: Frage zu farbiger Textausgabe
Beitrag von: Cool-Andy am 05. November 2009, 17:45
Danke, das war was ich gesucht habe!  :-D