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.
-----
05/02/2020, 00h02
#2
Jack
Modérateur
Date d'inscription
avril 2003
Localisation
Metz
Messages
17 787
Re : Assembleur 8086
Personnellment, je n'ai rien compris à ce que tu veux.
Tu peux reformuler plus clairement?
05/02/2020, 13h25
#3
polo974
Date d'inscription
février 2007
Messages
8 957
Re : Assembleur 8086
ça sert encore l'assembleur 8086 (à part torturer les enfants) ?
Jusqu'ici tout va bien...
05/02/2020, 17h30
#4
JPL
Responsable des forums
Date d'inscription
septembre 2003
Messages
63 825
Re : Assembleur 8086
Très probablement à donner un exercice aux étudiants parce qu’il n’est pas trop compliqué
Rien ne sert de penser, il faut réfléchir avant - Pierre Dac
Aujourd'hui
A voir en vidéo sur Futura
08/02/2020, 16h49
#5
Bounoume
Date d'inscription
octobre 2005
Localisation
allier
Âge
75
Messages
2 454
Re : Assembleur 8086
Envoyé par yousra kh
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.....
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......
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...
Dernière modification par Bounoume ; 08/02/2020 à 16h50.
rien ne sert de penser, il faut réfléchir avant.... (Pierre Dac...)
08/02/2020, 17h40
#6
Jack
Modérateur
Date d'inscription
avril 2003
Localisation
Metz
Messages
17 787
Re : Assembleur 8086
Envoyé par Bounoume
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.
09/02/2020, 00h27
#7
Bounoume
Date d'inscription
octobre 2005
Localisation
allier
Âge
75
Messages
2 454
Re : Assembleur 8086
ça ne me rajeunit pas...grrrr !
rien ne sert de penser, il faut réfléchir avant.... (Pierre Dac...)