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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: Z80 особенности работы ...

  1. #1
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Благодарностей: 295
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking Z80 особенности работы ...

    Привет, всем.

    Возник вопрос на уровне структуры работы выходов Z80 при каждом такте. Итак рассматриваем ситуацию сигнала M1 при дешифровке команды LD SP,(0). = [ED 7B 00 00]
    Если верить описанию, то M1 станет нулём при T1 и T2, при T3 и T4 будет снова единица. Как себя будет вести M1 в случае [ED 7B 00 00] ???

    По логике длжно быть так:
    T1 M1=0
    T2 M1=0
    T3 M1=0
    T4 M1=0
    T5 M1=0
    T6 M1=0
    T7..T20 M1=1

    Получается на старте такта Т3 проверяется префикс ли был прочитан и M1 не сбрасывается ??? Правильно ли я понял ???
    AAA

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

  3. #2
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    689
    Благодарностей: 226
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет. На шине будут циклы <M1><M1><MemRd><MemRd><MemRd><MemRd>. Диаграммы циклов есть в даташите.

  4. Этот пользователь поблагодарил Blade за это полезное сообщение:
    Robus (08.11.2013)

  5. #3
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Благодарностей: 295
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Blade Посмотреть сообщение
    Нет. На шине будут циклы <M1><M1><MemRd><MemRd><MemRd><MemRd>. Диаграммы циклов есть в даташите.
    То есть выход M1 будет только на фоне ED ??? И до следующей команды не возникнет ?

    Где можно получить такой даташит ? В том даташите который у меня "МИНСК УКИК ЦЕНТР 1991", показано диаграммой только цикл М1 и циклы чтения и записи. По описанию написано, что в цикл М1 входит CBR и OCR ... Получается что выход M1 должен быть дважды на фоне этой команды ?

    Помогите разобраться ...
    AAA

  6. #4
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Благодарностей: 295
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Keeper Посмотреть сообщение
    0xED: <OpCodeFetch>
    T1 M1=0
    T2 M1=0
    T3 M1=1
    T4 M1=1
    0x7B: <OpCodeFetch>
    T1 M1=0
    T2 M1=0
    T3 M1=1
    T4 M1=1
    Отлично !!! Большое спасибо !!! Вношу коррективы.

    Тогда следующий назревший вопрос ... Допустим, что на шине данных всегда DD, то есть префикс для IX, то есть вообще всегда, чисто теоретически вся память без исключения заполнена значением DD, произойдёт ли прерывание ?
    AAA

  7. #5
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    600
    Благодарностей: 474
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus Посмотреть сообщение
    Допустим, что на шине данных всегда DD, то есть префикс для IX, то есть вообще всегда, чисто теоретически вся память без исключения заполнена значением DD, произойдёт ли прерывание ?
    http://zx.pk.ru/showpost.php?p=119374&postcount=27

  8. Эти 3 пользователя(ей) поблагодарили DDp за это полезное сообщение:
    introspec (12.11.2013), Keeper (08.11.2013), Robus (08.11.2013)

  9. #6
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Благодарностей: 295
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    http://zx.pk.ru/showpost.php?p=119374&postcount=27
    Тут может быть продолжение экспериментов. У меня на моём Speccy, есть потенциометр, которым я могу регулировать длину INT'а. Самое длинное что могу накрутить это 900 тактов. Я как-то проводил такие испытания и точно помню, что если я накручивал длину инта меньше 21 такта, то при исполнении команды LDIR, я получал пропуски прерывания. Поэтому хотелось бы точно убедиться, что прерывания никогда не сработают, и причина будет не длина сигнала INT, а именно постоянный префикс.

    ---------- Post added at 19:17 ---------- Previous post was at 19:09 ----------

    Цитата Сообщение от DDp Посмотреть сообщение
    http://zx.pk.ru/showpost.php?p=119374&postcount=27
    Прикол ... То есть сигнал INT процессором обрабатывается только перед началом T1? Ну или после последнего такта.

    Странно, в описании нарисована диаграмма где длина INT'а вообще пол такта ... Что же тогда у меня к Speccy накручивалось ? Вроде точно помню, что длина INT'а.
    AAA

  10. #7
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Благодарностей: 202
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus
    Прикол ... То есть сигнал INT процессором обрабатывается только перед началом T1? Ну или после последнего такта.

    Странно, в описании нарисована диаграмма где длина INT'а вообще пол такта ... Что же тогда у меня к Speccy накручивалось ? Вроде точно помню, что длина INT'а.
    Int проверяется во второй половине последнего такта инструкции.
    В описании показана не длина Int, а период когда он имеет значение. В остальное время сигнал Int игнорируется.

  11. Этот пользователь поблагодарил Lion17 за это полезное сообщение:
    Robus (18.11.2013)

  12. #8
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Благодарностей: 295
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lion17 Посмотреть сообщение
    Int проверяется во второй половине последнего такта инструкции.
    Спасибо, уже делаю ...

    Возник ещё один вопрос ...
    1. В описании LDI имеет четыре опарации CBR(4);OCR(4);MRD(3);MWR(3), что в сумме даёт 14 тактов, а реально их-то 16. Это ошибка ???
    2. В описании CPI стоит в той же группе что и LDI и имеет операцию MWR. Процессор реально генерит цикл записи при сравнении ? Эта запись происходит по адресу (HL) ???
    AAA

  13. #9
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,552
    Благодарностей: 739
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в LDI MWR занимает 5 тактов (4+4+3+5 = 16)
    Все любят гипножабу

  14. Этот пользователь поблагодарил SAM style за это полезное сообщение:
    Robus (18.11.2013)

  15. #10
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Благодарностей: 295
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    в LDI MWR занимает 5 тактов (4+4+3+5 = 16)
    оО ... Спасибо ... А то я заложил как 4+4+4+4 ... Я так понимаю, что в реальности 4+4+3+3+2, по три такта на чтение и запись, и 2 такта на внутренние операции ?
    AAA

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Особенности программирования под ZXM-Phoenix
    от Black_Cat в разделе ZX Концепции
    Ответов: 7
    Последнее: 01.05.2012, 12:21
  2. Особенности AY
    от TomCaT в разделе Музыка
    Ответов: 16
    Последнее: 18.10.2010, 22:39
  3. Орион-128: Видеорежимы и их особенности
    от Nikola887643 в разделе Орион
    Ответов: 19
    Последнее: 26.03.2010, 22:23
  4. Недокументированные особенности КР1818ВГ93
    от EARL в разделе Программирование
    Ответов: 6
    Последнее: 19.10.2009, 22:17
  5. Ответов: 26
    Последнее: 01.08.2008, 18:34

Ваши права

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