Nicron #03
17 октября 1996

Курс обучения ассемблеру - извинения за задержку с выходом второго занятия по нашему учебному курсу.

╔═════════════════════════════════════════════════════════════╗
║ ▒▒░░░░░░░░░░░░░░▒▒ Курс обучения ассемблеру ▒▒░░░░░░░░░░░▒▒ ║
╚═════════════════════════════════════════════════════════════╝

 (C) WLODEK BLACK

Здравствуйте, друзья! Первым делом я хочу принести извинения за
задержку с выходом второго занятия по нашему учебному курсу. Ес-
ли программисту вечно не хватает одного  байта  для  размещения
всей программы, то мне не хватило одной (ну, может, двух)  мину-
ты для приведения в порядок исходного текста второго урока.  Де-
ло в том, что эти тексты писались в свое  время  под  платформу
MSX, которую роднит со Спектрумом главным образом использование
того же процессора. А вот формат текста далек от  ZX-Word-овско-
го и представляет из себя 80 символов в строке в кодировке "ЮАБ
ЦДЕФГХ...". И вот на перекодировку и перекомпоновку-то  времени
и не хватило! Кстати, и примерчики-то в нем сплошь MSX-овские...
Чтобы не уродовать текст нелепыми исправлениями, я, пожалуй, ос-
тавлю все, как есть, а ссылки на Спектрум выполню в виде  допол-
нительных комментариев. :-)

		   002h. МИКРОПРОЦЕССОР Z80A.

   Для программиста процессор - прежде всего набор регистров, в
которые можно помещать данные  и производить над ними преобразо-
вания. Вот полный перечень регистров процессора Z80A:

PC - 16-разрядный счетчик команд (program counter). Содержит те-
     кущий адрес в памяти, откуда производится выборка кодов ко-
     манд. Естественный ход выполнения программы  -  от младших
     адресов к старшим.

A  - 8-разрядный регистр-аккумулятор. Является основным при про-
     ведении  арифметических и логических операций над 8-разряд-
     ными данными.

F  - регистр флагов (признаков). Отдельные биты  этого регистра
     несут информацию о результатах арифметических,  логических
     и некоторых других операций (например, сдвигов)  (признаки
     нуля, переноса, отрицательного числа и др.).   В некоторых
     случаях регистры A и F могут рассматриваться как 16-разряд-
     ная пара AF.

	Группа регистров общего назначения: H,L,D,E,B,C:

Название "регистры общего назначения"означает, что эти регистры
можно использовать просто для хранения данных. Для работы  с 16-
разрядными данными они могут  объединяться  в  пары  HL, DE, BC.
Как 16-разрядные пары эти регистры имеют более широкое  назначе-
ние:

HL - обеспечивает  наиболее  мощную  косвенную адресацию памяти;
     используется в качестве 16-разрядного аккумулятора в опера-
     циях над 16-разрядными данными.  Мнемоника  образована  от
     слов High (верхний) и Low (нижний);

DE - может использоваться для косвенной адресации аккумулятора;

BC - используется для косвенной адресации  64-килобайтного  про-
     странства устройств ввода-вывода;  также  может   косвенно
     адресовать аккумулятор.

Примечания: 1. Особенности регистровых пар упомянуты лишь в  са-
мом общем виде;
2. Подробно их использование будет рассмотрено впоследствии, по-
этому пока можно не обращать внимания на непонятные термины.

		Группа индексных регистров:

IX и IY - 16-разрядные индексные регистры. Их применение особен-
но удобно при обработке таблиц, списков и т.п.структур, так как
они обеспечивают легкий доступ к данным  по принципу:  известны
адрес начала массива и номер элемента массива, а получить требу-
ется значение элемента массива.

			Другие регистры:

SP - 16-разрядный указатель стека (stack pointer).  Стек  - это
     выделенный в любом месте ОЗУ участок памяти,организованный
     по принципу стопки листов бумаги: он заполняется последова-
     тельно, как кладутся один на другой листки бумаги.  Послед-
     ний положенный лист снимается первым.Стек используется для
     временного хранения адресов возврата из подпрограмм(аналог
     Бейсиковой структуры GOSUB - RETURN) и 16-разрядных  значе-
     ний любых регистровых пар. SP указывает на последнюю  заня-
     тую ячейку, как бы готовясь ее немедленно прочитать.  Стек
     "растет" вниз (от старших адресов к младшим).

I  - регистр вектора прерываний; подробная беседа пойдет далее;

R  - регистр регенерации ОЗУ. Это вспомогательный  регистр,  на-
     значение которого обусловливается аппаратными  особенностя-
     ми компьютера. Дело в том, что так называемое"динамическое
     ОЗУ" требует периодического к нему  обращения,  иначе  оно
     "забывает" хранимую в нем информацию. Но при выполнении ре-
     альной программы ко многим  ячейкам  памяти  процессор  не
     обращается вообще или обращается очень редко. С помощью ре-
     гистра R процессор непрерывно, последовательно и незаметно
     для исполняемой программы перебирает адреса памяти, обеспе-
     чивая поддержание хранения информации. Если бы регистра  R
     не существовало, пришлось бы усложнять электрическую схему
     компьютера, вводя в нее отдельное устройство для  регенера-
     ции памяти. Регистр R доступен программно; так как он рабо-
     тает независимо, его можно использовать для получения  слу-
     чайных чисел.

    Дополнительный набор регистров: A',F',H',L',D',E',B',C':

Эти  регистры  полностью аналогичны их основным "двойникам", но
доступ возможен только к одному из наборов. С помощью предназна-
ченных для этого команд можно переключиться на другой  набор, и
все команды обращения к этим регистрам  станут  действовать  на
вновь подключенный набор. Предыдущий  набор  станет  неактивным,
но данные в его регистрах сохраняются. Оба набора совершенно ра-
вноправны. Программно невозможно установить, какой из них  физи-
чески активен. Существующие команды  переключения  воздействуют
раздельно на AF и на HL,DE,BC.
Кроме команды EX AF,AF',символ "'" не используется в мнемониках
команд. Для других регистров он применяется только  в описаниях,
с целью подчеркнуть, что речь идет об альтернативном регистре.

[ Конец текста 2 ].
						WLODEK BLACK
 




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Дискуссия - Закон обратного эффекта.
Всяко разно - Выписки из книги рекордов Гиннеса.
Мысли о сцене - демосцена - это место, полигон, сфера для творчества. Разберемся как она устроена.

В этот день...   19 ноября