permutation de deux variables (PIC 16F84A)
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

permutation de deux variables (PIC 16F84A)



  1. #1
    invitefa15af9f

    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

    -----

  2. #2
    invitefa15af9f

    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???

  3. #3
    invitefaaca50b

    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...

  4. #4
    invitefa15af9f

    Re : permutation de deux variables (PIC 16F84A)

    merci pour votre réponse

  5. A voir en vidéo sur Futura
  6. #5
    invitefaaca50b

    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

  7. #6
    invitee05a3fcc

    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

  8. #7
    invitefaaca50b

    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

  9. #8
    invitee05a3fcc

    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)

  10. #9
    invitefaaca50b

    Re : permutation de deux variables (PIC 16F84A)

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

  11. #10
    invited8c72a90

    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+

  12. #11
    invitee05a3fcc

    Re : permutation de deux variables (PIC 16F84A)

    Je ne connais pas les PICs .... mais
    Code:
    xorwf aide2, aide2
    doit donner 0000

  13. #12
    invited8c72a90

    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"

  14. #13
    invite5637435c

    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.

  15. #14
    invited8c72a90

    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

  16. #15
    invitefaaca50b

    Re : permutation de deux variables (PIC 16F84A)

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

  17. #16
    invite29971eb1

    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

  18. #17
    invitefaaca50b

    Re : permutation de deux variables (PIC 16F84A)

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

  19. #18
    invite29971eb1

    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

  20. #19
    invite5637435c

    Re : permutation de deux variables (PIC 16F84A)

    .....

  21. #20
    invite29971eb1

    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

Discussions similaires

  1. Pic 16f84a
    Par invitee8b146ef dans le forum Électronique
    Réponses: 28
    Dernier message: 08/04/2010, 21h05
  2. pic 16F84A
    Par invitee8b146ef dans le forum Électronique
    Réponses: 1
    Dernier message: 01/04/2010, 22h26
  3. pic 16f84a
    Par invite6523d53d dans le forum Électronique
    Réponses: 23
    Dernier message: 08/05/2009, 21h35
  4. Pic 16f84A
    Par invite29d9c8de dans le forum Électronique
    Réponses: 2
    Dernier message: 18/12/2006, 09h01
  5. pic 16f84A
    Par invite29d9c8de dans le forum Électronique
    Réponses: 3
    Dernier message: 27/11/2006, 19h15
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...