IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 16-bits Assembleur Discussion :

Changer la couleur de fond de l'écran


Sujet :

x86 16-bits Assembleur

  1. #1
    tnk
    tnk est déconnecté
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Changer la couleur de fond de l'écran
    Comment faire pour changer la couleur de fond de l'écran (TASM 8086)?
    Merci.

  2. #2
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    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:

    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)
    Sans oublier de passer en mode graphique avant.

  3. #3
    tnk
    tnk est déconnecté
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Et en utilisant la fonction 10 de l'int 10H? ça peux fonctionner?

  4. #4
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    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

  5. #5
    tnk
    tnk est déconnecté
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Qqun sait où trouver la liste des fonction de l'int 10

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    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)

Discussions similaires

  1. [débutant] [JLabel] Changer la couleur de fond
    Par lejimi dans le forum Composants
    Réponses: 3
    Dernier message: 17/08/2005, 14h20
  2. Réponses: 4
    Dernier message: 26/07/2005, 10h45
  3. Réponses: 10
    Dernier message: 04/04/2005, 21h52
  4. Changer la couleur de fond d'un champ "text"
    Par nic211 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/02/2005, 13h50
  5. [POO] Changer la couleur de fond d'un tableau
    Par Netoman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2004, 20h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo