Главная » Просмотр файлов » Иванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32

Иванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32 (1075571), страница 2

Файл №1075571 Иванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32 (Иванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32) 2 страницаИванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32 (1075571) страница 22017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Сначала к сегментномуадресу аппаратно дописываются 4 двоичных нуля. В результате получается 20-ти битовый физический адрес начала сегмента. Затем выполняется сложение 20-ти битового базового адреса сегмента и 16-ти битового смещения. Откуда получается 20-ти битовыйфизический адрес данных (см. рисунок 3).Рисунок 3 – Формирование 20-ти разрядного физического адресаТаким образом, для адресации основной памяти в микропроцессоре i8086 предусматриваются 20-битовые адреса, что позволяет работать с основной памятью до 1 Мб.Оглавление9Если программа включает более чем в один сегмент кодов, данных и стека, то сегментные регистры в процессе ее работы перегружаются.Смещение для каждого типа сегмента формируется по своим правилам (см.

рисунок4). Для стека смещение хранится в регистре SP, для сегмента кодов – в IP, а для сегментов данных – рассчитывается в соответствие с форматом команды, как исполнительныйадрес.Рисунок 4 – Адресация различных сегментов сегментными регистрамиСтек при 16-ти разрядной адресации представляет собой специальным образоморганизованную область памяти, осуществляющую последовательную запись элементовданных длиной 2 байта (слово) и чтение их в порядке, обратном порядку записи. Для хранения адреса последнего слова, занесенного в стек, служит регистр-указатель стека SР.Каждый раз при записи данных значение SP уменьшается на 2, а при чтении – увеличивается на 2 (см.

рисунок 5). Таким образом, стек растет в область младших адресов, и в начальный момент времени указатель SP должен содержать максимально возможное дляконкретного размера стека смещение.Рисунок 5 – Процессы записи в стек и чтения из стека:а – текущее состояние стека, б – запись X, в – чтение XСтек используется для временного хранения данных и адресов, например при вызове подпрограмм, когда в стек заносится адрес возврата и значения параметров, передаваемых в подпрограмму.Оглавление10Формат команд процессора i8086 позволяет указывать в команде только одиноперанд, размещенный в основной памяти, т.е. одной командой нельзя, например,сложить содержимое двух ячеек памяти.Принципиально допускается 8 способов задания исполнительного адреса операндов, размещенных в основной памяти:1)SI + <смещение, заданное в команде>;2)DI + <смещение, заданное в команде>;3)BP + <смещение, заданное в команде>;4)BХ + <смещение, заданное в команде>;5)BP + SI + <смещение, заданное в команде> ;6)BP + DI +<смещение, заданное в команде> ;7)BX + SI + <смещение, заданное в команде>;8)BX + DI + <смещение, заданное в команде>.Во всех случаях исполнительный адрес операнда определяется как сумма содержи-мого указанных регистров и смещения, заданного в команде и представляющего собойодно- или двухбайтовое число.Оглавление111.2.3 Выполнение программыСодержимое регистров СS и IP, в которых хранятся базовый адрес сегмента кодов исмещение очередной команды относительно начала сегмента, определяет физический адрес команды, которая должна быть выполнена на следующем шаге.По указанному адресу из основной памяти считывается команда и пересылается впроцессор.

Код команды длиной от 1 до 8 байт поступает в очередь команд, откуда передается в устройство управления для дешифрации.Если при выполнении команды требуются данные, расположенные в основной памяти, то в специальном поле кода команды указывается способ адресации, согласно которому вычисляется исполнительный, а затем и физический адрес данных (см. далее).Данные, считанные из основной памяти по указанному адресу, пересылаются врегистр данных или в арифметико-логическое устройство и обрабатываются в соответствии с кодом команды. Результат помещается в соответствии с командой либо в регистры, либо в заданную область основной памяти.Если выполненная команда не являлась командой передачи управления, то содержимое регистра IP увеличивается на длину выполненной команды, в противном случае врегистр IP заносится исполнительный адрес следующей команды.Затем процесс повторяется.Флажковый регистр.

