Язык:
Год издания:
Формат:
Количество страниц:
Официальное исследование недокументированных возможностей процессора Z80
Общее описание
Перед вами уникальный технический документ, посвящённый исследованию недокументированных и редко описанных особенностей процессора Z80. Автор — Шон Янг (Sean Young) — провёл глубокий анализ поведения чипа, чтобы выявить все «тёмные уголки» его архитектуры, которые не были описаны в официальной документации Zilog.Эта книга — настоящий клад для хардкорных программистов и разработчиков эмуляторов, которые хотят знать о Z80 абсолютно всё. Именно такие детали часто становятся причиной неожиданных багов в эмуляторах или, наоборот, позволяют писать невероятно оптимизированный код для реального железа.
О чём эта книга?
Документ представляет собой систематизированное описание всех недокументированных команд, поведения флагов, особенностей прерываний и работы с регистрами, которые отсутствуют в официальных руководствах Zilog. Основные темы:- Недокументированные OP-коды — команды, которые официально не описаны, но работают на реальном процессоре;
- Поведение префиксов CB, DD, FD, ED, DDCB, FDCB — комбинации, дающие неожиданные результаты;
- Особенности работы с флагами — как на самом деле меняются флаги в различных ситуациях;
- Блочные инструкции и I/O операции — скрытые нюансы;
- Прерывания (NMI и INT) — детали, не упомянутые в официальной документации;
- Регистр R и тайминг — поведение счётчика памяти и его влияние на систему;
- Ошибки в официальной документации Zilog — список неточностей, которые были обнаружены автором.
Структура и содержание
| Глава | Название | Описание |
|---|---|---|
| 1 | Введение | История документа, где его найти, обратная связь, список изменений. |
| 2 | Обзор | История Z80, регистры, флаги, состояния при включении питания, описание выводов. |
| 3 | Недокументированные OP-коды | Глубокий анализ префиксов CB, DD, FD, ED, DDCB, FDCB и их комбинаций. |
| 4 | Недокументированные эффекты | Особенности BIT-инструкций, блочных команд, 16-битных портов I/O, 16-битных сложений, инструкции DAA. |
| 5 | Прерывания | NMI, INT, факторы, влияющие на триггеры прерываний, инструкция HALT, моменты приёма прерываний. |
| 6 | Тайминг и регистр R | Связь регистра R с обновлением памяти и временные характеристики. |
| 7 | Другая информация | Список ошибок в официальной документации Zilog. |
| 8 | Таблицы инструкций | Полные таблицы по группам: загрузка, арифметика, битовые операции, переходы, ввод-вывод и др. |
| 9 | Инструкции, отсортированные по OP-коду | Быстрый поиск любой команды по её байтовому коду. |
| 10 | Лицензия GNU FDL | Текст свободной лицензии, по которой распространяется документ. |
Для кого эта книга?
- Разработчиков эмуляторов Z80 — чтобы воспроизвести поведение процессора с максимальной точностью.
- Программистов на ассемблере — для использования недокументированных команд в целях оптимизации.
- Демосценеров и кодеров — для выжимания максимума из процессора в демках и интро.
- Исследователей ретро-архитектур — для понимания реального (а не теоретического) поведения чипа.
- Авторов компиляторов и инструментов — чтобы учесть все нюансы при генерации кода.
Особенности книги
- Единственный в своём роде систематизированный труд по недокументированным возможностям Z80.
- Содержит исправления ошибок официальной документации Zilog.
- Включает полные таблицы OP-кодов с реальным поведением команд.
- Распространяется под свободной лицензией GNU FDL.
- Несмотря на небольшой объём (51 страница), даёт исчерпывающую информацию по теме.