Tämäkin on luultavasti tyhmä kysymys, eli miten Assemblyllä muutettua sen värin (myös taustan), jolla DOS kirjoittaa tekstin näytölle? Pitäisi toimia myös ilman Windowsia, eikä sanaakaan COLOR-komennosta!
Googlella on etsitty.
En tiedä DOSista, mutta näyttömuistiin kirjoitettaessa (kuten aidossa DOSissa tai ilman erityistä käyttöjärjestelmääkin voi tehdä) yhtä merkkiä koodaa kaksi tavua, joista toinen kertoo merkin ja toinen sisältää kaksi 4-bittistä värikoodia, tekstin ja taustan. Oletusvärit selviävät helposti kokeilemalla.
org 100h ;com-ohjelman alku
;Kursorin nykyisen paikan kysyminen
mov bh, 0 ;näyttösivu 0
mov ah, 03h ;Kursorin nykyinen paikka ..
int 10h ;.. kysytään
;dh on nyt rivinumero
;dl on nyt sarakenumero
;bh on edelleen näyttösivu
;Kirjoitetaan värillistä tekstiä
mov al, 1 ;Päivitetään kursori lopuksi
;tekstissä itsessään ei attribuutteja
mov bl, 00101110b ;vihreä tausta, keltainen teksti
mov cx, msg1end-msg1 ;tekstin pituus.
mov bp, msg1 ;tekstin alku
mov ah, 13h ;Tekstin kirjoitus ..
int 10h ;.. suoritetaan
;lopetetaan com-ohjelma
ret
msg1: db " hello, world! "
msg1end:Aihe on jo aika vanha, joten et voi enää vastata siihen.