а что там с DJNZ? 2 байта, 8/13 тактов, все вроде на месте (версия документа -- 0.91). насчет редактирования, можно latex-исходник скачать вместо пдф, но по-хорошему -- отписать мэнтейнеруСообщение от Vladimir Kladov
а что там с DJNZ? 2 байта, 8/13 тактов, все вроде на месте (версия документа -- 0.91). насчет редактирования, можно latex-исходник скачать вместо пдф, но по-хорошему -- отписать мэнтейнеруСообщение от Vladimir Kladov
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
http://myquest.nl/z80undocumented/Сообщение от Vladimir Kladov
На www.Z80.info нашлась версия 0.6, 2003. Там про DJNZ исправлено. (Были и другие неточности, но мне запомнилаь именно эта). Вопрос насчет 0.91 остается. В самом документе ведь не написано, где его "дом". Неправильный подход: если бы там было указано, как связаться с автором, или где лежит самая последняя версия документа, все было бы проще.
Ага, вот еще одну качаю. Обнадеживает, что рядом лежат как раз исходники в латексе. Может, это последняя. Все точно, это она. Вопрос снят.
Возник вопрос - есть ли какие либо недокументированные команды, кроме работы с половинками индексных регистров (у старших процессоров Zilog их признал документированными), в табицах команд DD, FD, DD CB, FD CB?
И второй вопрос - есть ли недокументированные близнецы у команд секции ED 80-ED BF (LDI, CPI, INI, OUTI...)?
Третий вопрос.
Иерархия постороение кодов команд происходит в следующем порядке:
- без префикса, один байт КОП;
- команды с префиксом СВ, 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.
Судя по исходникам эмулятора, так и есть. Из предшествующей цепочки префиксов DD/FD выбирается последний. Если последующий байт равен CB, то выполняются операции CB,XX, но с индексными регистрами вместо HL. А вот если последующий байт равен ED, то все так как ты сказал- просто цепочка префиксов игнорируетсяСообщение от spensor
2 Vitamin: спасибо за пояснения!
Это новый подход в исследовании недокументированныхСообщение от Vitamin
Тогда дополнительный вопрос - а как обрабатываются команды с префиксами DD (FD) и DD (FD) CB если код команды работает не с регистрами H и L - выполняется NOP или получаем ту же команду что и без префикса DD (FD), но выполняется оно дольше? По сути это мой первый вопрос, но другими словами.Сообщение от Vitamin
Последний раз редактировалось spensor; 15.09.2006 в 15:46.
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-ами)Сообщение от spensor
Последний раз редактировалось SAM style; 15.09.2006 в 17:34.
Все любят гипножабу
Как говорится- практика показывает многое. В частности, достаточно точная эмуляция работы процессора- достаточная для работы программ. Исследование различных "сферических коней в вакууме" имеет смысл только для выявления эмулятора. Но это ненадежно, поскольку даже у реальных кристаллов результаты работы разнятся (см. топик в этой ветке)Сообщение от spensor
Гляжу туда же и не нахожу ни одной такой команды- все 32 разные команды этой группы работают с IX/IY, но помимо своей основной операции (сдвиг/работа с битами) модифицируют один из 8 внутренних регистров. Итого 32*8=256 командСообщение от spensor
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)