Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

НАЗНАЧЕНИЕ РЕГИСТРОВ МИКРОПРОЦЕССОРА

 

Регистры делятся на группы:

Группа регистров общего назначения AX, BX, CX, DX могут использоваться для различного применения. В арифметико-логических командах – в качестве операндов, в командах пересылки – в качестве источников и приемников. Отличительная особенность их объединения в группу состоит в возможности использования раздельно левой (H) и правой (L) половины. Наряду с тем, что регистры имеют общее применение, некоторые команды используют эти регистры специальным образом, что отражено в их названии:

AX – аккумулятор. Является основным сумматором и применяется во всех операциях ввода/вывода, некоторых операциях над строками и некоторых арифметических операциях. Некоторые команды имеют более эффективный код, если они используют аккумулятор;

AL – аккумулятор младший;

AH – аккумулятор старший;

BX – база;

CX – счётчик, необходим для управления числом повторений циклов и для операций сдвига;

CL – счетчик младший;

DX – регистр данных, используется для некоторых операций ввода/вывода и для операций умножения и деления.

 

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

 

SP – указатель стека;

BP – указатель базы;

SI – индекс источника;

DI – индекс приемника.

Деление их функций источника и приемника проявляются только в командах обработки цепочек. В остальном они равносильны.

Наряду со специальными функциями эти регистры могут использоваться и как общие регистры. Указательные и индексные регистры только 16-ти разрядные и на старшие и младшие половинки не делятся.

 

mov AX,B[SI]

{ AX:=B[SI] }

 

B ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘

0 1 2 3...................................FFFFh <- SI

 

B – вектор

SI – индекс (указывает на один из элементов вектора)

 

Третья группа регистров сегментов. Их назначение рассмотрено ранее.

Регистр IP – счётчик команд. Он определяет адрес выполняемой команды. В момент передачи управления программе IP сбрасывается в 0. При выполнении программы изменение значения IP выполняется автоматически БУ. Косвенно значение IP изменяют команды управления. Сосчитать значение IP или переслать в него новое значение не представляется возможным, поэтому IP – программно-недоступный регистр.

 

 

 

Регистр флагов определяет состояние МП и значение результата выполняемой операции. Не все биты регистра определены.

 

СТАРШИЙ БАЙТ МЛАДШИЙ БАЙТ

├<──────────────────────>┼<──────────────────────>┤

│┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐│

│X │X │X │X │OF│DF│IF│TF│SF│ZF│X │AF│X │PF│X │CF│

└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘

15 13 11 9 7 5 3 1

14 12 10 8 6 4 2 0

 

Различные команды влияют на флажки по-разному, но, в общем шесть флажков отражают следующие условия:

1) AF – флажок вспомогательного переноса; фиксирует перенос (заём) из младшей тетрады в старшую 8-ми или 16-битного результата. Он необходим только в командах десятичной арифметики;

2) CF – фиксирует значение переноса (заёма), возникающего при сложении или вычитании байт или слова также при сдвиге операнда;

3) SF – повторяет значение старшего бита результата (0 - плюс, 1 - минус);

4) OF – переполнение при сложении (вычитании) (происходит потеря старшего бита результата);

5) PF – флажок паритета. Фиксирует наличие четного числа единиц в младших 8 битах результата операции (0 – чётный, 1 – нечётный);

6) ZF – сигнализирует о получении нулевого результата операции (0 – ненулевой, 1 – нулевой результат).

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

1) DF – флажок направления, определяет порядок сканирования цепочек в строковых командах:

DF=0, от меньших адресов к большим;

DF=1, от больших адресов к меньшим;

2) IF – определяет реакцию микропроцессора на запросы внешних маскируемых прерываний по входу INT:

IF=0, запросы прерываний игнорируются;

IF=1, запросы прерываний обрабатываются;

3) TF – флажок трассировки. При его установлении в состояние «1» МП переходит в пошаговый режим (покомандный).

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

 

 

<== предыдущая лекция | следующая лекция ==>
Структура микропроцессора | Директивы ассемблера
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 426; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.072 сек.