ASR1 2016
Florent de Dinechin, Nicolas Louvet, Antoine Plet
TP 4
Programmation en assembleur
Vous devez avant tout lire le document qui décrit l’ISA de notre processeur.
1 Lisons un peu d’assembleur
Que font les programmes suivants ?
2 Assemblons et désassemblons
2.1 Assemblage
Pour chacun de nos programmes d’échauffement, écrivez à droite de chaque instruction son code
hexadécimal. N’hésitez pas à commencer par l’écrire en binaire.
(Ce travail stupide et dégradant s’appelle l’assemblage (assembly), et vous avez déjà envie d’écrire un
programme qui le fait pour vous. Un tel programme s’appelle un assembleur.)
2.2 Désassemblage
Quel est le programme qui a pour codes hexadécimaux BAAD C0DE, B0B0 8BAD F00D, DEAD BEEF,
B0B0 DEAD ? (merci wikipedia HexSpeak).
(Ce travail rébarbatif et vexatoire s’appelle le désassemblage (disassembly), et le programme corres-
pondant s’appelle un désassembleur – c’est le de .)
3 Écrivons un peu d’assembleur
3.1) Ecrivez une routine (qui sera appelée par call et terminera par return) qui multiplie les contenus
de r0 et r1 et renvoie le résultat dans r2.