elhajjajireda
Messages postés34Date d'inscriptionmercredi 3 juin 2009StatutMembreDernière intervention20 juin 2011
-
15 avril 2011 à 16:59
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
15 avril 2011 à 22:07
Bonjour
si le vous plait est ce qu'il y a quelqu'un qui peut m'aider à comprendre ce code et surtout celui de la fonction MCheckCpu() et MCpuid()
#include "MUtils.h"
//~ static int WithMmxSseUse= 0;
using namespace std;
namespace local_vis_eric
{
void Memms() { // ==> should be done after MMX and before FPU calculations <==
#ifdef ARCH_X86
emms();
#endif
}
int MExists(const char* FileName) {
FILE* File;
if ((File=fopen(FileName,"r"))== NULL) return 0;
fclose(File);
return 1;
}
const char* MExistingFileName(const char* PrefixSuffix, int Number) {
static char FileName[1024];
if (PrefixSuffix== NULL || !strlen(PrefixSuffix))
return NULL;
int i, iMax= strlen(PrefixSuffix);
for (i=0; i< iMax; i++)
if (PrefixSuffix[i]=='*')
break;
if (i== iMax)
return NULL;
sprintf(FileName,"%s", PrefixSuffix);
sprintf(FileName+i,"%d%s", int(Number), PrefixSuffix+i+1);
if (MExists(FileName)) return FileName;
sprintf(FileName+i,"0%d%s", int(Number), PrefixSuffix+i+1);
if (MExists(FileName)) return FileName;
sprintf(FileName+i,"00%d%s", int(Number), PrefixSuffix+i+1);
if (MExists(FileName)) return FileName;
sprintf(FileName+i,"000%d%s", int(Number), PrefixSuffix+i+1);
if (MExists(FileName)) return FileName;
sprintf(FileName+i,"0000%d%s", int(Number), PrefixSuffix+i+1);
if (MExists(FileName)) return FileName;
return NULL;
}
int MCpuid() { // This function is from the GNU mpeg2dec source.
// Copyright (C) 1999-2001 Aaron Holtzman
#ifdef ARCH_X86
uint32_t eax, ebx, ecx, edx;
int AMD;
uint32_t caps;
if (eax == ebx) /* no cpuid */
return 0;
cpuid (0x0000int MCpuid() { // This function is from the GNU mpeg2dec source.
// Copyright (C) 1999-2001 Aaron Holtzman
#ifdef ARCH_X86
uint32_t eax, ebx, ecx, edx;
int AMD;
uint32_t caps;
J'ai l'impression que ce code check le type de cpu que tu as. Sûrement pour vérifier qu'il a le droit d'utiliser certaines instructions qui ne sont pas présentes (ou différentes) sur certains processeurs.
Tu devrais poster cette question sur le forum asm, ils répondront sans doute mieux que moi.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 15 avril 2011 à 22:07
Poste une nouvelle question sur le forum asm.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question