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 :

Faire clignoter un caractère


Sujet :

x86 16-bits Assembleur

  1. #1
    gtr
    gtr est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Faire clignoter un caractère
    Bonjour à tous,

    Je veux faire clignoter un caractère, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    code     segment
             org 100h
             assume cs:code
     
    debut:
             mov ax,0965        ;fonction 09, caractère A(65)
             mov bx,0087        ;page 0, blanc clignotant sur fond noir
             mov cx,01          ;1 caractère
             int 10h
             ret
     
    code     ends
             end debut
    Sous debug de ms-dos ça fonctionne très bien mais sous Masm 4.0(oui je sais que c'est pas la dernière version) ça fonctionne pas. En plus sous Masm le caractère ne s'affiche pas si je met "mov ax,0965", il faut que je mettre "mov ah,09 et mov al,65" pourquoi?

    Et sous Masm, "mov bx,0087" me donne un fond de couleur mauve et un caractère blanc. La même chose avec "mov bh,00 et mov bl,87", pouquoi?

    Je croyais que l'orsque le bit 7 de BL était armé(à 1) que j'aurais un clignotement

    Merci de m'éclairer

  2. #2
    gtr
    gtr est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Désolé du dérangement, il ne manquais que le petit "h"(hexa) après le "mov ax,0965h" et le "mov bx,0087h"

    Et je vient de comprendre que le 8 ou plus tot 80h(qui est en hexa) du "mov bx,0087" est le bit numéro 7, donc qui vaut 128 décimal lorsque qu'il est armé(à 1 et les autres bits à 0 bien entendu).

    Donc je peut faire le tout en hexadécimal ou en décimal aussi:
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mov bx,135      ;128(80h) + 07(07h)=135décimal
    Désolé, se sont ces petites choses que l'on comprend peu à peu qui font que l'on a enfin l'impression d'avancer.

    Question:
    Peut on modifier la vitesse du clignotement, et si oui comment?
    Si non, qu'es ce qui détermine cette vitesse?

    Merci

  3. #3
    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
    ca doit etre le timer, essaie dede modifier sa frequence, a moins que ce ne soit a l'initiative de la carte video ?? (désolé pour cette réponse qui n'en est pas une)

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/08/2006, 12h47
  2. Réponses: 2
    Dernier message: 13/12/2004, 15h16
  3. [Label] Comment faire clignoter un label ?
    Par delphicrous dans le forum Composants VCL
    Réponses: 7
    Dernier message: 09/07/2004, 16h50
  4. Faire clignoter la barre des tâches
    Par SteelBox dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 18h16
  5. [Sans MFC]Faire clignoter l'icone d'une application?
    Par Melchisedec dans le forum MFC
    Réponses: 4
    Dernier message: 16/07/2003, 12h14

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