TP Architecture et assembleur
Codage numérique et arithmétique
Eric Ramat
17 octobre 2012
Durée : 3 heures (partie 1), 3 heures (partie 2) et 3 heures (partie 3)
Ce premier TP va être l’occasion de manipuler les représentations binaires des nombres entiers signés
et non signés et de développer des fonctions de calcul sur ces nombres.
1 Rappel
Le programme minimal est le suivant :
;; c ompilation 32 bits
[ BITS 32]
;; d eclaration des don nees
section . data
;; section contenant le code
section . text
;; declaration du symbol e de point d’ entree du programme
global _start
_start:
mov ebx ,0 ; mise a zero du regis tre ebx
mov eax ,1
int 0x80
Les outils à utiliser sont emacs (ou vim) pour l’écriture et la mise en forme du code, nasm pour la
compilation de vos programmes et gdb pour le debuggage.
Attention, les commentaires sont vitaux en assembleur. Tout programme non commenté et
non indenté ne sera tout simplement pas lu.
Toute déclaration de variables et d’instruction doit être décalée du début de ligne d’une tabulation (en
général, 4 espaces). Les étiquettes (ou les labels) doivent être placées en début de ligne. Les commentaires
sont placés soit après une instruction (séparée par une tabulation) soit sur une ligne ne comportant pas
d’instruction. Dans le deuxième cas de figure, le commentaire est mis en début de ligne et débute par
deux points-virgules.
1