Asm : instructions bizarres

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
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 8854 Statut Modérateur 1 526
 
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
 
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