Accueil > Forum > > > > Cherchez l'erreur
Cherchez l'erreur
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_
|
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_
|
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ée 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
mon code ne marche pas [ par mohoguess ]
Bonjour a tous,je suis débutant en asembleur, et j'ai écrit un code qui sert a additionner le chiffre 1 jusqu'à 999999 fois (mon code ne sert à rien j
Mode protégé: impossible de faire un far jump ou de lancer un traitement d'interruption (erreur de pile engendrant une triple fault) [ par rdany62 ]
Bonjour,Pour mon projet tuteuré de DUT, j'ai besoin de démarrer un PC (n'importe quel processeur à partir du Pentium) sur un programme directement (c'
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
programme assembleur [ par marwen09 ]
je veux ecrire un programme assembleur qui recuper la date de system puis affecte dans jour le nombre de jour ,dans anne le nobre d'anne et dans moi s
pb avec JMP [ par kaka83185 ]
salut tous le monde,je reste comme d'habitude,débutant en assembleur,je travaille avec emu8086,et j'essaye de faire un programme qui fait les branchem
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
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : ASSEMBLEURRE : ASSEMBLEUR par solleil
Cliquez pour lire la suite par solleil RE : ASSEMBLEURRE : ASSEMBLEUR par ghuysmans99
Cliquez pour lire la suite par ghuysmans99
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|