Tester une entrée en asm

cs_fred17 Messages postés 2 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 11 décembre 2004 - 11 déc. 2004 à 16:44
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 14 déc. 2004 à 10:27
merci d'avance a ceux qui me répondront. Pour finir un projet, j'ai besoin de tester une entrée. plus précisément de tester le bit 5 qui se trouve dans le port 379. il faut en faite que je teste si cette entrée est a 1. Je sais que je doit utilsé un filtre ou un masque a l'aide de 0x20. je sais aussi que je dois utiliser le mnémonique "in" comme ceci: in ax,dx pour lire l'entrée. J'ai bien entendu déclaré mon port comme ceci: etat equ 379h et avant de faire la lecture je met ladresse du port dans dx, ensuite seulement je fais ma lecture...

Voila je suis bloqué, j'ai beaucoups de mal a tester ce bit 5 sur le port 379 si quelqu'un pourrait m'éclairer se serait super sympa de votre par! merci d'avance!

3 réponses

cs_redwings Messages postés 24 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 28 avril 2008 2
11 déc. 2004 à 22:55
si c'est le 5ieme bit alors ton masque doit etre 0x10
le 0x20 est pour le 6ieme bit

10(16)=16(10)=2^4 (noublie pas le 2^0 qui presente le 1er bit)
0
cs_fred17 Messages postés 2 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 11 décembre 2004
11 déc. 2004 à 23:12
merci mais en faite moi je compte les bit en partant de 0, donc pour mois sa va de 0 à 7 et non 1 à 8. mais sinon jai réussi a faire ce que je voulais, c'était bien ce que je pensai mais javai du mal a mettre en code le truc.il suffisait de mettre le port dans dx. de faire la lecture de lentrée. de mettre le masque dans la valeur lu et de faire un test de ma boucle! merci à toi
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
14 déc. 2004 à 10:27
salut,

mov dx,etat
in al,dx ; une lecture byte pour un port 8bit c mieux
test al,0x20
jne .esta1
je .esta0

@++
0
Rejoignez-nous