Спасибо, значит какое-то из условий (или все) не выполняются.
Вид для печати
Спасибо, значит какое-то из условий (или все) не выполняются.
Происходит.Цитата:
То есть никакого изменения в памяти не происходит.
Именно такую картину и наблюдал на своём клоне специалиста (ЛИК, но схемотехника у них абсолютно одинаковая). Проверить не могу(, давно было.Цитата:
чудесным образом превращается в 8А
Может попытаться триггером EI/DI пощёлкать.Цитата:
Для чистоты эксперимента проверил несколько раз.
Очень странно! Сегодня я проверял это поведение именно на Лике.
Действительно, DBIN блокируется в цикле М1 флагом HLTA, т.е. подтверждение останова является обычным M1 циклом с деактивированными стробами данных: и DBIN и nWR.
https://i.ibb.co.com/C7Q4YXZ/image.png
Упрощённая схема в Специалисте действительно использует только DBIN как признак направления данных, а SYNC как запрос на шину в следующем такте (для этого сигнал задерживается в триггере на 1 такт). Учитывая, что PC автоинкрементируется после вычитки опкода, то меняться должен следующий байт:
https://i.ibb.co.com/6015JD0/i8080-2.png
Сигнал WR в этих компьютерах используется только для портов.
Основные вопросы, которые остаются
1. На ШД в M2 HALT после SYNC остается 8A?
2. На ША остается адрес HALT? denis74 писал про изменение ячейки с 76, не следующей.
3. Влияют ли EI и DI?
Вопросы касаются не только к ВМ80, но и компа.
Может мне ещё какие-то эксперименты провести нужно? У меня ничего не меняется, ни этот байт, ни следующий.
Сделал предварительно DI, EI. Попробовал и наоборот. Повторил эту последовательность несколько раз. Но HLT у меня ни на что не меняется.
ВМ80 всегда делает PC+1 после чтения опкода в третьем такте. В случае с HLT это особенно важно, ибо если он этого не сделает до подтверждения, то при вызове INT в стек улетит адрес HLT а не следующий. И чуда не произойдёт.
- - - Добавлено - - -
PS Почему до подтверждения? Потому что подтверждение INTA это сигнал оборудованию, которое может тут же сделать вызов. Это можно использовать для пошаговой отладки, например.
В стек адрес улетит в следующих машинных циклах, а в какой момент у двух человек в память записался код 8A пока никто анализатором не смотрел. Возможно успешность такой записи зависит от экземпляра проца.
Похоже на правду. Так как у двух человек на одной и той же заводской модели два разных поведения. Я бы мог проверить и с другим процессорами, так как мой в панельке, но у меня других не нашлось.
Если что, мой процессор вот на этом фото есть:
https://pic.maxiol.com/thumbs2/16960...0930073831.jpg
Ну в момент чтения опкода оно записаться однозначно не может. А следующее прямое обращение к шине будет уже при записи в стек адреса возврата, который уже будет +1 и произойдёт при запросе не запрещённого прерывания. А промеж них только 1 цикл с активацией SYNC и это цикл INTA. Ну ОК, раз есть броские различия между ИК55 и ВВ55, то скорее всего есть подобные отличия и у ИК80 и ВМ80[А]. Ну и я придерживаюсь теории запроса к шине с деактивированным DBIN, это выглядит наиболее логично.
- - - Добавлено - - -
PS Нет у меня сейчас нормального Экспресса, но скоро будет. Как руки дойдут - проверю ещё раз. И если эффект изменения будет то я постараюсь записать логиком.