Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Регистры процессора. В компьютерных системах работа с памятью основывается на очень простых концепциях




Адрес ячейки памяти

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

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

Каждая ячейка памяти имеет адрес, который используется для ее нахождения. Адреса - это числа, начиная с нуля для первой ячейки, увеличивающиеся по направлению к последней ячейке памяти. Поскольку адреса - это те же числа, компьютер может использовать арифметические операции для вычисления адресов памяти.

Архитектура каждого компьютера накладывает собственные ограничения на величину адресов. Наибольший возможный адрес определяет объем адресного пространства компьютера или то, какой объем памяти он может использовать. Обычно компьютер использует память меньшего объема, чем допускается его возможностями адресации. Если архитектура компьютера предусматривает наибольшее адресное пространство, это накладывает суровые ограничения на возможности такого компьютера. Адреса в 8088 имеют длину 20 бит, следовательно, процессор позволяет адресовать два в двадцатой степени байта или 1024 К.

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

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

Сегментные регистры (CS, DS, SS, ES).

Регистр сегмента кода (CS) содержит начальный адрес сегмента кода. Этот адрес плюс значение смещения в командном указателе (IP) определяет адрес команды, которая должна быть выбрана для выполнения.

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

Регистр сегмента стека (SS) содержит начальный адрес сегмента стека.

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

Регистры общего назначения (AX, BX, CX, DX). Особенность этих регистров состоит в том, что возможна адресация их как одного целого слова, так и однобайтовой части. Левый байт является старшей частью (High), а правый - младшей частью (Low) соответствующего регистра. Например, двухбайтовый регистр CX состоит из двух однобайтовых CH и CL, и ссылки на регистр возможны по любому из этих трех имен.

Разберем назначение каждого из регистров.

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

Регистр BX. Он является базовым регистром. Это единственный регистр общего назначения, который может использоваться в качестве "индекса" для расширенной адресации. Также он используется при организации вычислений.

Регистр CX. Это счетчик, используемый для управления числом повторений циклов и для операций сдвига влево или вправо. Регистр CX используется также при вычислениях.

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

Регистровые указатели (SP, BP). Они обеспечивают системе доступ к данным в сегменте стека. Реже используются в арифметических операциях.

Регистр SP. Указатель стека обеспечивает использование стека в памяти, позволяет временно хранить адреса и иногда данные. Этот регистр связан с регистром SS для адресации стека.

Регистр BP. Указатель базы облегчает доступ к параметрам (данным и адресам, переданным через стек).

Индексные регистры (SI, DI). Оба индексных регистра могут применяться для расширенной адресации и для использования в арифметических операциях.

Регистр SI. Этот регистр является индексом источника данных и применяется для некоторых операций над строками. В этом случае он адресует память в паре с регистром DS.

Регистр DI. Этот регистр является индексом назначения и применяется также для строковых операций. В данном случае он используется совместно с регистром ES.

Регистр командного указателя (IP). Он содержит смещение на команду, которая должна быть выполнена. Обычно этот регистр в программе не применяется, но он может изменять свое значение при использовании отладчика в процессе тестирования программы.

Флаговый регистр (иногда мы будем обозначать его через FLAGS). Девять из шестнадцати бит флагового регистра являются активными и определяют текущее состояние машины и результаты выполнения команд:




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


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


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



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




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