begin process at 2012 05 24 03:27:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

divers

 > MINI DEBUG

MINI DEBUG


 Information sur la source

Note :
Aucune note
Catégorie :divers Classé sous :debug, registres, drapeaux, flags, flottant Niveau :Débutant Date de création :29/03/2010 Date de mise à jour :20/05/2010 17:10:53 Vu / téléchargé :3 927 / 92

Auteur : parki

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • .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
.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
 



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 avril 2010 13:10:30 :
j'ai amélioré le code,d'où 50 % de code en moins par rapport à la version précédente.
20 mai 2010 17:05:07 :
- utilisation d'une macro pour un appel plus "propre" - ajout de procedures pour permettre l'affichage du contenu de variables type SDWORD,DWORD,REAL4.
20 mai 2010 17:08:03 :
- utilisation d'une macro pour un appel plus "propre" - ajout de procedures permettant l'affichage de variables type SDWORD,DWORD,REAL4
20 mai 2010 17:10:53 :
- utilisation d'une macro pour un appel plus "propre" - ajout de procedures permettant l'affichage du contenu de variables type SDWORD,DWORD,REAL4

 Sources du même auteur

Source avec une capture COMPTEUR DE TEMPS
Source avec Zip Source avec une capture SHOOT 1.00
INTERFACE C ET ASM
Source avec Zip Source avec une capture MASMBLEND

 Sources de la même categorie

Source avec une capture DESSIN DE RECTANGLES (POSITION, TAILLE, COULEUR, ÉPAISSEUR) par macsou01
RECHERCHE DES PALINDROMES D'UN TEXTE SAISI. par PCBill
Source avec Zip LIBRAIRIE GRAPHIQUE (ET PLUS) EN MODE RÉEL par epineurien
Source avec Zip Source avec une capture LIB PROGRESSBAR (PERSONNALISABLE , DÉGRADÉ DE COULEUR,POURCE... par knetus
Source avec Zip Source avec une capture AFFICHE COULEUR par knetus

Commentaires et avis

Commentaire de patatalo le 29/03/2010 18:30:23 administrateur CS

salut,

pour tes comparaisons cl, tu pourrais utiliser un tableau:

ex pour un tableau de short int:
lea edx,[montab]
movzx edx,word ptr[edx+ecx*2]

cela t'evitera cette suite de tests.

l'instruction bound peut te permettre de tester les valeurs de cl mais cela supposerait une utilisation des eh.

@++

Commentaire de patatalo le 29/03/2010 18:49:33 administrateur CS

Ton code est largement améliorable mais c'est un bon début.

Quand tu voudras progresser en deboguage, va voir du côté des exceptions handlers. Il me semble que tu as une très bonne doc sur le site d'Iczelion. Mets iczelion en recherche google pour le trouver.

@++

Commentaire de patatalo le 29/03/2010 18:52:33 administrateur CS

mieux encore si tu fais un tableau de dword:
lea edx,[montab]
add eax,[edx+ecx*4] directement.

Commentaire de patatalo le 29/03/2010 19:02:36 administrateur CS

ç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

@++

Commentaire de parki le 31/03/2010 10:09:34

Merci pour tes conseils patatalo,je reprends ce code dès que je peux.

Commentaire de patatalo le 27/06/2010 03:57:40 administrateur CS

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
...

@++

Commentaire de patatalo le 27/06/2010 04:07:30 administrateur CS

au fait, le flag IOPL comprend 2 bits et peut avoir une valeur de 0 à 3

Commentaire de patatalo le 27/06/2010 04:13:41 administrateur CS

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

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment mélanger les flottant et les long ? [ par frobinet ] Bonjour,Pour dessiner une part de camembert avec les fonctions du GDI, j'ai besoin de faire cette manips CoordX = Cos(Angle * Pi / 180) * Rayon + Ce Registres windows [ par S2R ] Bonjour à tous, Est il possible de créer une clé dans la base de registre sans importer de dll?sinon comment fait-on pour importer une dll avec tasm?m coprocesseur math flottant [ par psion2 ] voilà je dois afficher le resultat obtenu dans le coprocesseur math, j'ai lu plusieurs solutions dans le forum mais je ne les comprends pas totalement Compilateur !? Debug sous dos [ par CCJ ] bonjourj'ai un prob car j'aimerai savoir comment assembler et compiler sous dos (je sais pas si ca peut changer kek chose mais j'ai un amd athlon)voil bits de registres [ par vecchio56 ] Salut,Je cherche le moyen le plus rapide de-connaitre le bit numero n d'un registre-mettre à b le bit numero n d'un registre(Ou si c'est possible mett Besoin d'explications sur les flags [ par teknocrack ] salut à tous,je programme habituellement en VB, donc je n'ai pas vraiment la notion de flags, même si en réalité on peut comparer FPU et Vc++ [ par AlexMAN ] Bonsoir, J'aurais aimé savoir s'il etait possible de visionner le contenu des registres FPU sous VC++, parce que c'est assez embetant de ne pas v debug et le mode texte par 0B800h [ par ShareVB ] bonjour à tous,j'ai vu qu'il fallait lancer l'utilitaire debug dans la fenêtre console avant de lancer l'exe (16bits mode réel) pour po Flags dans le registre INTCON [ par tahiti_bob ] Bonjour,J'ai  trouvé sur cette page une excellente routine de communication RS232 entre un PIC et un PC.http://www.electronic-engineering.ch debug [ par RM50Man ] est ce que c possible de compiler un prog en assembleur avec le programme debug du dosRM50man


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



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

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