На рисунке 6 представлен флажковый регистр Flags процессора i8086, в котором в виде однобитовых признаков по принципу ДА – НЕТ (ВКЛЮЧЕНО – ВЫКЛЮЧЕНО) фиксируется информация о результатах выполнения машинныхкоманд, например арифметических.Рисунок 6 – Флажковый регистрОсновные флаги флажкового регистра имеют следующее значение:ОF – переполнение разрядной сетки;DF – направление обработки строк: 0 – от младших адресов к старшим, 1 – от старших к младшим;Оглавление12IF – разрешение прерывания;SF– признак знака: 1 – результат < 0, 0 – результат > 0ZF – признак нуля: 1 – результат = 0АF – признак наличия переноса из тетрады;СF – признак переноса.В последующем эта информация может использоваться, например, командамиусловной передачи управления.Оглавление131.3Программная модель процессора IA-32Структура процессора семейства IA-32 очень сложна, поскольку в них аппаратнореализована совокупность параллельных конвейеров (конвейерная и суперскалярная архитектура).

На рисунке 7 процессор IA-32 представлен в виде набора основных блоков.Блок интерфейса с магистралью управляет передачей команд и данных из памяти впроцессор и результатов – обратно в оперативную память. Блок предвыборки команд отвечает за чтение последующих команд из сегмента кодов. Блок декодирования командосуществляет расшифровку команды и формирование последовательности управляющихсигналов для ее выполнения (аналог УУ). Исполнительный блок согласно названию выполняет команду (аналог АЛУ).Исполнительный блокБлокуправлениясегментамиБлокразбиенияна страницыБлокдекодирования командБлокпредвыборкикомандБлокинтерфейса смагистралью32-разряднаяшина адреса32-разряднаяшина данныхРисунок 7 – Структура процессора семейства IA-32Блоки управления сегментами и страницами обеспечивают формирование физического адреса следующих команд и необходимых данных.

При этом ограничение на нахождение не более одного операнда в оперативной памяти сохраняется.Оглавление141.3.1 Регистры общего назначенияБольшинство регистров процессоров семейства IA-32 – 32-х разрядные. Они включают 16-ти разрядные регистры адресов и данных, имевшиеся в прародителе i8086, какмладшую часть (см. рисунок 8), и обеспечивают доступ к ним по указанным именам.3115AH AXBH BXCH CXDH DXSIDIBPSPIPFLAGS0ALBLCLDLEAXEBXECXEDXESIEDIEBPESPEIPEFLAGSРисунок 8 – Регистры адресов и данных IA-32Сегментные регистры остались 16-ти разрядными, но их количество увеличилось до6. Добавленные регистры позволяют адресовать еще два сегмента данных.

В защищенном режиме IA-32 сегментные регистры хранят не адрес сегмента, а номер (индекс) специального дескриптора, который содержит базовый адрес сегмента, его размер и атрибуты (см. далее).Кроме того было добавлено еще несколько специализированных регистров, используемых в защищенном режиме:а) управляющие регистры С0..С3;б) регистры системных адресов:GDTR – регистр адреса таблицы глобальных дескрипторов;LDTR – регистр адреса таблицы локальных дескрипторов;IDTR – регистр адреса таблицы дескрипторов прерываний;TR – регистр состояния задачи;в) отладочные регистры;г) тестовые регистры.Оглавление151.3.2 Режимы адресации. Схема адресации защищенного режимаПроцессоры IA-32 поддерживают три режима адресации:1.1реальный – в этом режиме адрес формируется аналогично i8086, т.е.

при фор-мировании адреса используются 16-ти разрядные смещения и 16-ти разрядные сегментные адреса, которые хранятся в сегментных регистрах. При их сложении по приведеннойвыше схеме получаются 20-ти разрядные физические адреса, поэтому в этом режиме доступен только первый мегабайт оперативной памяти;1.2защищенный – в этом режиме используется 32-х разрядная адресация, преду-сматривающая несколько вариантов защиты, откуда и появилось название этого режима;1.3виртуальный – в этом режиме процессор моделирует псевдоодновременную ра-боту нескольких виртуальных процессоров i8086.

В настоящее время режим устарел ипрактически не используется.Требование сохранить возможность выполнения программ, использующих 16-тиразрядную адресацию, привело к тому, что схема 32-х разрядной адресации являетсямногокомпонентной (см. рисунок 9).Эффективный адресИндексБазаНепосредственноесмещениеxСтраницыпо 4 КбМасштаб+Эффективныйадрес (32)Виртуальныйадрес (46)Блок сегментацииИндекссегмента (14)Линейныйадрес (32)Селектор 2Блокразбивкина страницы0Физическийадрес (32)(Сегментный регистр)СелекторТаблицалокальныхСелектордескрипторовСелекторТаблицаглобальныхСелектордескрипторовРисунок 9 – Схема 32-х разрядной адресации в защищенном режимеОглавлениеОП16В этом режиме по-прежнему используется сегментная организация памяти, но размер сегмента уже не ограничивается 64 Кб, а теоретически может достигать 4 Гб.

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

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

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