Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

passer de mid-range à extended mid-range
JJE
Passioné
Passioné
Messages : 335
Âge : 78
Enregistré en : novembre 2017
Localisation : Picardie

#1 Message par JJE » mer. 10 avr. 2019 11:02

Bonjour à tous,
Je n'ai jamais utilisé que des Pic Mid-Range".
Est-il fondé de dire que si l'étiquette "BSR" est définie on est face à un "extended Mid-Range" ou y a-t-il un moyen plus élégant ?

Le code suivant pour une macro permettant de passer en banque 1:

Code : Tout sélectionner


    ifndef    BSR
BANK1 macro
        bcf    STATUS
, RP1
        bsf    STATUS
, RP0
    endm
    else
BANK1 macro
        movwb    .1
    endm
    endif

définirait alors une macro BANK1 portable entre les deux types de Pics
ou celui-ci, encore mieux :

Code : Tout sélectionner


BANK1 macro
  ifndef    BSR
        bcf    STATUS
, RP1
        bsf    STATUS
, RP0
    else
        movwb    .1
    endif
    endm

Merci
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

passer de mid-range à extended mid-range
Claudius
Avatar de l’utilisateur
Amateur
Amateur
Messages : 194
Âge : 64
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#2 Message par Claudius » mer. 10 avr. 2019 11:49

Bonjour JJE et à tous,

C'est exactement cela :-) ... je vois que les neurones fonctionnent bien :geek:

La famille Enhanced Mid-Range accueille effectivement des registres et des instructions supplémentaires @ à la famille Mid-range

En particulier, le nouveau registre BSR de la famille Enhanced Mid-Range permet de "sauter" d'un bank à un autre et ce en une seule instruction au lieu de 2 pour la famille Mid-range

Cf. Instructions PIC16 (Enhanced Mid-Range) qui décrit ces instructions suppémentaires...

NB: Chez moi, La syntaxe avec GPASM pour affecter un bank à BSR est plutôt MOVLB k au lieu de MOVWB k

passer de mid-range à extended mid-range
JJE
Passioné
Passioné
Messages : 335
Âge : 78
Enregistré en : novembre 2017
Localisation : Picardie

#3 Message par JJE » mer. 10 avr. 2019 12:19

Bonjour Claudius, merci de me rassurer et merci pour ce lien.
Je suis surpris de ne pas voir pris en considération ce soucis de portabilité, en général quand quelqu'un donne un bout de code, c'est ciblé pour un pic particulier alors que pour pas beaucoup plus cher, on peut le cibler pour toute une famille. Jusqu'à maintenant, je ne travaillais que pour des mid-range, je crois que, au prix de réécrire les macros de changement de banque, beaucoup de ce que j'ai déjà écrit sera utilisable sur les deux familles.
Il est vrai que ça coûte un peu de code si on veut être très général.
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

passer de mid-range à extended mid-range
Claudius
Avatar de l’utilisateur
Amateur
Amateur
Messages : 194
Âge : 64
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#4 Message par Claudius » mer. 10 avr. 2019 12:45

... D'autant plus que certains PICs comme le PIC16(L)F1826/27 de la famille Enhanced Mid-Range est strictement compatible broche à broche avec le classique PIC16F627A/628A/648A de la famille Mid-Range...

De plus, certains compilateurs C ne prennent même pas en compte ces instructions supplémentaires avec lesquelles le code assembleur généré peut être divisé par 2 voire plus :eek:


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités