Assembleur Pic Condition entre 2 bits ?
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Assembleur Pic Condition entre 2 bits ?



  1. #1
    namster

    Assembleur Pic Condition entre 2 bits ?


    ------

    Bonsoir,
    Voila je cherche a faire un teste entre deux bits de deux variable comme ceci if (variable.1 && PORTB,1) en Assembleur mais je ne trouve pas une instruction qui pourrait me faire sa ! Merci de l'aide D'avance

    -----
    Dernière modification par namster ; 31/07/2015 à 17h24.

  2. #2
    freepicbasic

    Re : Assembleur Pic Condition entre 2 bits ?

    (variable.1 && PORTB,1)

    Code:
    MOVLW 2  ; mask bit 1 =  0b00000010
    ANDWF variable,w ; reste le seul bit 1
    ANDWF PORTB,w  ; test le PORTB avec le résultat
    MOVWF result      ; sauve le résultat sur les pic qui n'ont pas de W accessible
    BTFSC   result,1
    GOTO BitSet     ; le résultat est différent de 0
    GOTO BitReSet  ; le résultat est 0
    A+, pat

  3. #3
    antek

    Re : Assembleur Pic Condition entre 2 bits ?

    Pour une fois qu'on parle d'assembleur . . .

    Test var1,1 et var2,1
    Branchement à C01 pour var1,1=0 et var2,1=1 , etc

    Code:
       btfss   var1,1
       goto   test
       btfss   var2,1
       goto   C10
       goto   C11
    test
       btfss   var2,1
       goto   C00
       goto   C01
    On peut utiliser aussi "btfsc" en modifiant les branchements.

  4. #4
    freepicbasic

    Re : Assembleur Pic Condition entre 2 bits ?

    C est effectivement plus simple comme ça
    Si l'un des 2 est à 0 le résultat est 0

    Code:
       btfss   var1,1
       goto   BitReset
       btfss   var2,1
       goto   BitReset
    
    ;BitSet
    retlw 1
    
    BitReset
    retlw 0
    A+, pat

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

    Re : Assembleur Pic Condition entre 2 bits ?

    Pour retourner la valeur de ( var1.1 & var2.1 ), j'aurais plutôt fait :
    Code:
      btfsc var1,1
      btfss var2,1
      retlw 0
      retlw 1
    et pour exécuter un code conditionnel :
    Code:
      btfsc var1,1
      btfss var2,1
      goto  FinIf
    
    ; code conditionnel
    ; ...
    
    FinIf

  7. #6
    freepicbasic

    Re : Assembleur Pic Condition entre 2 bits ?

    PA5CAL gagne la médaille du code le plus optimisé !
    A+, pat

  8. #7
    antek

    Re : Assembleur Pic Condition entre 2 bits ?

    Citation Envoyé par freepicbasic Voir le message
    PA5CAL gagne la médaille du code le plus optimisé !
    Et il reste de la place sur le podium pour tous les autres !

Discussions similaires

  1. Déplacer des bits en assembleur 8051...
    Par Yoruk dans le forum Électronique
    Réponses: 5
    Dernier message: 15/04/2015, 19h22
  2. Réponses: 0
    Dernier message: 08/02/2012, 16h03
  3. soustraction 16 bits,deux registres 8 bits, assembleur
    Par invite480f4512 dans le forum Électronique
    Réponses: 5
    Dernier message: 29/03/2011, 19h59
  4. PIC assembleur et gestion de mots de 16 bits
    Par Nico8583 dans le forum Électronique
    Réponses: 10
    Dernier message: 07/10/2009, 05h53
  5. algorithme pour decoder 4 bits en 16 flags en assembleur
    Par drache dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 16/05/2006, 18h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.