Instrukcja w rzeczywistości kończy się na końcu T2 cyklu M1, który czyta następną instrukcję, jak wyjaśniono na z80.info
Tak więc instrukcję taką jak: SUB r można podzielić w ten sposób:
M1 / T1
M1 / T2: odczytaj kod operacji
M1 / T3: kod operacji jest dekodowany jako SUB r. A jest ładowany do zatrzasku op1
M1 / T4: r jest ładowany do zatrzasku op2
------------
M1 / T1: oblicza się i zapisuje małe skubanie odejmowania, co skutkuje niskim zatrzaskiem
M1 / T2: obliczany jest wysoki półbajt odejmowania i zapisywany do pliku rejestru,
wynikowy niski zatrzask jest zapisywany do pliku rejestru,
następny kod operacji jest odczytywany z pamięci
Ten schemat nakładania się jest używany tylko wtedy, gdy operacja zapisuje do rejestru. Jeśli zapisuje do pamięci, nie może wystąpić żadne nakładanie się, ponieważ kolidowałoby to z cyklem M1 próbującym odczytać kod operacji.
Inny przykład: INC HL. Zwiększa to 16-bitowy rejestr, więc 4-bitowa jednostka ALU musi być użyta cztery razy. INC HL ma jeden cykl M1, który trwa 6 cykli zegara. Jego podział jest następujący (liczba cykli zegara dla każdego cyklu maszyny pochodzi z podręcznika technicznego Mostek MK3880 Z80):
M1 / T1:
M1 / T2: odczytaj kod operacji
M1 / T3: kod operacji jest dekodowany jako INC HL
M1 / T4: L jest ładowany do zatrzasku op1
M1 / T5: niskie skubanie L jest zwiększane i przechowywane w wyniku niskiego zatrzasku
M1 / T6: niskie skubanie H jest ładowane do niskiego zatrzasku op1,
wysoki półbajt L jest zwiększany i zapisywany z powrotem do pliku rejestru
------------
M1 / T1: wysokie szczypanie H jest ładowane do wysokiego zatrzasku op1,
wynik niskiego zatrzasku (nowa wartość niskiego skubania L) to
zapisany z powrotem do pliku rejestrowego
M1 / T2: wysoki półbajt H jest zwiększany i zapisywany z powrotem do pliku rejestru,
przeczytaj następny kod operacji itp ...
DODAJ HL, DE: trwa 11 cykli zegara z następującym podziałem: 4 + 4 + 3
M1 / T1:
M1 / T2: odczytaj kod operacji
M1 / T3: kod operacji jest dekodowany jako ADD HL, DE
M1 / T4: L jest ładowany do zatrzasku op1
------------
M2 / T1: E jest ładowany do zatrzasku op2
M2 / T2: obliczane jest małe skubanie L + E i zapisywane w wyniku niskiego zatrzasku
M2 / T3: wysoki półbajt L + E jest obliczany i zapisywany z powrotem do pliku rejestru,
niski półbajt jest również zapisywany w pliku rejestru
M2 / T4: H jest ładowany do zatrzasku op1
------------
M3 / T1: D jest ładowany do zatrzasku op2
M3 / T2: obliczane jest małe skubanie H + D i zapisywane w wyniku niskiego zatrzasku
M3 / T3: wysoki półbajt H + D jest obliczany i zapisywany z powrotem do pliku rejestru,
niski półbajt jest również zapisywany w pliku rejestru