CPUID : DES INFORMATIONS SUR VOTRE PROCESSEUR (INTEL ET AMD)

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 21 août 2004 à 13:50
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005 - 23 août 2004 à 17:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25572-cpuid-des-informations-sur-votre-processeur-intel-et-amd

BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
23 août 2004 à 17:32
d'accord, merci :)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 août 2004 à 11:01
naked supprime toute prise en charge de la fonction par le compilo, asm pur.
__stdcall est bien la convention d'appel, qui replace le pointeur de tack ESP.
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
23 août 2004 à 10:58
il me semblait que __stdcall définissait une convention d'appel, et que _declspec(naked) supprimait l'en-tete de fonction ... l'implémentation de la convention ne se trouve donc pas dans l'en-tete ? je dois tout mélanger
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 août 2004 à 10:10
aucunement, WINAPI est un alias de __stdcall.
Par contre, avec 'naked' il ne doit y avoir aucun code 'C', doit commencer par '__asm' et finir a 'ret xxx'.
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
23 août 2004 à 10:07
mettre _declspec(naked) et WINAPI ne sont pas contradictoires ?
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 août 2004 à 21:46
Salut ShareVB,
http://www.cppfrance.com/code.aspx?ID=25597
j'ai remis un exemple, bien moins etendu que le tien, tu pourras jeter un oeil si tu veux pour voir comment supprimer CopyMemory et tous les transferts registres-memoire inutiles.
Si tu as des questions, pas de probleme.
ciao...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 août 2004 à 13:50
Pourquoi PUSHAD dans toutes ces fonctions quand tu n'utilises parfois qu'1 seul registre ?
CMP EDI,0 => TEST edi, edi
__declspec(naked) devant les fonctions pour les ecrire en pur asm et gagner pas mal de cycles.
Rejoignez-nous