Asm : instructions bizarres

Résolu/Fermé
Utilisateur anonyme - 3 janv. 2010 à 20:35
 Utilisateur anonyme - 3 janv. 2010 à 21:16
Bonjour,

J'ai désassemblé un programme, et j'ai vu 2 instructions bizarres.

J'ai une chaine de caractères dans ESI, à 00404070 : 123456789123456789ABCDEF-------

Voici les instructions :

SUB BYTE PTR DS:[ESI + 4], 2d
JNZ label

Mais je ne comprends pas comment on peux enlever la valeur 45 en décimal sur UN octet...
Merci de m'aider à mieux comprendre ce code =)

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
3 janv. 2010 à 21:04
Pourquoi pas?
Si dans [esi + 4] on a 255, du coup on aura
[esi + 4] = 210

Je ne comprends pas ce que tu ne comprends pas en fait :)

Le but de ce bout de code:

[esi + 4] -= 45

si [esi + 4] != 0
goto label
0
Utilisateur anonyme
3 janv. 2010 à 21:16
En fait c'est que je suis con, ça vérifie juste qu'il y a un tiret -de code ascii 2d = 45- a cet emplacement. C'est résolu ! Et merci quand même kilian =)
0