samedi 12 février 2005

P900 : un an...

12 02 2005

Ce matin, j'ai revendu mon P900. Je savais que cela faisait environ un an que je l'avais. En regardant plus précisément, cela faisait un an et deux jours...

Celà faisait longtemps qu'un portable ne m'avait pas fait aussi longtemps. En tout cas, je peux dire que ce portable était vraiment très bien. Toutes les fonctions utiles de l'époque étaient présentes, dans une place acceptable...

Mon nouveau portable (que j'aurais demain), je me donne pour objectif de faire un mois avec, le P900 fut donc vraiment un mobile qui m'était adapté, dommage qu'il vieillise...

Assembleur, pas si mal finalement

12 02 2005

Depuis 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