ASM

Un peu d'assembleur – carnet de bord

13-12-2014


Dive Into ASM

L'assembleur est un langage qui m'a toujours fasciné. Après le langage machine, c'est celui qui est le plus proche du microprocesseur, celui qui nous rappel qu'un ordinateur, ce n'est qu'avant tout qu'une grosse machine dotée d'une bonne mémoire et qui ne sait faire que quelques opérations très simples.

J'ai essayé plusieurs fois de m'y mettre sans jamais aller très loin. Beaucoup de tutoriels donnent un cours complet sur le langage lui-même mais restent parfois très élusifs sur la mise en pratique. Aussi, l'assembleur existe sous différentes saveurs en fonction du système d'exploitation visé et de ses caractéristiques (32 ou 64 bits), et puis deux syntaxes coexistent (Intel et AT&T). En passant d'un tutoriel à un autre, il y a au moins l'une de ces variables qui change, c'est frustrant.

Il y a quelques semaines, j'ai découvert le livre Programming from the Ground Up. La dernière édition date de 2004, cela n'empêche pas que ce livre est parfait pour découvrir ce langage. Comme il est destiné à des personnes qui n'ont jamais programmé, les explications sont claires et complètes. Elles sont en fait parfaitement claires, même si l'on sait déjà programmer.

Ce journal de bord rassemblera mes notes prises au fur et à mesure. Peut être vous permettra-t-il de commencer à jouer avec le langage assembleur. J'en serais en tout cas très heureux. Sachez toute fois que je pense être assez direct dans mes explications. J'écris ces articles en partie pour le moi du futur qui aura envie de redécouvrir l'assembleur après avoir oublié tout ce qu'il savait. Il y a donc quelques notions que je suppose connues du lecteur sur lesquelles je ne pense pas m'étendre. Je pense en particulier au fonctionnement de base d'un microprocesseur, à la notion d'adresse mémoire, ...

Si ces notions sont un peu obscures pour vous (et peut être qu'elles le seront pour mon moi du futur ...), je vous invite à consulter le livre que j'ai mentionné précédemment, Programming from the Ground Up. Il y a aussi le cours Nand2Tetris qui vaut le coup.

Bonne lecture !

~Antoine

PS. J'ai pris le partie de ne pas vous raconter le blabla classique sur ce qu'est ou n'est pas l'assembleur ; je suis sur que si ça vous intéresse, votre moteur de recherche préféré vous aidera à trouver tout ce qu'il faut là dessus.

Merci pour votre lecture, j'espère que cet article vous a plu ! N'hésitez pas à me faire parvenir vos commentaires.