A propos de l'assembleur 8086

imzil -  
 katy -
Salut
j'ai la question suivante avec la réponse je veux une explication détaillée:
la question est :
quel instruction devrions-nous utiliser pour mettre les deux bits LSB de AX à 0 ? pour les mettre à 1?
répomse:
AND AX,0FFFCh metrre à 0
OR AX,00003h metrre à 1

je ne comprends pas pourquoi ils ont pris 0FFFCh
aussi pourquoi 00003h
NB: JE Rappel qu'on parle ici du l,assemluer 8086

2 réponses

patatalo
 
salut,

table de vérité du ET logique:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1

hexa : F C
binaire: 1111 1100

table de vérité du OU logique:
0 OR 0 = 0
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1

hexa : 0 3
binaire: 0000 0011

c'est une question d'algèbre de bool.

@++
0
katy
 
salut!! cette solution est juste a mon avis et elle est unique si la question est de mettre les deux bit LSB a 0 et les autres a 1 et inversement.mais on aurais pu mettre autre chose que FFFC et 0003 si la question ne precise pas les valeurs des autres bit alors on aurai pu faire
AND AX,XXX0 (X parce qu'on peut mettre n'importe quelle valeur)
,, ,, ,, 4
,, ,, ,, 8 .... etc bref tous les chiffres dont les deux bit de poid faible sont a zero.
idem pour le OR , l'essentiel est que les deux bit de poid faible du nombre soient a 1.
j'espère que ça vous aura aidé.
sinon je debute avec l'assembleur 8086 et je cheche de la documentation si quelqu'un pouvais me donner un lien interessant.
merci
0