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 un cadre avec un carré de couleur à l'intérieur


Sujet :

x86 16-bits Assembleur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Faire un cadre avec un carré de couleur à l'intérieur
    Bonjour à tous,

    J'ai débute en assembleur et j'aimerai savoir comment
    on créer une fenêtre de dimension*: 80 x 25,
    contenant un cadre à l’intérieur qui délimite les bords
    ainsi qu'un carré de couleur n'importe où à l'intérieur du cadre.

    Pourriez-vous m'aider s'il vous plaît? Je ne sais pas comment faire celà.
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Bonjour,

    Avant toute chose, il nous faut plus d'infos.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Alors, je suis sous windows 7, processeur 8086 sous l'émulateur emu8086("assembleur x86 16 bits)".

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Il faut que tu comprennes que l'assembleur est le langage de ton micro-processeur, ce qui signifie que :

    • Il va être différent pour chaque micro-processeur utilisé, même si les grands principes restent les mêmes. Ceci diffère d'autres langages plus universels, comme le C ;
    • Ton micro-processeur est le produit de son fondeur, et est donc a priori complètement indépendant de la machine dans laquelle tu l'utilises. Il ne va donc pas y avoir d'instructions directement dédiées à l'affichage à l'écran ou autre ;
    • Tu vas généralement programmer en assembleur au sein d'un environnement qu'il faudra connaître et d'un système d'exploitation dont tu tireras les ficelles. C'est donc principalement avec de la programmation système que tu vas te tirer d'affaire.


    Or, tu utilises un émulateur. Cet émulateur émule un 8086, certes, mais également la machine qui était généralement utilisée autour, soit un PC des années 1980. Tu fais donc, en réalité, de la programmation PC sous D.O.S. (d'où le forum dans lequel j'ai déplacé ce message). Dès lors, c'est la documentation de ce système qu'il te faut chercher.

    Tu ne vas pas « créer une boîte de 80×25 » mais, en réalité, demander au système d'initialiser le mode vidéo de cette façon. Là où, jadis, l'écran entier était reconfiguré, c'est l'émulateur qui va, lui, ouvrir une boîte pour y afficher ce que tu enverras vers l'écran.

    Si tu crées une ébauche de projet toute faite comme « Hello World » (dans « Fichier → Exemples »), tu verras que le programme fait appel à l'interruption 10h du BIOS, qui servait à cela.

    Voici la liste des interruptions qui pourront te servir :
    http://www.htl-steyr.ac.at/~morg/pci...s/inte1at0.htm

  5. #5
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    Utilise dosbox, c'est mieux, au moins, tu pourras utiliser les instructions 32 bits, et ne pas te dégouter de l'assembleur.

    Mais pourquoi faut-il toujours que les profs imposent des trucs obsolètes à leurs élèves ? On est en 2011, et ils se croient encore en 1970.

    Pour tracer un carré à l'écran, réfléchis un peu, la solution est super simple, comment ferais-tu sur un papier quadrillé ? Ça se passe de la même manière sur un écran d'ordi constitué de pixels.

Discussions similaires

  1. faire des cadres avec bords arrondis
    Par HF974 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 27/01/2009, 08h49
  2. Faire un BMP avec plusieurs PNG, problème de couleur ?
    Par [ZiP] dans le forum Composants VCL
    Réponses: 6
    Dernier message: 09/09/2008, 16h41
  3. Faire un cadre avec bordure
    Par laclac dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/03/2008, 00h48
  4. comment faire un cadre avec titre SUR le bord
    Par adaneels dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/10/2007, 13h20

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