3 lignes d'assembleur pic pose probleme ?
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

3 lignes d'assembleur pic pose probleme ?



  1. #1
    alainav1

    3 lignes d'assembleur pic pose probleme ?


    ------

    Bonjour,
    je souhaite programmer en assembleur (je debute ) j'ai ecris ces3 lignes comme exemple pour me faire la main
    (lignes incluses dans un compilateur basic picsimulator ou je peux lire le contenu des registres )

    06 adresse du portb
    49 adresse d'une variable


    ASM:test btfsc 0x06,0 'test si porb.0 =1
    ASM: addwf 0x49,1 'incrementation de 0x49 si porb=1
    ASM: goto test
    je m'attendais a ce que l'adresse 0x49 s'incremente de 1 en 1 si portb.0 et à 1
    mais 0x49 s'incemente de 32 en 32
    avez vous une explication ?
    cordialement
    Alain

    -----
    Décider de faire, c'est bien . Décider quand, c'est mieux !

  2. #2
    gedonet

    Re : 3 lignes d'assembleur pic pose probleme ?

    Bonjour
    A mon avis ton morceau de programme assembleur ne sort jamais, si RB0 est à 1, il passe à la ligne suivante puis à la troisieme et reboucle sur la premiere.
    Si RB0 est à 0 il saute à la troisieme et ensuite reboucle sur la premiere.
    De plus il te faudrait probablement un mecanisme (soft ou hard) d'antirebond.
    Gilles

  3. #3
    alainav1

    Re : 3 lignes d'assembleur pic pose probleme ?

    bonjour,
    j'ai fais ces 3 lignes en simulations afin de comprendre ces instructions.
    sur le simulateur si le porb.0 reste à 0 il ne se passe rien ( la variable reste à 0)
    si porb.0 est à 1 à chaque passage le variable s'incremente de 32 ?
    est ce un probleme de mon simulateur ou de ma programmation ?
    cordialement
    Alain
    Décider de faire, c'est bien . Décider quand, c'est mieux !

  4. #4
    micra

    Re : 3 lignes d'assembleur pic pose probleme ?

    Bonjour Alain,

    L'instruction addwf 0x49,1 ajoute le contenu du registre W à ta variable. ",1" signifie que le résultat doit être placé dans ta variable. ",0" signifie que le résultat doit être placé dans W.

    Or, tu n'as pas fixé le contenu de W (il pourrait bien valoir 32 !).

    Essaye en plaçant au début (avant btfsc) l'instruction movlw 1 qui met la valeur 1 dans W.

    Ou mieux, remplace addwf par incf 0x49,1 qui incrémente de 1 ta variable et place le résultat dans ta variable (car ",1").

    Toutes les instructions sont décrites dans le datasheet de ton PIC. Je te conseille également de lire les excellents cours de bigonoff (www.bigonoff.org)

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

    Re : 3 lignes d'assembleur pic pose probleme ?

    bonjour,
    merci pour ces explications .
    w contenait bien 32 .
    comme les lignes de programme sont integrées dans un programme basic (par l'instruction asm: le w contient surement une valeur utilisée par les lignes de basic qui precede le code assembleur )
    je vais me remettre à l'assembleur avec bigonoff que j'avais deja regardé ,cela m'avait ete tres utile pour bien comprendre le fonctionnement mais c'est tellement plus souple en basic que j'ai rapidement adopter ce langage.
    cependant pour des actions rapides l'assembleur est indispensable mais il faut pratiquer ce que je vais faire .
    j'aurai donc surement encore besoin de votre aide !
    cordialement
    Alain
    Décider de faire, c'est bien . Décider quand, c'est mieux !

  7. #6
    gedonet

    Re : 3 lignes d'assembleur pic pose probleme ?

    Bonjour
    Une aide precieuse pour passer à l'assembleur sans douleur: http://fribotte.free.fr/bdtech/picnul/PicFicheAide.html en complement des cours de Bigonoff.
    Gilles

Discussions similaires

  1. Problème longueur de lignes SPI
    Par FantomX dans le forum Électronique
    Réponses: 0
    Dernier message: 15/07/2008, 15h12
  2. probleme comprehension du language d'assembleur
    Par invite522722ae dans le forum Électronique
    Réponses: 2
    Dernier message: 19/05/2007, 12h08
  3. Problème lignes sur télé...
    Par invite5de2f42a dans le forum Dépannage
    Réponses: 1
    Dernier message: 11/11/2006, 10h16
  4. Probleme de lignes
    Par invitecf71d952 dans le forum Dépannage
    Réponses: 12
    Dernier message: 04/10/2006, 13h02
  5. Problème d'assembleur, help!
    Par invite62588872 dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 03/03/2006, 18h14
Découvrez nos comparatifs produits sur l'informatique et les technologies.