Tester la valeur d'un bit

Signaler
Messages postés
1
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
29 janvier 2010
-
Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
-
Bonjour à tous,

Voila mon pb est que je dois lire un bit dans un registre en utilisant les masques, mais le code que j'ai écrit me renvois tous le temps faux. J'ai un menu dans le main qui demande l'adresse du registre, ainsi que le numéro du bit dont on veut savoir la valeur. Est ce que qq1 pourrais m'aider?

Voila le code de ma fonction:

bool AcceReg::TestByte(int adrByte, int numByte)
{
     bool validByte = true;
     char masque;

     if ((numByte >= 0) && (numByte <= 7))
     {
        if (adrByte==0x600)
        {
masque = 1<<numByte;
valPortE0 = numByte & masque;
outportb(0x600,valPortE0);
        }
        else
{
if (adrByte==0x601)
{
masque = 1<<numByte;
valPortA0 = numByte & masque;
outportb(0x600,valPortA0);
}
else
validByte = false;
}
     	}
     	else
     	{
validByte = false;
     	}
     return validByte;
}


Merci

1 réponse

Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
Bonjour,

Tu parles de lire mais tu écris !

tu trouve False ? alors numByte < 0 || numbyte>7 ou alors adrByte n'est ni 0x600 ni 0x601.
Il n'y a pas d'autre test ni de changement de valeurt de validByte


thip