Demande d'un petit coup de pouce si possible.

Hellayndra Messages postés 1 Date d'inscription jeudi 3 décembre 2009 Statut Membre Dernière intervention 3 décembre 2009 - 3 déc. 2009 à 18:29
Forthman Messages postés 23 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 9 janvier 2014 - 4 déc. 2009 à 07:18
Tout d'abord, bien le bonjour (ou bonsoir!) a tous.

Voila je viens poster sur votre forum car j'ai quelque soucis dans mon cours d'assembleur suite a une absence de ma part (oui je sais c'est mal honte sur moi )

Donc j'essais de me remettre en ordre dans mon cours d'assembleur et comme il y a quelque trucs que je ne comprends pas je me suis dit que peut etre quelqu'un ici, pourrait m'aider dans la soirée, avant de devoir demain poser la question au profs (et ainsi permettre de rattraper le train plus rapidement pour la suite :D).


Voici mon soucis.

L'exercice demandé est dans le tableau Abtab DB 7,3,6,11,18 de faire un programme qui calcule la somme dans AX des éléments pairs.

Je suppose que pour parcourir le tableau c'est le meme principe que pour une chaînes de caracteres (donc je fait CMP Abtab[si] ?? puis INC SI ?)

Cependant je ne sais pas a quoi je doit comparer l'élément actuellement comparer pour determiner si il est impair ou pair. pour le reste je devrais pouvoir m'en sortir sans soucis pour déplacer la valeur dans AX et en faire la somme, mais c'est vraiment sur se test de pairs ou impairs que j'ai du mal...

D'avance merci de prendre le temps de lire ma requête.

Je vous souhaite une bonne soirée ou une bonne journee selon le moment en rigueur

Hellayndra

1 réponse

Forthman Messages postés 23 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 9 janvier 2014
4 déc. 2009 à 07:18
Hello,

Bien un chiffre pair est un multiple de 2...
histoire de bien visualiser, il faut se représenter les valeurs en binaire :

1 = 001b
2 = 010b
3 = 011b
4 = 100b
5 = 101b
6 = 110b
... etc...

d'un simple coup d'œil on voit que quand le nombre est pair, le bit0 = 0

donc un "test al,1" suivi d'un saut "jnz pas_ajouter" pour éviter
d'ajouter cette valeur au résultat est c'est ok ;)

a+ François
0
Rejoignez-nous