Какова разрядность регистра слова состояния программы МП кр580

Простейшую 8-разрядную микропроцессорную систему можно построить на основе микропроцессорного комплекта серии КР580.

Микропроцессор К580 — однокристальный, 8-ми разрядный. Структурная схема МП КР580ВМ80А приведена на рис. 3.6.

В состав микропроцессора входят:

— 8-разрядное арифметико-логическое устройство АЛУ (ALU);

— регистр признаков RS, фиксирующий признаки, вырабатываемые АЛУ в процессе выполнения команды;

— регистр аккумулятора (RGa);

— регистр временного хранения операндов (RGb);

— десятичный корректор (DAA), выполняющий перевод информации из двоичной в двоично-десятичную форму;

— регистр команд (IR), предназначенный для хранения первого байта команды, содержащего код операции;

— дешифратор команд (DCU);

— блок регистров для приема, выдачи и временного хранения информации в процессе выполнения программ;

— схема управления и синхронизации (CU), формирующая последовательности управляющих сигналов для работы ALU и регистров;

Процессор i8080 (KP580 Emulator) Урок 1. Знакомство с интерфейсом эмулятора процессора КР580ВМ80А

— однонаправленный 16-разрядный буферный регистр адреса (ВА);

— двунаправленный 8-разрядный буферный регистр данных (BD);

— двунаправленный мультиплексор (MUX) для обмена информацией между ALU и блоком регистров по внутренней шине данных (Internal Data Bus).

Блок регистров включает:

— программный счетчик (РС), предназначенный для хранения адреса очередной команды (при выполнении линейных программ этот адрес автоматически увеличивается на 1, 2, 3 в зависимости от длины выполняемой команды — 1, 2 или 3 байта соответственно);

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

— регистр адреса (RGA);

— шесть 8-разрядных регистров общего назначения B, C, D, E, H, L, которые могут объединяться в парные 16-разрядные регистры BC, DE, HL;

— вспомогательные разрядные регистры W, Z.

Рисунок 3.6 — Структурная схема МП КР580ВМ80А

Регистры RGa, RGb, IR, W, Z, RGA пользователю программно недоступны.

Кроме того, МП имеет 16-разрядный однонаправленный канал адреса А(15-0), 8-разрядный двунаправленный канал данных D(7-0), четыре входных (RESET, READY, INT, HOLD) и шесть выходных (SYNC, DBIN, READY, WAIT, INTE, HLDA) выводов сигналов управления.

Десятичный корректор DAA облегчает работу с числами, представленными в 10-чной системе счисления.

Буферные регистры данных BD и адреса BA используются для буферизации внутренних шин данных и адреса со стороны внешней магистрали.

Схема управления и синхронизации:

— обеспечивает выборку команд и операндов;

— организует правильное функционирование АЛУ;

— обеспечивает доступ ко всем регистрам МП;

— синхронизирует УВВ и управляет их работой;

— приостанавливает работу МП в режиме ожидания и отключает МП от системной магистрали в режиме ПДП.

Мультиплексор MUX обеспечивает подключение к внутренней магистрали МП требуемого регистра из блока регистров.

Процессор i8080 (KP580 Emulator) Урок 2. Регистры процессора, команда MOV

МП КР580ВМ80А обеспечивает адресацию внешней памяти до 64 Кбайт и подключение до 256 устройств ввода-вывода.

Описание работы микропроцессора

С целью упрощения понимания принципа работы МП, дадим вначале словесное описание его функционирования во время выполнения команд программы:

1) Перед выполнением очередной команды МП содержит ее адрес в программном счетчике РС;

2) МП обращается к памяти по адресу, содержащемуся в РС, и считывает из памяти первый байт очередной команды в регистр команд IR;

3) Дешифратор команд DCU декодирует содержащийся в IR код команды и в результате его декодирования, в частности, “узнает”:

— какова длина этой команды (1, 2 или 3 байта);

— где хранятся ее операнды;

— какие действия нужно выполнить над операндами;

4) В соответствии с полученной от DCU информацией устройство управления вырабатывает упорядоченную во времени последовательность микроопераций, реализующих предписания команды, в том числе:

— извлекает операнды из регистров и памяти;

— выполняет над ними предписанные кодом команды арифметические, логические или другие операции;

