Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1295 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  gdb : voir l'état des flags ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

gdb : voir l'état des flags ?

n°1090764
ory
Posté le 20-05-2005 à 14:52:44  profilanswer
 

Bonjour,
 
Je fais des essais en asm avec nasm sous Linux, j'ai trouvé comment voir le contenu des registre lors d'un breakpoint, mais est-il possible de voir l'état des flags ? (armé ou non)
 
merci

mood
Publicité
Posté le 20-05-2005 à 14:52:44  profilanswer
 

n°1097818
Scarmatil
magma idempotent
Posté le 26-05-2005 à 11:55:01  profilanswer
 


 
Soit tu fais un

Code :
  1. PUSHFD
  2. POP EAX


 
et tu testes eax ensuite, soit tu utilise LAHF, qui place dans AH les flags SF,ZF,AF,PF et CF de cette facon :  

AH <-- SF:ZF:0:AF:0:PF:1:CF


 
Sinon bien sûr il y a toutes les instructions de saut, mais j'imagine que ce n'est pas ce que tu cherches.

n°1097906
ory
Posté le 26-05-2005 à 13:05:51  profilanswer
 

parfait, j'avais pas pensé à copier l'état des flags sur la pile pour bidouiller, merci :)

n°1102369
theredled
● REC
Posté le 31-05-2005 à 00:50:34  profilanswer
 

Excusez moi...
 

Citation :

PUSHFD  
POP EAX
 
et tu testes eax ensuite


 
Pourquoi ça marche ???
 
Ca voudrait dire que si je fais :
 
PUSH EBX
POP EAX
 
alors EAX = EBX
 
Ou bien ?

n°1102617
Scarmatil
magma idempotent
Posté le 31-05-2005 à 11:06:01  profilanswer
 

theredled a écrit :


PUSH EBX
POP EAX
 
alors EAX = EBX
 
Ou bien ?


En effet  :D  
 
PUSH EBX, ca revient a faire

Code :
  1. DEC ESP
  2. MOV DWord Ptr [ESP], EBX


et POP EAX:

Code :
  1. MOV EAX, DWord Ptr [ESP]
  2. INC ESP


 
(A noter que ce n'est pas tout à fait équivalent puisque PUSH et POP ne sont pas limités au regsitres)

n°1102759
db__
spécialiste de l'à peu près
Posté le 31-05-2005 à 12:31:39  profilanswer
 

Bonjour
push ebx est plutôt équivalent à  
sub esp, 4
mov [esp], ebx
pop eax est plutôt équivalent à
mov eax, [esp]
add esp, 4
sauf macro sur DEC ou INC le fait de déplacer le pointeur de pile d'un octet quand on déplace des mots de 4 octets risque d'avoir des effets surprenants.
à noter que le fait de mettre eax ou ebx sous entend que l'on manipule des 32 bits. Dans un assembleur évolué (nasm), il n'y a pas besoin de préciser la taille à enregistrer le (DWord Ptr)

n°1102820
Scarmatil
magma idempotent
Posté le 31-05-2005 à 13:14:42  profilanswer
 

db__ a écrit :

Bonjour
push ebx est plutôt équivalent à  
sub esp, 4
mov [esp], ebx
pop eax est plutôt équivalent à
mov eax, [esp]
add esp, 4
sauf macro sur DEC ou INC le fait de déplacer le pointeur de pile d'un octet quand on déplace des mots de 4 octets risque d'avoir des effets surprenants.


heu.. ooops  :sweat: Ca m'apprendra à répondre à des questions au révéil moi :sleep:  
 

db__ a écrit :


à noter que le fait de mettre eax ou ebx sous entend que l'on manipule des 32 bits. Dans un assembleur évolué (nasm), il n'y a pas besoin de préciser la taille à enregistrer le (DWord Ptr)


 
Je précise toujours la taille par habitude.
En syntaxe RosAsm c'est obligatoire, et on gagne en lisibilité la plupart du temps.
Ceci dit c'est quand même plus léger:

Code :
  1. mov D$esp, ebx



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  gdb : voir l'état des flags ?

 

Sujets relatifs
surveiller l'état d'une celluleTri sur un autre champ que la valeur identifiante dans un état
Aspect trombinoscope pour un étatExplications parametres formulaire > etat
[Java] [Resolu] Erreur ODBC État de curseur non valideCouleur dans un état
image dans un état accessAjouter un certain nombre de composants lors du load de l'etat
Exporter un état Acess dans un fichier excelErreur : "L'assistant ne sait pas créer votre état." Access 2003
Plus de sujets relatifs à : gdb : voir l'état des flags ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR