Мегаобучалка Главная | О нас | Обратная связь


Регистры и команды микропроцессоров Intel



2016-01-05 535 Обсуждений (0)
Регистры и команды микропроцессоров Intel 0.00 из 5.00 0 оценок




Регистры - ячейки памяти, расположенные в центральном процессоре, используемые для кратковременного хранения данных и доступные из машинных программ. В качестве основной модели для языка ассемблер используется микропроцессорная память (МПП) базового МП 8086 из четырнадцати регистров двухбайтовых (16 разрядов), за каждым закреплено определенное имя (рис. 2.11 справа).

Рис.2.11. Регистры процессора Intel

 

По назначению и способу использования регистры можно разбить на следующие группы:

· Регистры общего назначения (AX, BX, CX, DX, SI, DI,BP, SP), аналогичные четырехбайтовые регистры у МП 80386 и выше именуются ЕAX, ЕBX,…(рис. 3.41 слева);

· Сегментные или адресные регистры (CS, DS, SS, ES);

· Указатель команд (IP);

· Регистр флагов (Flags).

Название регистров общего назначения могут быть расшифрованы следующим образом:

AX accumulator, аккумулятор;

BX base, база;

CX counter счетчик;

DX data данные;

(буква Х - от слова еXtended, расширенный; в процессоре 8080 были байтовые регистры A, B, C, D, впоследствии расширенные до слова)

SI source index, индекс источника;

DI destination index, индекс приемника;

BP base pointer, указатель базы;

SP stack pointer, указатель стека.

Все эти регистры можно использовать в любых арифметических, логических и т.п. машинных операциях. Однако каждый из них имеет определенную специализацию. Некоторые команды требуют, чтобы их операнд или операнды обязательно находились в определенных регистрах. Например, команда деления требует, чтобы первый операнд (делимое) находился в регистре АХ или в регистрах АХ и DX (в зависимости от размера операнда). Команды управления циклом используют регистр СХ в качестве счетчика цикла. Регистры AX, BX, CX и DX могут делиться на части (по одному байту), называемые соответственно AH (Нigh - старший) и AL (Low - младший), BH и BL, CH и CL, DH и DL. Запись в другие регистры и чтение из них осуществляется только целиком.

Названия сегментных регистров (в старших моделях процессоров их число увеличено) можно расшифровать так:

CS code segment, сегмент команд;

DS data segment, сегмент данных;

SS stack segment, сегмент стека;

ES extra segment, дополнительный сегмент.

Эти регистры используются только для записи и считывания при выполнении сегментирования адресов. В регистре CS должен находиться начальный адрес сегмента команд - той области памяти, где расположены команды программы. Регистр DS должен указывать на начало сегмента данных, в котором размещаются данные программы. Регистр SS должен указывать на начало области памяти, отведенной под стек. Если это сделано, тогда при ссылках на эти сегменты (команд, данных и стека) в командах названия этих регистров можно не указывать, они будут подразумеваться по умолчанию. При сегментировании адресов любой адрес ячейки А представляется в виде суммы B+D, где В - начальный адрес (база) того участка (сегмента) памяти, в котором находится ячейка А, а D - это смещение, адрес ячейки A, отсчитанный от начала этого сегмента (от В). В ПК размеры сегментов памяти не должны превышать 64 Кбайт (216=65536), поэтому смещения - это 16-разрядные адреса. Смещения (относительные 16-разрядные адреса) меняются от 0000h до FFFFh, в то время как абсолютные 20-разрядные адреса - от 00000h до FFFFFh.

В регистре IP (Instruction Pointer, указатель команд) находится адрес команды, которая должна выполняться следующей. Более точно, в IP находится адрес этой команды, отсчитанный от начала сегмента команд, на начало которого указывает регистр CS. Поэтому абсолютный адрес этой команды определяется парой регистров CS и IP. Содержимое этих регистров можно менять только командами перехода.

Каждый разряд (бит) регистра флагов имеет строго определенное значение. Флаг - это бит, принимающий значение 1 (“флаг установлен”), если выполнено некоторое условие, и значение 0 (“флаг сброшен”) в противном случае. В ПК используется 9 флагов, причем они собраны в один 16-разрядный регистр Flag (некоторые разряды не заняты).

Программа, управляющая работой любой ЭВМ, состоит из отдельных команд и вместе с данными размещается в основной памяти. Каждая команда размещается в отдельной ячейке памяти (или группе смежных ячеек) и имеет свой адрес. Структура всех команд одинакова, они состоят из двух частей: кода операции и адресной части. Код операции определяет операцию, которую нужно выполнить. Адресная часть определяет, где хранятся операнды, т.е. обрабатываемые данные, и куда необходимо поместить результат операции. Машинные команды ПК занимают от 1 до 6 байт. Код операции занимает один или два первых байта команды. Использование одного (первого) байта дает возможность закодировать только 256 команд, что недостаточно. Поэтому некоторые операции объединяются в группу и им дается один и тот же код, во втором же байте этот код уточняется. Кроме того, во втором байте указываются типы операндов и способы их адресации. Команды ПК могут иметь от 0 до 6 операндов. Размер операндов - байт или слово (реже двойное слово). Операнд может быть указан в самой команде (непосредственный операнд), либо может находиться в одном из регистров ПК, и тогда в команде указывается адрес ячейки. Результат выполнения команды помещается в регистр или ячейку памяти, откуда берется один из операндов. В отношении всех команд, операнды которых берутся из памяти, применяется сегментирование адресов, поэтому в командах указываются только 16-разрядные адреса (смещения), а не "длинные" 20-разрядные адреса. Таким образом уменьшается размер команды.



2016-01-05 535 Обсуждений (0)
Регистры и команды микропроцессоров Intel 0.00 из 5.00 0 оценок









Обсуждение в статье: Регистры и команды микропроцессоров Intel

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (535)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)