— в зависимости от длины команды модифицирует содержимое РС на 1, 2 или 3 (при линейном алгоритме);

— передает управление очередной команде, адрес которой снова находится в программном счетчике РС.

Рассмотрим, например, команду сложения содержимого аккумулятора и регистра В, имеющую мнемоническое обозначение ADD B. Команда ADD B — однобайтовая и имеет код операции 80h

В начале выполнения этой команды МП выставляет на шину адреса адрес команды, считывает из памяти ее код 80h и помещает его в регистр команд IR. После декодирования команды устройство управления (УУ) вырабатывает предписанную командой последовательность управляющих сигналов, приводящую к следующим действиям:

— содержимое аккумулятора копируется в RGa;

— содержимое регистра В копируется RGb;

— производится суммирование RGa+RGb и результат сложения помещается в аккумулятор А;

— в зависимости от результата операции модифицируется содержимое регистра флагов RS;

Содержимое программного счетчика РС увеличивается на 1, так как команда ADD B является однобайтовой, и теперь программный счетчик содержит адрес следующей команды программы и т.д.

Условное обозначение МП КР580ВМ80А приведено на рисунке 3.7.

Микропроцессор КР580ВМ80А является аналогом МП i8080 фирмы Intel. Использованные в микропроцессоре схемотехнические решения в сочетании с n-МОП технологией обеспечивают время выполнения команд типа «регистр-регистр» — 1.6 мкс, «регистр-память» — 2.8 мкс при тактовой частоте 2.5 МГц, что соответствует быстродействию около 500 тыс. оп/сек. Кристалл МП содержит около 5000 транзисторов и помещен в корпус с 40 выводами. Используется двухфазная синхронизация импульсами 12 В. Выходные буферы МП обеспечивают токовую нагрузку для подключения одного стандартного TTЛ ‒ входа. Микропроцессор питается от трех источников питания: ‒ 5 В (< 1 мA), + 5 В (

RESET — Начальная установка READY — Сигнал готовности ПУ к обмену INT — Запрос векторного прерывания HOLD — Запрос доступа к магистрали Выходы ШУ: SYNC — Сигнал синхронизации WAIT — Сигнал ожидания готовности DBIN — строб ввода данных WR — строб вывода данных INTE — Разрешение прерывания HLDA — Подтверждение доступа к магистрали Шина данных ШД (7-0) Шина адреса ША (15-0)

Рисунок 3.7 — Условное обозначение МП КР580ВМ80А

Регистры микропроцессора КР580ВМ80А

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

Порядок выполнения команд программы зависит от особенностей (признаков) текущих результатов. Для индикации складывающейся ситуации МП формирует двоичные признаки (флаги), отражающие признаки результатов выполнения команд. Значение каждого признака фиксируется в специальном триггере, которые в совокупности образуют регистр кода условия (регистр флагов F, регистр состояния RS). Содержимое аккумулятора и регистра флагов называют словом состояния программы PSW (Program Status Word).

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

В МП КР580ВМ80А имеется 5 флагов:

C (Carry) — признак переноса;

M (Minus) — признак отрицательного результата;

Читайте также:
Почему рекомендуется вручную закрывать файлы хотя при закрытии программы они закроются автоматически

Z (Zero) — признак нуля;

P (Parity) — признак паритета/четности;

AC (Auxiliary Carry) — признак половинного переноса.

Установка флагов производится при выполнении следующих условий:

Флаг знака M устанавливается, если знаковый бит результата операции (седьмой разряд аккумулятора) равен 1, иначе сбрасывается;

Флаг нуля Z устанавливается, если результат операции в аккумуляторе равен нулю, иначе сбрасывается;

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

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

Флаг переноса C устанавливается при наличии переноса (при сложении) или заема (при вычитании) из старшего разряда аккумулятора, иначе сбрасывается.

Важнейшими флагами являются:

— флаг С, позволяющий реализовать на 8-разрядном МП обработку данных длиной в произвольное число байт;

— флаг Z, используемый для организации циклов и ветвлений;

— флаг M, используемый для организации ветвлений по знаку результата.

Для организации ветвлений в составе команд микропроцессора предусмотрен обширный набор команд условной передачи управления, осуществляющих выбор одного из двух направлений перехода в зависимости от состояния проверяемого флага.

Восьмиразрядный аккумулятор А используется в подавляющем большинстве команд логической и арифметической отработки. Обычно он адресуется неявно и служит как источником операнда, так и приемником результата. Благодаря этому в командах ВМ80А явно указывается только один операнд.

Регистр HL, как правило, служит адресным регистром. При косвенной регистровой адресации он хранит 16-разрядный адрес основной памяти. В этом случае к нему ссылаются с помощью мнемоники М (Memory), например:

MOV A, M — содержимое ячейки (HL) заносится в аккумулятор

В некоторых командах старший и младший байты 16-разрядного регистра HL могут адресоваться независимо и использоваться как отдельные 8-разрядные регистры данных H (High Byte) и L (Low Byte) соответственно.

Регистры PC и SP выполняют свою обычную функцию счетчика команд и указателя стека.

Регистр SP — указатель стека. Стековая память — это особый способ организации памяти, работающей по принципу «первый вошел ‒ последний вышел».

На рисунке 3.8 схематично изображен процесс записи информации в стек и чтения из стека. Квадратиками обозначены ячейки памяти. Каждая из них хранит одно восьмиразрядное число. При записи информации в стек новый байт всегда помещается в самую первую ячейку стека. Одновременно, содержимое этой ячейки, занесенное туда в предыдущем цикле записи, перемещается во вторую ячейку.

Содержимое второй — в третью, и так далее. То есть, все содержимое стека сдвигается на один шаг вправо.

Т ак можно делать до тех пор, пока все ячейки не заполнятся полезной информацией. На рисунке 3.8 изображен стек, состоящий из шести ячеек (говорят — стек глубиной в шесть ячеек). При записи седьмого байта первый байт будет потерян. Поэтому при использовании стековой памяти всегда нужно следить, чтобы его глубина была достаточной.

Процесс считывания информации из стека происходит в обратном порядке. В каждом цикле чтения, извлекается содержимое самой крайней ячейки памяти. Содержимое остальных ячеек сдвигается в обратную сторону так, что число из ячейки 2 переписывается в ячейку 1, из ячейки 3 — в ячейку 2, и т.д.

Рисунок 3.8 — Иллюстрация работы стековой памяти

В микропроцессорной технике стековая память используется очень широко. Обычно она применяется для временного хранения каких-либо данных, пока выполняется некая операция. Например, часто стоит задача — сохранить содержимое некоторых регистров процессора на время работы какой-либо подпрограммы или процедуры обработки прерывания.

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

Стек организуется в обычной памяти данных. Для этого и применяется регистр — указатель стека (SP). В начале работы программы в этот регистр необходимо записать некий начальный адрес, называемый «вершина стека». Это тот адрес, по которому будет записываться самое первое число, посылаемое в стек. В системе команд процессора имеется две специальные команды работы со стеком.

Это команда записи в стек и команда извлечения из стека.

По команде записи в стек процессор записывает информацию в ячейку, адрес которой хранится в регистре SP, а затем увеличивает содержимое SP на единицу. Если теперь снова подать команду записи в стек, то новое число запишется уже по новому адресу, а содержимое указателя стека еще раз увеличится на единицу.

По команде чтения из стека процессор сначала уменьшает содержимое регистра указателя стека на 1, а затем читает байт по этому адресу. В результате такой последовательности действий, процессор читает именно тот байт, который был записан последним.

Преимущество такого построения в том, что, меняя начальный адрес вершины стека (то есть содержимое регистра SP), мы можем использовать для стековой памяти любую область ОЗУ. Необходимо лишь следить за тем, чтобы для стека было отведено достаточное пространство и это пространство не использовалось бы для других целей.

8-разрядные регистры F, A вместе с 16-разрядными регистрами HL, SP и PC образуют стандартный регистровый набор микропроцессора с аккумулятором. Этот набор расширен четырьмя 8-разрядными регистрами общего назначения (РОН): B, C, D, E, которые в некоторых командах объединяются в 16-разрядные парные регистры BC и DE. Младшими регистрами пары являются соответственно регистры C и E. Введение РОН позволило создать достаточно эффективный микропроцессор с широкими функциональными возможностями.

В командах ссылки на регистр выполняются как явно, когда регистр кодируется трехразрядным полем, так и неявно (с помощью кода операции), когда код операции подразумевает и способ использования регистров по умолчанию.

Пространства памяти и ввода-вывода МП КР580ВМ80А

Адресное пространство памяти, образующее основную память МП КР580ВМ80А, представляет собой линейный одномерный массив из 64 Кб ячеек памяти, так что 16-разрядный адрес дает возможность микропроцессору непосредственно адресовать любой байт памяти. Данные в памяти могут храниться байтами или словами. Слова в памяти хранятся в двух соседних байтах (младший байт слова хранится по младшему адресу). Адресом слова является адрес его младшего байта.

Способы задания месторасположения данных в памяти:

Регистровый способ адресации. Команды, использующие этот способ адресации, обращаются только к регистрам процессора. Такие команды состоят лишь из кода операции, в который заложена информация и о виде операции и о том, какие регистры в ней участвуют.

Читайте также:
Как создать программу переводчик

Прямой способ адресации. При этом способе адрес ячейки памяти указывается в самой команде в виде дополнительного байта. Команда состоит из двух байтов. Первый байт — это код операции, а второй байт — это адрес, участвующей в ней ячейки памяти.

Косвенный способ адресации. При таком способе адресации адрес ячейки памяти сначала помещается в один из регистров (через 16-разрядные регистры HL, BC и DE). А затем в программу включаются команды, использующие этот вид адресации.

Непосредственная адресация. При таком способе адресации информация вообще не хранится ни в памяти, ни в регистрах. Байт данных в этом случае является частью самой команды.

Автоинкрементный/автодекрементный через указатель стека SP.

В МП ВМ80А используется изолированное адресное пространство ввода-вывода. Эта область организована в виде одномерного массива из 256 восьмиразрядных портов ввода и 256 восьмиразрядных портов вывода. Допускается только прямой способ доступа к пространству ВВ.

Система команд МП КР580ВМ80А

Всего в систему команд ВМ80А входят 78 базовых команд, содержащих 111 кодовых операций. В зависимости от своего назначения команда может иметь длину в один, два или три байта и соответственно занимает в памяти от одной до трех последовательных ячеек. Программный счетчик РС микропроцессора всегда содержит адрес первого байта команды, которая будет выполняться вслед за командой, которая выполняется в текущий момент времени.

В МП ВМ80А применяется довольно простой формат команд (рис. 3.9).

Рисунок 3.9 — Формат команд микропроцессора КР580ВМ80А

ОР (Operation) – код операции;

dst (Destination) – адресат-приемник;

src (Source) – адресат-источник;

data16 – 16-разрядные данные;

addr (Address) – адрес;

LB (Low Byte) – младший байт;

HB (High Byte) – старший байт.

Второй и, если необходимо, третий байты команды отводятся под непосредственные данные, адрес порта или ячейки памяти.

Примеры команд:

MOV A, B LDAX B RST 7

MVI M, 85h SUI 8Eh IN 21h OUT 3Ah

LDA 1234h LXI B, 45AEeh CALL A34Ch JC B800h

В командах допускается явное задание только одного адреса памяти.

Система команд МП состоит из 5 групп:

— команды пересылки (14 команд, 28 операций);

— логические команды ( 15 команд, 19 операций);

— арифметические команды (14 команд, 29 операций);

— команды передачи управления (28 команд, 28 операций);

— команды управления процессором (7 команд, 7 операций).

Команды пересылок

Источник: studfile.net

Комплект КР580. Основные технические характеристики микропроцессора КР580. Система команд микропроцессора , страница 2

Основная функция РОН – хранение операндов, т.е. подлежащих обработке данных. С другой стороны они могут играть роль специальных регистров. Регистр-аккумулятор предназначен для временного хранения операнда или результата арифметических или логических операций, выполняемых АЛУ.

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

Разрядность этого регистра определяется числом байт информационного слова. Счетчик команд – счетчик, содержащий адрес ячейки памяти, в которой помещен код выполняемой команды. Регистр команд принимает и хранит код очередной команды, адрес которой находится в счетчике команд. По сигналу УУ в счетчик передается из регистра хранимая там информация.

Указатель стека – регистр, служащий для хранения адреса, последней занятой ячейки стека, которую называют вершиной стека. Когда в стек записывается очередное слово, то число в указателе стека уменьшается, а при считывании увеличивается.

Регистр признаков содержит 8 знаковых разрядов:

7 6 5 4 3 2 1 0

Z S 0 AC 0 P 1 C

нуль, знака (S), переноса (C), вспомогательного переноса (1 C), четности (P).

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

Одна из главных функций схем управления – декодирование команды, находящейся в регистре команд, который в результате выдает сигналы, необходимые для ее выполнения. Для мп характерно наличие внутренней ШД, соединяющей ее основные части. ШД работает в режиме двунаправленной передачи. Это означает, что по ней можно передавать слова в двух направлениях.

Это происходит не одновременно, в мультиплексном режиме (с разделением во времени), обмена данными между мп и высшей памятью. Для реализации этого режима применяются мультиплексоры и демультиплексоры. КР580ВМ80А имеет пластиковый корпус с 48 выводами.

3. Основные технические характеристики

Характеристики МП КР580:

§ разрядность МД – 8

§ разрядность МА – 16

§ адресное пространство – 64 кб

§ число РОН – 6 восьмиразрядных регистров

§ организация стека – указатель стека позволяет зафиксировать в любой точке памяти вершину стека

§ организация линий прерываний – векторные прерывания, существует упрощенная возможность организации прерывания на 8 направлений (адресов)

§ тактовая частота — 0,5…2,5 МГц

§ напряжения питания: +5, +12, -5 (В)

§ потребляемые токи (соответственно): 80, 70, 1 (мА)

§ нагрузочная способность — один вход ТТЛ по каждому выходу

§ D0…D7 – 8-разрядная двунаправленная шина данных с Z-состоя-ниями

§ A0…A15 – 16-разрядная шина адреса с Z-состояниями

§ C1, C2 – тактовые двухфазные сигналы от тактового генератора амплитудой 10…12 В

§ RESET – аппаратный сигнал сброса, приводящий мп в исходное состояние (обеспечивает нулевые значения программного счетчика и указателя стека, нулевой сигнал выставляется на выводе HLDA – подтверждение захвата, нулевой адрес на ША)

§ INT – запрос на прерывание, т.е. запрос внешних устройств на обслуживание их процессором. По исполнению каждой команды мп анализирует значение этого входного сигнала, и если прерывания были предварительно разрешены (команда разрешения прерывания EI), то при активном значении сигнала прерывания следующая команда не считывается из памяти, а запрашивается сигналом INTA от контроллера прерываний

§ HOLD – сигнал захвата шин, т.е. запрос внешними устройствами допуска к ША и ШД. Активное состояние заставляет мп максимально быстро отключиться от ША и ШД мп, предоставляя их другому «хозяину» магистрали (другому мп или контроллеру ПДП)

Источник: vunivere.ru

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

Порядок выполнения команд программы зависит от особенностей (признаков) текущих результатов. Для индикации складывающейся ситуации МП формирует двоичные признаки (флаги), отражающие признаки результатов выполнения команд. Значение каждого признака фиксируется в специальном триггере, которые в совокупности образуют регистр кода условия (регистр флагов F, регистр состояния RS). Содержимое аккумулятора и регистра флагов называют словом состояния программы PSW (Program Status Word).

Читайте также:
Не работает программа ultraiso

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

В МП КР580ВМ80А имеется 5 флагов:

C (Carry) — признак переноса;

M (Minus) — признак отрицательного результата;

Z (Zero) — признак нуля;

P (Parity) — признак паритета/четности;

AC (Auxiliary Carry) — признак половинного переноса.

Установка флагов производится при выполнении следующих условий:

Флаг знака M устанавливается, если знаковый бит результата операции (седьмой разряд аккумулятора) равен 1, иначе сбрасывается;

Флаг нуля Z устанавливается, если результат операции в аккумуляторе равен нулю, иначе сбрасывается;

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

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

Флаг переноса C устанавливается при наличии переноса (при сложении) или заема (при вычитании) из старшего разряда аккумулятора, иначе сбрасывается.

Важнейшими флагами являются:

— флаг С, позволяющий реализовать на 8-разрядном МП обработку данных длиной в произвольное число байт;

— флаг Z, используемый для организации циклов и ветвлений;

— флаг M, используемый для организации ветвлений по знаку результата.

Для организации ветвлений в составе команд микропроцессора предусмотрен обширный набор команд условной передачи управления, осуществляющих выбор одного из двух направлений перехода в зависимости от состояния проверяемого флага.

Восьмиразрядный аккумулятор А используется в подавляющем большинстве команд логической и арифметической отработки. Обычно он адресуется неявно и служит как источником операнда, так и приемником результата. Благодаря этому в командах ВМ80А явно указывается только один операнд.

Регистр HL, как правило, служит адресным регистром. При косвенной регистровой адресации он хранит 16-разрядный адрес основной памяти. В этом случае к нему ссылаются с помощью мнемоники М (Memory), например:

MOV A, M — содержимое ячейки (HL) заносится в аккумулятор

В некоторых командах старший и младший байты 16-разрядного регистра HL могут адресоваться независимо и использоваться как отдельные 8-разрядные регистры данных H (High Byte) и L (Low Byte) соответственно.

Регистры PC и SP выполняют свою обычную функцию счетчика команд и указателя стека.

Регистр SP — указатель стека. Стековая память — это особый способ организации памяти, работающей по принципу «первый вошел ‒ последний вышел».

На рисунке 3.8 схематично изображен процесс записи информации в стек и чтения из стека. Квадратиками обозначены ячейки памяти. Каждая из них хранит одно восьмиразрядное число. При записи информации в стек новый байт всегда помещается в самую первую ячейку стека. Одновременно, содержимое этой ячейки, занесенное туда в предыдущем цикле записи, перемещается во вторую ячейку.

Содержимое второй — в третью, и так далее. То есть, все содержимое стека сдвигается на один шаг вправо.

Так можно делать до тех пор, пока все ячейки не заполнятся полезной информацией. На рисунке 3.8 изображен стек, состоящий из шести ячеек (говорят — стек глубиной в шесть ячеек). При записи седьмого байта первый байт будет потерян. Поэтому при использовании стековой памяти всегда нужно следить, чтобы его глубина была достаточной.

Процесс считывания информации из стека происходит в обратном порядке. В каждом цикле чтения, извлекается содержимое самой крайней ячейки памяти. Содержимое остальных ячеек сдвигается в обратную сторону так, что число из ячейки 2 переписывается в ячейку 1, из ячейки 3 — в ячейку 2, и т.д.

Рисунок 3.8 — Иллюстрация работы стековой памяти

В микропроцессорной технике стековая память используется очень широко. Обычно она применяется для временного хранения каких-либо данных, пока выполняется некая операция. Например, часто стоит задача — сохранить содержимое некоторых регистров процессора на время работы какой-либо подпрограммы или процедуры обработки прерывания.

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

Стек организуется в обычной памяти данных. Для этого и применяется регистр — указатель стека (SP). В начале работы программы в этот регистр необходимо записать некий начальный адрес, называемый «вершина стека». Это тот адрес, по которому будет записываться самое первое число, посылаемое в стек. В системе команд процессора имеется две специальные команды работы со стеком.

Это команда записи в стек и команда извлечения из стека.

По команде записи в стек процессор записывает информацию в ячейку, адрес которой хранится в регистре SP, а затем увеличивает содержимое SP на единицу. Если теперь снова подать команду записи в стек, то новое число запишется уже по новому адресу, а содержимое указателя стека еще раз увеличится на единицу.

По команде чтения из стека процессор сначала уменьшает содержимое регистра указателя стека на 1, а затем читает байт по этому адресу. В результате такой последовательности действий, процессор читает именно тот байт, который был записан последним.

Преимущество такого построения в том, что, меняя начальный адрес вершины стека (то есть содержимое регистра SP), мы можем использовать для стековой памяти любую область ОЗУ. Необходимо лишь следить за тем, чтобы для стека было отведено достаточное пространство и это пространство не использовалось бы для других целей.

8-разрядные регистры F, A вместе с 16-разрядными регистрами HL, SP и PC образуют стандартный регистровый набор микропроцессора с аккумулятором. Этот набор расширен четырьмя 8-разрядными регистрами общего назначения (РОН): B, C, D, E, которые в некоторых командах объединяются в 16-разрядные парные регистры BC и DE. Младшими регистрами пары являются соответственно регистры C и E. Введение РОН позволило создать достаточно эффективный микропроцессор с широкими функциональными возможностями.

В командах ссылки на регистр выполняются как явно, когда регистр кодируется трехразрядным полем, так и неявно (с помощью кода операции), когда код операции подразумевает и способ использования регистров по умолчанию.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru