Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Cherchez l'erreur [ Divers / Débutant(e) ] (neo1012)

mardi 13 novembre 2007 à 13:39:50 | Cherchez l'erreur

neo1012

Salut, J'ai commencé l'ASM il n'y a pas longtemps, et hier j'ai fait mom premier programme: jmp string code: pop ecx mov bl,1 mov dl,23 ;mov al,4 int 0x80 dec bl mov al,1 int 0x80 string: jmp code db 'bonjour tout le monde!',0 Et quand je l'assemble avec NASM, le prgm se lance et ca me met : Processuer a rencontre un instruction non autorisé CS:0000 IP:0077 OP:f0 37 050 13 02 Qu'est ce que ca veut dire et ou est l'eereur ?javascript:Insert_Emoticon('/imgs2/smile_big.gif');

mardi 13 novembre 2007 à 14:54:44 | Re : Cherchez l'erreur

_dune2_

Membre Club
Salut,

un code formaté devrait être un peu plus lisible non ?
du style :

    jmp string
code:
    pop ecx
    mov bl,1
    mov dl,23 ;
    mov al,4
    int 0x80
    dec bl
    mov al,1
    int 0x80
string:
    jmp code
    db 'bonjour tout le monde!',0

Erreur : CS:0000 IP:0077 OP:f0 37 050 13 02 -> instruction non autorisé
En effet :
   0:   f0 37                   lock aaa
   2:   50                      push eax
   3:   13 02                   adc  eax,[edx]

-> "lock aaa" n'est pas une instruction correcte ... mais il n'apparait pas dans ton code !!
Je pense donc que ton erreur ne vient pas de ce bout de code à proprement parler, mais de ce qu'il doit impacter (je parle entre autre du "pop ecx" et du fait que ton code boucle sans cesse "jmp code" et donc doit corrompre la pile).

Gentoo... que du bonheur ...

mardi 13 novembre 2007 à 14:59:36 | Re : Cherchez l'erreur

neo1012

(pour le formatage du code je savais pas que ca allait le mettre comme ca) alors je fais quoi moi ?

mardi 13 novembre 2007 à 15:22:01 | Re : Cherchez l'erreur

_dune2_

Membre Club
ben heuu comment dire .. c'est ton code complet là ?
Si c'est le cas, il n'y a aucune référence à ta string ??
Et pourquoi tu fais un jump à "string" pour refaire un jump là où tu étais ?
Pourquoi tu utilises des registres 8 bits comme arguments à int 0x80, il serait plus judicieux d'utiliser des registres 32bits pour initialiser à 0 les poids forts de ces registres ?
Pourquoi ce "pop ecx" ?

Et si tu nous disais ce qu'est censé faire ton code ?

Ou alors j'essai de deviner ton code et je dirais que ton erreur est tout simplement le "jmp code" qui devrais être plutot "call code" de manière à pousser l'adresse de ta string dans la pile et ainsi la récupérer dans le registre ecx avec un "pop" ... ça me parait être la réponse la plus censé à ton problème .... (tout en initialisant tes registres en 32 bits) du style :

    jmp string
code:
    pop ecx
    mov ebx,1
    mov edx,23 ;
    mov eax,4
    int 0x80
    dec ebx
    mov eax,1
    int 0x80
string:
    call code
    db 'bonjour tout le monde!',0

J'ai tout suivi ? sinon soit plus claire dans ta requête en exprimant ton besoin de manière lisible et sans devinette ;)


Gentoo... que du bonheur ...

mardi 13 novembre 2007 à 15:34:08 | Re : Cherchez l'erreur

neo1012

En fait j'ai recopié ca dans "coding school", un mag de programmation. ils font apparement plein de fautes mais bon... Ce truc est censé afficher "bonjour tout le monde" [Ou alors j'essai de deviner ton code et je dirais que ton erreur est tout simplement le "jmp code" qui devrais être plutot "call code" de manière à pousser l'adresse de ta string dans la pile et ainsi la récupérer dans le registre ecx avec un "pop" ... ça me parait être la réponse la plus censé à ton problème ....] >> C'est ca



Cette discussion est classé dans : code, string, erreur, mov, jmp


Répondre à ce message

Sujets en rapport avec ce message

AT&T erreur de compilation etc... [ par maminovadu75 ] Bonjour, j'aimerais me mettre a l'assembleur mais j'ai quelque problème.voici mon code morceau de code pour trier un tableau de int : ( mélange de C/C pb int 21h ah=0ah [ par mat74 ] salut a ts ,voila j'ai fais un programme qui est censé lire une chaine entré par l'utilisateur et ensuite la reafficher . Il me demande bien d'entré u nasm [ par henri12 ] salut je viens de compiler ce mbr boot avec nasmnasm -fbin aboot.asm -o binexe.exele programme c est bien compiler mais en lançant d une cle usb l ima Boot et heure [ par henri12 ] je fais un essai de changement de l heure avec l interruption 21h sous le boot l heure n est pas changerpourquoi.286C   ;Code de bootsecteur permettan c/c++ et 19h [ par Xs ] salut !je travaille sous VC++ et j'aimerais utiliser une interuption processeur : 19hmon code actuel marche mais au lieu d'eteindre le PC, il le fait Mov mem immediat, immediat [ par Erkson ] Bonjour à tous.J'utilise un Pentium II PC, Windows ME, et un debuggeur qui a un assembleur intégré. Lorsque je veux modifier le programme que je debug Peut on comparer deux binaire avec cmp ? [ par MrNice ] Lo le forum me revoila ave cun new prob...donc en fait g une table de variable, je prends al=0 je fait un xlat et je compare ce resultat avec une entr Conversion hexa vers ascii [ par Cygace ] Bonjour voici un code asm qui convertit un nombre binaire vers de l'ascii. Mais je dois modifiier ce code pour qu'il convertisse de l'hexadecimal vers Question de débutant [ par Laurent1313 ] Voilà je débute avec l'assembleur sous Delphi et il y a un truc que je ne comprends pas. Je voudrais juste savoir quelle est la différence entre :ça : Adresse mémoire d'une chaine [ par moffer ] Bonjour,Je veux pointer sur le premier caractère de ma chaine. Lorsque je compile le code suivant :SEGMENT DATAchaine db 'Hello$'SEGMENT TEX


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.