hiho
erstmal danke für die hilfe
genau das mit den 2 nibbles hab ich probiert.
aber ich glaub ich bin zu blöd dazu
ich habe hier 2 verschiedene dokus und beide sagen etwas unterschiedliches.
die eine meint man könnte die fkt. 09h des interrupts 10h wie folgt benutzen:
AH: Funktion
AL: Zeichen
BH: Page
BL: Attribut
Im grafik modus entspricht das BX register folgendem:
BH: Hintergrundfarbe
BL: Vordergrundfarbe
Ich mache also (im Video-Mode 12h):
mov ah, 09h
mov al, 'a'
mov bh, 01h ;Hintergrund blau
mov bl, 0Eh ;Zeichen gelb
int 10h
Ergebnis: gelb auf schwarz
die andere doku sagt das mit den 2 nibbles.
Und das sopwohl bei fkt 09h und 0Ah:
AH: Funktion
AL: Zeichen
BH: Page
BL: Bits 7-4: HG-Farbe, Bits 3-0: VG-Farbe
Ich mache also (im Video-Mode 12h):
mov ah, 09h ;oder 0Ah, ganz egal
mov al, 'a'
xor bx, bx
mov bl, 01h ;Hintergrund blau
shl bx, 4
and bl, 0Eh ;Zeichen gelb
int 10h
hab statt dem shift auch schon "mov bl, 1Eh" oder "mov bx, 001Eh" probiert
Ergebnis: Gelb auf schwarz an komischer stelle auf dem Bildschirm
Ich kanns leider nicht besser beschreiben
Hab ein bisschen gegoogelt, aber alles was ich gefunden habe ist ein DisplayManager, der die Zeichen als Pixelmatrix darstellt...
...*vogel-zeig* Man muss in Assembler zwar viel selber machen, aber Zeichen mit Hintergrund muss es doch geben
*verzweifel*
viele grüsse
Quicks