sebsauvage
33667Messages postés
29 août 2001Date d'inscription
ModérateurStatut
16 janvier 2012Dernière intervention
16 juin 2003 à 18:36
Je complète avec mes réponse à moi que j'ai:
le plus puissant
Non. L'assembleur n'est pas plus puissant.
Tout ce que tu fais en assembleur, tu peux le faire dans d'autres langages (C, C++, autres...)
Le faire en assembleur n'apportera rien, si ce n'est que ça prendra 10 fois plus de temps à développer.
(Essai donc d'afficher en décimal à l'écran une simple valeur numérique contenue dans le registre AX histoire de rigoler.)
Tu voulais peut-être dire "plus rapide" ?
En théorie oui, si le développeur connaît bien l'assembleur.
Mais il faut savoir que les compilateurs modernes sont capable d'optimisation assez poussées, et que les performances sont telles que programmer directement en assembleur ne se justifie plus tellement (même pour les pilotes de périphériques).
(Seul le mileu industriel a des exigencex assez poussées pour faire de l'assembleur un passage obligé - et encore.)
Assembleur permet t'il de faire des OS 64Bits
Oui. Des OS et n'importe quoi d'autre.
Mais on peut aussi en faire avec des compilateurs C (ou autres).
A partir du moment où tu as un compilateur C 64 bits, tu peux créer des logiciels 64 bits, et donc un OS lui-même (qui n'est bien d'autre qu'un logiciel un peu particulier).
Je pense que certaines parties de l'OS devront tout de même être écrite en assembleur (par exemple: le code de changement de contexte des threads).
est-ce vrai que DOS est fait en Assembleur ?
Je n'en sais rien.
Je pense qu'une bonne partie est effectivement faite en assembleur, mais ça n'a rien d'extraordinaire.
(Je me souviens d'être passé par hasard, en debug, dans le noyau du MS-Dos, et bien le peu que j'en ai vu était assez abomifreusement programmé.)
Je reviens aux compilateurs: ils sont capables d'optimisation assez impressionnantes, des optimisations difficilement faisables à la main (comme développer totalement une boucle, ou utiliser automatiquement un maximum de registres pour éviter d'aller faire des lectures/écritures en mémoire.)
C'est intéressant de connaître l'assembleur, ou même de regarder le boulot que fait un compilateur. ça permet de savoir comment ça marche "en dessous".
(Faites un petit programme en C, compilez-le et désassemblez-le, c'est très instructif !)
Mais si on veut être un tant soit peu efficace, il faut passer à des langages de plus haut niveau.