Железный отладчик (процессор) не может остановиться в середине цепочки префиксов, т.к. пока не закончится команда, прерывание сработать не может. А даже 100500 префиксов подряд - это для процессора одна команда.
Вид для печати
Это все равно в процессоре по разному реализовано.
Длинный префикс для процессора это все же одна команда.
- - - Добавлено - - -
Кстати, технически для Z80 EI и DI - это одна и та же команда. Просто одна взводит флаг, другая сбрасывает.
И та, и другая блокируют сигнал от триггера IFF1.
- - - Добавлено - - -
https://pic.maxiol.com/images2/17314...d111220240.png
может и так, но такая детализация обычному эмулятору ни к чему, т.к. в отладчике всеравно какой там такт инструкции, т.к. пользователь в отладчике видит только инструкции и на второй такт инструкции точку останова всеравно не поставит. А вот в средину префиксной инструкции может поставить.
- - - Добавлено - - -
Почему-же одна. Это много инструкций.
Например: #DD,#FD, #23 - это три инструкции:
1) переключение в режим подмены HL на IX
2) переключение в режим подмены HL на IY
3) INC HL
Я так понимаю, #ED и #CB в вашей картине мира это тоже отдельные инструкции.
M1 цикл - это машинный цикл в котором выбирается опкод инструкции. Префикс считается частным случаем опкода.
А конец инструкции (или начало следующий) в процессоре совершенно четко обозначен. В моем реверсе это сигнал RES_MCLK (последний машинный цикл инструкции).
M1-циклов может быть много, но RES_MCLK всегда один. По нему процессором и определяется, что инструкция закончилась, можно обработать запрос на прерывание или еще что-то в этом роде.