Temps d'exécution
azwaa
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir ;
Je voudrais bien savoir comment je peux calculer le temps d'exécution de la boucle
pouvez vous m'aider s'il vous plait ?!
Merci d'avance
Je voudrais bien savoir comment je peux calculer le temps d'exécution de la boucle
Compteur EQU $30
Somme EQU S31
ORG 0000
Goto start
start
ORG 0005
clrf Somme
movlw 06 ;
movwf Compteur ;
boucle
movf PORTB,w ;
addwf somme,f ;
decfsz compteur,f ;
goto boucle
pouvez vous m'aider s'il vous plait ?!
Merci d'avance
A voir également:
- Temps d'exécution
- Renommer plusieurs fichiers en même temps - Guide
- Temps pour soi iphone - Guide
- Combien de temps reste une story sur facebook - Guide
- Mode Concentration sur iPhone : pour ne pas être dérangé - Guide
- Family link le temps ne correspondent pas - Forum Contrôle parental
5 réponses
Bonjour
Avec une large famille de PIC, c'est simple. Je pense que tu es dans ce cas :
- l'horloge système a une fréquence 1/4 de celle de l'oscillateur
- une instruction sans saut du compteur de programme dure 1 top d'horloge
- une instruction avec saut du compteur de programme (GOTO, DECFSZ si la condition est remplie) dure 2 tops d'horloge
Tu n'as qu'à mettre en face de chaque instruction sa durée et le nombre de fois qu'elle est exécutée, en étant prudent avec le DECFSZ qui est un peu spécial.
Remarque : tu es sûr que l'étiquette START est bien placée avant le ORG 0005 ? Moi, je l'aurais mise après.
Avec une large famille de PIC, c'est simple. Je pense que tu es dans ce cas :
- l'horloge système a une fréquence 1/4 de celle de l'oscillateur
- une instruction sans saut du compteur de programme dure 1 top d'horloge
- une instruction avec saut du compteur de programme (GOTO, DECFSZ si la condition est remplie) dure 2 tops d'horloge
Tu n'as qu'à mettre en face de chaque instruction sa durée et le nombre de fois qu'elle est exécutée, en étant prudent avec le DECFSZ qui est un peu spécial.
Remarque : tu es sûr que l'étiquette START est bien placée avant le ORG 0005 ? Moi, je l'aurais mise après.
re-bonjour ;
J'ai oublié de précisé la famille de PIC . c'est 16FF84 ;
on a Fosc=20 Mhz alors 1cycle=4*T=200 ns
-une instruction sans saut du compteur de programme dure 1 top d'horloge
- une instruction avec saut du compteur de programme (GOTO, DECFSZ si la condition est remplie) dure 2 tops d'horloge
ça donne :
1+6*(2+6) =48 cycles
c'est ça le résultat ?
J'ai oublié de précisé la famille de PIC . c'est 16FF84 ;
on a Fosc=20 Mhz alors 1cycle=4*T=200 ns
start
ORG 0005
clrf Somme
movlw 06 ;
movwf Compteur ;
boucle
movf PORTB,w ;
addwf somme,f ;
decfsz compteur,f ;
goto boucle
-une instruction sans saut du compteur de programme dure 1 top d'horloge
- une instruction avec saut du compteur de programme (GOTO, DECFSZ si la condition est remplie) dure 2 tops d'horloge
ça donne :
1+6*(2+6) =48 cycles
c'est ça le résultat ?
Je ne sais pas d'où tu sors ta formule. Tu n'as sûrement pas mis la durée d'exécution en face de chaque instruction.
De plus, 1+6*(2+6), ça ne fait pas 48.
De plus, 1+6*(2+6), ça ne fait pas 48.
oui justement ; j'ai besoin la formule pour la calculer
j'ai fait comme ça :
-une instruction sans saut du compteur de programme dure 1 top d'horloge (1cycle (l'instruction va répéter 6 fois )
- une instruction avec saut du compteur de programme (GOTO, DECFSZ si la condition est remplie) dure 2 tops d'horloge (et là on a 2 cycle de méme elles vont répéter 6 fois )
stp comment je peux trouver la résultat stp ?
j'ai fait comme ça :
-une instruction sans saut du compteur de programme dure 1 top d'horloge (1cycle (l'instruction va répéter 6 fois )
- une instruction avec saut du compteur de programme (GOTO, DECFSZ si la condition est remplie) dure 2 tops d'horloge (et là on a 2 cycle de méme elles vont répéter 6 fois )
stp comment je peux trouver la résultat stp ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question