Книга, которую Вы держите в руках, уже получила широкую
известность, как самый доступный самоучитель для тех, кто хочет преодолеть
психологический барьер и перейти от программирования на БЕЙСИКе к
программированию в машинном коде или просто хочет понимать машинный код
фирменных программ.
Первое издание этой книги мы выпустили два года назад, в
1990 году, и сейчас в стране уже есть тысячи любителей бытовых персональных компьютеров
типа ZX-Spectrum самостоятельно освоивших тонкости машинного программирования
по этой книге. Первое издание было выпущено в трех томах. Сейчас мы
объединили все три тома (учебник, практикум и справочник) в рамках единой
книги, несколько подкорректировали и значительно (примерно на 20%) дополнили
содержание. Основным дополнением стали разделы, посвященные описанию системы
прерываний компьютера, разбору концепции потоков и каналов, понятию о
директивах Ассемблера и вопросам, связанным со стандартизацией русификации
компьютеров. Как показал первый опыт, именно эти вопросы нуждались в усиленном
освещении.
«ИНФОРКОМ» продолжает работу над книгами, посвященными
компьютерам «ZX-Spectrum» и совместимым с ними. В настоящий момент начат выпуск
многотомного издания, посвященного работе с графикой «ZX-Spectrum`а». Несмотря
на то, что каждый из этих томов является самостоятельной учебной единицей и
может быть использован независимо от прочих, их можно считать логическим
продолжением данного издания уже хотя бы потому, что «Первые шаги в машинном
коде Z-80» в силу естественных причин стали базовой книгой для наших
последующих разработок.
«ИНФОРКОМ» благодарит всех читателей первого издания,
приславших свои отзывы, пожелания и рекомендации и особо выражает персональную
признательность своим корреспондентам Баянову К.Н. за подготовку разделов
I.5.18, II.4.4.7, III.5 и Пашорину В.И. за подготовку раздела II.5.5.
«ИНФОРКОМ».
Москва, август
1992.
Проведенное в начале 1990 года анкетирование наших заказчиков
показало их глубокую заинтересованность в освоении программирования в машинных
кодах для Синклер-совместимых компьютеров, получивших в нашей стране наибольшее
распространение среди ПЭВМ бытового класса.
Процессор Z-80, на базе которого собраны компьютеры этой
системы, приобрел широкую популярность в мире благодаря своей универсальности,
наличию обширной системы команд и технологичности производства, обеспечившей
ему большие объемы выпуска при сравнительно невысокой цене.
Этот процессор применяется не только в многочисленных
компьютерах, входящих в систему «ZX-Spectrum», но и в компьютерах других
систем. Среди них компьютеры семейства MSX («Yamaha»,
«Spectravideo», «Toshiba», «Panasonic» и др.), компьютеры систем «Enterprise»,
«Sharp», многие компьютеры фирмы «Amstrad»
и пр. В принципе, материалы этой книги могут быть на 90% использованы и теми,
кто работает с компьютерами этих систем.
В настоящее время процессор Z-80 очень хорошо
документирован в мировой литературе. Наиболее фундаментальными трудами для
программистов любого уровня являются монографии Лэнса Левенталя (Lance A.Lewenthal) «Программирование на Ассемблере Z-80» («Z-80 Assembly programming»),
а также «Процедуры на Ассемблере для процессора Z-80»
(«Z-80 Assembly language subroutines»).
Эти очень хорошие книги, к сожалению, весьма объемны (по
500-600 стр.) и не переведены на русский язык, что делает сомнительной
возможность их широкого распространения у нас в ближайшие годы.
Многочисленные прочие книги зарубежных авторов,
посвященные программированию для Синклер-совместимых компьютеров в машинном
коде, имеют в качестве недостатков либо недостаточную систематичность
изложения, либо повышенную инструктивность подачи материала. В первом случае
они оказываются неплохим подручным справочником, а во втором - неплохим
учебником, но для тех, кто уже в принципе подготовлен. Учебником же для тех,
кто самостоятельно начинает разбираться с самого начала, они могут служить
очень ограниченно.
В своей книге, предлагаемой Вашему вниманию, мы
постарались, как сумели, сочетать популярность, систематичность и
информативность изложения. Те, кто не нуждаются в элементарном освоении
программирования в машинных кодах, могут сразу обратиться ко второй части «Практикум…».
Чтобы не дублировать справочный материал, который необходим как тем, кто
работает с первой частью, так и тем, кто работает со второй, мы вынесли его
отдельно, в третью часть.
Мы очень рекомендуем сопровождать чтение этой книги
самостоятельным просмотром кода фирменных программ с помощью какой-либо дисассемблирующей
программы, например MONITOR 16/48, MONS 3, ULTIMON и т.п.