Программно-доступные регистры 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программно-доступные регистры



1. А (Accumulator) – наиболее важный 8-разрядный регистр МП. Используется почти во всех арифметических и логических операциях, а также в операциях загрузки, записи в память и других. Аккумулятор, в отличий от других регистров может быть сдвинут, инвертирован, косвенно загружен или записан в память по адресу, содержащемуся в других регист­рах. Кроме того, он может быть загружен прямо или записан в память по ад­ресу, указанному в команде явно. Для того, чтобы аккумулятор мог од­новременно являться регистром операнда и регистром результата опера­ции, он строится на основе двухступенчатых триггеров.

2. Регистровая пара HL – может выполнять функции 16-разрядного регистра или использоваться как 2 отдельных 8-разрядных регистра H и L. От других регистровых пар HL отличается тем, что она может быть прямо загружена или записана в память, а также через нее осуществляется косвенная адресация к любой ячейке памяти через ссылку на косвенный регистр. Содержимое регистровой пары HL можно переслать в указатель стека и в счетчик команд, сдвинуть влево на один разряд, обменять с содержимым регистровой пары DE и с вершиной стека, сложить с содержимым пар регистров ВС и DE.

3. Регистровые пары ВС и DE, как и HL могут выступатьв качестве 16-разрядных регистров или по отдельности, как 8-разрядные регистры. Регистровая пара ВС выделяется тем, что может быть обменена одной командой с парой регистров HL, поэтому ее удобно использовать для временного хранения содержимого пары HL. Других особенностей регистровая пара ВС не имеет и ее, как и регистровую пару DE используют в основном для счетчиков или в качестве рабочих регистров для временного хранения данных.

Регистры В, С, D, E, H и L, называются регистрами общего назначения. При использовании регистровых пар ВС, DE и HL. Как 16-разрядных регистров к ним обращаются по наименованию старшего ре­гистра, соответственно В, D и Н. Для связи регистров общего назна­чения с шиной данных служит двунаправленный шинный мультиплексор МХ.

4. Регистр стека SP (Stack Pointer) (16-разрядный).

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

Слово «стек» от английского "stack", одно из его значений «стопка». Представьте себе стол, кладем на него книгу, потом сверху еще одну книгу, потом еще и т.д. Самая первая книга находится внизу. Что бы извлечь ее сначала нужно снять верхнею и только после этого я получу доступ к первой. Можно, конечно, просто ее выдернуть, но представьте себе кучу книг до потолка. Попробуйте выдернуть нижнюю, остальные упадут вам на голову. Это и есть принцип стека LIFO (last in – first out) «последним пришел - первым ушел». Стек может быть организован в любом программно доступном месте ОЗУ. Стек широко используется при программировании. В него помешается ад­рес возврата при вызове подпрограмм, в стеке удобно временно хранить данные из регистров, так как запись содержимого пары регистров в стек и извлечение из него осуществляется однобайтовыми командами. При записи данных в стек адрес его вершины пере­мещается в сторону младших адресов ОЗУ.

Для организации стека служит регистр SP. При помещении данных в стек происходит автоуменьшение значения регистра SP. т.е. уменьшение адреса регистра стека на 2 до выполнения команды. При извлечении данных из стека происходит автоприращение, т.е. увеличение адреса вершины стека на 2, но уже после выполнения команды. Поместить и извлечь данные из стека можно только через пары регистров В, D, Н и PSW. При помещении данных в стек регистру SP передается сначала содержимое старшего регистра или старший байт адреса, а затем младший.

5. Счетчик команд РС (Program Counter), представляет собой 16-разрядный регистр.

Ячейка ОЗУ по адресу, содержащемуся в счетчике команд, считы­вается и обрабатывается как команда, умеющая длину 1, 2 и 3 байта, счетчик команд увеличивается на длину команды и в момент выполнения текущей команды всегда содержит адрес следующей. Значение регистра PC, а следовательно и порядок выполнения команд, изменяется при вы­полнении команд перехода, выхода и возврата из подпрограмм и некоторых других команд.

6. Флажковый регистр F (Flags) хранит признаки результатов операций, которые генерируют АЛУ. Состоит из пяти флажков CY, Р, AC, Z и S, упакованных в байт, три разряда которого не используется.

 

Функциональное назначение флагов:

Мнемоника флага Флаг Равен 0 Равен 1
CY Саrrу - признак переноса из старшего разряда АЛУ нет переноса перенос при обработке 8 разрядных данных
Р Parity - признак четного числа единиц в результате нечетное число единиц четное число единиц
AC Аuxiliary Сarry - признак дополнительного переноса нет переноса перенос при обработке 4-разрядных данных
S Sign - признак результата результат операции положительный результат операции отрицательный
Z Zero - признак нулевого результата результат операции не является нулевым результатом операции является нуль

 


Формат регистра флагов:

S Z   AC   P   CY

 

Флаги устанавливаются после выполнения команд INR (увеличение) и DCR (уменьшение), по значению любого 8-раз­рядного регистра; при выполнении команд сравнения по значению результата. А также по значению аккумулятора. Многие команды не влияют на состояние регистра флагов, поэтому текущее значение аккумулятора может не соответствовать текущему состоянию флагов.

Проверяется состояние флагов при выполнении команд условного перехода, при условном вызове и возврате из подпрограмм.

Аккумулятор и флаги вместе образуют 16-разрядный регистр PSW (Program Status Word), называемый словом состояния процессора.

Наличие в составе блока регистров схемы INC/DEC (инкременатора/декременатора), позволяет производить над содержимым регистров операции прибавления и вычитания 1 без привлечения АЛУ, а так же реализовать процедуры автоматического задания приращений при операциях с адресами в регистрах SP и PC.

 

Служебные регистры



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 273; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.177.223 (0.008 с.)