sam 12 fév 2005
Assembleur, pas si mal finalement
12 02 2005Depuis début janvier, j'ai des cours d'assembleur (qui se finissent la semaine prochaine!), mais j'avais aussi un projet à faire pour la semaine prochaine.
Je ne m'y étais pas mis et je disais à qui m'en parlait que "l'assembleur, c'est de la m...".
En effet, l'assembleur est un langage bas niveau, donc la facon de coder est bien différente de ce que j'utilise d'habitude.
Mais mercredi, j'ai passé 3h dessus et finalement, je me suis pris au jeu. La facon de penser est changer, on perd en simplicité pour les variables, mais l'on a, en contrepartie, une certaine naiveté dans les possibilités qui m'amuse...
Un petit exemple, lançons une action si deux variables sont égales sinon, incrémentons de 1 l'une d'elle.
En C, on obtient :
int i;
int j;
i=1;
j=2;
if(i==j)
{
sous_prog(i);
}
else
{
i=i+1;
}
Ou alors, de manière plus concise :
int i=2;
int j=2;
if(i==j) sousprog(i);
else i++;
En assembleur, on arrive à ca :
MOVE.L #$2,D0
MOVE.L #$2,D1
CMP.L D0,D1
BEQ SOUS_PR
ADD.L #$1,D0
En Assembleur, les variables n'existes pas, il n'y a que 8 registres de données et 8 d'adresses, de même, on joue directement avec la mémoire. On ne l'appelle pas X ou Y, on sait qu'elle se situe à l'adresse 5000 et on y va :p
et ça se croa malin, hein !?
nan mais
moi je capte rien en assembleur T_T
déjà que j'avais du mal en C @_@
c trop la dèch !!!!!
moi je le dit l'assembleur c'est de la Mù^*$)=!!!!!!!!!!!!!!!!
C'est quoi ce proce??
J'en ai fait aussi mais pas tout a fait pareil,
disons que c'est marrant un moment.
A plus
Bizet
ça m'a rappellé de vagues souvenir quand je programmais en langage machine il y a ... 20 ans sur un processeur 6502 (8 bits). C'était déjà dur dur... mais quelle satisfaction quand ça marchait ! Et quelle vitesse d'éxécution !