begin process at 2010 02 09 20:32:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

c, c++ et asm

 > 

Récuperer valeur asm en C++


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

Récuperer valeur asm en C++

mardi 12 juillet 2005 à 00:57:33 | Récuperer valeur asm en C++

S4T4N1QU3

Bonsoir,

J'aimerais savoir comment récuperer EAX dans un cas comme celui ci

asm("MOVL %EAX, 5");

Merci beaucoup à celui ou cell qui m'aidera

mardi 12 juillet 2005 à 08:56:48 | Re : Récuperer valeur asm en C++

AlexMAN

Membre Club
Il te faut faire pareil mais avec la variable qui contiendra eax (je ne connais pas cette syntaxe, mais tu devrais t'y retrouver) : int iEAX; __asm { mov eax, 5 mov iEAX, eax } printf("%d", iEAX); En sortie tu obtiendras 5.
mardi 12 juillet 2005 à 12:11:47 | Re : Récuperer valeur asm en C++

S4T4N1QU3

Merci, mais non... syntax error.... Je compile sous Dev-Cpp. Si ça peut aider.
mardi 12 juillet 2005 à 18:41:42 | Re : Récuperer valeur asm en C++

vecchio56

Administrateur CodeS-SourceS
asm("MOVL %EAX, 5"); Je crois qu'on écrit plutot asm("MOVL $5, %eax"); d'après ce que j'ai vu: la source est à droite. Pour utiliser les variables locales, je pense que tu dois travailler directement avec %esp, car le nom des variables ne sera pas reconnu
mardi 12 juillet 2005 à 18:45:07 | Re : Récuperer valeur asm en C++

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Voila, ca marche avec ebp, mais pas avec esp, je vois pas trop pourquoi... #include int f() { int i; asm("mov $5, %eax"); // mettre 5 dans eax asm("movl %eax, -4(%ebp)"); // mettre eax dans i std::cout << i << std::endl; } int main() { f(); }
mardi 12 juillet 2005 à 19:00:18 | Re : Récuperer valeur asm en C++

S4T4N1QU3

Réponse acceptée !
Merci pour le code, il ne fonctionnait pas trop mais j'ai trouvé un moyen de le faire fonctionner.
-------------------------------------------->8-cut-here-------------------------------
#include <iostream>
#include <cstdio>


using namespace std;

int f()
{
  int i;
  asm(
"mov $5,%ebx"); // mettre 5 dans eax
  asm(
"mov %ebx, -4(%ebp)"); // mettre eax dans i
  cout << i << endl;
}

int
main()
{
  f();
  system(
"PAUSE");
  return 0;
}

----------------------------------------cut-here-8<-------------------------------
Là ça marche enfin, c'est génial merci


mardi 12 juillet 2005 à 19:36:38 | Re : Récuperer valeur asm en C++

vecchio56

Administrateur CodeS-SourceS
C'est eax qui posait problème? ou le movl?
mardi 12 juillet 2005 à 19:55:25 | Re : Récuperer valeur asm en C++

S4T4N1QU3

Aucune idée. Mais l'important, c'est qu ça marche merci pour tout.


Cette discussion est classée dans : valeur, récuperer, asm, eax


Répondre à ce message

Sujets en rapport avec ce message

Afficher valeur registre ? [ par Zootella ] Hello all, dans un programme, celui-çi test la valeur d'un registre : cmp  dword ptr [eax],4550h je voudrais faire des tests et afficher cette vale Décaler les octets d'un registre [ par Kephuro2 ] Bonjour à tous !Je m'adresse à vous car j'ai un petit souci !Je vous explique vite fait. Donc j'ai un registre (eax) qui a pour valeur : 0000825C, j'a Shellcode >> asm [ par Stormy ] Salut à tous,Comment puis-je obtenir un désassemblage en formule ASM à partir d'un shellcode rédigé en hexadécimal. Ce shellcode est contenu dans un b Renfield.asm [ par Renfield ] Bonjour a tous,bon nombre d'entre vous ne me connaissent surment pas...(je viens plutôt de VbFrance...)Je me (re)met a l'ASM !!j'ai téléchargé Masm32, nombre aléatoire en asm 16f84 [ par sodhaine ] Bonjour,Je suis un newbie-moyen en assembleur/électronique; j'essaie de faire un dé électronique en assembleur 16f84 (avec affichage sur écran LCD) e compte a rebour et exit en asm [ par zerolol ] Salut.Comment faire un compte a rebour dans une fenetre avec le decompt en visuel et fermeture auto du prog.merci pour vo explication. BeginPaint code débutant [ par TRAX44 ] Bonjour, le problème est tout simple je comprends absolument pas ce qui marche pas. Le "programme" est censé créer une fenêtre est afficher du texte e EAX=-val2+7-val3+val1 [ par rhumsek ] voici un programme qui doit donné un résultat en fonction de la formule suivante,mais je ne suis pas sur que le résultat obtenu après compilation du p nasm - mémoire read-only [ par Funto66 ] Bonjour,je suis en train d'écrire des tutoriaux pour le site Coder-Studio (http://www.coder-studio.com/?page=tutoriaux) mais pour la création du tutor Equivalent ASM de chaine[0] = 0 [ par AlexMAN ] Bonjour, C'est simplement une ptite incertitude : pour l'ekivalent de chaine[0] = 0 en C: mov [chaine], 0 ou mov chaine, 0Ou bien c totatelment la mm


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,468 sec (3)

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