GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
+11
dlfrsilver
Henry 152
Alfaccc
Atari Frog
tapomag
drfloyd
touko
Yastuna Lynx
Jacques Atari
rocky007
youki
15 participants
Page 29 sur 29
Page 29 sur 29 • 1 ... 16 ... 27, 28, 29
Re: GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
En fait on code de moins en moins en ASM depuis les gens 32 bits, aujourd'hui on en fait plus, les compilos étant tellement performants que cela n'est plus utile .Si vous pensez que l'assembleur a encore un intérêt d'optimisation de nos jours, allez voir ce qu'un compilo moderne génère sur un design pattern (voir godbolt.org , par exemple).
L'ASM est juste essentiel pour les machines max 16 bits, pour des raisons et de perfs, et de contrôle du hardware au plus près, mais ça demande de bien connaitre la machine hôte et ce que tu fais car tu n'as aucune abstraction hardware, faut tout faire à la mano si tu pars de 0 .
touko- Infirmier
- Nombre de messages : 3055
Date d'inscription : 06/06/2023
Re: GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
le langage utilisé ne fait malheureusement pas le talent du codeur. ça peut faire illusion dans un bar retrogaming, mais sans plus.
par exemple : une boucle dégueulasse de 600 tests collisions en assembler se fera ridiculiser par une routine optimisée en C.
par exemple : une boucle dégueulasse de 600 tests collisions en assembler se fera ridiculiser par une routine optimisée en C.
le code ne se limite pas aux ordinateurs tu sais l'asm est encore très utile et utilisé. ex : les microcontrôleurs qui ont des ressources limitées, l'assembleur est un véritable atout. Il permet d'optimiser à la fois les performances pures et l'efficacité énergétique, ce qui est crucial pour les appareils embarqués ou les objets connectés.L'ASM est juste essentiel pour les machines max 16 bits, pour des raisons et de perfs, et de contrôle du hardware au plus près, mais ça demande de bien connaitre la machine hôte et ce que tu fais car tu n'as aucune abstraction hardware, faut tout faire à la mano si tu pars de 0 .
rocky007- Interne
- Nombre de messages : 9275
Age : 50
Date d'inscription : 29/01/2011
Re: GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
Déjà à l'époque du DOS, il valait mieux un compilo C avec un dos extender (mécanisme de gestion mémoire pour s'affranchir de la segmentation 16 bits) plutôt que de tout faire en assembleur avec gestion granulaire des registres de segments.
J'avais pu comparer entre un éditeur de texte écrit en C avec dos extender, et un éditeur écrit en assembleur. Le premier était beaucoup plus performant dès que les fichiers avaient une taille dépassant celle d'un segment 16 bits. Pourtant ce n'était que du C.
Des mauvais codeurs asm , il y en a des tas, et ça se voit rapidement.
Mieux vaut maîtriser les algorithmes de base quand on veut tout faire soi-même. Et celui qui maîtrise les algos de base sait où les chercher dans la lib standard de son langage fétiche, pas besoin d'assembleur.
La seule utilisation légitime de l'assembleur dernièrement se trouvait dans le SIMD (sortie multiple sur un seul input, SSE , AVX ou shaders par exemple). Mais c'est bien intégré dans les langages de haut niveau. Attention à bien appeller la fonction multiplexée par contre, sinon ça marche moins bien
Pour les microcontroleurs, je serais surpris qu'ils n'aient pas au moins une micro-libc avec de I/O macrotés permettant d'éviter de sortir le compilateur à tout bout de champ. J'ai des copains qui s'amusent avec des ESP32, ils font tout avec Lua et ne sortent jamais l'assembleur (un peu de C pour les cas difficiles). Ils sont pourtant tout à fait capable d'écrire de l'assembleur, mais c'est juste que c'est ε sur un projet.
Ça n'empêche pas qu'il est amusant d'écrire de l'assembleur (à part du Z80, cette punition).
Il ne faut pas compter dessus pour obtenir des performances magiques. Il vaut mieux tout écrire en C, repérer ce qui rame, et réécrire cette partie en assembleur une fois le programme C écrit.
Ça permet de s'arrêter dès que l'objectif de performances est atteint :)
J'avais pu comparer entre un éditeur de texte écrit en C avec dos extender, et un éditeur écrit en assembleur. Le premier était beaucoup plus performant dès que les fichiers avaient une taille dépassant celle d'un segment 16 bits. Pourtant ce n'était que du C.
Des mauvais codeurs asm , il y en a des tas, et ça se voit rapidement.
Mieux vaut maîtriser les algorithmes de base quand on veut tout faire soi-même. Et celui qui maîtrise les algos de base sait où les chercher dans la lib standard de son langage fétiche, pas besoin d'assembleur.
La seule utilisation légitime de l'assembleur dernièrement se trouvait dans le SIMD (sortie multiple sur un seul input, SSE , AVX ou shaders par exemple). Mais c'est bien intégré dans les langages de haut niveau. Attention à bien appeller la fonction multiplexée par contre, sinon ça marche moins bien
Pour les microcontroleurs, je serais surpris qu'ils n'aient pas au moins une micro-libc avec de I/O macrotés permettant d'éviter de sortir le compilateur à tout bout de champ. J'ai des copains qui s'amusent avec des ESP32, ils font tout avec Lua et ne sortent jamais l'assembleur (un peu de C pour les cas difficiles). Ils sont pourtant tout à fait capable d'écrire de l'assembleur, mais c'est juste que c'est ε sur un projet.
Ça n'empêche pas qu'il est amusant d'écrire de l'assembleur (à part du Z80, cette punition).
Il ne faut pas compter dessus pour obtenir des performances magiques. Il vaut mieux tout écrire en C, repérer ce qui rame, et réécrire cette partie en assembleur une fois le programme C écrit.
Ça permet de s'arrêter dès que l'objectif de performances est atteint :)
tapomag- Patient incurable
- Nombre de messages : 1326
Age : 51
Localisation : Ici
Date d'inscription : 01/10/2022
Re: GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
tapomag a écrit:Ça n'empêche pas qu'il est amusant d'écrire de l'assembleur (à part du Z80, cette punition).
Il ne faut pas compter dessus pour obtenir des performances magiques. Il vaut mieux tout écrire en C, repérer ce qui rame, et réécrire cette partie en assembleur une fois le programme C écrit.
Ça permet de s'arrêter dès que l'objectif de performances est atteint :)
2000% d'accord. Et c'est aussi valable pour les machines 8bits de nos jours. A l'époque c'était un peu différent car coder en C sur un 8bits c'était pas vraiment confortable... et utiliser un PC à l'époque, c'était aussi possible mais bon on avait pas les emulateurs et toutes les facilité de transfert que l'on a aujourd'hui.
youki- Docteur *
- Nombre de messages : 13290
Age : 52
Date d'inscription : 01/08/2009
Re: GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
Le C ça reste quand même plus volumineux que l'asm et puis y a toujours des cas ou le compilateur C générera quelques instructions inutiles...
Quand au Z80 j'aime bien maintenant bien plus que cet horrible 6502 en tout cas
Quand au Z80 j'aime bien maintenant bien plus que cet horrible 6502 en tout cas
Copper- Docteur *
- Nombre de messages : 7873
Age : 48
Localisation : FRANCE
Date d'inscription : 02/11/2020
Re: GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
Copper a écrit:
Quand au Z80 j'aime bien maintenant bien plus que cet horrible 6502 en tout cas
Tu as toujours eu mauvais goût...
Rien n'est plus beau que l'ASM 6502.
youki- Docteur *
- Nombre de messages : 13290
Age : 52
Date d'inscription : 01/08/2009
Page 29 sur 29 • 1 ... 16 ... 27, 28, 29
Sujets similaires
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
» GUERRE ST-AMIGA, FIGHT ! (Mauvaise foi assurée)
Page 29 sur 29
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum