Ma question est pourquoi y at-il des états 6T dans l'extraction de code de l'instruction CALL alors qu'il y en a 4 pour d'autres instructions dans le microprocesseur 8085. J'ai beaucoup cherché mais je n'ai pas trouvé de réponse satisfaisante.Pourquoi y-a-t-il des états 6T dans l'extraction de code d'opération de CALL au lieu de 4?
Ici: http://www.edaboard.com/thread201650.html il est dit que cela a quelque chose à voir avec les modes d'adressage double utilisés dans le cas de CALL. Mais n'explique pas vraiment pourquoi les états 6T.
Une idée?
EDIT
Cette question a été soulevée quand je suis venu à savoir que CALL prend 18 T-états.
Selon mes calculs, il devrait être: 4 (pour opcode fetch) + 3 + 3 (deux mémoire lit pour lire l'adresse du sous-programme) + 3 + 3 (pour deux mémoire écrit sur la pile) = 16
Ainsi, sur la recherche Internet je suis arrivé à savoir que l'opcode chercher en cas d'une partie CALL prend 6T indique au lieu de 4.
MISE à JOUR
maintenant, après avoir lu les commentaires et en repensant, je suis arrivé à savoir que PUSH prend normalement 12 états-T comme instruction. Nous pouvons ignorer la partie d'extraction de code d'opération pour PUSH en cas d'appel car il n'y a pas d'instruction PUSH explicite, nous avons maintenant 8 (12 - 4). Donc, je pense que c'est à cause de la décrémentation du pointeur de la pile? Parce que même en poussant ça aurait dû être 6 (3 + 3 pour les écritures mémoire), mais ici c'est 8 (4 + 4).
La poussée n'est pas gratuite. –
@ IgnacioVazquez-Abrams: Pousser est simplement l'écriture de la mémoire - prend 3 t-états que j'ai déjà considéré dans mes calculs. Voir mon Edit. – tapananand
@ IgnacioVazquez-Abrams: Est-ce que ce que j'ai mis à jour dans ma question est correct? – tapananand