Back to Basics : l'assembleur

Magazine
Marque
GNU/Linux Magazine
Numéro
201
Mois de parution
février 2017
Spécialité(s)


Résumé
Ah, que de bons souvenirs avec l'assembleur ! Je ne sais pas pour vous, mais moi je n'y ai touché qu'une fois, en licence (de nos jours on dit L3), pour parvenir péniblement à réaliser une division. Des années plus tard, je me dis que j'ai peut-être raté quelque chose et qu'à défaut de devenir un pro de l'assembleur, il pourrait être intéressant d'en comprendre quelques rouages.

L'assembleur est le programme qui va traduire des mnémoniques en langage machine (propre à chaque processeur). Les instructions en langage machine ne sont que des codes (opcodes) illisibles pour les êtres humains.

Nous savons tous que l'assembleur est le langage qui sera le plus directement « compris » par la machine et qu'en ce sens tout programme écrit en assembleur (correctement) sera plus rapide que le même programme dans n'importe quel autre langage. Le problème va justement être de produire du code en assembleur...

Dans cet article, je vous propose d'installer un assembleur, nasm, et d'analyser un programme simple, le traditionnel « hello world ».

1. Installation et premier test

nasm est disponible dans les dépôts des distributions basées sur GNU/Debian :

La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant