Bonjour, etant débutant en asm je fait des exos a mon niveaux pour apprendre.Et lors d'un de ces exercices, où il faut afficher un lettre d'une chaine quelconque j'ai un segment fault et je ne sais d'où il viens.
Voici le code complet sait on jamais il y a peut être d'autre correction a faire, le code en question est en dessous de l'étiquette affiche_lettre :
la partie affiche_lettre m'affiche effectivement la 1ere lettre de chaine mais suivit d'un segment fault, là est mon problème.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 section .data chaine: db "Bonjour le monde !", 0xa len_chaine equ $ - chaine msg1: db "Affichage lettre d une chaine en mode immediat", 0xa len_msg1 equ $ - msg1 msg2: db "Affichage lettre d une chaine en mode direct", 0xa len_msg2 equ $ - msg2 section .bss chifre1: resb 1 chiffre2: resb 1 chiffrer3: resb 1 section .text global _start _start: call affiche_lettre affiche_chaine : mov edx, len_chaine mov ecx, chaine mov ebx, 1 mov eax, 4 int 0x80 mov eax, 1 int 0x80 affiche_lettre : mov eax, 4 mov ebx, 1 mov ecx, chaine mov edx, 1 int 0x80
Merci !
Partager