Code:saut1 BANK0 btfsc PORTA,0 goto saut2 goto saut1 saut2 BANK0 movf PORTA,w movwf MP1 saut3 BANK0 btfss PORTA,0 goto saut4 goto saut3 saut4 BANK0 btfsc PORTA,0 goto saut5 goto saut4 saut5 BANK0 movf PORTA,w movwf MP2 return
-----
Code:saut1 BANK0 btfsc PORTA,0 goto saut2 goto saut1 saut2 BANK0 movf PORTA,w movwf MP1 saut3 BANK0 btfss PORTA,0 goto saut4 goto saut3 saut4 BANK0 btfsc PORTA,0 goto saut5 goto saut4 saut5 BANK0 movf PORTA,w movwf MP2 return
Dernière modification par gienas ; 16/03/2014 à 19h17. Motif: Ajouté les balises code obligatoires pour les programmes
un asm qui :
1) ne précise pas le processeur cible
2) n'est pas commenté...
c'est comme les hiéroglyphes SANS la pierre de Rosette.
Bonjour
Commentaires, indentations.
Manque aussi le contexte quel up ?
C'est comme un exercice en école d'ingé ou ailleurs il faut être précis.
cdlt
merci pr vos commentaire , tt ce que je sais c un programme pr modifier un mot de passe , si l'utilisateur entre '11' c bon sinon il va refaire la demande
on écrit en SMS dans les écoles d’ingénieurs ?...
tout se perd ma bonne dame
dsl mais je t'ai pas compris
i ve dir ke ta kom è pa teribl
Seuls les faucons volent. Les vrais restent au sol.
Bonsoir à toi aussi eleve.ing, et à tout le groupe
Le langage SMS n'est pas admis par la charte, c'est inscrit explicitement, c'est pour respecter les intervenants.
Autre règle inscrite dans la charte: on doit dire bonjour en arrivant.
Bien entendu, tout cela ne sert à rien, comme chacun le sait. Il n'y a qu'ici que cela attire les réponses pertinentes.
Dernière modification par gienas ; 16/03/2014 à 18h37.
D'ailleurs ce n'est pas un programme, mais un sous programme. Voir le return à la fin.
Seuls les faucons volent. Les vrais restent au sol.
bonjour , oui exactement c'est une partie du programme , comme j'ai déjà dis ds l'algorithme cette partie concerne la modification d'un mot de passe , si l'utilisateur entre '11' c oui sinn il va retourner jusqu’à ce que l'utilisateur entre un ''11
J'ai essayer d'aider un peux...
Code:saut1 BANK0 btfsc PORTA,0 'Si PORTA0 est à 0, on saute l'instruction suivante. goto saut2 'Saut à saut2 goto saut1 'saut à saut1 saut2 BANK0 movf PORTA,w 'sauve l'état de PORTA dans W movwf MP1 'sauve l'éta de W dans la variable MP1 saut3 BANK0 btfss PORTA,0 'Si PORTA0 est à 1, on saute l'instruction suivante. goto saut4 'saut à saut4 goto saut3 'saut à saut3 saut4 BANK0 btfsc PORTA,0 'Si PORTA0 est à 0, on saute l'instruction suivante. goto saut5 'saut à saut5 goto saut4 'saut à saut4 saut5 BANK0 movf PORTA,w 'sauve l'état de PORTA dans W movwf MP2 'sauve l'état de W dans la variable MP2 return
Dernière modification par gienas ; 16/03/2014 à 19h15. Motif: Ajouté les balises code
Il manque toujours la cible, le micro dont tu donnes l'asm.
Il manque aussi des définitions de variables.
Je note des incohérences inexplicables: deux goto consécutifs (et inconditionnels). C'est probablement pour piéger quelqu'un.
Il est fait appel à des sauts (goto) dont les codes ne sont pas donnés.
Grillé par mgduc.
Les balises codes sont obligatoires pour la lisibilité. Je vais les ajouter.
Dernière modification par gienas ; 16/03/2014 à 19h13.
merci beaucoup mais ce que j'ai compris de ce programme qu'il stock '00' ds mot de passe 1 et 2 , alors que ds l'algorithme le mot de passe c '11'
gienas vous parlez de quels codes , dsl mais je suis débutante en pic et je comprends pas de koi tu parles , je vois que tt les sauts sont bien définis
au bout du 14'iéme message , on sait ENFIN que c'est le l' ASM Microchip !
ne désespérons pas....
A chaque fois le premier saut est précédé de "btfsc" : Si le bit numéro b de f est à 0, l'instruction suivante est ignorée et traitée comme un NOP.
ou
btfss Si le bit numéro b de f est à 1, l'instruction suivante est ignorée et traitée comme un NOP.
Seuls les faucons volent. Les vrais restent au sol.
Ce sont des balises (outil # de l'éditeur de message), que j'ai ajouté, y compris dans ton premier message. Cela améliore/facilite la lisibilité des programmes.
Je le vois en effet maintenant. Pardon.
Par contre, je ne m'explique pas les doubles goto successifs dont le second n'est jamais accessible.
Pour l'écriture des programmes sources, les étiquettes, "repères" dans les programmes, devraient commencer à la première colonne, et les instructions à la huitième (à une tabulation). Ainsi, toutes les étiquettes sont immédiatement repérables, et toutes les instructions aussi.
N'est-il pas prévu des ":" après les étiquettes et des ";" après chaque instruction?
Merci de ne pas s'obstiner à utiliser le langage SMS ou abrégé. C'est crispant.
Édit: encore grillé, mais on progresse.
Dernière modification par gienas ; 16/03/2014 à 19h41.
Je le re-rédige car mon français n'était pas très clair :
A chaque fois le premier saut est précédé de "btfsc" ou btfss :
btfsc ===> si le bit numéro b de f est à 0, l'instruction suivante est ignorée et traitée comme un NOP.
btfss ===> si le bit numéro b de f est à 1, l'instruction suivante est ignorée et traitée comme un NOP.
Seuls les faucons volent. Les vrais restent au sol.
Je le re-rédige car ce n'était pas très clair :
A chaque fois le premier saut est précédé de "btfsc" ou "btfss" :
btfsc ===> Bit test f, skip if clear ===> si le bit numéro b de f est à 0, l'instruction suivante est ignorée et traitée comme un NOP.
btfss ===> Bit test f, skip if set ===> si le bit numéro b de f est à 1, l'instruction suivante est ignorée et traitée comme un NOP.
PS : j'ai foiré avec la flèche arrière. SVP, effacez le message précédent.
Dernière modification par f6exb ; 16/03/2014 à 20h40.
Seuls les faucons volent. Les vrais restent au sol.
Salut,
Attention à la charte...fais l'effort d'écrire en français, pas en langage SMS comme cela te l'a déjà été demandé sans quoi ton sujet va être fermé..
a+
Bonjour.
Code de ??? restons poli, débile!
Faire des 'goto' qui partent en dehors d'une routine est suicidaire. La pile risque d'être bientôt saturée? m'enfin... Comme on ne nous dit pas tout (de surcroît en sms!), on n'y voit pas très clair.
Je sais parfaitement qu'en assembleur il est difficile d'éviter cette instruction, mais il existe des instructions comme le 'call' (ou équivalent, suivant l'assembleur utilisé) qui permettent de l'éviter, d'exécuter une sub-routine sans sortir de la principale.
Mais ça, c'est trop trivial pour des 'ingé'.... (qui probablement ne verront plus jamais ultérieurement une ligne de code).
A+
Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.
Les "goto" ne partent pas en dehors de la routine. Il s'agit ici d'un seul sous-programme avec le "return" à la fin. Donc les sauts sont internes à cette routine.
Seuls les faucons volent. Les vrais restent au sol.
Mille excuses....
j'ai lu trop vite
Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.