Après on peut s'amuser un peu pour pousser l'ALU à écrire la valeur aussi tôt qu'elle a été calculé (donc en un cycle seulement) - mais faut pas venir se plaindre de la valeur de la carry. Apparemment ça n'est pas dispo sur toutes les archi z80, mais sur Amstrad c'était possible.
Source ? J'ai jamais vu ça sur Amstrad CPC. Par ailleurs sur Amstrad les cycles CPU étaient également contraints par les accès mémoire (partagés entre le CRTC et le CPU), et donc en pratique toutes les instructions prenaient un multiple de 4 cycles.
Également on pouvait combiner 2 registres pour faire un registre 16 bits en l’occurrence A et E dans AE et D & F dans DF.
C'était B & C dans BC, D & E dans DE, H & L dans HL (et non H & M). A & F étaient combinables uniquement pour des instructions de chargement (PUSH / POP, ainsi que EX AF,AF'), pas pour de l'arithmétique (de l'arithmétique sur les flags, ça aurait fait désordre :-)).
On pouvait aussi utiliser le pointeur de pile comme opérande dans certaines opérations 16 bits (par exemple ADD HL,SP).
Le Z80 était un CPU assez agréable à programmer, avec pas mal de registres et d'instructions (bon, il n'y avait pas de multiplication non plus :-)), mais apparemment moins efficace que certains concurrents plus rustiques et plus optimisés. Le moyen le plus rapide de faire des transferts mémoire était d'utiliser PUSH et POP... certains ne s'en privaient pas (après avoir coupé les interruptions !).
[^] # Re: Ah on voit les classes moyennes et hautes qui se détachent
Posté par Antoine . En réponse au sondage Mon processeur préféré ?. Évalué à 2.
Source ? J'ai jamais vu ça sur Amstrad CPC. Par ailleurs sur Amstrad les cycles CPU étaient également contraints par les accès mémoire (partagés entre le CRTC et le CPU), et donc en pratique toutes les instructions prenaient un multiple de 4 cycles.
C'était B & C dans BC, D & E dans DE, H & L dans HL (et non H & M). A & F étaient combinables uniquement pour des instructions de chargement (PUSH / POP, ainsi que EX AF,AF'), pas pour de l'arithmétique (de l'arithmétique sur les flags, ça aurait fait désordre :-)).
On pouvait aussi utiliser le pointeur de pile comme opérande dans certaines opérations 16 bits (par exemple ADD HL,SP).
Le Z80 était un CPU assez agréable à programmer, avec pas mal de registres et d'instructions (bon, il n'y avait pas de multiplication non plus :-)), mais apparemment moins efficace que certains concurrents plus rustiques et plus optimisés. Le moyen le plus rapide de faire des transferts mémoire était d'utiliser PUSH et POP... certains ne s'en privaient pas (après avoir coupé les interruptions !).