Instruction Dec

Résolu
Lilia_sys Messages postés 15 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 21 avril 2007 - 24 janv. 2007 à 18:33
Lilia_sys Messages postés 15 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 21 avril 2007 - 2 févr. 2007 à 18:12
Salut tout le monde,

Pour l'instruction Dec, combien  faudrat-il de cycles machines si on a :
Dec Z
Avec Z une variable de type DD, située a une adresse paire de la mémoire-Sachant kje travaille avc le 8086 -

j'ai une ptite idée mais je ne sais pas si c'est juste, donc , pour moi, vu ke l'instruction
dec memory  pour  le 8086 a besoin de 15+EA cycles machines avec : EA(Temps necessaire pour le calcul des adresses effectives)=6, et que pour un mot(16 bits), il ns faut 2 transferts, est ce que ça serait bon de dire ke le nombre des cycles machines vaut: 15+6+6.

Et dans le cas ou Z est a une adresse impaire est ce que c'est égal a 16+6+6+4+4+4+4


G'éspere que quelqu'un pourra m'aider à régler ce bleme.


D'avance,Merci!

5 réponses

Nukleos Messages postés 31 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 31 juillet 2008
26 janv. 2007 à 21:55
N'y-a-t-il pas un piège ?

Tu parles d'une variable de type DD, donc Doubleword, donc 32 bits.
Le 8086 ne permet pas DEC DWORD[mem]
mais seulement DEC WORD[mem].
Alors dans ce cas : cycles = 15 (mem paire)
ou cycles=15+4 (mem impaire)

A préciser...

Patrick
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2007 à 09:53
Sur P4, la doc nous dit:
dec reg : 1 cycle
dec mem : 3 cycles

Elle n'est pas ordinaire ta technique de prendre les chiffres de l'opcode pour en tirer des conclusions. Ferais-tu dans la numérologie à tes heures perdues ?
Si je prends mon nro de sécu et que je calcule ainsi pour avoir mon indemnisation journalière en cas d'arrêt de travail, je vais chez le toubib illico...

ciao...
BruNews, MVP VC++
0
Lilia_sys Messages postés 15 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 21 avril 2007
26 janv. 2007 à 14:10
Là, je parle du 8086, et la doc nous dit que:
Dec reg16     2cycles
Dec reg8       3cycles
Dec memory 15+EA ( et ici il nous faut 2transferts pour 16bits)

Ca c'est sur et certain.
Je crois que vous avez mal lu ma question :-)

Ciao
0
Lilia_sys Messages postés 15 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 21 avril 2007
27 janv. 2007 à 18:09
Salut,


Mais pourquoi ça ne permet pas de faire le dec doubleword??? Pour moi, ça le permet ,sauf que ça demandera plus de transferts, non?!


Dans le cas d'un mot on aura:


15+6 cycles pour le cas ou c'est pair et 15+6+4+4 cycles dans le cas impair
(Le 6 fait référence au temps necessaire au calcul de l'adresse effective, et puis on aura besoin de 2 transferts por le dec mem(16bits)), Non??!!


Lilia
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lilia_sys Messages postés 15 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 21 avril 2007
2 févr. 2007 à 18:12
salut
Ok,t'as raison Patrick , c'est faux de faire un dec DWORD  sur le 8086. J'ai tout compris maintenant.
Merci
0
Rejoignez-nous