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

Assembleur Discussion :

Mémoriser le contenu de l'écran (mode texte) ????


Sujet :

Assembleur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut [RESOLU]Mémoriser le contenu de l'écran (mode texte) ????
    Bonjour à tous j'aimerais savoir comment est il possible de mémoriser le contenu de l'écran en mode texte et par la suite comment peut on l'effacer ?????
    Je n'ai aucune idée pour pouvoir commencer donc si quelqu'un peut me mettre sur la voie cela serait trés intéressant.

    Merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 84
    Points : 78
    Points
    78
    Par défaut
    Salut,

    Veux tu juste memoriser les caracteres, ou bien l'ensmeble caracteres/attributs?

  3. #3
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 968
    Points : 59 654
    Points
    59 654
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Il n'y a rien d'insurmontable.

    L'adresse de la mémoire vidéo est, en mode texte, généralement B800:0000 (voir http://lrs.fmi.uni-passau.de/support/doc/interrupt-57/RB-0053.HTM#Table9 ).
    Un caractère à l'écran nécessite 2 octets (1 pour le code du caractère et l'autre pour l'attribut). Petit exemple pour un écran 80 * 25 (donc, 2000 couples caractère+attribut) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
              .Data
    Buffer    dw        2000 dup (?)        ; 80 * 25 = 2000
     
              .Code
    Debut:    mov       ax,0B000h
              mov       ds,ax
              xor       si,si               ; DS:SI = @ Début mémoire vidéo
              mov       ax,@Data
              mov       es,ax
              lea       di,Buffer           ; ES:DI = @ Buffer
     
              mov       cx,2000             ; 2000 * 2 octets à transférer
              cld
              rep       movsw               ; Transfert
     
              End       Debut
    (codé à la va-vite et non testé )

    Pour effacer l'écran, il suffit de le remplir de caractères blancs avec l'attribut normal.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Effacer l'écran en mode texte python
    Par Lépine dans le forum Général Python
    Réponses: 13
    Dernier message: 09/04/2013, 00h26
  2. Lecture du contenu d'un fichier compressé en mode texte ?
    Par meles dans le forum Général Python
    Réponses: 8
    Dernier message: 17/10/2012, 20h30
  3. contenu de l'écran dans un fichier texte
    Par mdcuno dans le forum Langage
    Réponses: 1
    Dernier message: 10/12/2010, 16h23
  4. [Turbo Pascal] Unité complète de gestion d'écran en mode texte
    Par Alcatîz dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 11/11/2010, 16h55
  5. Effacer l'écran en mode texte
    Par djinpark1 dans le forum C
    Réponses: 6
    Dernier message: 30/01/2009, 16h59

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