Salut, Comme un pourcentage normal eax et edx doivent rester inchanger mov ecx,100 div ecx mov ecx,N% ;extrait N% de eax:edx initial mul ecx ;;;;;le tour est joué,mais le reste est perdu
mais on peut aussi utiliser le FPU,masm32 fournit le proc suivant sur 32 bits PourCent proc source:DWORD, percent:DWORD ; invoke PourCent,Xresolution,80 ;80 % de Xresolution LOCAL var1:DWORD
mov var1, 100 ; to divide by 100 FINIT ; l'instruction qui manque dans lib masm32 fild source ; load source integer fild var1 ; load 100 fdiv ; divide source by 100 fild percent ; load required percentage fmul ; multiply 1% by required percentage fist var1 ; store result in variable mov eax, var1
ret PourCent endp
ToutEnMasm
|