Главная » Просмотр файлов » К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)

К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 42

Файл №1114649 К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)) 42 страницаК. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649) страница 422019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Самым гибким из описанных в разделе 2.5 режимов является индексный, обозначаемый как Х(К1,К)). Исполнительный адрес операнда, ЕА, вычисляется в этом режиме так: ЕА= [К!1+ [КЯ+ Х где К1 и Ку — это регистры общего назначения, базовый и иядвксльсй, а Х вЂ” константа, определяющая величину смея!внял. Среди режимов адресации процессоров 1А-32 имеется несколько упрощенных разновидностей данного режима. Полный набор режимов адресации процессоров 1А-32 таков.

+ Нвпосрвдстлввняая адресация (ппшег[1ате). Операнд содержится прямо в команде. Это 8-разрядное или 32-разрядное число, длина которого определяется соответствующим битом в поле кода операции. Для короткого операнда указанный бит равен О, для длинного — 1. 184 Глава 3. Системы команд процессоров АВМ, Мо1ого!а и!п1е! Подобный порядок используется и в архитектуре процессоров АКМ, а в процессоре Могого1а 68000 применяется противоположный порядок. Так, команда МОЧ <Ьцзгс дзг +- (згс1 выполняет операцию + Прямая адресация (йгесг). Адрес операнда в памяти определяется заданным в команде 32-разрядным значением. + Решстровая адресация (ге81зтег).

Операнд содержится в одном из восьми регистров общего назначения, заданном в команде. + Косвенная регистровая адресация (ге81з1ег 1пйгесг). Адрес операнда в памяти содержится в одном из восьми регистров общего назначения, заданном в команде. + Базовая со смещением (Ъазе ччгЬ йзр1асешепг). В команде определяются 8- или 32-разрядное смещение со знаком и один из восьми регистров общего назначения, используемый в качестве базового. Исполнительный адрес операнда равен сумме содержимого базового регистра и смещения.

+ Индексная со смещением (пп1ех ъчгЬ йзр1асешепг). В команде задаются 32-разрядное смещение со знаком, один из восьми регистров общего назначения, который должен использоваться в качестве индексного, и коэффициент масштабирования — 1, 2, 4 или 8. Для получения исполнительного адреса операнда содержимое индексного регистра умножается на коэффициент масштабирования, а к результату прибавляется смещение.

+ Базовая индексная (Ъазе кчгЬ 1пдех). В команде задаются два из восьми регистров общего назначения и коэффициент масштабирования — 1, 2, 4 или 8. Регистры используются как базовый и индексный, а исполнительный адрес операнда вычисляется следующим образом: содержимое индексного регистра умножается на коэффициент масштабирования, а к результату прибавляется содержимое базового регистра. + Базовая индексная со смещением (Ьазе чптЬ шс1ех аль йзр1асешепг). В команде задаются 8- или 32-разрядное смещение со знаком, два из восьми регистров общего назначения и коэффициент масштабирования — 1, 2, 4 или 8.

Регистры используются как базовый и индексный, а исполнительный адрес операнда вычисляется следующим образом: содержимое индексного регистра умножается на коэффициент масштабирования, а результат складывается с содержимым базового регистра и смещением. Синтаксис перечисленных режимов адресации процессоров 1А-32 приведен в табл. 3.3. Кроме того, в ней показано, как вычисляется исполнительный адрес операнда для каждого нз режимов. Согласно одной из сносок, регистр ЕВР не может использоваться в качестве индексного, поскольку, как вы увидите далее, ов служит указателем на стек процессора.

Ниже будет рассмотрено несколько примеров применения режимов адресации процессоров 1А-32. В командах с двумя операндами исходный (згс) и результирующий (Сзг) операнды задаются на языке ассемблера в таком порядке: КодОперации озг,згс 3.18. Регистры и адресация 185 Таблица З.З. Режимы адресации процессоров ро32 Пример адресации Название режима адресации Синтаксис языка ассемблера Непосредственная Прямая Регистровая Значение Адрес Кей Косвенная регистровая Базовая со смешением Индексная со смещением Базовая и индексная Базовая индексная со смещением Значение — 8- или 32-Разрядное число со знаком, Алвес — 32-ралрлллый адрес.

Кех, Ке81, Ке82 — один вз регистров общего назначения (ЕАХ, ЕВХ, ЕСХ, ЕРХ, ЕЕР, ЕВР, Е31, ЕР1), с геы исключением, что регистр ЕЕР ве может всполыоватьсл з качестве индексного. пир — 8- или 32-разрллцое число со знаком (смещение), с геы исключением, что смешение в режиме индексной адресации со смещением может быть только 32-ралрлллыы. 3 — коэффициент масштабирования, равный 1, 2, 4 вли 8. Для иллюстрации режимов адресации удобно задействовать команду Моче.

Например, в команде МОК ЕАХ,25 для пересылки десятичного значения 25 в регистр ЕАХ применяется непосредственная адресация. По умолчанию заданное в такой форме число, состоящее из цифр от 0 до 9, интерпретируется как десятичное. Для обозначения двоичных и шестнадцатеричных чисел используются суффиксы В и Н. Например, комацда МОЧ ЕАХ,ЗРАООН пересылает в регистр ЕАХ шестнадцатеричное число ЗЕАОО.

В команде МОУ ЕАХД.ОСАТ10Б[ используется прямая адресация. Данная команда пересылает в регистр ЕАХ двойиое слово из памяти по адресу, определяемому меткой 1.ОСАТ1ОН. При этом предполагается, что указанная метка определена как метка для адреса памяти в разделе объявлений программы на языке ассемблера. Из раздела 3.13 вы поймете, кзк зто делается. Если метка [.ОСАТ101ч' представляет адрес 1000, то данная команда пересылает в ЕАХ двойное слово, расположенное по адресу 100. Чуть позже мы поговорим о непосредственной и прямой адресации процессоров 1А-32 более подробно, поскольку эти режимы часто путают. Возьмем такой случай.

Иногда бывает полезно определить символические имена для числовых констант, задаваемых непосредственно в командах. Для назначения константам [Кей] [Кей + 1)ЬР] [КеЯ * Я -~- 1)15Р] [Ке81 + Ке82 ь 5] [Ке81 + КеЕ2 * 5 + Операнд = Значение ЕА - Адрес ЕА - Кей, то есть Операнд = [Кей] ЕА - [Кей] ЕА - [Кей] + Едзр ЕА = [Кей] х Я + Едзр ЕА - [Ке81] + [Ке82] х 5 Р)зр] ЕА [Ке81] + [Ке82] х 5+ 1)1зр 186 Глава 3. Системы команд процессоров АВМ, Мо1ого!в и!пте! символических имен предназначена команда ЕЯ??, описанная в разделе 2.6.1. Например, команда Х??МВЕК ЕО?? 25 связывает символическое имя Х??МВЕК с десятичным числом 25. После этого команда МОУ ЕАХ,Х??МВЕК интерпретируется ассемблером как операция пересылки в регистр ЕАХ непосредственно заданного операнда Х??МВЕК. С другой стороны, если определить Х??МВЕК как адресную метку, этот же операнд будет интерпретироваться как заданный при помощи прямого режима адресации.

Во многих языках ассемблера во избежание такой неоднозначности используется специальный символ, например «Гг», прибавляемый к числу в качестве префикса для обозначения непосредственной адресации. В языке ассемблера процессоров 1А-32 для этой цели могут использоваться квадратные скобки; МОЪ' ЕАХ,[?.ОСАТ?ОХ? Однако если метка 1.0САТ10Х определена как адресная, квадратные скобки не нужны. При необходимости интерпретировать адресную метку как непосредственно заданный операнд можно воспользоваться ассемблерной директивой ОРРБЕТ. Так, команда МОЪ' ЕВХ,ОРРБЕТ 1.0САТ10Х помещает значение адресной метки ?.ОСАТ?ОХ, предположим 1000, в регистр ЕВХ с применением непосредственной адресации. После этого ЕВХ может использоваться в косвенном регистровом режиме адресации в команде МОЧ ЕАХ,(ЕВХ? пересылающей в регистр ЕАХ содержимое памяти по адресу?.ОСАТ10Х, содержащемуся в регистре ЕВХ.

Слово ОРРБЕТ (смещение), выбранное для этой директивы языка ассемблера, подчеркивает, что адрес всегда интерпретируется как относительное расстояние от начальной точки сегмента памяти, содержащего операнд команды. Во всех приведенных выше примерах операнд назначения задавался в регистровом режиме адресации. Мы проиллюстрировали использование четырех основных типов адресации: непосредственной, прямой, регистровой и косвенной регистровой. Оставшиеся четыре режима предназначены для более гибкого доступа к операндам, хранящимся в памяти компьютера.

На рис. 3.39, а показано, как используется режим базовой адресации со смещением. Базовым регистром здесь служит ЕВР. Двойное слово, расположенное на расстоянии 60 байт от базового адреса 1000, то есть по адресу 1060, можно переслать в регистр ЕАХ при помощи команды МОЪ' ЕАХ,(ЕВР+601 м! 3.!6. Регистры и адресации 1В7 Адрес основной памяти Базовый регистр ЕВР !ООО Смещение 60 1060 Адрес операнла (ЕА) - [ЕВР]г60 Базовый регистр ЕВР 1000 Индексный регистр ЕЯ Смещение - 200 Коэффициент масгстабировапия - 4 [Индексный регистр] х 4 - 160 1200 Список 4-байтовых элементов данных (двойных слов) 1360 Адрес операнда (ЕА) - [ЕВР]е[ЕБЦ х 4е200 Рио. 3.69.

Примеры типов адресации в архитектуре !А-32: базовая со смещением, заданная как [ЕВРебо) (а); базовая индексная со смещением, заданная как [ЕВРеЕВ!*4е200] (б) Команды и режимы адресации процессоров [А-32 могут использоваться для работы как с отдельными байтами, так и с двойными словами. Если в базовом регистре ЕВР содержится, скажем, адрес 1000, то для загрузки в младший байт регистра ЕАХ одного байта, хранящегося по адресу 1010, можно воспользоваться командой МОУ А[.,[ЕВРе10] 188 Глава 3.

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

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

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

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