Tableau de constantes avec  adresses de labels en asm [Forums - HC908 et S08]
Tableau de constantes avec  adresses de labels en asm [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



« 1 (2) 3 4 »


Re: Tableau de constantes avec adresses de labels en asm
Régulier
Inscrit:
04/10/2010 19:32
Messages: 43
Hors Ligne
T'as donc compris pourquoi je le fait en ASM ^^

Posté le : 25/01/2012 17:09
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1495
Hors Ligne
Bon, je reprends : as tu fais un essai en C pour comparer ? Faire un projet sans init AINSI, pour pas te bouffer 400 octets d'init et dire "le C, c'est nul"

Yvan

Posté le : 25/01/2012 17:12
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Régulier
Inscrit:
04/10/2010 19:32
Messages: 43
Hors Ligne
Mon but n'était en aucun cas de faire un débat sur l'asm c'est mieux que le C. C'est absolument pas ce que je pense d'ailleurs. Ni de comparer les avantages et les inconvéniants.

Il s'agit la en l'occurance d'une grande série sur un 4k.

Mais j'ai remarqué déjà que chaque question sur l'ASM est systématiquement suivi de une ou plusieurs personnes qui répondent pourquoi tu le fais pas en C. J'ai le droit de le demander en ASM ou je vais direct mourir foudroyé ?

Posté le : 25/01/2012 17:20
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1495
Hors Ligne
Oullaaa..... Je vais pas polémiquer là dessus, mais reprendre une appli en ASM 6 mois après, c'est au moins 1/2 journée de perdu.

Tes 4k sont pleins ?

Yvan

Posté le : 25/01/2012 17:22
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Régulier
Inscrit:
04/10/2010 19:32
Messages: 43
Hors Ligne
A peut pret plein ouais :(

Posté le : 25/01/2012 17:29
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Pilier de la communauté
Inscrit:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1162
Hors Ligne
Salut,

Pour avoir bossé dans l'automobile et conçu des système prévus pour être produits en centaines de milliers voire millions d'exemplaires, je sais ce que 0.1€ peut représenter et qu'il faut se plier au HW parfois et faire avec.
Cependant même avec 4k, tu peux faire du C. J'ai utilisé un HC08QL4 et un QB8 (4 et 8K) et je codais à la fois en ASM et en C. Il y avait de l'aquisition, du traitement du signal, un protocole de communication (LIN), pas mal de calcul 32-bits le tout architecturé sur un séquenceur de tâches. Difficile à faire en ASM tout ça !
Cependant, j'avais réécris les routines maths en ASM (mul32, div64, etc qui sont publiées sur ce site) afin de gagner non pas de la place mémoire, mais de la rapidité d'exécution.

Si je me souviens bien, en 2005, je payais le QL4 quasiment le même prix que le QB8 (qui avait 4K supp.) et aux alentours de 0.8€/pièce. Le choix du QL4 avait été fait pour le périphérique LIN, mais que j'ai refais en soft sur le QB8. Le prix devient asymptotique assez rapidement (> 100 000 pièces). Pour des volumes de quelques milliers ou dizaines de milliers de pièces, on chasse rarement le centime près et souvent on se permet de rajouter quelques centimes pour avoir un MCU qui ne soit pas ricrac...

A noter que toute norme logicielle "recommande" (sous entendu c'est indispensable) d'avoir 20% de ressources CPU libres (mémoire et I/O)... Donc une appli qui démarre avec une mémoire pleine à craquer, c'est s'exposer à un risque certain de ne pas pouvoir faire évoluer le logiciel, voire apporter des corrections nécessaire ! Et d'être en marge des normes logicielles qui peuvent dans certains cas être exigées par les clients (en général le cas dans toute production en grand volume pour des raison de coût en cas de bug ou de sécurité (transports par exemple).


je ne pense pas que tu sois foudroyé sur place pour avoir utilisé de l'ASM pur, c'est juste que quelque soit l'application, même en volume, c'est inhabituel et difficilement justifiable donc on essaie de comprendre quelle contrainte peut bien t'amener à utiliser de l'ASM exclusivement.
On peut très bien optimiser parfaitement son code en C, bien sûr, il ne faut pas utiliser les fonctions en librairies que l'on ne maîtrise pas. Et, sur une fonction à coder, il est fort à parier que le compilo C saura trouver la combinaison d'instructions permettant de gagner de la place (ou du temps d'exécution) ce que l'on ne peut faire en ASM qu'en passant un temps infini à programmer et en vérifiant instruction par instruction la place mémoire et le nombre de cycles.

Ensuite d'un point de vue sureté de fonctionnement, portabilité, maintenabilité (en particulier dans les gros volumes), il y a un intérêt à utiliser un langage plus évolué.

Maintenant, chacun fait comme il veut/peut en fonction de ses contraintes et ses goûts, mais par expérience, le C ou ASM+C dans les applications critiques en timing, permet de faire généralement mieux qu'en ASM et ce sur tous les fronts !

Stéphane

Posté le : 26/01/2012 10:20
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1924
Hors Ligne
Salut

Pour ma part je n'ai pas l'expérience et les expériences de Stephane, ni les compétences, ni... bref

Mais j'avais à une époque fait un driver pour gérer une communication à fond la caisse entre une mémoire parallèle et un FT245 de FTI pour l'usb.
Je l'avais d'abord codé en ASM en respectant à minima les chronogrammes des 2 composants.
Plus tard, pour apprendre à coder en C, j'ai recodé le même programme en C. La partie driver était donc ultra simple, avec des opérations successives sur des bits de contrôle des 2 composants.
J'avais l'impression d'avoir codé strictement le même chronogramme et pourtant le compilo avait fait que au final le débit de transfert de ma mémoire par l'usb avait grimpé de 15% !
Je n'ai jamais pris le temps de comprendre ce que le C avait compilé pour faire ca plus vite mais j'en était tombé sur le .ul !...et la partie de code concernée était pourtant facile à suivre en ASM, on était loin des 4K de code !



Posté le : 26/01/2012 19:09
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Intéressé
Inscrit:
26/10/2011 12:49
De 97420 LE PORT
Messages: 34
Hors Ligne
Bonjour M. Charly,

Effectivement c'est très surprenant, c'est comme si on disait que la trottinette (le C) allait plus vite qu'une voiture (l'asm). C'est théoriquement impossible puisque le C est incompréhensible par le µC et qu'il doit être traduit en instructions asm avant d'être mis dans la mémoire de programme, le résultat étant d'ailleurs généralement lamentable.
Si vous trouvez le temps, il serait très intéressant que vous désassembliez le programme objet issu du C. Il y a un mystère là-dessous.
.....
Cordialement
pont

Posté le : 30/01/2012 04:39
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Intéressé
Inscrit:
26/10/2011 12:49
De 97420 LE PORT
Messages: 34
Hors Ligne
Bonjour M. Ybourne,
.
Vous évoquiez le fait de "passer des mois à programmer des fonctions" en asm, et justement dans le temps, il y avait des livres donnant des développements limités d'un tas de fonctions mathématiques, où trouver ce genre de livre très fondamental en asm?
.
Il n'est pas anormal de programmer des fonctions en asm, Ritchie l'a forcément fait !
Cordialement
pont

Posté le : 30/01/2012 06:53
Transférer la contribution vers d'autres applications Transférer


Re: Tableau de constantes avec adresses de labels en asm
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1924
Hors Ligne
Citation :

pont a écrit :
C'est théoriquement impossible [...] Il y a un mystère là-dessous.

Bonjour
Oui il y a un mystère mais non ce n'est pas impossible, c'est même logique à mes yeux.

Quand on programme dans n'importe quel langage, et à fortiori quand on programme avec un langage peu lisible comme l'asm, on cherche, on a besoin de structurer notre programme pour le rendre plus lisible, plus structuré, plus intelligible par nos neurones forts imaginatifs mais pas très vifs.

Le compilateur n'est pas imaginatif du tout mais il a en contrepartie ; d'une part une capacité d'itération infinie et d'autre part une parfaite connaissance de l'asm, du C, des différents modes d'adressages et de toutes les optimisations possibles et inimaginables.
Dans mon cas, il a sorti du langage machine (de l'asm en pas français) totalement illisible et destructuré mais bigrement plus performant que celui que j'avais codé pour pouvoir garder un minimum de lisibilité sur ce que je codais.

Sur des bouts de fonction bien précis et courts l'asm vaut peut être le coup mais pour un gros programme je n'y crois pas. Principalement parce que le grand programme en asm rendra le petit bout qui a besoin d’être rapide moins lisible, perdu au milieu du reste, et donc moins optimisé.





Posté le : 30/01/2012 07:55
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
« 1 (2) 3 4 »



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

Tableau de constantes avec adresses de labels en asm [Forums - HC908 et S08]