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

User Tag List

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 31 по 40 из 47

Тема: Недокументированные команды

  1. #31
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    очевидный ляп с длительностью команды DJNZ наталкивает на мысль о возможности еще каких-либо опечаток. Вообще, я очень не люблю формат pdf, из-за того, что отредактировать его в случае наличия опечаток
    а что там с DJNZ? 2 байта, 8/13 тактов, все вроде на месте (версия документа -- 0.91). насчет редактирования, можно latex-исходник скачать вместо пдф, но по-хорошему -- отписать мэнтейнеру

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

  3. #32
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хм, а у меня 10/13. Версия 0.4 2001. А где новую брали? Я вроде эту доку в прошлом годе с WoS скачивал.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  4. #33
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    Хм, а у меня 10/13. Версия 0.4 2001. А где новую брали? Я вроде эту доку в прошлом годе с WoS скачивал.
    http://myquest.nl/z80undocumented/

  5. #34
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На www.Z80.info нашлась версия 0.6, 2003. Там про DJNZ исправлено. (Были и другие неточности, но мне запомнилаь именно эта). Вопрос насчет 0.91 остается. В самом документе ведь не написано, где его "дом". Неправильный подход: если бы там было указано, как связаться с автором, или где лежит самая последняя версия документа, все было бы проще.

    Ага, вот еще одну качаю. Обнадеживает, что рядом лежат как раз исходники в латексе. Может, это последняя. Все точно, это она. Вопрос снят.
    Последний раз редактировалось Vladimir Kladov; 18.03.2006 в 11:39.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  6. #35
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возник вопрос - есть ли какие либо недокументированные команды, кроме работы с половинками индексных регистров (у старших процессоров Zilog их признал документированными), в табицах команд DD, FD, DD CB, FD CB?
    И второй вопрос - есть ли недокументированные близнецы у команд секции ED 80-ED BF (LDI, CPI, INI, OUTI...)?

  7. #36
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Третий вопрос.
    Иерархия постороение кодов команд происходит в следующем порядке:
    - без префикса, один байт КОП;
    - команды с префиксом СВ, ED, DD, FD, два байта КОП;
    - команды с двойными префиксами DD CB, FD CB, три байта КОП;
    Получается что иерархия префиксов имеет вид:
    - без префикса;
    - с префиксом CB и ED - дополнения основной таблицы команд;
    - с префиксом DD и FD - модификация команд с заменой регистровой пары HL на IX и IY. В данном случае модификация выполняется c кодовой страницей без префиксов (DD(FD) + КОП) и с кодовой страницей CB (DD(FD) + CB + КОП).
    Логика подсказывает что должны быть команды вида DD(FD) + ED + КОП. Вопрос - как отрабатываются эти комбинации на самом деле? Или DD(FD) выполняется как NOP, а реально выполняется команда ED + КОП?
    Последний раз редактировалось spensor; 14.09.2006 в 17:34.

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

    По умолчанию

    Цитата Сообщение от spensor
    - как отрабатываются эти комбинации на самом деле? Или DD(FD) выполняется как NOP, а реально выполняется команда ED + КОП?
    Судя по исходникам эмулятора, так и есть. Из предшествующей цепочки префиксов DD/FD выбирается последний. Если последующий байт равен CB, то выполняются операции CB,XX, но с индексными регистрами вместо HL. А вот если последующий байт равен ED, то все так как ты сказал- просто цепочка префиксов игнорируется

  9. #38
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2 Vitamin: спасибо за пояснения!
    Цитата Сообщение от Vitamin
    Судя по исходникам эмулятора, так и есть.
    Это новый подход в исследовании недокументированных
    Цитата Сообщение от Vitamin
    Из предшествующей цепочки префиксов DD/FD выбирается последний. Если последующий байт равен CB, то выполняются операции CB,XX, но с индексными регистрами вместо HL. А вот если последующий байт равен ED, то все так как ты сказал- просто цепочка префиксов игнорируется
    Тогда дополнительный вопрос - а как обрабатываются команды с префиксами DD (FD) и DD (FD) CB если код команды работает не с регистрами H и L - выполняется NOP или получаем ту же команду что и без префикса DD (FD), но выполняется оно дольше? По сути это мой первый вопрос, но другими словами.
    Последний раз редактировалось spensor; 15.09.2006 в 15:46.

  10. #39
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,054
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    217
    Поблагодарили
    91 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor
    Тогда дополнительный вопрос - а как обрабатываются команды с префиксами DD (FD) и DD (FD) CB если код команды работает не с регистрами H и L - выполняется NOP или получаем ту же команду что и без префикса DD (FD), но выполняется оно дольше? По сути это мой первый вопрос, но другими словами.
    DD,CB,n,00 = RLC B,(IX+n). и со всеми первыми 64 командами CB-группы то же (RR C,(IX+n); SLA D,(IY+n)...). Знаю, что они делают (получено экспериментальным путём), но сколько тактов едят - это тот ещё вопрос... Для команд основной группы (без CB или ED) в которых нет ни H, ни L индексные префиксы по идее должны считаться за NOP. На ED-группу они не дейсивуют (т.е опять же считаются NOP-ами)
    Последний раз редактировалось SAM style; 15.09.2006 в 17:34.
    Все любят гипножабу

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

    По умолчанию

    Цитата Сообщение от spensor
    Это новый подход в исследовании недокументированных
    Как говорится- практика показывает многое. В частности, достаточно точная эмуляция работы процессора- достаточная для работы программ. Исследование различных "сферических коней в вакууме" имеет смысл только для выявления эмулятора. Но это ненадежно, поскольку даже у реальных кристаллов результаты работы разнятся (см. топик в этой ветке)

    Цитата Сообщение от spensor
    Тогда дополнительный вопрос - а как обрабатываются команды с префиксами DD (FD) и DD (FD) CB если код команды работает не с регистрами H и L - выполняется NOP или получаем ту же команду что и без префикса DD (FD), но выполняется оно дольше? По сути это мой первый вопрос, но другими словами.
    Гляжу туда же и не нахожу ни одной такой команды- все 32 разные команды этой группы работают с IX/IY, но помимо своей основной операции (сдвиг/работа с битами) модифицируют один из 8 внутренних регистров. Итого 32*8=256 команд

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

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

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

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

Ваши права

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