Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 33

Exercice langage assembleur 8051

  1. #1
    kamalidec

    Exercice langage assembleur 8051

    SVP aidez moi à résoudre cet exercice je sais pas quoi faire SVP c'est urgent

    Donner les commandes des instructions suivantes selon l’assembleur 8051 :

    - Mettre les constantes 20h, EFh et A0h dans la pile via un accumulateur

    - Récupérer chaque donnée de la pile en mettant à 0 le bit de faible poids et en additionnant toutes les valeurs modifiées

    - Mettre le résultat final dans la mémoire de données extérieure à l’adresse 0100h

    -----


  2. Publicité
  3. #2
    JPL

    Re : exercice langage assembleur 8051

    Rappel de la charte du forum :

    La courtoisie est de rigueur sur ce forum : pour une demande de renseignements bonjour et merci devraient être des automatismes.
    D’autre part lis EXERCICES et FORUM et explique ce que tu as tenté de faire. Après tu auras de l’aide... mais pas avant.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  4. #3
    pm42

    Re : exercice langage assembleur 8051

    Normalement, le charte explique que tu dois dire bonjour.
    Elle explique aussi qu'on peut aider les gens qui font des efforts, disent ce qu'ils ont fait, où ils bloquent...

    Mais qu'on n'est pas là pour faire tes exos à ta place même s'ils sont urgents.

  5. #4
    kamalidec

    Re : exercice langage assembleur 8051

    je suis désolé pour mon comportement, mais le problème c'est que je ne peux pas faire l'exercice sans passer par la question 1 donc je peux pas réfléchir sur les autres questions

  6. #5
    pm42

    Re : exercice langage assembleur 8051

    Citation Envoyé par kamalidec Voir le message
    je suis désolé pour mon comportement, mais le problème c'est que je ne peux pas faire l'exercice sans passer par la question 1 donc je peux pas réfléchir sur les autres questions
    Tu as eu un cours sur l'assembleur 8051 ? Tu sais ce qu'est la pile et l'accumulateur ?
    Tu connais l'instruction pour mettre une valeur dans l'accumulateur ?

    Parce que si tu ne sais pas faire la question 1, les 2 autres sont totalement inabordables.

  7. #6
    kamalidec

    Re : exercice langage assembleur 8051

    oui bien sur que je sais, moi je sais comment charger une pile avec des rgistres:
    MOV R0,#20h
    MOV R1,#EFh
    MOV R2,#A0h
    PUSH R0
    PUSH R1
    PUSH R2
    mais avec accumulateur je sais pas comment faire avec les 3 valeurs 20h, EFh et A0h

  8. #7
    kamalidec

    Re : exercice langage assembleur 8051

    aidez moi SVP

  9. #8
    kamalidec

    Re : exercice langage assembleur 8051

    mais je crois pas que je peux faire MOV A1 MOV A2 MOV A3 bien sur

  10. #9
    pm42

    Re : exercice langage assembleur 8051

    Et tu as essayé un truc dans le genre de :

    MOV A, #20h
    PUSH A
    MOV A, #EFh
    PUSH A

  11. #10
    kamalidec

    Re : exercice langage assembleur 8051

    oui je trouve ça juste, mais au moment ou je dois dépiler je pense que je vais trouver un problème car il faut récupérer chaque donnée de la pile donc si je fais POP A je vais récupérer juste la dernière valeur ?????? et les autres ????

  12. #11
    Chanur

    Re : exercice langage assembleur 8051

    Bonjour,
    A chaque fois que tu feras POP, tu récupérera la valeur suivante.
    Il te suffit, à chaque fois, de la mettre dans le registre adéquat.
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  13. #12
    Jack

    Re : exercice langage assembleur 8051

    Il suffira d'un seul registre puisque toutes les valeurs doivent être additionnées. On peut donc calculer la somme au fur et a mesure du dépilage

  14. #13
    pm42

    Re : exercice langage assembleur 8051

    Citation Envoyé par Jack Voir le message
    Il suffira d'un seul registre puisque toutes les valeurs doivent être additionnées. On peut donc calculer la somme au fur et a mesure du dépilage
    Je ne sais pas si on peut faire dépilage et addition en 1 instruction en 8051 ceci dit. Mais la mise à 0 du bit de poids faible complique les choses.
    Perso, j'ai arrêté de répondre parce que j'ai du mal à voir où est l'effort du coté du primo-posteur.

  15. #14
    Jack

    Re : exercice langage assembleur 8051

    Absolument. Je voulais juste préciser qu'il n'était pas indispensable de stocker les données dans des registres différents avant d'effectuer les calculs.

  16. #15
    kamalidec

    Re : exercice langage assembleur 8051

    ici il faut travailler avec les accumulateurs pas avec les registres, je ne sais pas ce que j'ai écrit est juste:
    POP A
    POP A
    ANL A, #0FEH
    POP A
    MOV A, #020h
    ADD A, #0EFh
    ADD A, #0A0h
    MOV DPTR, #0111h
    MOVX @DPTR,A

  17. #16
    Jack

    Re : exercice langage assembleur 8051

    Je ne comprends pas ce que tu veux faire. Tu ne réponds à aucun des 3 points de ton énoncé.

    ici il faut travailler avec les accumulateurs pas avec les registres
    Je ne vois pas où c'est indiqué:
    - Récupérer chaque donnée de la pile en mettant à 0 le bit de faible poids et en additionnant toutes les valeurs modifiées
    - Mettre le résultat final dans la mémoire de données extérieure à l’adresse 0100h
    De plus, si tu fais 2 POP A de suite, tu vas perdre définitivement la première valeur récupérée.
    Et enfin, tu additionnes les valeurs en les mettant dans l'accu A alors qu'il faudrait les récupérer à partir de la pile.




  18. #17
    kamalidec

    Re : exercice langage assembleur 8051

    Merci pour votre aide Mr jack mais la je suis bloqué ja sais pas quoi faire ????? les accumulateurs sont indiqués dans la première question

  19. #18
    Jack

    Re : exercice langage assembleur 8051

    Pour le point 1, pm42 t'a donné la solution dans son message #9

  20. #19
    kamalidec

    Re : exercice langage assembleur 8051

    oui je sais mais le problème dans POP si j'ai travaillé avec des registres je pouvais faire POP AR0 POP AR1... mais avec l'accumulateur A comment je vais procéder

  21. #20
    Jack

    Re : exercice langage assembleur 8051

    Apparemment, tu as 2 accu: A et B. Donc tu dépiles dans A, tu modifies le bit et tu cumules dans B

  22. #21
    kamalidec

    Re : exercice langage assembleur 8051

    il faut que j'effectue 3 POP, vraiment c'est compliqué si vous avez une réponse ciblée et complète n’hésitez pas à me guider dieu vous garde

  23. #22
    Jack

    Re : exercice langage assembleur 8051

    Citation Envoyé par kamalidec Voir le message
    il faut que j'effectue 3 POP, vraiment c'est compliqué
    ???
    Tu fais trois fois ce que je t'ai dit dans ma réponse précédente.

  24. #23
    kamalidec

    Re : exercice langage assembleur 8051

    20h, EFh et A0h :
    donc , pour 20h et A0h : bit de faible poids est déjà mis à 0
    pour EFh pour mettre le bit à 0 voila l'instruction: ANL A, #0FEH ça si je met EFh dans A
    donc comment faire pur les autres alors sachant q'au début j'ai: MOV A, # 020h
    PUSH A
    MOV A, # 0EFh
    PUSH A
    MOV A, # 0A0h
    PUSH A

  25. #24
    Jack

    Re : exercice langage assembleur 8051

    donc , pour 20h et A0h : bit de faible poids est déjà mis à 0
    - Récupérer chaque donnée de la pile en mettant à 0 le bit de faible poids
    Pour moi, il faut écrire le code mettant le bit à 0, même s'il l'est déjà.

    donc comment faire pur les autres alors sachant q'au début j'ai: MOV A, # 020h
    PUSH A
    MOV A, # 0EFh
    PUSH A
    MOV A, # 0A0h
    PUSH A
    Quels autres?

    Bon, tu as empilé les 3 valeurs et tu fais ce que je t'ai dit dans mon message précédent.

  26. #25
    kamalidec

    Re : exercice langage assembleur 8051

    donc c'est comme ça ??? :
    MOV A, # 020h
    PUSH A
    MOV A, # 0EFh
    PUSH A
    MOV A, # 0A0h
    PUSH A
    POP A
    ANL A, #0FEH
    MOV B, A
    POP A
    ANL A, #0FEH
    ADD B, A
    POP A
    ANL A, #0FEH
    ADD B,A

  27. #26
    Jack

    Re : exercice langage assembleur 8051

    Ca me semble pas mal. Il ne te reste plus qu'à stocker le résultat.

    Essaie-le avec un simulateur. Apparemment, il en existe des gratuits si tu n'en a pas

  28. #27
    kamalidec

    Re : exercice langage assembleur 8051

    donc finalement mon programme est :
    MOV A, # 020h
    PUSH A
    MOV A, # 0EFh
    PUSH A
    MOV A, # 0A0h
    PUSH A
    POP A
    ANL A, #0FEH
    MOV B, A
    POP A
    ANL A, #0FEH
    ADD B, A
    POP A
    ANL A, #0FEH
    ADD B,A
    MOV DPTR, #0111h
    MOVX @DPTR,B
    ????? veuillez vérifier s'ils vous plait

  29. #28
    Jack

    Re : exercice langage assembleur 8051

    Citation Envoyé par kamalidec Voir le message
    ????? veuillez vérifier s'ils vous plait
    Pourquoi ne vérifies-tu pas toi-même?

  30. #29
    Chanur

    Re : exercice langage assembleur 8051

    Citation Envoyé par kamalidec Voir le message
    - Mettre le résultat final dans la mémoire de données extérieure à l’adresse 0100h
    Citation Envoyé par kamalidec Voir le message
    MOV DPTR, #0111h
    MOVX @DPTR,B
    C'est normal que ce ne soit pas la même adresse ?
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  31. #30
    kamalidec

    Re : exercice langage assembleur 8051

    non c'est juste une erreur de frappe voila ce que j'ai faitSans titre 2.jpg

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. [Programmation] traduction d'un langage C en langage assembleur
    Par marcuccio19 dans le forum Électronique
    Réponses: 12
    Dernier message: 23/05/2017, 22h59
  2. Déplacer des bits en assembleur 8051...
    Par Yoruk dans le forum Électronique
    Réponses: 5
    Dernier message: 15/04/2015, 19h22
  3. Décodeur BCD - 7 Segments en langage Assembleur 8051
    Par Ov3risk91 dans le forum Électronique
    Réponses: 4
    Dernier message: 30/09/2009, 08h43
  4. Assembleur 8051
    Par NAGHAM dans le forum Électronique
    Réponses: 0
    Dernier message: 01/06/2008, 22h20
  5. langage assembleur
    Par etogoemane dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 03/03/2007, 13h06