Главная » Просмотр файлов » assembler. Учебник для вузов_Юров В.И_2003 -637с

assembler. Учебник для вузов_Юров В.И_2003 -637с (862834), страница 10

Файл №862834 assembler. Учебник для вузов_Юров В.И_2003 -637с (Юров В.И - Assembler. Учебник для вузов. 2003) 10 страницаassembler. Учебник для вузов_Юров В.И_2003 -637с (862834) страница 102021-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

Перечислимсистемные регистры, поддерживаемые IA-32:D управляющие регистры CRO.. .CR4 определяют режим работы процессора и характеристики текущей исполняемой задачи;D регистры управления памятью GDTR, IDTR, LDTR и TR используются в защищенном режиме работы процессора для локализации управляющих структур этого режима;П отладочные регистры DRO.. .DR7 предназначены для мониторинга и управления различными аспектами отладки;D регистры типов областей памяти MTRR используются для аппаратного управления кэшированием в целях назначения соответствующих свойств областям памяти;П машинно-зависимые регистры MSR используются для управления процессором, контроля за его производительностью, получения информации обошибках.Почему в обозначениях многих из регистров общего назначения присутствуетнаклонная разделительная черта? Это не разные регистры — это части одного большого 32-разрядного регистра, но их можно использовать в программе как отдельные объекты.

Зачем так сделано? Чтобы обеспечить работоспособность программ,написанных для прежних 16-разрядных моделей процессоров фирмы Intel начиная с i8086. Процессоры i486 и Pentium имеют в основном 32-разрядные регистры.44Глава 2. Программно-аппаратная архитектура IA-32 процессоров IntelИх количество, за исключением сегментных регистров, такое же, как и у 18086,но размерность больше, что и отражено в обозначениях — они имеют приставку е(extended).Многие из приведенных регистров предназначены для работы с определенными вычислительными подсистемами процессора: сопроцессором, MMX-расширениями.

Поэтому их целесообразно рассматривать в соответствующем контексте.Так как первая часть учебника посвящена вопросам программирования целочисленной подсистемы процессора, то в данной главее описываются регистры, обеспечивающие ее функционирование. В дальнейшем при обсуждении новых вычислительных подсистем процессора будут рассмотрены и другие регистры из перечисленных ранее.Регистры общего назначенияРегистры общего назначения используются в программах для хранения:ш операндов логических и арифметических операций;«i компонентов адреса;il указателей на ячейки памяти.В принципе, все эти регистры доступны для хранения операндов без особыхограничений, хотя в определенных условиях некоторые из них имеют жесткоефункциональное назначение, закрепленное на уровне логики работы машинныхкоманд.

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

рис. 2.5). Обращение производится по их именам. Важно отметить, что использовать для самостоятельной адресации можно только младшие 16- и 8-разрядныечасти этих регистров. Старшие 16 битов как самостоятельные объекты недоступны.Это сделано, как мы отметили ранее, для совместимости с первыми 16-разрядными моделями процессоров фирмы Intel.

Перечислим регистры, относящиеся к группе регистров общего назначения и физически находящиеся в процессоре внутриарифметико-логического устройства (поэтому их еще называют регистрами АЛУ):к регистр-аккумулятор (Accumulator register) EAX/AX/AH/AL применяется дляхранения промежуточных данных, в некоторых командах его использованиеобязательно;т базовый регистр (Base register) EBX/BX/BH/BL применяется для хранения базового адреса некоторого объекта в памяти;II регистр-счетчик (Count register) ECX/CX/CH/CL применяется в командах, производящих некоторые повторяющиеся действия.

Использование регистра-счетчика зачастую скрыто в алгоритме работы той или иной команды. Например,команда организации цикла LOOP помимо передачи управления анализируети уменьшает на единицу значение регистра ЕСХ/СХ;т регистр данных (Data register) EDX/DX/DH/DL, так же как и регистр ЕАХ/АХ/АН/AL, хранит промежуточные данные (в некоторых командах его явное использование обязательно, в других он используется неявно).Архитектура 1А-3245Следующие два регистра предназначены для поддержки так называемых цепочечных операций, то есть операций, производящих последовательную обработкуцепочек элементов, каждый из которых может иметь длину 32, 16 или 8 бит:И регистр индекса источника (Source Index register) ESI/SI в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;il регистр индекса приемника (Destination Index register) EDI/DI в цепочечныхоперациях содержит текущий адрес в цепочке-приемнике.В архитектуре процессора на программно-аппаратном уровне поддерживаетсятакая структура данных, как стек.

