<<
>>

Регистры процессора i8О86

Теперь приступим к обсуждению доступных программисту регистров процессо- ра i8О86. Поскольку эти регистры или их аналоги постоянно используются при разработке программ на машинном уровне, рекомендуется обстоятельно позна- комиться с их функциями и запомнить их обозначения.

В состав процессора i8О86 входят 14 доступных программисту регистров, в том числе (рис. 4.9):

? группа из четырех регистров общего назначения (РОН): ах, сх, dх, bх;

? группа из четырех указательных и индексных регистров: sр, bр и si, di;

? группа из четырех сегментных регистров: сs, ds, ss, еs;

? регистр-указатель (счетчик) команд iр;

? регистр флажков flags.

Все указанные регистры имеют длину два байта. Кроме того, каждый из четырех регистров общего назначения может рассматриваться либо как один 16-битный регистр, либо как пара автономно используемых 8-битных.

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

Сегментные регистры могут содержать только адреса сегментов. Регистр iр (от Instruction Pointer — указатель команд) всегда содержит адрес (точнее, внутрисегментное смещение) поля, в котором находится текущая или же сле- дующая команда выполняемой программы, а в регистре flags (флажки) собраны биты, играющие роль индикаторов, признаков результатов выполнения действий, о которых шла речь в 3.1 при обсуждении.внутреннего состояния компьютера. Эти биты принято называть флажками — отсюда и название регистра.

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

Кроме того, при этом уменьшается время выполнения команды и программы в целом.

В приведенных ранее обозначениях регистров общего назначения буква х взята из слова hеХаdесimаl (шестнадцатеричный), буква h — из слова Height (стар- ший), 1 — из слова Low (младший). В обозначениях указательных регистров бу- ква р соответствует слову Pointer (указатель). Обозначения индексных регистров содержат букву i, взятую из слова Index (индекс), а обозначения сегментных — букву s, выбранную из слова Segment (сегмент). В дальнейшем описании обо- значений буквы, имеющие указанный смысл, не расшифровываются.

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

Регистр базы bх (от base — база) применяется для организации специального способа определения адреса, который называется адресацией с базированием. Этот способ используется, в частности, для машинной реализации данных слож- ной структуры, например данных комбинированного типа (записей). Старший bh и младший bl байты регистра bх могут использоваться как самостоятельные 8-битные регистры.

Специализацией регистра счетчика сх (от counter — счетчик) является органи- зация циклов в программах. Он используется для хранения текущего значения параметра цикла. Старший сh и младший сl байты регистра сх могут использо- ваться как самостоятельные 8-битные регистры.

Специальная роль регистра данных dх (от data — данные) состоит в хранении чисел, участвующих в умножении и делении. В некоторых операциях ввода/вы- вода его использование является обязательным. Старший dh и младший dl бай- ты регистра dх могут использоваться как самостоятельные 8-битные регистры.

Основная функция регистров указателя стека sр (от stack — стек) и указателя базы bр — хранение внутрисегментных смещений. Кроме того, они используются при работе с данными сложной структуры, для работы со стеком и в некоторых других случаях.

Специальностью регистров индекс источника si (от source — источник) и индекс приемника di (от detector — приемник) является хранение индексов элементов массивов в так называемых цепочечных операциях, связанных с обработкой по- следовательностей байтов памяти. Типичный пример такой операции — копиро- вание массива символов. При этом регистр si используется для хранения ин- декса источника (оригинала), а регистр di — индекса приемника (копии).

В программе, выполняющейся процессором i8О86, можно использовать от одно- го до четырех сегментов оперативной памяти:

? сегмент кода — для хранения программного кода;

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

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

? дополнительный сегмент данцых — для хранения кодов данных при нехватке возможностей основного сегмента данных.

За каждым из сегментов памяти закреплен соответствующий сегментный регистр: регистр сегмента кода сs (от code — код), регистр сегмента данных ds, регистр сегмента стека ss и регистр дополнительного сегмента еs (от extended — допол- нительный). Эти регистры играют важнейшую роль в организации сегментной адресации. Операционная система, выбирая участки оперативной памяти для размещения используемых программой сегментов, автоматически загружает их адреса в соответствующие сегментные регистры сs и ss. Содержимое регистров ds и еs в случае их использования программист должен формировать самостоя- тельно. В связи с этим они не могут использоваться ни для каких иных целей, кроме основной — хранения адресов сегментов.

<< | >>
Источник: Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей. 2007

Еще по теме Регистры процессора i8О86:

  1. Кудинов Ю. И., Пащенко Ф. Ф., Келина А. Ю.. Практикум по основам современной информатики: Учебное пособие., 2011
  2. Ю. И. КУДИНОВ, Ф.Ф. ПАЩЕНКО, А. Ю. КЕЛИНА. ПРАКТИКУМ ПО ОСНОВАМ СОВРЕМЕННОЙ ИНФОРМАТИКИ, 2011
  3. Рекомендации Анти-шизоиду:
  4. СЛУХ АБСОЛЮТНЫЙ
  5. Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей, 2007
  6. В. И. Юров. Assembler. Учебник для вузов. 2-е изд, 2003
  7. ПАМЯТЬ: МОДЕЛЬ ТРЕХКОМПОНЕНТНАЯ
  8. Лариса Александровна Малинина Вадим Васильевич Лысенко Максим Анатольевич Беляев. Основы информатики: Учебник для вузов, 2006
  9. Основные этапы управления.
  10. 2. Субъекты права на фирменное наименование.
  11. Протосознание “Правополушарное” и “левополушарное” сознание
  12. 9.3.1. Жизнь не стоит на месте
  13. Периодическая таблица переживаний
  14. 3. Форма договора продажи недвижимости.