Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

permutation de deux variables (PIC 16F84A)



  1. #1
    narakphysics

    permutation de deux variables (PIC 16F84A)


    ------

    bonjour à tous
    je désire savoir est ce qu'il y a un code en assembleur qui permet de permuter deux variables à l'aide d'un PIC 16F84A
    merci d avance

    -----
    Dernière modification par narakphysics ; 23/11/2011 à 21h39.

  2. Publicité
  3. #2
    narakphysics

    Re : permutation de deux variables (PIC 16F84A)

    j'ai essayé avec ce code, je veux permuter le contenu de aide1 et aide2:
    Code:
    movf aide1,w
    movwf aide
    movf aide2,w
    movwf aide1
    movf aide,w
    movwf aide2
    est ce juste??y a-t-il autre méthode meilleure que la mienne???

  4. #3
    Franck-026

    Re : permutation de deux variables (PIC 16F84A)

    Leste des variables utilisees
    VarA Variable A
    VarB Variable B
    Temp1 Tampon 1
    w

    movf VarA,w ; recopie de VarA dans w
    movwf Temp1 ; recopie w dans TempA
    movf VarB,w ; recopie VarB dans w
    movwf VarA ; recopie w dans VarA Var B est passe dans Var A
    movf Temp1,w ; Recopie Temp1 dans w
    movwf VarB ; recopie w dans VarB Var A est passé dans VarB

    voila selon la methode des empilements....

    Zut grillé selon le meme cheminement...

  5. #4
    narakphysics

    Re : permutation de deux variables (PIC 16F84A)

    merci pour votre réponse

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    Franck-026

    Re : permutation de deux variables (PIC 16F84A)

    En ce qui me concerne, je ne trouve pas de solution plus simple... Mais comme je ne connais pas tout..... Toute info supplementaire sera la bienvenue

  9. #6
    DAUDET78

    Re : permutation de deux variables (PIC 16F84A)

    Sans passer par une variable intermédiaire
    Var1 = Var1 XOR Var2
    Var2 = Var1 XOR Var2
    Var1 = Var1 XOR Var2
    J'aime pas le Grec

  10. Publicité
  11. #7
    Franck-026

    Re : permutation de deux variables (PIC 16F84A)

    sauf qu'en asm, on est obligé de passé a minima par des recopies dans w pour toute operation A > w > B

  12. #8
    DAUDET78

    Re : permutation de deux variables (PIC 16F84A)

    Des assembleurs, il y en a autant que de famille de µP ou de µC. Il suffit de travailler avec un assembleur qui permet ce genre d'opération (par exemple c'était le cas de la famille Texas TMS9995)
    J'aime pas le Grec

  13. #9
    Franck-026

    Re : permutation de deux variables (PIC 16F84A)

    Euh sur un PIC, on a cette contrainte...

  14. #10
    Tryph

    Re : permutation de deux variables (PIC 16F84A)

    Salut,

    pas mal la technique de Daudet.
    avec le pic16f84a on peut pas s'affranchir du registre de travail effectivement, mais si je me suis pas gouré (j'ai pas les d'outil autre que mon cerveau sous la main pour vérifier, et c'est pas un outil infaillible), on doit pouvoir adapter cette façon de faire.
    ça fait économiser 1 variable et 2 instructions (si je me suis pas gouré bien entendu):
    Code:
    movf aide1,w
    xorwf aide2, w
    xorwf aide2, aide2
    xorwf aide2, aide1
    qui peut vérifier?

    a+

  15. #11
    DAUDET78

    Re : permutation de deux variables (PIC 16F84A)

    Je ne connais pas les PICs .... mais
    Code:
    xorwf aide2, aide2
    doit donner 0000
    J'aime pas le Grec

  16. #12
    Tryph

    Re : permutation de deux variables (PIC 16F84A)

    Citation Envoyé par DAUDET78 Voir le message
    Je ne connais pas les PICs .... mais
    Code:
    xorwf aide2, aide2
    doit donner 0000
    pas forcément. ça dépend de ce qui se trouve dans le registre W (le registre de travail).
    l'instruction que tu donnes en exemple ne signifie pas...
    "faire un xOR entre aide2 et aide2 et stocker le resultat dans W"
    ...mais...
    "faire un XOR entre W et aide2 et stocker le résultat dans aide2"

  17. Publicité
  18. #13
    invite03481543

    Re : permutation de deux variables (PIC 16F84A)

    Bonjour,

    Code:
    SWAPWF MACRO REG
    XORWF REG,F
    XORWF REG,W
    XORWF REG,F
    ENDM
    Une macro comme ça fonctionne bien en 3 instructions et 3 cycles seulement.

  19. #14
    Tryph

    Re : permutation de deux variables (PIC 16F84A)

    effectivement...

    finalement j'ai écris pas mal de conneries dans mes 2 précédents messages x:

    le 2e paramètre de l'instruction xorwf ne peut être que "w" (registre de travail) ou "f" (registre d'origine) et on peut pas placer le résultat directement ou on veut.

    ceci dit HULK, faut quand même ajouter à ta macro la copie de l'une des variables dans W avant l'appel de la macro et la recopie de W dans la variable après l'appel

  20. #15
    Franck-026

    Re : permutation de deux variables (PIC 16F84A)

    Pas mal en effet... j'utilise assez peu les xorwf... Un tort surement...

  21. #16
    ftorama

    Re : permutation de deux variables (PIC 16F84A)

    Citation Envoyé par Franck-026 Voir le message
    Pas mal en effet... j'utilise assez peu les xorwf... Un tort surement...
    Je te dirais bien que tu as un autre tort

    Allez, je retourne jouer avec mes 32 registres de travail
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  22. #17
    Franck-026

    Re : permutation de deux variables (PIC 16F84A)

    je sais fto, mon autre tort est de jouer avec des pic nan?

  23. #18
    ftorama

    Re : permutation de deux variables (PIC 16F84A)

    Citation Envoyé par Franck-026 Voir le message
    je sais fto, mon autre tort est de jouer avec des pic nan?
    Moi je n'ai rien dit
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  24. Publicité
  25. #19
    invite03481543

    Re : permutation de deux variables (PIC 16F84A)

    .....

  26. #20
    ftorama

    Re : permutation de deux variables (PIC 16F84A)

    Citation Envoyé par HULK28 Voir le message
    .....
    c'est pas moi m'sieur.....allez bourreau....euh modo, fais ton oeuvre
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

Discussions similaires

  1. Pic 16f84a
    Par rahmane dans le forum Électronique
    Réponses: 28
    Dernier message: 08/04/2010, 21h05
  2. pic 16F84A
    Par rahmane dans le forum Électronique
    Réponses: 1
    Dernier message: 01/04/2010, 22h26
  3. pic 16f84a
    Par kalhou dans le forum Électronique
    Réponses: 23
    Dernier message: 08/05/2009, 21h35
  4. Pic 16f84A
    Par karamail dans le forum Électronique
    Réponses: 2
    Dernier message: 18/12/2006, 09h01
  5. pic 16f84A
    Par karamail dans le forum Électronique
    Réponses: 3
    Dernier message: 27/11/2006, 19h15
Découvrez nos comparatifs produits sur l'informatique et les technologies.