Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архитектура_ЭВМ

.pdf
Скачиваний:
5
Добавлен:
24.03.2015
Размер:
61.81 Кб
Скачать

том, что к их содержимомуможно обращаться как к двухбайтномучислу, так и к каждому байту по отдельности. На рисунке один каждый рабочий регистр разбит на старшую и младшую части – L и H в названиях обозначают младший и старший разряды. При написании программ можно обращаться к регистрам общего назначения как к целому регистру, так и к каждой его части независимо. РегистрAX является основным сумматороми применяетсядля всех операций ввода вывода, некоторых операций над строками и некоторых арифметическихопераций, а также как временное хранилище информации. Регистр BX используетсядля организацииадреса в памяти и для арифметическихцелей, кроме того это единственныйрегистр общего назначения, используемыйдля расширенной адресации. Регистр CX управляет работой тех операций, для которых требуется повторение и для арифметическихдействий. Регистр DX применяетсядля некоторых операций ввода вывода и тех операций умножения\деления над большими числами,

которые используют регистровуюпару

DX:AX.

Регистры указатели предназначеныдля указания адреса объекта в памяти системы. К их содержимомуможно обращаться только как к двухбайтномучислу. Указатель SP используетсядля работы с данными в стековых структурах, позволяют временно хранить адреса, иногда данные. Его содержимоеуказывает адрес элемента на вершине стека. Может выполнять функции регистров общего назначения в логических и арифметическихоперациях, однако в таком качестве не используется. Указатель BP используетсякак дополнительныйуказатель при работе с данными в стековых структурах, может использоватьсяв большинстве арифметическихи логических операций. Индексный регистр источник SI применяется в некоторых операциях над строками в качестве указателя адреса байта или слова в адресации в большинствеарифметическихи логических операций. Регистр DI указатель на значение для адреса байта или слова строковых команд или логических операций.

Сегментныерегистры предназначеныдля осуществлениясегментной организации программы. К их содержимомуможно обращаться только как к двухбайтному числу. Использованиеэтих регистров в командах имеет строгие ограничения. Регистр CS регистр сегмента кода содержит его начальный адрес. Этот адрес при сложении с указателем команд IP даёт полный адрес команды, которая должна быть принята на исполнение. Содержимоеможет быть изменено только при исполнении команд, изменяющихестественныйход выполненияпрограммы. Регистр DS содержит его же начальный адрес. Сумма его значения со смещением, заданным в команде, определяет адрес необходимойячейки памяти. Все прямые и косвенные ссылки, использующиерегистр BX, SI и DI определяютсяотносительнорегистра DS. Регистр SS. Содержимоерегистров SP и IP, используемоев стековых операциях, обрабатываетсяпроцессоромс учётом этого регистра. Регистр ES. Некоторые операции над строками используют этот сегментный

регистр для управления адресацией памяти. Регистр IP содержит смещение на команду, которая должна быть выполнена. Прямого доступа к IP нет, но его содержимоеможет меняться под воздействиемтаких команд или отладчика. Используетсяв паре с регистром кодового сегмента CS.

Регистры 32 разрядного программирования. 16 битные регистры заменяются 32 битными, при этом 8 и 16 битные регистры открыты для использования. AL, AH, BL, BH,… - 8 разрядные режимы адресации. AX, BX, CX, … - 16 разрядные режимы адресации. 32 разрядные – ECX, ABX.

Регистры флагов предоставляют информациюо текущем состоянии машины и о результатахвыполненияоперации. Команды изменяют значения флагов. 9 из 16 битов регистра являются активными и называются флагами и имеют свои имена. Флаг принимает значение 1, если он установлен, значение 0, если сброшен. Регистр флагов имеет следующую структуру: тут тип рисунок. Флаг чётности устанавливаетсяв единицу, если в 8 битах

результата команды содержится чётное число единиц. Флаг ZF устанавливаетсяв 1, если результат выполнения команды равен нулю. Флаг состояния TF обеспечивает возможностьработы процессора в пошаговом режиме выполнениякоманд. Флаг прерывания IF. Флаг DF.

Микропроцессор8086 и 8088 может использоватьпамять объёмом в 10 мегабайт. Для того, чтобы адресоватьсяк такому количеству ячеек необходимо 20 разрядов указателей. Поскольку указатель команд IP, и регистры указатели BX, SI, DI, BPи SP имеют 16 разрядов, микропроцессорне может получить непосредственныйдоступ ко всей памяти сразу. Мегабайт адресуемый микропроцессору8088 можно рассматривать как последовательностьбайтов, начинающуюсяс адреса 0. Команды и данные могут быть записаны побайтно и словами, но при записи 16 и 32 битных значений имеется следующая особенность: 16-ричное число 1234 представленокак 34 12; 16-ричное число 12345678 представленокак 78 56 34 12. Максимальныйадрес байта памяти в

микропроцессоре8088 равен значению FFFFF. Для его выражения необходимо 20 байт, а все регистры микропроцессораимеют только 16 разрядов. Используется сегментированиепамяти. Адрес любого байта памяти записываетсякак пара чисел, каждая из которых выражается 4 16-ричными цифрами xxxx: yyyy. Для перевода этого значения адреса из 16-ричной в 10-ную систему следует взять число xxxx, дописать сзади 0 и сложить с числом yyyy, а результат переводить в 10-ную систему. Один из наиболее непонятныхмоментов при адресации это его неоднозначность. Адрес 256 байта памяти может быть записан 0: 0100 или как 1: 00F0, или как 2: 00E0, и т.д. до того, как определить сегмент, надо сказать о параграфе. Параграф участок памяти в 16 байт. В 10-ной системе начальные адреса таких участков выглядят как 16, 32, 48, 64, …, а в 16-ной – 20, 30, 40,… .говоря о том,

что некое число, записанное в начале 14 параграфа, имеют ввиду, что адрес равен 14 умножить на 16 и равно 1024 или E0.