Erreur de Test, disassembly check... [Forums - HC908 et S08]
Erreur de Test, disassembly check... [Forums - HC908 et S08]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes





Erreur de Test, disassembly check...
Accro
Inscrit:
06/07/2007 09:17
Messages: 694
Hors Ligne
Salut à tous. Et oui me revoilà ^^
On reviens toujours aux bonnes choses :)

Bon Mon problème.
Je doit analyser du code pour HCS08DZ128, qui compare un define et des variables statiques car il y a un défaut dans l’exécution:

if( _f32Led1 FROZEN_SIGNAL_LIMIT &&    \
        _f32Led2 
FROZEN_SIGNAL_LIMIT &&\
        _f32Led3 
FROZEN_SIGNAL_LIMIT &&    \
        _f32Led4 
FROZEN_SIGNAL_LIMIT &&    \
        _f32Led5 
FROZEN_SIGNAL_LIMIT && \
        _f32Led1Ref 
FROZEN_SIGNAL_LIMIT && \
        _f32Led2Ref 
FROZEN_SIGNAL_LIMIT && \
        _f32Led3Ref 
FROZEN_SIGNAL_LIMIT && \
        _f32Led4Ref 
FROZEN_SIGNAL_LIMIT && \
        _f32Led5Ref 
FROZEN_SIGNAL_LIMIT)

(no coment pour les \ en fin de ligne... )

Cependant, je doute du code assembleur généré

1090:     if( _f32Led1 FROZEN_SIGNAL_LIMIT &&    \
000020E2 450000   LDHX   
#f32Led1
000020E5 CD0000   JSR    FCMP_RC
000020E8 44       LSRA   
000020E9 7A       DEC    
,X
000020EA 000024   BRSET  0
,0x00,*+39       ;abs 0x2111
000020ED 2E45     BIL    
*+71       ;abs 0x2134
000020EF 0000CD   BRSET  0
,0x00,*-48       ;abs 0x20BF
000020F2 000044   BRSET  0
,0x00,*+71       ;abs 0x2139
000020F5 7A       DEC    
,X
000020F6 000024   BRSET  0
,0x00,*+39       ;abs 0x211D
000020F9 2245     BHI    
*+71       ;abs 0x2140
000020FB 0000CD   BRSET  0
,0x00,*-48       ;abs 0x20CB
000020FE 000044   BRSET  0
,0x00,*+71       ;abs 0x2145
00002101 7A       DEC    
,X
00002102 000024   BRSET  0
,0x00,*+39       ;abs 0x2129
00002105 79       ROL    
,X
00002106 450000   LDHX   
#f32Led4
00002109 CD0000   JSR    FCMP_RC
0000210C 44       LSRA   
0000210D 7A       DEC    
,X
0000210E 000024   BRSET  0
,0x00,*+39       ;abs 0x2135
00002111 6D45     TST    69
,X
00002113 0000CD   BRSET  0
,0x00,*-48       ;abs 0x20E3
00002116 000044   BRSET  0
,0x00,*+71       ;abs 0x215D
00002119 7A       DEC    
,X
0000211A 000024   BRSET  0
,0x00,*+39       ;abs 0x2141
0000211D 614500   CBEQ   69
,X+,*+3       ;abs 0x2120
00002120 00CD00   BRSET  0
,0xCD,*+3       ;abs 0x2123
00002123 00447A   BRSET  0
,0x44,*+125       ;abs 0x21A0
00002126 000023   BRSET  0
,0x00,*+38       ;abs 0x214C
00002129 5545     LDHX   0x45
0000212B 0000CD   BRSET  0
,0x00,*-48       ;abs 0x20FB
0000212E 000044   BRSET  0
,0x00,*+71       ;abs 0x2175
00002131 7A       DEC    
,X
00002132 000023   BRSET  0
,0x00,*+38       ;abs 0x2158
00002135 49       ROLA   
00002136 450000   LDHX   
#f32Led3Ref
00002139 CD0000   JSR    FCMP_RC
0000213C 44       LSRA   
0000213D 7A       DEC    
,X
0000213E 000023   BRSET  0
,0x00,*+38       ;abs 0x2164
00002141 3D45     TST    0x45
00002143 0000CD   BRSET  0
,0x00,*-48       ;abs 0x2113
00002146 000044   BRSET  0
,0x00,*+71       ;abs 0x218D
00002149 7A       DEC    
,X
0000214A 000023   BRSET  0
,0x00,*+38       ;abs 0x2170
0000214D 314500   CBEQ   0x45
,*+3       ;abs 0x2150
00002150 00CD00   BRSET  0
,0xCD,*+3       ;abs 0x2153
00002153 00447A   BRSET  0
,0x44,*+125       ;abs 0x21D0
00002156 000023   BRSET  0
,0x00,*+38       ;abs 0x217C
00002159 2545     BCS    
*+71       ;abs 0x21A0
0000215B 0000CD   BRSET  0
,0x00,*-48       ;abs 0x212B
0000215E 000041   BRSET  0
,0x00,*+68       ;abs 0x21A2
00002161 70       NEG    
,X
00002162 000024   BRSET  0
,0x00,*+39       ;abs 0x2189
00002165 0CA609   BRSET  6
,0xA6,*+12       ;abs 0x2171


Si je sépare bien chaque test dans des IF distinct, je voie bien en asm les différentes étapes.

Qqun peut-il me confirmer que l'asm execute bien tous les tests?

Merci d'avance :)

Posté le : 18/08/2015 08:54
Transférer la contribution vers d'autres applications Transférer


Re: Erreur de Test, disassembly check...
Administrateur
Inscrit:
24/09/2005 12:24
Messages: 290
Hors Ligne
Bonjour

Je ne suis pas en capacité de répondre mais il est fort probable que le site coupe avant que quelqu'un ait pu le faire, je suis désolé...

Posté le : 18/08/2015 12:10
Petitours ne deviendra jamais grand... il est au service de la communauté mais il n'y participera jamais.
Transférer la contribution vers d'autres applications Transférer


Re: Erreur de Test, disassembly check...
Accro
Inscrit:
06/07/2007 09:17
Messages: 694
Hors Ligne
Bon, j'ai fais une série de test, et le code semble bien fonctionner...
C'est juste que, ne voyant pas tous les tests j'avais des doutes.
Mais l'optimisation du compilo fait son travail ;)

Je suis loin d'être expert en asm, mais quand je voyais
000020ED 2E45     BIL    *+71

Et dans la datasheet:
Citation :
Branch if IRQ Pin Low (if IRQ pin = 0)


Je trouvais tres étrange le check de la pin IRQ :/

Posté le : 20/08/2015 08:57
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Erreur de Test, disassembly check... [Forums - HC908 et S08]