Nombre parfait en assembleur
bibliomax
Messages postés
30
Statut
Membre
-
le père -
le père -
Bonjour,
s'il vous plait jettez un coup d'oeil sur ce petit programme il parait qu'il parfaitement logique mais quand je l'execute il me donne dépassement de division
data segment
a dw 7
m1 db ' ce nombre n''est pas un nombre parfait$'
m2 db ' ce nombre est un nombre parfait$'
tab db 10 dup(?)
mov ah,0
mov al,2
int 10h
data ends
spile segment para stack
dw 256 dup(?)
bpile equ this word
spile ends
assume ds:data,cs: code ,ss:spile
code segment
mov ax,data
mov ds,ax
mov ax,spile
mov ss ,ax
mov sp,bpile
assume ds: data,cs:code
debut :
mov cx,a
dec cx
mov dx,0
bouc :cmp cx,1
je m2m
mov ax,a
div cx
dec cx
cmp dx,0
je m1m
jmp bouc
m1m : mov dx,offset m1
mov ah,09h
int 21h
jmp fin
m2m: mov dx,offset m2
mov ah,09h
int 21h
fin:
mov ah,4ch
int 21h
code ends
end debut
merci d'avance
s'il vous plait jettez un coup d'oeil sur ce petit programme il parait qu'il parfaitement logique mais quand je l'execute il me donne dépassement de division
data segment
a dw 7
m1 db ' ce nombre n''est pas un nombre parfait$'
m2 db ' ce nombre est un nombre parfait$'
tab db 10 dup(?)
mov ah,0
mov al,2
int 10h
data ends
spile segment para stack
dw 256 dup(?)
bpile equ this word
spile ends
assume ds:data,cs: code ,ss:spile
code segment
mov ax,data
mov ds,ax
mov ax,spile
mov ss ,ax
mov sp,bpile
assume ds: data,cs:code
debut :
mov cx,a
dec cx
mov dx,0
bouc :cmp cx,1
je m2m
mov ax,a
div cx
dec cx
cmp dx,0
je m1m
jmp bouc
m1m : mov dx,offset m1
mov ah,09h
int 21h
jmp fin
m2m: mov dx,offset m2
mov ah,09h
int 21h
fin:
mov ah,4ch
int 21h
code ends
end debut
merci d'avance
A voir également:
- Nombre parfait en assembleur
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Dans cette présentation, trouvez l'étoile. quel nombre contient-elle ? ✓ - Forum Word
- Supprimer espace nombre excel ✓ - Forum Excel
- En raison d'un nombre important d'échec de connexion snapchat - Forum Snapchat
1 réponse
Bonjour
Exécute le programme en pas, à pas tu verras bien où ça coince.
Mon assembleur est rendu assez loin, mais il ne faudrait écrire mov cx,[a] au lieu de mov cx,a et idem un peu plus loin avec le mov ax,a ?
D'autre part, pour ce que j'en comprends, ce programme teste si un nombre est premier, pas s'il est parfait
Exécute le programme en pas, à pas tu verras bien où ça coince.
Mon assembleur est rendu assez loin, mais il ne faudrait écrire mov cx,[a] au lieu de mov cx,a et idem un peu plus loin avec le mov ax,a ?
D'autre part, pour ce que j'en comprends, ce programme teste si un nombre est premier, pas s'il est parfait