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 :

Caisse enregistreuse sur emu8086


Sujet :

x86 16-bits Assembleur

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Ethiopie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Points : 0
    Points
    0
    Par défaut Caisse enregistreuse sur emu8086
    Bonjour,

    Voilà, je suis débutant en language assembleur et je dois mettre au point une caisse enregistreuse , pour démarrer je dois stocker 10 produits ainsi que leur code et leur prix mais je ne sais pas trop où , car il ne me semble pas possible de ranger autant de données dans les registres ax, bx...et je pense qu'utliser le 'stack' ne sera pas pratique lorsqu'il faudra utiliser les données .Pourriez vous me suggérer des pistes ?
    Pourriez vous aussi me donner une idée de la difficulté de ce projet, ainsi que le temps que cela va me demander? C'est que j'entreprends ce projet toute seule et je suis un peu anxieuse...
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Bonjour,

    C'est exact il n'est pas vraiment possible de faire un quelconque programme que avec les registres
    Il faut tout simplement stocker en mémoire RAM

    si je me trompe pas en x86 avec syntaxe intel ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mov [1], 05 ; met la valeur 5 à l'adresse 1
    Ce n'est qu'un exemple rapide mais il est conseillé de nommer ces variables (grâce a un define).
    Ensuite ça dépend de l'émulateur et surtout la machine cible , on ne peut pas toujours écrire n'importe ou en mémoire (certaine adresse mémoire sont réservé par exemple pour les I/O).

    Pour la difficulté de ton projet ça dépend de plein de chose , si tu code depuis longtemps , si l'assembleur pose un probleme ou non ,et de ce qu'il faut faire (et de la difficulté algorithmique).
    Si t'es étudiante fait tout simplement de ton mieux , l'important c'est d'apprendre avant tout

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 193
    Points : 277
    Points
    277
    Par défaut
    La première chose est de ce demander dans quoi est stocké un prix.
    Est-ce un word,dword,qword,real 4 8 ?.
    Après on crée en data:
    .data ;ou SEGMENT
    prix1 real4
    prixn ...
    .code

  4. #4
    Membre régulier
    Homme Profil pro
    consultant informatique freelance
    Inscrit en
    Janvier 2016
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tchad

    Informations professionnelles :
    Activité : consultant informatique freelance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2016
    Messages : 73
    Points : 71
    Points
    71
    Par défaut code assembleur
    bonjour a tous!
    svp aider moi a resoudre ceci
    programme qui calcul le produit scalaire de deux vecteurs de dimension n=5

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 440
    Points : 43 082
    Points
    43 082
    Par défaut
    @oudira,

    Merci de créer un POST dédié à ta question. Celle-ci n'a rien à voir avec le sujet.
    Par ailleurs nous ne sommes pas là pour faire tes exercices.
    Si tu as des difficultés, on veut bien t'aider, mais montre ce que tu as déjà fait.

    @Kannagi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mov [1], 05 ; met la valeur 5 à l'adresse 1
    on ferait plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mov byte [1], 05 ; met la valeur 5 à l'adresse 1
    Je ne fais plus d'assembleur, je suis pas sûr de la syntaxe exacte, mais il faut préciser la taille (byte, word, dword) et penser à l'adressage segment:offset
    De mémoire, la syntaxe [1] est valide et prend implicitement en segment le registre DS si DS contient 0x100 l'adresse ds:1 correspondra à 0x1001 (0x100:1)
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  6. #6
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Et bien un :
    traitera le type de donnée par défaut suivant le type d'exécutable, soit 16, 32 ou 64 bits

    mais comme l'a indiqué Kannagi, il vaut mieux définir des variables, car dans le
    même temps on défini la taille, ce qui évite de aire des boulettes

Discussions similaires

  1. Programme Caisse enregistreuse
    Par stomania dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/06/2009, 10h30
  2. code source d'une caisse enregistreuse en VB
    Par saheliano dans le forum VB.NET
    Réponses: 2
    Dernier message: 24/02/2009, 13h35
  3. Flash de type caisse enregistreuse
    Par PoteVince dans le forum Flash
    Réponses: 1
    Dernier message: 08/06/2008, 21h23
  4. Caisse enregistreuse vers PC
    Par edam dans le forum Langage
    Réponses: 12
    Dernier message: 15/12/2007, 14h16

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