Ну да, с точки зрения железного ящика с кнопкой выполнить инструкцию, это будет три инструкции. Т.к. для внешней схемы Z80 выделяет начало инструкций именно так. Внутри конечно может быть по всякому реализовано, но для железа которое видит только ноги Z80 это будет три инструкции.
- - - Добавлено - - -
из практического использования - при отладке до тактов часто требуется сохранить программу в каком-то определенном состоянии. Например после выполнения первого 10-ка префиксов #DD из серии в 100 префиксов. И потом загружать этот снэпшот и отлаживать разные варианты кода, начиная выполнение с определенного состояния процессора и схемы в которой он используется. Другой вариант, я например хочу посмотреть счетчик тактов ULA когда процессор будет выполнять длинный префикс, но мне нужно видеть счетчик когда процессор будет выполнять префикс по определенному адресу, а не когда он закончит выполнять всю цепочку префиксов, которая может занять тысячи тактов...
- - - Добавлено - - -
проблема в том, что "invalid" префикс который по документации SZX помечается флагом ZXSTZF_EILAST, после загрузки снэпшота и выполнения следующего шага очень даже может оказаться валидным и тогда снэпшот окажется битым, т.к. информация о префиксе сохранена не была.
Чтобы проверить тот ли это случай - нужно выполнить следующую инструкцию и если там еще один префикс, то следующую и так до бесконечности. Хотя пользователь не просил выполнять циклы, он просил сохранить снэпшот в том состоянии как процессор находится в отладчике в остановленном состоянии.
И если эмулятор не может сохранить текущее состояние вообще - это вообще плохо.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
ляяяяяяяя... походу этой ветке суждено стать рекордсменом по кол-ву постов с ""
я вот даже комментировать не буду всю эту ересь, пока ты чётко не ответишь мне (а главное - себе) на три довольно простых вопроса:
1) что такое, по-твоему "ЗНАЧИМЫЙ префикс"?
2) что такое, по-твоему, "НЕзначимый префикс"?
3) насколько безопасно сохранять снап после команды NOP?
Прихожу без разрешения, сею смерть и разрушение...
в контексте SZX - это последний префикс в серии префиксов.
в контексте SZX - это НЕ последний префикс в серии префиксов.
вполне безопасно даже в контексте рассматриваемого вопроса, т.к. NOP не переводит процессор в префиксный режим. Т.е. нет риска потерять информацию о префиксном режиме.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
оба ответа неверные
во-первых "контекст szx" приплетать не надо, он ни при чём
во-вторых, незначимым может оказаться и последний префикс в серии
например: DD FD FD FD DD FD DD DD DD FD 53
и оказаться ровно по той же причине, что и предпоследний, и остальные
а теперь попытайся верно сформулировать - по какой именно?
ответ верный только частично - дело вовсе не в "префиксном режиме"
в том же самом примере выше последний префикс в серии хоть и "переводит процессор в префиксный режим", но для предваряемой команды (и всей программы) вообще ничем от нопа не отличается
Прихожу без разрешения, сею смерть и разрушение...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)