Comment faire pour changer la couleur de fond de l'écran (TASM 8086)?
Merci.
Comment faire pour changer la couleur de fond de l'écran (TASM 8086)?
Merci.
Si tu es en mode graphique (13h par exemple : VGA 320x200 en 256 couleurs), tu peux écrire 64000 octets dans la mémoire vidéo de A000:0000 à A000:FFFF. Chaque octet correspond à un pixel. Donc avec une boucle, tu peux changer la couleur de ces 64000 pixels assez facilement.
Par exemple, colorer le fond en blanc:
Sans oublier de passer en mode graphique avant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 mov al,15 ;15 = couleur blanche mov bx, 0A000h ; segment de l'écran mov es, bx mov di, 0 ; on commence à l'offset 0 mov cx, 64000 ; nombre de pixels rep stosb ; es:[di] <- al (on fait cette opération 64000 fois)
Et en utilisant la fonction 10 de l'int 10H? ça peux fonctionner?
Personellement, en mode texte, j'utilise les services 6 et 7 de l'Int 10h :
INT 10,6 - Scroll Window Up
AH = 06
AL = number of lines to scroll, previous lines are
blanked, if 0 or AL > screen size, window is blanked
BH = attribute to be used on blank line
CH = row of upper left corner of scroll window
CL = column of upper left corner of scroll window
DH = row of lower right corner of scroll window
DL = column of lower right corner of scroll window
returns nothing
- in video mode 4 (300x200 4 color) on the EGA, MCGA and VGA
this function scrolls page 0 regardless of the current page
- can be used to scroll graphics screens, using character coords
- on CGA's this function disables video adapter, causing flitter
INT 10,7 - Scroll Window Down
AH = 07
AL = number of lines to scroll, previous lines are
blanked, if 0 or AL > screen size, window is blanked
BH = attribute to be used on blank line
CH = row of upper left corner of scroll window
CL = column of upper left corner of scroll window
DH = row of lower right corner of scroll window
DL = column of lower right corner of scroll window
returns nothing
- in video mode 4 (300x200 4 color) on the EGA, MCGA and VGA
this function scrolls page 0 regardless of the current page
- can be used to scroll graphics screens, using character coords
- on CGA's this function disables video adapter, causing flitter
Qqun sait où trouver la liste des fonction de l'int 10
http://www.chez.com/pageasm/docs/dos/int.htm
je la redonne pratiquement a chaque post cette adresse. (Je vais pas vous dire d'utiliser rechercher, moi je sait même pas ou c'est dans la fenetre)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager