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

PIC: Registre de travail W



  1. #1
    marc.suisse

    PIC: Registre de travail W


    ------

    Bonsoir Messieurs .

    Je suis encore en train de potasser le cours de BIGONOFF, mais il y a encore un truc pas clair , il dit :



    8.2.2 Le registre « W »
    Ce registre est un registre utilisé par les pics pour réaliser toutes sortes de calculs.
    Souvenez-vous que la destination d’un résultat (d) peut en général être un emplacement RAM
    (f) ou le registre de travail (w). C’est un donc un registre fondamental.

    Mais j'ai beau le chercher dans le tableau du datasheet , mais je ne le trouve pas , comment ca se fait ?

    S'appelles t'il autrement?


    Merci encore d'avance , j'espère ne pas avoir posé une question idiote.

    Concernant l'autre post , je crois bien avoir compris cette histoire de PCL , PCLATH.

    -----

  2. Publicité
  3. #2
    Invité

    Re : Registre de travail W

    Hello,

    le registre W n'est pas adressable (il n'a pas d'adresse) comme les SFR (special function register) car il s'agit d'un registre interne, c'est pour cela que tu ne le retrouve pas avec les autres SFR : il ne fait pas partie de la RAM (il n'est pas "mappé" en RAM).

    il est parfois noté Wreg, WREG, W Reg...

    si tu regarde dans la datasheet du pic (BLOCK DIAGRAM) tu verras qu'il est près de l'ALU (arithmetic & logic unit) de laquelle il peut recevoir les résultats, et fournir des opérandes.
    sur d'autres CPU ou MCU on appellerait ça l'accumulateur.

    tu le retrouve dans la doc essentiellement dans la description du jeu d'instructions du PIC.

    A+,

    Bruno

  4. #3
    freepicbasic

    Re : Registre de travail W

    Sur la serie Pic18Fxxx le WREG est accessible FE8h.
    Mais sur les serie Pic16Fxxx et pic12Fxxx il n'est pas accessible directement en RAM.

    Noter que chez la plupart des autres fabricants il s'appelle A ou Acc .
    Je n'ai jamais su pourquoi W.

  5. #4
    Invité

    Re : Registre de travail W

    Hello,

    Citation Envoyé par freepicbasic Voir le message
    Je n'ai jamais su pourquoi W.
    W = Work (travail)
    WREG = Working REGister (registre de travail)

    A+,

    Bruno

  6. #5
    freepicbasic

    Re : Registre de travail W

    W = Work (travail)
    WREG = Working REGister (registre de travail)
    OK,
    Microchip ne fait jamais rien comme les autres...

  7. A voir en vidéo sur Futura
  8. #6
    marc.suisse

    Re : Registre de travail W

    Bien le bonjour !!

    Merci de vos réponses !!

    Par contre je n'ai pas saisis son utilité , j'ai fais une recherche dans le cours PDF de BIGONOFF en cherchant le terme registre de travail , il en parle mais sans jamais expliquer ce que c'est exactement .

    J'ai compilé et simuler le programme qui nous propose , quand mavariable s'appelle f , tout va bien , le registre status bouge , par contre j'ai essayé de renommer f en w et il se passe rien dans les registres , j'ai bien entendu compilé avant de relancer la simulation .

    Ou bien quand je mets f , il met la valeur de l'opération dans la mémoire ram et après si on éteint le pic , tout est perdu , par contre si on met la valeur dans w , ce n'est pas perdu ??

    Ce n'est pas évident du tout ces pic

  9. Publicité
  10. #7
    gedonet

    Re : Registre de travail W

    Citation Envoyé par marc.suisse Voir le message
    Bien le bonjour !!

    Ou bien quand je mets f , il met la valeur de l'opération dans la mémoire ram et après si on éteint le pic , tout est perdu , par contre si on met la valeur dans w , ce n'est pas perdu ??

    Ce n'est pas évident du tout ces pic
    Bonjour
    Dans le fichier *.INC de ton pic tu peux lire:
    ; Register Definitions
    W EQU H'0000'
    F EQU H'0001'
    Tu noteras que W et F sont des majuscules et que si tu as activé la distinction entre majuscule et minuscule (casse sensitivity on, par default sur mplab) le fait de ne pas lire W indique que le resultat doit etre dans la variable.
    Tu peux ecrire 0 (zero) ou rien (cela donne un warning si je m'en souviens bien) à la place de W et 1 à la place de F.
    Gilles

  11. #8
    marc.suisse

    Re : PIC: Registre de travail W

    Hello et merci de ta réponse !!

    Mais par contre , je ne vois toujours pas le but de mettre le résultat de mavariable dans le registre de travail ( W ) au lieu de l'emplacement mémoire ( F ) .

  12. #9
    fderwelt

    Re : Registre de travail W

    Bonsoir,

    Ou bien quand je mets f , il met la valeur de l'opération dans la mémoire ram et après si on éteint le pic , tout est perdu , par contre si on met la valeur dans w , ce n'est pas perdu ??
    Le registe W est (en principe) encore plus volatil que la RAM... (comme n'importe quel accumulateur directement relié à l'ALU). Donc, même à l'époque où les RAM fonctionnaient avec des tores magnétiques, et ne s'effaçaient pas quand on coupit le jus, l'accumulateur s'évaporait.

    Mais par contre , je ne vois toujours pas le but de mettre le résultat de mavariable dans le registre de travail ( W ) au lieu de l'emplacement mémoire ( F ) .
    Entre autres, parce que les instructions qui référencent implicitement W, style MOVLW, économisent ainsi les 11 bits d'adresse de la RAM, ce qui permet de coder un opérande littéral.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  13. #10
    Invité

    Re : PIC: Registre de travail W

    Citation Envoyé par marc.suisse Voir le message
    Mais par contre , je ne vois toujours pas le but de mettre le résultat de mavariable dans le registre de travail ( W ) au lieu de l'emplacement mémoire ( F ) .
    certains résultats intermédiaires sont volatiles et n'ont pas besoin d'être stockés en RAM, dans ce cas ils sont placés dans W pour être utilisés par l'instruction suivante.
    ceci permet d'économiser la RAM, il ne faut pas oublier que chaque octet, et même chaque bit est précieux dans un MCU.
    la réussite d'un projet passe souvent par une utilisation astucieuse des ressources d'un MCU, en particulier lorsque l'on est proche des limites de celui-ci.
    En maîtrisant cela, tu réussiras la ou les autres ont échoué

    A+,

    Bruno

  14. #11
    marc.suisse

    Re : PIC: Registre de travail W

    Bonsoir Messieurs !!

    Encore merci de vos réponses , tout s'éclaire grâce à vos explications !!

    Rien à voir , mais aujourd hui en faisant un exercice de simulation du cours , quand je faisais animate dans debbuger , les chiffres de la fenêtre watch de mavariable défilait beaucoup plus lentement que d'habitude .

    J ai un peu fouillé et j'ai été dans le menu , debugger ,settings , animation / real time updates et il était réglé sur 500ms , j'ai mis 10 et c'est rentré dans l'ordre malgré que je ne sais pas comment ca c'est passé .

    A tout bientôt ,ciao ciao MARC...

Sur le même thème :

Discussions similaires

  1. Pic et registre
    Par f6bes dans le forum Électronique
    Réponses: 4
    Dernier message: 26/04/2007, 22h03
  2. pic: afficher registre w
    Par Jack dans le forum Électronique
    Réponses: 11
    Dernier message: 24/12/2006, 17h36
  3. [Travail et puissance]Travail du poids
    Par polux95 dans le forum Physique
    Réponses: 2
    Dernier message: 16/04/2006, 19h42
  4. Registre Incon Et Intermask Pic 16f84
    Par alainav1 dans le forum Électronique
    Réponses: 2
    Dernier message: 11/10/2005, 22h13
  5. base de registre
    Par sim dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 03/05/2004, 17h34
Découvrez nos comparatifs produits sur l'informatique et les technologies.