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

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 34

Тема: Crash-test

  1. #21
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,254
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    34 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Короче: LDIR = LDI;PC=PC-2
    Это уж давно известно. Вопрос стоял про выполнение НЕ ИТЕРАТИВНЫХ команд, а именно цепочки префиксов.

  2. #22
    Member Аватар для ARTi
    Регистрация
    06.05.2006
    Адрес
    Санкт-Петербург
    Сообщений
    127
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vladimir Kladov

    Короче: LDIR = LDI;PC=PC-2. И точка.
    Мне бы эту гениальную мысль, да лет 10 назад... а что теперь прошлое ворошить...
    Прочитал тред
    Честно-честно?
    Осциллографом тыкать сразу - нет чтобы доки почитать...
    Ну-ну, зачем же так злобно... Лучше на работе долго не задерживаться, да спать побольше, а еще на людей, которые раздражают и злят, не обращать особого внимания, тогда и настроение гораздо лучше будет, и быть может производительность повысится до версии 2.8 (а то и 3.0) .
    А то будете как я 4-мя постами выше

    DDp
    Вы как всегда на высоте, примите мои благодарности (кстати, что я могу для Вас сделать?). Этот тест был на то, правильно ли мы думаем(ли) о командах, на которые префиксы #DD/#FD не влияют. Итого осталось уточнить, как реагируют префиксы #DD/#FD на длинную цепочку из самих себя. С тактами вроде ясно и с регистром R почти понятно, но на всякий случай лучше проверить. Это несложно. А вот с прерываниями будет небольшая рутина...

    А у нас так глаз пристрелявши.
    Круто! Я даже прочувствовал то самое давно забытое ощущение возбуждения от созерцания подобных полосок ))

    Итак, продолжаем. (Может удобнее будет, если я сразу коды забабах*ю? ). Следующая пара прожек:

    Код:
    ORG     #8000
    XOR     A, A
    LD      R, A
    DI
    DB      #FD         ; R += 1
    DB      #DD         ; R += 1, PC -=1, R += 1 ???
    DB      #FD         ; R += 1, PC -=1, R += 1 ???
    DB      #DD         ; R += 1, PC -=1, R += 1 ???
    DB      #FD         ; R += 1, PC -=1, R += 1 ???
    DB      #DD         ; R += 1, PC -=1, R += 1 ???
    DB      #00         ; R += 1
    LD      A, R        ; R += 2
    OUT     (#FE), A    ; R += 1
    JR      $-11        ; R += 1
    и
    Код:
    ORG     #8000
    XOR     A, A
    LD      R, A
    DI
    DB      #DD         ; R += 1
    DB      #DD         ; R += 1, PC -=1, R += 1 ???
    DB      #DD         ; R += 1, PC -=1, R += 1 ???
    DB      #FD         ; R += 1, PC -=1, R += 1 ???
    DB      #FD         ; R += 1, PC -=1, R += 1 ???
    DB      #FD         ; R += 1, PC -=1, R += 1 ???
    DB      #00         ; R += 1
    LD      A, R        ; R += 2
    OUT     (#FE), A    ; R += 1
    JR      $-11        ; R += 1
    Если все предполагалось верно, тогда в обоих случаях бордюр должен быть постоянно белым и кол-во тактов между WR должно быть 81. Чуть позже наваяю поверку прерываний.

  3. #23
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    910
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    272
    Поблагодарили
    149 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Никаких "PC-=1"!
    В обоих вариантах период 60 тактов.
    Цвет брдюра -= 5 (R+=11).
    (в US0367 аналогично)

    The Undocumented Z80 Documented (by Sean Young) так же подтверждает это:
    3.7. ... FD or DD should be seen as prefix setting a flag which says “use IX or IY in
    stead of HL”, and not an instruction. In a large sequence of DD and FD bytes,
    it is the last one that counts. Also any other byte (or instruction) resets this flag.

  4. #24
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,254
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    34 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DDp,
    Значит дело в некорректной эмуляции данной цепочки эмуляторами.
    Имхо, z80_ex (c) boo_boo делает это наиболее точным образом- прерывания перекрываются внутренним флагом процессора, а не физическим DoS

  5. #25
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    910
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    272
    Поблагодарили
    149 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vitamin,
    вы о чём?
    Проверил на реале 2 последних фрагмента из поста #22.
    Какие прерывания?


    пошёл курить тему с начала.
    Последний раз редактировалось DDp; 09.02.2008 в 14:58.

  6. #26
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,254
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    34 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    вы о чём?
    Изначально меня интересовало, как ведет себя процессор при выполнении особо длинной цепочки префиксов, в частности, поведение при приходе прерывания (см. первый пост).
    ARTi для проверки идеи насчет уменьшения РС накидал примеры, косвенно проверяющие на основе изменения регистра R. Вот и все

  7. #27
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    910
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    272
    Поблагодарили
    149 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Изначально меня интересовало, как ведет себя процессор при выполнении особо длинной цепочки префиксов, в частности, поведение при приходе прерывания
    (Угу, пропустил начало)
    (по-экспериментировал на реале) Во время длинной последовательности префиксов прерывания не срабатывают.
    US 0.36.7 внешне ведёт себя как реал (вот только вешается при SoundDrv=ds)
    Вложения Вложения
    • Тип файла: zip seq1.zip (1.8 Кб, Просмотров: 180)

  8. #28
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,254
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    34 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    US 0.36.7 внешне ведёт себя как реал
    В отладчик дает зайти? (см. сообщения GriV'а о поведении эмуляторов)

  9. #29
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    (по-экспериментировал на реале) Во время длинной последовательности префиксов прерывания не срабатывают.
    опа! интересно!
    надо будет расконсервировать kay и убедиться воочию
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  10. #30
    Master
    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    910
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    272
    Поблагодарили
    149 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    В отладчик дает зайти?
    В отладчик входит (PC=FB01).
    Пошагово последовательность префиксов выполняется как одна комманда.
    Отображается как попало (короткий буфер???).

    И ещё...
    На реальном проце поведение сигналов M1 и RFSH на последовательности префиксов такое же, как на последовательности NOP-ов.
    Вложения Вложения

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

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

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

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

Похожие темы

  1. test
    от Orionsoft в разделе Форум
    Ответов: 0
    Последнее: 02.03.2007, 17:17
  2. Test RAM
    от BYTEMAN в разделе Софт
    Ответов: 3
    Последнее: 05.04.2006, 20:45
  3. test
    от sicmaggot в разделе Программирование
    Ответов: 2
    Последнее: 19.07.2005, 18:20

Ваши права

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