Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
conspectVM.pdf
Скачиваний:
27
Добавлен:
10.02.2016
Размер:
3.85 Mб
Скачать

Общее описание процессора

Архитектура процессора 8080

Регистровый файл

Aфлаги

BC

D E

H L

PC (счётчик команд)

SP (указатель стека )

Пара регистров A + флаги (первая строка таблицы) образуют 16 разрядный регистр, именуемый PSW, причём A занимает старший байт слова, а флаги — младший. Аналогично регистры B и C образуют 16-разрядный регистр BC, регистры D и E – регистр DE, регистры H и L – регистр HL.

Регистр флагов

D7

 

 

 

 

 

 

D0

S

Z

x

AC

x

P

x

C

S – знак

Z – нуль

x – значение не определено AC – вспомогательный перенос P – чётность

С – перенос

Назначение регистров

A– аккумулятор. Все арифметические и логические операции производятся только между A и другими регистрами или между A и байтом непосредственных данных.

B, C, D,

– 8-разрядные регистры общего назначения.

E, H и L

 

HL

– регистровая пара, состоящая из двух 8-разрядных регистров ( H – старший регистр, L -- младший),

 

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

DE

– часто используемая регистровая пара, поскольку имеется команда обмена содержимым между парами

 

HL и DE .

PC

– счётчик команд, содержит адрес очередной исполняемой команды.

SP

– указатель стека автоматически инкрементируется на 2 при записи пары регистров в стек (отдельный 8-

 

разрядный регистр в стек записать нельзя, только парами) и декрементируется при извлечении из

 

регистровой пары из стека.

F– регистр флагов. Непосредственно недоступен программисту, но его в составе PSW можно сохранить в стеке, а потом извлечь в другую регистровую пару, если нужно специально установить или проверить нужные флаги.

Так как адресное пространство всего 64 Кбайт, то полный адрес занимает 2 байта. Команды этого процессора бывают одно-, двух- и трёхбайтными. В первом байте всегда содержится код операции.

Система команд микропроцессора состоит из 78 базовых команд, которые можно разделить на пять групп:

Формат информационного слова (данных): D7 D6 D5 D4 D3 D2 D1 DO,

где D7 - старший разряд слова, а D0 - младший. Отрицательные числа хранятся в памяти в дополнительном коде.

Формат команды зависит от типа операции - может быть одно-, двух- и трехбайтовым. Байты двух- и трехбайтовых команд должны храниться в ячейках памяти, следующих одна за другой. Адрес первого байта всегда является адресом кода операции. Формат команд микропроцессора показан ниже:

1. Арифметические и логические операции разрешены только между аккумулятором и байтом данных или между аккумулятором и любым регистром.

3.Аккумулятор и регистровая пара HL являются единственными регистрами, которые могут быть непосредственно загружены в память.

4.3. Аккумулятор является единственным регистром, который может быть инвертирован, сдвинут, косвенно загружен в память с использованием регистровых пар ВС и DE или использован в командах ввода/вывода (IN, OUT).

5.4. Регистровая пара HL является единственной, содержимое которой может быть передано в счетчик команд (команда PCHL) или указатель стека (команда SPHL).

6.5. Регистровая пара НL может использоваться как аккумулятор двойной длины при сложении 16-разрядных чисел (команда DAD).

7.6. Содержимое регистровых пар HL и DE можно менять местами (команда HCHG).

8.7. Отдельные команды могут применяться для специальных функций. Команды XRAA или SUBA обнуляют аккумулятор. Команды ANA или ORA А очищают флаг переноса, а команда ADDA выполняет логический сдвиг аккумулятора влево.

9.8. Команды увеличения (уменьшения) на 1 регистров (INR, DCR) действуют на все флаги, за исключением флага переноса. Команды увеличения (уменьшения) на 1 регистровых пар (INX, DCX) не оказывают влияния на флаги.

10.9. В стек или из стека могут быть переданы только регистровые пары. Одной из таких регистровых пар является слово состояния микропроцессора, которое содержит аккумулятор (старший байт) и флаги (младший байт). Команды CALL и RET передают адрес в стек и обратно.

11.10. При записи 16-разрядных адресов младший байт записывается первым.

12.Операнды команд могут храниться в программно доступных регистрах микропроцессора или памяти. Для указания операнда в регистре используются регистровая и регистровая неявная адресации, для указания операнда в памяти - непосредственная, прямая, косвенная регистровая и стековая адресации.

13.Регистр признаков микропроцессора используется для хранения пяти битов признаков, которые вырабатываются в результате выполнения некоторых операций:

S - бит знака; равен 1, если старший значащий разряд результата операции равен 1 (то есть результат операции - отрицательное число);

Z - бит нуля; равен 1, если результат операции равен нулю;

АС - бит вспомогательного переноса; равен 1, если при выполнении операции был перенос из третьего разряда сумматора в четвертый;

С - бит переноса; равен 1, если при выполнении операции был перенос из седьмого разряда сумматора или заем в седьмой разряд сумматора;

Р - бит четности; равен 1, если число единиц результата четное.

Распределение разрядов в регистре признаков следующее:

D7

D6

D5

D4

D3

D2

D1

D0

S

Z

0

АС

0

Р

1

С

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]