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 3982 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
Rejoignez-nous