begin process at 2010 03 16 08:42:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Processeurs

 > 

X86

 > 

message d'erreur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

message d'erreur

jeudi 9 avril 2009 à 12:40:42 | message d'erreur

kaka83185

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
jeudi 9 avril 2009 à 18:46:46 | Re : message d'erreur

ghuysmans99

Membre Club
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.
Signature.gif
jeudi 9 avril 2009 à 19:05:14 | Re : message d'erreur

kaka83185

Et comment faire donc??,aidez moi à modifier ce programme SVP,car je suis vraiment egale à 0 en ce qui concerne la syntaxe du MASM...
jeudi 9 avril 2009 à 19:15:27 | Re : message d'erreur

kaka83185

j'ai modifié le programme,j'ai remplacer l'expression  "segement stack" par "segement",et maintenant au moins j'ai une fenêtre qui s'affiche,je click alors sur "run" et là, je vois que des lignes bleus qui parcourent la fenêtre pour un instant,puis un message d'erreur s'affiche , qui dit :
unknown opcode skipped: 65
not 8086 instruction - not supported yet.

et je suis dsl d'être un vrai casse-tète...
jeudi 9 avril 2009 à 19:17:06 | Re : message d'erreur

ghuysmans99

Membre Club
Quelque chose comme ça, non ?
code  segment
assume cs:code, ds:data

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
code ENDS

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

Signature.gif
jeudi 9 avril 2009 à 19:19:05 | Re : message d'erreur

ghuysmans99

Membre Club
Oups ...
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
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
code 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

Signature.gif
jeudi 9 avril 2009 à 19:36:24 | Re : message d'erreur

kaka83185

merci pour votre réponse, une autre question c'est que le "ret" qui se trouve tt au début du programme,il sert à quoi?,et puis on le met ou dans votre programme?
et merci...
jeudi 9 avril 2009 à 19:38:38 | Re : message d'erreur

ghuysmans99

Membre Club
Je vois pas de RET au tout début du programme ...
Et je n'en vois pas l'intérêt !
Signature.gif
jeudi 9 avril 2009 à 19:42:40 | Re : message d'erreur

kaka83185

SI si, je possède le MASM, et quand je clic sur new il m'affiche ça:
; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

; add your code here

ret


et il y a qui m'ont dit que je dois mettre le ret apres la declaration ou klk chose de comme ça...
jeudi 9 avril 2009 à 19:44:30 | Re : message d'erreur

kaka83185

et une autre question,lol , est ce que on doit toujours mettre les declarations à la fin du programme?

1 2

Cette discussion est classée dans : message, data, mov, segment, al


Répondre à ce message

Sujets en rapport avec ce message

problem dans le segment .data (NASM) [ par bouba ] J'ai commencé aujourd'hui la programmation en AssembleurMon premier programme est classique, le "Hello world!".J'utilise NASM sous Linux (Red Hat 7.3, secteur boot : afficher un message [ par sajaris ] bonjourje suis ADABLA et je debute en OS, il y a 1 semaine. je voudrai SVP, votre avis sur mon petit code de boot.En fait je voudrai afficher un messa Affichage de l'heure a partir du BIOS [ par FearBlue ] Slt a tous !!!!Je debute en ASM et je desirerais afficher l'heure a partir de la lecture de l'heure du biosje vous montre mon code !!!! [Debutant] Programme Hello World [ par DamianC ] Salut à tous ! J'ai lu plusieurs cours sur l'asm mais je n'arrive toujours pas à créer mon premier programme, le célèbre helloworld ! J'ai bien sûr r MOV CX,ES:[DI] ??? [ par Arnaud16022 ] hello tout le monde question de newbie, je comprends pas cette command: MOV CX,ES:[DI] bon le mve ca va, le CX itou, mais apres ca coince... plus géné Graphique [ par RM50Man ] Bonjour a tous!!!!Je veux tracer une ligne mais ca ne marche pas, je passe les parametre par la pile,et ensuite ds la fonction principale, je remplis Peut on mieux faire ? [ par spiky31 ] Bonjour Voila j'ai commencé ce matin a programmer en assembleur intel et j'aurais voulu avoir votre avis (Je me considére pas vraiment comme un noob Assembleur et langage C sous Linux [ par lapinfroid ] Bonjour a tous ,avant toute chose , je tiens a preciser que j en ai aucune notion d'assembleur Je pratique plutot le C et le JavaDans un programme C , Kernel qui n'est pas chargé par le bootloader [ par JB_59 ] Salut tout le monde !Voilà j'ai un problème de chargement de Kernel; j'ai codé un boot loader en asm qui m'affiche la phrase "Chargement du kernel..." probleme avec un bootloader [ par anonyme_man_in_this_world ] salut !! je voudrais coder un bootloader , tous ce compile bien ,je copie / colle le fichier .BIN dans une disquette ,mais lors le redemmarrage d


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales