Bonjour,
Comment choisir le Byte dans le cas de l'operand est :
MOV regestre,immediat --> Bytes:2-3
MOV memoire,immediat --> Bytes: 3-6
ADD registre,immediat --> Bytes: 3-4
Merci d'avance.
Bonjour,
Comment choisir le Byte dans le cas de l'operand est :
MOV regestre,immediat --> Bytes:2-3
MOV memoire,immediat --> Bytes: 3-6
ADD registre,immediat --> Bytes: 3-4
Merci d'avance.
Personnellment, je n'ai rien compris à ce que tu veux.
Tu peux reformuler plus clairement?
ça sert encore l'assembleur 8086 (à part torturer les enfants) ?
Très probablement à donner un exercice aux étudiants parce qu’il n’est pas trop compliqué ;)
Bonjour, Comment choisir le Byte dans le cas de l'operand est : Merci d'avance.
Où as trouvé un vieux microprocesseur de + de 30 ans d'âge? Et une documentation basique dessus?
J 'imagine que tu viens de très très loin.....:pff:
Si tu repasses sur ce fil (?) je peux peut-être rappeler de très vieux souvenirs et te donner une piste approximative, d'autant que le micro que je connaissais, c'était le 6809 motorola...... :conf:
pas le 8086 (qui a le piège de la segmentation en plus)
d'abord, parles-tu de bits ou de bytes?
un byte= 1 mot de 8 bits
un bit= un zéro OU un 1.....
Pour les bytes.... y a tout dans la documentation des instructions assembleur....
pour les bits (de poids 0 à 7) , là.....
réponse: . tu ne peux pas.... directement..... manipuler 1 seul bit de l'octet! ça ne marche que sur les 8 ensemble....
mais il y a une astuce: les "masques"...... et les opérations logiques (faire un ET logique....)
Si tu veux IMPOSER une valeur à 1 ou plusieurs bits d'un mot......
faut d'abord construire l'opérande: le mot où tu as placé (à la bonne place, au rang correct! ) les bits que tu veux imposer..... par exemples bits 2 et 3 que tu veux mettre à 1:
rappel: les rangs vont de zéro à 7...
mot= 001100
tu places ce mot dans une mémoire;
tu fais un OU logique avec le registre (ou accumulateur, j'ai oublié..) que tu veux modifier (où tu veux imposer tes bits à 1) (instructions avec un OR/AND ?)
tu obtiens le résultat dan l'accumulateur (ou le registre ?)
Voilà le principe.
Si il y a aussi des 0 à imposer.....
tu récupères le résultat précédent.... et alors faut une seconde procédure du même genre, à base de Zéros, avec un ET logique.....
facile à transposer....
.... si tu as appris l'algèbre de Boole, et la numération binaire.
Avec ça, tu peux imaginer comment manipuler pour écrire des zéros à des emplacements donnés, ou pour n' extraire que certains bits (quoique là il y a possibilité de RotationOnR ou RotationOnL.... mais après il faut quand même nettoyer les poids forts en excédent.....
SI tu ne connais pas les bases, c'est foutu...
Où as trouvé un vieux microprocesseur de + de 30 ans d'âge?
Tu peux pousser jusqu'à plus de 40 ans vu qu'il est né en 1978.
ça ne me rajeunit pas...grrrr !