0/5 (4 avis)
Vue 6 056 fois - Téléchargée 372 fois
program SleepEx; {$APPTYPE CONSOLE} uses SysUtils, Windows; var i: Integer; procedure Pause(t: DWORD); register; asm push ecx push ebx mov ecx, eax call GetTickCount mov ebx, eax @attente: push ebx push ecx push 1 call Sleep pop ecx pop ebx call GetTickCount sub eax, ebx cmp eax, ecx jnae @attente pop ebx pop ecx end; begin for i := 0 to 9 do begin writeln('i=', i); Pause(1000); end; end.
27 juil. 2005 à 21:19
20 août 2003 à 16:36
L'appel de Sleep sert juste à rendre la main à l'ordonnanceur, si quelqu'un connait la fonction exacte permettant de faire cela (un peu comme pthread_yield), je suis intéressé ;)
6 juin 2003 à 11:43
Par contre dans la fonction asm, c'est vrai qu'il n'y a pas de différence, c'est juste que je voulais essayer de recoder cette petite procédure en asm pour voir si j'y arrivais, rien de plus, faut bien commencer quelque part :p
6 juin 2003 à 10:49
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.