Instruction Dec [Résolu]

Signaler
Messages postés
15
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
21 avril 2007
-
Messages postés
15
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
21 avril 2007
-
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

Messages postés
31
Date d'inscription
vendredi 31 décembre 2004
Statut
Membre
Dernière intervention
31 juillet 2008

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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
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++
Messages postés
15
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
21 avril 2007

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
Messages postés
15
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
21 avril 2007

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
Messages postés
15
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
21 avril 2007

salut
Ok,t'as raison Patrick , c'est faux de faire un dec DWORD  sur le 8086. J'ai tout compris maintenant.
Merci