Mini debug

Soyez le premier à donner votre avis sur cette source.

Vue 5 797 fois - Téléchargée 572 fois

Description

DBG permet d'afficher la valeur des registres ainsi que l'état des drapeaux au moment de l'appel.
On peut aussi etudier la valeur de 4 variables signées ou non(deux variables entières et deux variables à virgules flottantes)
Pour appeler DBG faire comme suit;
dbg v1,v2,f1,f2 AVEC v1 et v2 variable de type SDWORD ou DWORD,f1 et f2 de type REAL4(j'ai defini trois chiffres derrière la virgule maxi)
Si on ne veut pas etudier de variables,on met en paramètres i0 pour les variables entières et f0 pour les flottantes
Pour plus de lisibilité j'utilise dans l'exemple une lib mais je fourni le code source de cette lib dans le zip.
(ps: Je n'efface pas le buffer entre chaque appel de dbg,il y a de ce fait des caracteres qui trainent quand on n'utilise pas les 4 paramètres)

Merci de me donner votre avis sur ce code.
Bonne PROG.
PARKI

Source / Exemple :


.386
.model flat,stdcall
option	casemap:none 

INCLUDE dbg.inc
INCLUDELIB dbg.lib

INCLUDELIB user32.lib
INCLUDELIB kernel32.lib

ExitProcess PROTO dwExitCode:DWORD

.data

flottant1	REAL4	-654.321f
flottant2	REAL4	0.248f
entier1		DWORD -146
entier2		dword 1
;
float1		REAL4	?
cent		DWORD 100.0f

.code

debut:
	
  ;etude de 4 variables
	dbg entier1,entier2,flottant1,flottant2
	
  ;etude d'une variable entiere et une flottante
	dbg entier1,i0,flottant1,f0
	
  ;etude de la fpu
	fld flottant1
	fmul dword ptr[cent]
	fstp float1	;float1=-654.321*100=-65432.1
	dbg i0,i0,float1,f0
	
	invoke ExitProcess,0
	
end debut

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
ce qui donne:
;IOPL=bit 13
shl cx,1
setc al
shl cx,1
setc dl
lea eax,[edx+eax*2+'0']
mov [resultat+179+4],al
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
au fait, le flag IOPL comprend 2 bits et peut avoir une valeur de 0 à 3
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
pour le code de

;affichage du contenu de EFLAGS
;------------------------------

mov cx,EFLAGS
shl cx,1 ;on sort bit 15 non utilisé
;NT=bit 14
shl cx,1
setc al
add al,'0'
mov [resultat+179],al
;IOPL=bit 13
; ou alors
shl cx,1
setc al
add al,'0'
mov [resultat+179+4],al
...

@++
Messages postés
75
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
25 mars 2019

Merci pour tes conseils patatalo,je reprends ce code dès que je peux.
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
ça, c'est vraiment si tu veux t'eclater parce que c'est hyper mal commenté:



http://www.asmfr.com/codes/DEBUGGER-WINDOWS-SANS-DEBUGGER_19632.aspx

@++
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.