АРХИТЕКТУРА
ZX SPECTRUM
Решив заняться программированием, Вы рано или поздно поймете, что написать действительно серьезную
программу для ZX Spectrum на Бейсике, Паскале и прочих языках «повышенного» уровня практически невоз-
можно. Все удобства, предоставляемые этими языками, сводятся «на нет» низким быстродействием и большим
объемом написанных на них программ. Только работая непосредственно с командами процессора, Вы сможете
создавать программы, не уступающие фирменным. Но для этого необходимо серьезно изучить архитектуру ZX
Spectrum, систему команд процессора Z80, уметь пользоваться средствами написания и отладки программ в
кодах.
Эта и последующие главы книги, в отличие от предыдущих, рассчитаны на более подготовленного читате-
ля. Однако мы старались как можно доступнее излагать материал, кратко поясняя используемые термины и
не употребляя малопонятных выражений. Надеемся, что даже неспециалисты, пользуясь сведениями, почерп-
нутыми из этого раздела книги, смогут начать программировать на ассемблере, а профессионалы получат в
руки подробный справочник по ZX Spectrum.*
ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР
Одной из причин успеха, постигшего ZX Spectrum, было применение в качестве ЦП микропроцес-
сора Z80 (полное название — Z80A CPU) американской фирмы Zilog. В основе разработки этой
микросхемы лежала идеология построения одного из самых распространенных в свое время 8-
разрядных процессоров — I8080 (советский аналог — КР58 0ВМ8 0А). В Z80 увеличено число регист-
ров, дополнена система прерываний и, самое главное, существенно расширена система команд (в
частности, за счет добавления команд, обрабатывающих блоки данных). Все это позволило повы-
сить производительность процессора при одновременном уменьшении размера программ.
жит 16-разрядная шина адреса (ее разряды обозначаются от А0 — младший разряд до А15 — стар-
ший). Следовательно, процессор может непосредственно обратиться (в зависимости от обрабаты-
ваемой команды) либо к 216 =65536 ячейкам памяти, либо к такому же количеству внешних уст-
ройств (портов).
Обмен информацией Z80 с памятью и портами осуществляется через 8-разрядную шину данных
(разряды обозначаются D0...D7). Для хранения и обработки чисел, больших 255 (28-1), использу-
ются две или более ячейки памяти, расположенные одна за другой.
РЕГИСТРЫ Z80