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


Регистры общего назначения

 

Микропроцессор 8086 имеет 8 общих регистров назначения, каждый регистр имеет его собственное имя

* - регистр сумматора (разделенный на AH / AL).

* BX - регистр базового адреса (разделенный на BH / BL).

* CX - регистр индекса (разделенный на CH / CL).

* DX - регистр данных (разделенный на DH / DL).

* SI - индексирует регистр источника.

* DI - индексирует регистр адресата.

* BP - базируются указатель.

* SP - располагают в стеке указатель.

 

Несмотря на имя регистра, это - программист, кто определяет использование для каждого регистра общего назначения. Главная цель регистра состоит в том, чтобы сохранить число. Размер вышеупомянутых регистров - 16 битов, это - кое-что подобно: 0011000000111001b (в двоичной форме), или 12345 в десятичной форме.

 

4 регистра общего назначения (AХ, BX, CX, DX) сделаны двух отдельных 8 разрядных регистров, например если AХ = 0011000000111001b, то AH=00110000B и AL=00111001B. Поэтому, когда Вы изменяете любой из 8 бита, регистрирует, 16 разрядных регистра также модифицирован, и наоборот. Тот же самый - для других 3 регистраторов, "H" - для высокого, и "L" - для низкой части.

 

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

 

Регистры сегментов

 

* СS - указывает сегменту, содержащей текущую программу.

* DS - вообще указывает сегменту, где переменные определены.

* ES - дополнительный регистр сегмента, это - до coder, чтобы определить его использование.

* SS - указывает сегменту, содержащей стек.

 

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

 

Сегмент регистрирует работу вместе с регистрами общего назначения, чтобы обратиться к любому значению памяти. Например, если мы хотели бы обратиться к памяти в физическом 12345h адресе (hexadecimal), мы должны установить DS = 1230h и SI = 0045h. Это хорошо, начиная с этого пути, которым мы можем обращаться намного больше к памяти, чем с одиночным регистром, который ограничен 16 разрядными значениями.

Микропроцессор делает вычисление из физического адреса, умножая регистр сегмента 10h и добавляя регистр общего назначения к этому (1230h * 10h + 45h = 12345h):

Адрес, сформированный с 2 регистрами называется эффективным адресом.

По умолчанию BX, SI и DI регистрирует работу с регистром сегмента DS; BP и SP работают с регистром сегмента SS.

Другие регистры общего назначения не могут формировать эффективный адрес!

Также, хотя BX может формировать эффективный адрес, BH и BL не может!

 



Дата добавления: 2016-07-05; просмотров: 1904;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.