Compliation
Fermé
slim
-
26 déc. 2009 à 00:10
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 27 déc. 2009 à 02:09
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 27 déc. 2009 à 02:09
9 réponses
slimIBM
Messages postés
6
Date d'inscription
samedi 26 décembre 2009
Statut
Membre
Dernière intervention
27 décembre 2009
26 déc. 2009 à 01:35
26 déc. 2009 à 01:35
salut.
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
26 déc. 2009 à 02:41
26 déc. 2009 à 02:41
en quelque sorte il y a une traduction. Si vous écrivez "mov ax bx" (ça ne veut rien dire, je ne connais pas l'assembleur, mais c'est à peu près ça), c'est du texte. Ce n'est pas du code exécutable. Néanmoins, la traduction assembleur code exécutable est directe, c'est à dire qu'un logiciel pour programmer en assembleur va simplement traduire "mot pour mot" votre code texte en code binaire. Il est donc bas niveau, et on ne parle pas de "compilation" (ce serait plutot de la transcription toute bête).
Si éventuellement on parle de compilation, ce n'est pas comme pour un langage de haut niveau ou le compilateur doit se "casser la tête" à traduire en langage machine. Ici il doit juste copier en traduisant.
Si éventuellement on parle de compilation, ce n'est pas comme pour un langage de haut niveau ou le compilateur doit se "casser la tête" à traduire en langage machine. Ici il doit juste copier en traduisant.
slimIBM
Messages postés
6
Date d'inscription
samedi 26 décembre 2009
Statut
Membre
Dernière intervention
27 décembre 2009
26 déc. 2009 à 13:54
26 déc. 2009 à 13:54
bonjour.
je reviens a la première question: est ce la compilation d'un fichier source écrit en langage haut niveau donne un code assembleur ou un code binaire ?
j'ai une autre question :
si j'Ecris un programme en assembleur 8086,alors sur quel processeur je peut exécuter ce code ? une autre façon de dire ,est ce que je dois apprendre l'assembleur pentium ou autre si mon processeur est pentium ou core 2 duo par exemple ?
je reviens a la première question: est ce la compilation d'un fichier source écrit en langage haut niveau donne un code assembleur ou un code binaire ?
j'ai une autre question :
si j'Ecris un programme en assembleur 8086,alors sur quel processeur je peut exécuter ce code ? une autre façon de dire ,est ce que je dois apprendre l'assembleur pentium ou autre si mon processeur est pentium ou core 2 duo par exemple ?
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
26 déc. 2009 à 14:03
26 déc. 2009 à 14:03
Salut,
le code donné par un compilateur est un code binaire traduisant des instructions assembleur (seuls commandes que connait un processeur!!)
La machine ne comprend que des 0 et des 1...donc quand tu écris du code en assembleur, il faut quand meme le compiler pour traduire ce que tu as écrit et faire le lien avec les autres librairies utilisés, en code machine!!
Les instructions, dépendant de l'architecture du micro, il faut connaitre le jeu d'instruction du micro( que l'on trouve sur les datasheet constructeur!!)
@+
le code donné par un compilateur est un code binaire traduisant des instructions assembleur (seuls commandes que connait un processeur!!)
La machine ne comprend que des 0 et des 1...donc quand tu écris du code en assembleur, il faut quand meme le compiler pour traduire ce que tu as écrit et faire le lien avec les autres librairies utilisés, en code machine!!
Les instructions, dépendant de l'architecture du micro, il faut connaitre le jeu d'instruction du micro( que l'on trouve sur les datasheet constructeur!!)
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut .
d'accord jusqu'à maintenant je pense que j'arrive a comprendre quelque chose on m'appuyant sur vos réponses ainsi que les informations présentes sur la toile.
mais ,ce que j'arrive pas a comprendre ,c'est comment le processeur va analyser un fichier binaire avec des 0 et de1 et va comprendre les instructions qu'ils comportent ?
d'accord jusqu'à maintenant je pense que j'arrive a comprendre quelque chose on m'appuyant sur vos réponses ainsi que les informations présentes sur la toile.
mais ,ce que j'arrive pas a comprendre ,c'est comment le processeur va analyser un fichier binaire avec des 0 et de1 et va comprendre les instructions qu'ils comportent ?
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
26 déc. 2009 à 18:50
26 déc. 2009 à 18:50
Ben un processeceur n'est qu'un system electronique repondant à certain code suivant l'etat physique (5v ou 0v en general) de certain transistor....
Par exemple un MOV en assembleur va correspondre (je dis n'importe quoi..) à 00011001 comme instruction, cet etat va modifier l'etat physique de certaines entrées, afin de realiser l'operation souhaitée!!(genere ce qu'on appelle le microcode)
Pour en savoir plus, regarde des bouqins sur l'architecture des machines puis l'electronique!
@+
Par exemple un MOV en assembleur va correspondre (je dis n'importe quoi..) à 00011001 comme instruction, cet etat va modifier l'etat physique de certaines entrées, afin de realiser l'operation souhaitée!!(genere ce qu'on appelle le microcode)
Pour en savoir plus, regarde des bouqins sur l'architecture des machines puis l'electronique!
@+
salut.
je pense que j'ai le livre d'andrew tanenbum sur les architecture ,j'espére trouvé des réponse sur le sujet.
maintenant je veux savoir si mon programme écrit en assembleur 8086 peut s'exécuter sur mon µp intel core 2 duo ?
une autre façon de dire ,est ce que les jeux d'instruction d'un core 2 duo sont compatible avec celle d'un 8086 ?
je pense que j'ai le livre d'andrew tanenbum sur les architecture ,j'espére trouvé des réponse sur le sujet.
maintenant je veux savoir si mon programme écrit en assembleur 8086 peut s'exécuter sur mon µp intel core 2 duo ?
une autre façon de dire ,est ce que les jeux d'instruction d'un core 2 duo sont compatible avec celle d'un 8086 ?
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
26 déc. 2009 à 19:02
26 déc. 2009 à 19:02
Normalement oui, car il fait parti de la famille des x86
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
27 déc. 2009 à 02:09
27 déc. 2009 à 02:09
concernant le post 5,
si tu connais un peu, c'est le même principe qu'avec les "automates", ces vieux robots qui exécutent divers mouvements selon une carte perforée. C'est purement mécanique, le processeur est fabriqué pour réagir d'une certaine manière à une suite d'impulsions (un code binaire). C'est la raison pour laquelle un code écrit pour un certain processeur ne va a priori pas fonctionner sur un autre.
si tu connais un peu, c'est le même principe qu'avec les "automates", ces vieux robots qui exécutent divers mouvements selon une carte perforée. C'est purement mécanique, le processeur est fabriqué pour réagir d'une certaine manière à une suite d'impulsions (un code binaire). C'est la raison pour laquelle un code écrit pour un certain processeur ne va a priori pas fonctionner sur un autre.