Message d'erreur

kaka83185
Messages postés
10
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
22 avril 2009
- 9 avril 2009 à 12:40
kaka83185
Messages postés
10
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
22 avril 2009
- 16 avril 2009 à 16:56
slt a tous,
je suis débutant en langage assembleur,j'essaye de faire mon premier programme en MASM, et c'est en fait l'addition d'un nombre avec un autre nombre se trouvant dans un tableau "tab", j'ai mis l'indice de l'élément du tableau que je veux l'additionner avec une autre valeur est dans SI, mais le compilateur m'affiche le message d'erreur suivant:
Cannot generate a COM file. Remove the stack segment.
et voici mon simple programme
pile segment stack
db 100h dup(?)
pile ends

data segment
msg db "le nombre superieur est","$"
tab db 22h ,03H, 23h, 42h, 1h, 32h, 4h, 32h, 11h, 2h, 4h, 23h, 34h, 23h, 1h
data ends

code segment
assume cs:code, ds:data

code ends
main PROC

mov al,data
mov ds,ax
mov al,5h
mov si,9h
add al,tab[si]
mov dl,al
mov ah,2
int 21h
mov ah,4ch
int 21h

main ENDP
END main

et merci d'avance

14 réponses

cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
16
9 avril 2009 à 18:46
Il ne faut pas créer de stack segment au début du programme (dans un .COM, ce qui est ton cas) !
Le .COM est un format binaire "bêtement" copié en mémoire et exécuté : il n'y a pas de segments code, data, stack.
0