Важная информация

User Tag List

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 32

Тема: Особенности выполнения команды HLT на Специалисте

  1. #11
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,847
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,829
    Поблагодарили
    1,048 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо, значит какое-то из условий (или все) не выполняются.

  2. #12
    Junior
    Регистрация
    01.12.2020
    Адрес
    п. Заволжский
    Сообщений
    27
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    То есть никакого изменения в памяти не происходит.
    Происходит.
    чудесным образом превращается в 8А
    Именно такую картину и наблюдал на своём клоне специалиста (ЛИК, но схемотехника у них абсолютно одинаковая). Проверить не могу(, давно было.
    Для чистоты эксперимента проверил несколько раз.
    Может попытаться триггером EI/DI пощёлкать.
    Последний раз редактировалось lexarr; 30.09.2023 в 17:26.

  3. Этот пользователь поблагодарил lexarr за это полезное сообщение:

    ivagor (30.09.2023)

  4. #13
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,575
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    402
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lexarr Посмотреть сообщение
    ЛИК, но схемотехника у них абсолютно одинаковая
    Очень странно! Сегодня я проверял это поведение именно на Лике.
    С уважением, Станислав.

  5. #14
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,412
    Спасибо Благодарностей отдано 
    322
    Спасибо Благодарностей получено 
    599
    Поблагодарили
    445 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если в M2 HALT на ШД сохраняется 8A после SYNC (в даташите пунктир) и на ША адрес команды HALT (в даташите пунктир), то в журнальных специалисте и орионе может записать в память 8A. Как все знают, у них если после SYNC нет DBIN, то запись, и в M2 HALT как раз такая ситуация. Для классики это вряд ли можно назвать проблемой, т.к. при наличии HALT программа бы зависала и привести в чувство можно было только RESETом или выключением/включением питания.
    Если написанное в первом предложении справедливо, то это весьма интересный факт. Стоит с этим разобраться, но нужно пробовать журнальные (или максимально близкие к ним) орионы и специалисты, у сябра в формировании /WE для озу участвует /WR с процессора и ничего удивительного ожидать не стоит.
    Действительно, DBIN блокируется в цикле М1 флагом HLTA, т.е. подтверждение останова является обычным M1 циклом с деактивированными стробами данных: и DBIN и nWR.

    Упрощённая схема в Специалисте действительно использует только DBIN как признак направления данных, а SYNC как запрос на шину в следующем такте (для этого сигнал задерживается в триггере на 1 такт). Учитывая, что PC автоинкрементируется после вычитки опкода, то меняться должен следующий байт:

    Сигнал WR в этих компьютерах используется только для портов.

  6. #15
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,847
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,829
    Поблагодарили
    1,048 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Основные вопросы, которые остаются
    1. На ШД в M2 HALT после SYNC остается 8A?
    2. На ША остается адрес HALT? denis74 писал про изменение ячейки с 76, не следующей.
    3. Влияют ли EI и DI?
    Вопросы касаются не только к ВМ80, но и компа.

  7. #16
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,575
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    402
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Учитывая, что PC автоинкрементируется после вычитки опкода, то меняться должен следующий байт:
    Может мне ещё какие-то эксперименты провести нужно? У меня ничего не меняется, ни этот байт, ни следующий.

    Цитата Сообщение от lexarr Посмотреть сообщение
    Может попытаться триггером EI/DI пощёлкать.
    Сделал предварительно DI, EI. Попробовал и наоборот. Повторил эту последовательность несколько раз. Но HLT у меня ни на что не меняется.
    Последний раз редактировалось CityAceE; 30.09.2023 в 22:37.
    С уважением, Станислав.

  8. Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    ivagor (01.10.2023)

  9. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  10. #17
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,412
    Спасибо Благодарностей отдано 
    322
    Спасибо Благодарностей получено 
    599
    Поблагодарили
    445 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    2. На ША остается адрес HALT? denis74 писал про изменение ячейки с 76, не следующей.
    ВМ80 всегда делает PC+1 после чтения опкода в третьем такте. В случае с HLT это особенно важно, ибо если он этого не сделает до подтверждения, то при вызове INT в стек улетит адрес HLT а не следующий. И чуда не произойдёт.

    - - - Добавлено - - -

    PS Почему до подтверждения? Потому что подтверждение INTA это сигнал оборудованию, которое может тут же сделать вызов. Это можно использовать для пошаговой отладки, например.

  11. #18
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,847
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,829
    Поблагодарили
    1,048 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В стек адрес улетит в следующих машинных циклах, а в какой момент у двух человек в память записался код 8A пока никто анализатором не смотрел. Возможно успешность такой записи зависит от экземпляра проца.

  12. #19
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,575
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    402
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Возможно успешность такой записи зависит от экземпляра проца.
    Похоже на правду. Так как у двух человек на одной и той же заводской модели два разных поведения. Я бы мог проверить и с другим процессорами, так как мой в панельке, но у меня других не нашлось.
    Если что, мой процессор вот на этом фото есть:
    Последний раз редактировалось CityAceE; 01.10.2023 в 08:41.
    С уважением, Станислав.

  13. #20
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,412
    Спасибо Благодарностей отдано 
    322
    Спасибо Благодарностей получено 
    599
    Поблагодарили
    445 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    В стек адрес улетит в следующих машинных циклах, а в какой момент у двух человек в память записался код 8A пока никто анализатором не смотрел. Возможно успешность такой записи зависит от экземпляра проца.
    Ну в момент чтения опкода оно записаться однозначно не может. А следующее прямое обращение к шине будет уже при записи в стек адреса возврата, который уже будет +1 и произойдёт при запросе не запрещённого прерывания. А промеж них только 1 цикл с активацией SYNC и это цикл INTA. Ну ОК, раз есть броские различия между ИК55 и ВВ55, то скорее всего есть подобные отличия и у ИК80 и ВМ80[А]. Ну и я придерживаюсь теории запроса к шине с деактивированным DBIN, это выглядит наиболее логично.

    - - - Добавлено - - -

    PS Нет у меня сейчас нормального Экспресса, но скоро будет. Как руки дойдут - проверю ещё раз. И если эффект изменения будет то я постараюсь записать логиком.

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 624
    Последнее: 08.09.2021, 23:20
  2. Прерывания IM2 в Специалисте на КР580
    от barsik в разделе Специалист
    Ответов: 17
    Последнее: 13.03.2018, 13:57
  3. Логи выполнения
    от Korben в разделе Эмуляторы
    Ответов: 8
    Последнее: 09.06.2014, 01:11
  4. Команды Z80
    от e2e4 в разделе Для начинающих
    Ответов: 11
    Последнее: 02.07.2010, 21:13
  5. Время выполнения команд CPI/CPD/CPIR/CPDR
    от ARTi в разделе Программирование
    Ответов: 27
    Последнее: 18.12.2007, 16:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •