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

pointeur sfr
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#1 Message par JMarc » mar. 22 nov. 2016 20:37

Bonjour

utiliser le pointeur sfr :shock:

J'ai compris l'utilité de l'adressage avec le pointeur sfr avec l'exemple de l'effacement de la mémoire

Code : Tout sélectionner

    MOVLW    DRAM
     MOVWF   FSR
Effa   CLRF    INDF
     INCF    FSR
,F         ;RAZ RAM
     BTFSS    FSR
,7
     
GOTO    Effa


cela évite d'effacer la variable qui aurai servi de compteur

Je cherche un autre exemple pour arriver a comprendre son utilisation :cry:

merci

pointeur sfr
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#2 Message par Guest » mer. 23 nov. 2016 19:39

JMarc a écrit :Bonjour

utiliser le pointeur sfr :shock:

J'ai compris l'utilité de l'adressage avec le pointeur sfr avec l'exemple de l'effacement de la mémoire

Code : Tout sélectionner

    MOVLW    DRAM
     MOVWF   FSR
Effa   CLRF    INDF
     INCF    FSR
,F         ;RAZ RAM
     BTFSS    FSR
,7
     GOTO    Effa


cela évite d'effacer la variable qui aurai servi de compteur

Je cherche un autre exemple pour arriver a comprendre son utilisation :cry:

merci


c'est un bon exemple pour assimiler le point FSR

Code : Tout sélectionner


cela évite d
'effacer la variable qui aurai servi de compteur


NON il y a certes une notion de compteur mais pas au sens ou on l'habitude de l'entendre.
Les 2 premières lignes ,chargent l'adresse de la variable ici DRAM (L) littérale, qui si je me souviens bien est la 1er adresse de la banque zéro soit 0x20 donc FSR contient 0x20

la 3 eme ligne efface le contenu du pointeur cela peut se traduire, efface le contenu de l'adresse du pointeur contenu dans FSR
SFR contient 0x20 donc efface le contenu de 0x20 l'adresse 0x20 sera égale a zéro

la 5eme ligne incrémente le contenu de FSR , FSR= 0x20 '+1' ->FSR=0x21

si l'on fait CLRF INDF cela nous ramène a la ligne mais pas sur 0x20 mais sur 0x21 donc on efface 0x21 etc...

Pour un autre exemple, on va prendre les variables temps du décompteur 7segments c'est plus direct :wink:

Les variables:
ComptSu res 1 ;comteur seconde
ComptSd res 1
ComptMu res 1 ;compteur minute
ComptMd res 1


Pour que cela fonctionne, il faut quand même une seule contrainte, c'est que c'est variables se suivent c'est le cas dans le décompteur

Alors dans un premier temps on va voir uniquement le fonctionnement du déplacement avec incrémentation

-Il faut charger le pointeur de la 1er variable ici ComptSu

Code : Tout sélectionner

    MOVLW    ComptSu
    MOVWF    FSR


on charge bien l'adresse de ComptSu dans W car si on voulait charger son contenu dans W on aurait fait

Code : Tout sélectionner

MOVFW        ComptSu

si l'on fait

Code : Tout sélectionner

INCF    FSR

le pointeur ne sera plus sur ComptSu mais sur ComptSm c'est la même chose d'avec l'adresse 0x20 qui passe a 0x21

et de même a chaque INCF SFR on passe a l'adresse suivante.

Voila pour le déplacement, maintenant comment modifier le contenu du pointeur donc le contenu dans notre 1er cas de ComptSu

pointeur SFR sur ComptSu
si je fais

Code : Tout sélectionner

    MOVLW        'A'
    MOVWF    INDF


cela veut dire charge w de la lettre A puis charge le contenu de W dans l'adresse pointer par SFR donc le contenu de l'adresse ComptSu et elle contiendras 'A'

Voila les pointeurs

si question ......

pointeur sfr
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#3 Message par JMarc » lun. 28 nov. 2016 19:49

Bonjour Maï

ca fait plus de code si je fais avec le pointeur

Code : Tout sélectionner

;    decf    ComptSu,f
;
;
    movfw   ComptSu
;    iorwf   ComptSd,w
;    iorwf   ComptMu,w
;    iorwf   ComptMd,w   ; addition
;    btfsc   STATUS,Z    ; test si 0
;    goto    BouP0

    movlw   ComptSu     
; Chargement du pointeur sur la premiere variable
    movwf   FSR
    movfw   INDF        