Для работы со стеком в системе команд процессора есть специальные команды, а в программной модели процессора для этогосуществуют специальные регистры:;»; регистр указателя стека (Stack Pointer register) ESP/SP содержит указатель навершину стека в текущем сегменте стека;II регистр указателя базы кадра стека (Base Pointer register) EBP/BP предназначен для организации произвольного доступа к данным внутри стека.Не стоит пугаться столь жесткого функционального назначения регистров АЛ У.На самом деле при программировании хранить операнды команд можно в большинстве регистров, причем практически в любых сочетаниях.

Однако всегда следует помнить, что некоторые команды требуют строго определенных регистров.Цель подобного жесткого закрепления регистров для этих команд — более компактная кодировка их машинного представления. Знание особенностей использования регистров машинными командами (см. приложение) позволяет, принеобходимости, экономить память, занимаемую кодом программы, и более эффективно программировать алгоритм.Сегментные регистрыПроцессоры Intel аппаратно поддерживают сегментную организацию программы.Это означает, что любая программа состоит из трех сегментов: кода, данных и стека.

Логически машинные команды в архитектуре IA-32 построены так, что привыборке каждой команды для доступа к данным программы или к стеку неявноиспользуется информация из вполне определенных сегментных регистров. В зависимости от режима работы процессора по их содержимому определяются адреса памяти, с которых начинаются соответствующие сегменты. В программной модели IA-32 имеется шесть сегментных регистров CS, SS, DS, ES, GS, FS, служащих длядоступа к четырем типам сегментов.ii Сегмент кода содержит команды программы. Для доступа к этому сегменту служит регистр сегмента кода (Code Segment register) CS. Он содержит адрес сегмента с машинными командами, к которому имеет доступ процессор (эти команды загружаются в конвейер процессора).ii Сегмент данных содержит обрабатываемые программой данные.

Для доступак этому сегменту служит регистр сегмента данных (Data Segment register) DS,который хранит адрес сегмента данных текущей программы.ш Сегмент стека представляет собой область памяти, называемую стеком. Работу со стеком процессор организует по следующему принципу: последний запи-46Глава 2. Программно-аппаратная архитектура IA-32 процессоров Intelсанный в эту область элемент выбирается первым. Для доступа к этой областислужит регистр сегмента стека (Stack Segment register) SS, содержащий адрессегмента стека.№ Дополнительный сегмент данных. Неявно алгоритмы выполнения большинствамашинных команд предполагают, что обрабатываемые ими данные расположены в сегменте данных, адрес которого находится в регистре сегмента данных DS.Если программе недостаточно одного сегмента данных, то она имеет возможность задействовать еще три дополнительных сегмента данных.

Но в отличиеот основного сегмента данных, адрес которого содержится в регистре DS, прииспользовании дополнительных сегментов данных их адреса требуется указывать явно с помощью специальных префиксов переопределения сегментов в команде. Адреса дополнительных сегментов данных должны содержаться в регистрах дополнительного сегмента данных (Extension Data Segment registers) ES,GS, FS.Регистры состояния и управленияВ процессор включены два регистра (см.

рис. 2.5), постоянно содержащие информацию о состоянии как самого процессора, так и программы, команды которой онв данный момент обрабатывает:iiрегистр-указатель команд EIP/IP;it регистр флагов Е FLAGS/FLAGS.С помощью этих регистров можно также ограниченным образом управлять состоянием процессора.Регистр-указатель команд (Instruction Pointer register) EIP/IP имеет разрядность32(16) бита и содержит смещение следующей подлежащей выполнению командыотносительно содержимого регистра сегмента кода CS в текущем сегменте команд.Этот регистр непосредственно недоступен программисту, но загрузка и изменениеего значения производятся различными командами управления, к которым относятся команды условных и безусловных переходов, вызова процедур и возврата изпроцедур.

Характеристики

Тип файла
PDF-файл
Размер
14,34 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6547
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее