1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
mov ebx, 1 ; ebx = 1
sub ebx, esi ; ebx = 1- ofset String
sub ebp, esi ; ebp = @chaine3-offset String
TQ_401062:
test edx, edx
mov eax, edx ; eax = edx
jl short loc_401075 ; jump si (SF!=OF). si edx < 0 jump ?
lea ecx, [ebx+edx] ; ecx = String[ edx-1 ] = 1-offset String +edx
add ecx, esi ; ecx = 1+edx = 1- offset String+offset String
loc_40106D:
imul eax, edx ; eax = edx ² = eax * edx
neg eax
dec ecx
jnz short loc_40106D ; jmp si ZF=0. Mais sur quelle opération?
[...suite...]
mov edi, esi ; EDI = offset String
xor eax, eax ; eax = 0
inc edx ; edx ++
repne scasb ; (recherche fin de chaine pointée par EDI)
not ecx
dec ecx ; ecx = strlen (String)
cmp edx, ecx ; si edx< strlen(String) on boucle
jb short TQ_401062 ;jump si CF=1. Le carry celui là c ok c'est la fin de boucle
[fin de boucle] |
Partager