Bonjour,
Etant débutant en assembleur (mais pas en langage C) je cherche pour des histoires de controle de flot d'execution un peu d'assembleur.
Voila un des mes programmes de test qui ne fonctionne pas totalement.
Cependant voici mon probleme. Lorsque je lance mon binaire, j'obtient la sortie suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include<stdio.h> #include<stdlib.h> #include<unistd.h> void works(){ printf("Mon adresse: 0x%08x\n",works); printf("That works !\n"); __asm__("jmp ici"); } int main(int argc, char** argv){ int a=0; __asm__("xor %bx,%bx"); __asm__("jz works"); __asm__("ici:"); printf("Si je suis le premier c'est perdu...\n"); printf("Ok\n"); printf("%i\n",a); return EXIT_SUCCESS; }
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Mon adresse: 0x080483f4 That works ! Si je suis le premier c'est perdu... Ok -1215659260 Erreur de segmentation
Partager