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.