olly60
Messages postés3Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention15 juillet 2003
-
24 avril 2003 à 13:02
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 2007
-
24 avril 2003 à 21:37
comment peut on faire un dump mémoire en assembleur??
je bloque dessus étant débutant dans ce language!! j'ai seulement besoin de l'algo svp
merci
olly60
Messages postés3Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention15 juillet 2003 24 avril 2003 à 13:02
-------------------------------
Réponse au message :
-------------------------------
> comment peut on faire un dump mémoire en assembleur??
> je bloque dessus étant débutant dans ce language!! j'ai seulement besoin de l'algo svp
> merci
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 24 avril 2003 à 21:37
; Adresse d'offset de début à dumper
; Attention c'est du 16 bits par défaut donc pour une adresse
; 1234:5678 (1234h comme adresse de segment et 5678h
; comme adresse d'offset) il faudra mettre 12345678h et en
; 32 bits ça donne:
; segment * 16 + offset soit
; 1234h * 10h + 5678h
; = 00012340h + 00005678h
; = 000179B8h
mem dw 12345678h
; Charge dans le registre SI la valeur 5678h
; et dans le registre de segment DS la valeur 1234h
lds si, dword ptr [adresse_de_base]
; Charge dans le registre CX le nombre d'octet à dumper
mov cx, nb_octets
; Etiquette de saut
boucle:
; Charge dans le registre AL la valeur pointée par
; DS:SI et incrémente la valeur de SI
lodsb
call Affiche_Valeur_Registre_AL
; Décrémenter la valeur de CX et sauter à l'étiquette
; boucle si la valeur de CX est non nulle
loop boucle