; Chargement de la source dans w
    incf    FSR         
; variable suivante
    iorwf   INDF
,w
    incf    FSR
    iorwf   INDF
,w
    incf    FSR
    iorwf   INDF
,w
    btfsc   STATUS
,Z
    goto    BouP0


Suis-je dans la bonne voie ?

pointeur sfr
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#4 Message par Guest » mar. 29 nov. 2016 08:25

Bonjour JMarc
JMarc a écrit :
Suis-je dans la bonne voie ?


NON petit état des lieux du fil viewtopic.php?f=11&t=343

Afficheur ->manque la sélection du digit(clignotement)
Décomptage -> presque fini Sauf petit probleme qui compte 1 seconde de trop
BP-> module a faire et c'est la que le pointeur doit intervenir
Alarme-> perso pas commencé car suivant besoin et j'ai pas de besoin :wink: (simple LED)

Allez un 2eme couche sur les pointeurs

FSR contient la variable à pointer
INDF te permet soit de lire soit d’écrire dans cette variable

le BP plus va s'occuper de INDF(incrémenter la variable)
le BP validation(sélection)lui de FSR (changer de variables)

ATTENTION ici c'est uniquement des variables ne pas oublier que tu as l'affichage qui lui va être soumis a cette sélection
Allez ->une nouvelle variable INDEX avec petit déplacement a gauche a chaque nouvelle sélection

Reste plus que les butées a régler(facile pour la sélection)

A+

PS la amha un organigramme est plus que nécessaire car ici c'est simple on est toujours en programmation du temps

bon la, compte a rebours -1 semaine :lol:

pointeur sfr
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#5 Message par JMarc » mar. 29 nov. 2016 11:22

Bonjour

Aller, mes premiers essais d'organigramme pour la section Bp

Image

pointeur sfr
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#6 Message par Guest » mar. 29 nov. 2016 12:55

je ne sais pas, mais moi je vois comme ca :wink:
organigram.png


A+

PS si plus info pas de probleme
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

pointeur sfr
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#7 Message par JMarc » mar. 29 nov. 2016 13:10

Mais comment on sort avec ton organigramme ?

Je prend note du tien mais nous avons l'air d'avoir la même idée :wink:

pointeur sfr
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#8 Message par Guest » mar. 29 nov. 2016 13:44

JMarc a écrit :Mais comment on sort avec ton organigramme ?
et pourquoi tu veux en sortir :sifflotte:

Afficheur -> c'est l'int du timer0 qui fait le boulot
nous ont doit modifier les variables temps avec les BP
-Validation pour la sélection
-BP+ pour incrémentation de la variable.(je te passe le controle des butées)

C'est ce que l'on fait dans notre boucle. c'est CA LA PROGRAMMATION TEMPS

Cette boucle est ton interface HOMME MACHINE il faut que le module afficheur, nous rende la main une fois le travail effectue c'est ce que fait le timer0 il nous rend la main pour 1ms.
Apres toujours dans notre boucle on va mettre en service le décompteur.(c'est pas dans l'organigramme) :sifflotte:
il en sera de même pour le décompteur, qui nous rendra la main toute le 9/10 int du timer1 afin de l'arrêter par exemple si problème

A+

PS tu vois la aussi un bon organigramme pour structurer un peu tout cela ne serait pas de trop, ou alors notre cahier des charges un peu plus détaillé

pointeur sfr
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#9 Message par JMarc » mar. 29 nov. 2016 17:14

maï a écrit :Bonjour JMarc
JMarc a écrit :
Suis-je dans la bonne voie ?


NON petit état des lieux du fil viewtopic.php?f=11&t=343



Le lien me renvoi au post 1 et le fil s'arrête a 122. Il n'y a pas de post 343

je te remercie du temps que tu passes a m'expliquer et je suis désolé de ne rien comprendre :cry:

Jean-Marc perdu :mur:

pointeur sfr
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#10 Message par Guest » mar. 29 nov. 2016 17:25

c'est pas pour toi, c'est pour ce qui nous lisent car on parle du pointeur FSR en rapport avec notre cuiseur d’œuf qui est ici viewtopic.php?f=11&t=343
le 343 n'a rien a voir avec le N° du post :sifflotte:
Donc si tu veux bien reprenons notre pointeur avec valid pour FSR et INDF pour BP+ tu en es ou avec cela ????? tu as l'organigramme un peu plus haut.


Retourner vers « Langage ASM »

Qui est en ligne

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