Program received signal SIGFPE,Arithmetic exception.

petitete Messages postés 3 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 26 décembre 2011 - 24 déc. 2011 à 11:30
petitete Messages postés 3 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 26 décembre 2011 - 26 déc. 2011 à 13:21
Bonjour!! J'aimerais solliciter votre aide pour me débloquer. Je dois écrire un programme en nasm pour connaître le nombre d'éléments pairs et impairs dans un tableau donné. Mais au moment de la compilation, après une itération j'ai le message suivant:"Program received signal SIGFPE,Arithmetic exception.
0x004012a2 in boucle()". si je continue, après 3 itérations le programme plante.

segment .data
t db 5,1,2,4,3,6,8,0,9,7
p db 0,0
segment .bss
segment .text
global _main
extern _printf
_main:
mov bl,0
mov cl,0
mov esi,0
boucle: mov ax,[t+esi]
mov dl,2
div dl
cmp ah,0
je pair
inc cl
mov [p+1],cl
jmp suite
pair:	inc bl
mov [p],bl
suite:	inc esi
cmp esi,10
je fin
jmp boucle
fin:
ret


Je vous remercie pour votre

J'ai peur de l'homme d'un seul livre

5 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 1
24 déc. 2011 à 12:21
salut,

Ton programme mélange le 16 bits et le 32 bits. Ce n'est pas forcement une erreur sauf en cas d'accès mémoire.

@++
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 1
24 déc. 2011 à 12:25
re,

Il serait bon également d'apprendre l'algèbre de bool avant de se lancer dans la programmation informatique. La parité peut être testée très facilement avec l'instruction "test nb,1".

@++
0
petitete Messages postés 3 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 26 décembre 2011
24 déc. 2011 à 13:34
merci bien! Pourrais-tu m'éclairer sur l'instruction "test nb,1"? Cette instruction vérifie directement si nb est pair? si c'est le cas, on doit utiliser un je, ou jne après?

J'ai peur de l'homme d'un seul livre
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
25 déc. 2011 à 19:55
Il se trouve que si le bit0 est 1 alors le nombre est impair.
C'est 'by design' en binaire.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
petitete Messages postés 3 Date d'inscription jeudi 15 décembre 2011 Statut Membre Dernière intervention 26 décembre 2011
26 déc. 2011 à 13:21
Ah d'accord! Merci bcp! Votre aide m'a été d'un grand secours!

J'ai peur de l'homme d'un seul livre
0