[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Documentation complète sur la compilation de programmes



andre_debian@numericable.fr wrote on Tue, Jan 05, 2016 at 05:56:13PM +0100
> On Monday 04 January 2016 21:27:07 enae wrote:
> > vu qu'un compilateur transforme du code lisible par un humain en code 
> > machine, comment sait-il en quoi il doit transformer ce code lisible par 
> > un humain?
> > comment connait-on les spécifications du "code machine"? (je devine que 
> > cela est certainement une suite de 0 et de 1, et très certainement 
> > fortement dépendant du processeur et de son architecture)
> > comment le processeur sait-il ce qu'il a à faire en voyant ce code machine?
> > comment est chargé ce code machine dans le processeur ? (j'aurai 
> > tendance à penser à grub, mais, à la mise sous tension du processeur, à 
> > t+1 qu'est-ce qui fait le processeur commence à faire une tâche?)
> 
> Prenons cet exemple d'une instruction assembleur du processeur
> Motorola série 6800 :
> 
> charger l'accumulateur A (load) de la valeur 1000 (binaire) :
> LDAA #0X1000  (load A value 1000 binary)
> Code en hexadécimal :
> CE 1000
> Code machine compréhensible par le processeur :
> 1100 1110 1000
> 
> Exemple plus simple,
> mettre à zéro l'accumulateur A :
> CLRA  (Clear Accumulateur A)
> Code en hexadécimal :
> 4F 
> Code machine compréhensible par le processeur :
> 0100 1111
> 
> Équivalent de RAZ accumulateur A avec load :
> charger l'accumulateur A (load) de la valeur 0000 (binaire) :
> LDAA #0X0000  (load A value 0000 binary)
> Code en hexadécimal :
> CE 0000
> Code machine compréhensible par le processeur :
> 1100 1110 0000
> 
> Le # exprime une valeur binaire.
> Je ne suis plus sûr si c'est LDAA ou LDA...
> 
> On voit qu'il serait impossible de programmer
> en hexadécimal 

Comment ça, impossible.  Du temps des machines sur lesquelles les
octets étaient comptés, on ne travaillait pas avec des langages
compilés qui généraient trop de codes.  Et puis comme l'a dit Éric, je
crois, le langage d'assemblage n'était que des mnémoniques
correspondant aux codes machines.  Ça aidait tout de même au calcul
des sauts relatifs.  mais dire que c'était impossible n'est déjà pas exact.

dom
-- 


Reply to: