так может быть и глючит, только редко и некритично
так может быть и глючит, только редко и некритично
Прихожу без разрешения, сею смерть и разрушение...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Имелся ввиду тот факт, что обычно при одномоментном выключении одного буфера и включении другого буфера, сидящих на одной шине данных, на стыке происходит конфликт. А задержку как раз обычно вводят, чтобы произвести на начало задержки выключение первого, а к концу задержки на гарантированно свободную шину пустить второй буфер, поэтому во время задержки ни к чему не обращаются, а вне её - куда угодно.К H и L как раз не нужно бы обращаться в дополнительном такте, а в обычных - нужно.
Ладно, такая теория оказалаь далека от реальности.
Решил поюзать Z80Explorer, остался доволен.
Оказалось возможным с помощью команды засунуть в память перед стартом свои данные. Засунул команду EX (SP), HL на старт и 0xB9, 0xBA по указателю стека, что у меня стал 0x4009.
Также при пристальном всматривании в Register File обнаружил там стробы ко всем нужным регистрам (загорались при обращении к ним) и поместил их на диаграмму над содержимым регистров.
Диаграммы машинных циклов
Машинный цикл 2, чтение SP:
Машинный цикл 3, чтение SP+1:
Видно, что четвёртый тактовый цикл введён для записи в половинку регистра WZ SP+1.
Машинный цикл 4, запись SP+1:
Машинный цикл 5, запись SP:
Видно, что в доп тактах идёт пересылка данных из "пустого стакана" WZ (четвёртый такт) в HL (пятый такт).
[свернуть]
Видно, что каждый цикл обращения к памяти - трёхтактовый и размещён в начале маш цикла.
Lethargeek(06.01.2021)
Кажется, что эксплорер имеет виртуальную "защёлку", подключенную к внешней шине данных как бы через резисторы и всегда работающую, в которую ложит данные как можно позднее для наглядности процессов во внутренних шинах. И $BA болтается из неё.
Захотел я узнать наверняка сабж по части шины данных. Обратим внимание, например, на пин DB6. Над ним есть два мощных транзистора, один подает питание (на красном), а другой - землю (на зелёном) на этот пин. Их затворы связаны с проводниками сбоку (если это не они же). Если нажать ПКМ по пину D6 и кликнуть "Driven by", то эти проводники подсветятся синим:
Обозначив их vcc_d6 и vss_d6, выведем на диаграмму исследуемой инструкции (где t1 - начало машцикла), и о Боже:
![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)