Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
При косвенной регистровой адресации исполнительный адрес операнда содержится в базовом регистре ВХ, регистре указателя базы ВР или индексном регистре (SI или DI). Косвенные регистровые операнды надо заключать в квадратные скобки, чтобы отличить их от регистровых операндов. Например, команда
MOV AХ,[ВХ]
загружает в регистр АХ содержимое ячейки памяти, адресуемой значением регистра ВХ (рис. 2).
Как поместить смещение адреса в регистр ВХ? Один из методов состоит в применении команды LEA (Загрузить исполнительный адрес). Например, для загрузки слова из ячейки TABLE в регистр АХ можно воспользоваться последовательностью команд
LEA BX, TABLE
MOV AХ,[ВХ]
Эти две команды выполняют те же действия, что и одна команда
MOV AX,TABLE
с той лишь разницей, что в первом случае предыдущее содержимое регистра ВХ уничтожается. Если Вам нужен доступ лишь к одной ячейке памяти (в данном случае TABLE), то разумнее воспользоваться одной командой. Однако для доступа к нескольким ячейкам, начиная с данного базового адреса, гораздо лучше иметь исполнительный адрес в регистре. Почему? Потому что содержимым регистра можно манипулировать, не извлекая каждый раз новый адрес.
Адресация по базе
При адресации по базе Ассемблер вычисляет исполнительный адрес с помощью сложения значения сдвига с содержимым регистров ВХ или ВР.
Регистр ВХ удобно использовать при доступе к структурированным записям данных, расположенным в разных областях памяти. В этом случае базовый адрес записи помещается в базовый регистр ВХ и доступ к ее отдельным элементам осуществляется по их сдвигу относительно базы. А для доступа к разным записям одной и той же структуры достаточно соответствующим образом изменить содержимое базового регистра.
Предположим, например, что требуется прочитать с диска учетные записи для ряда работников. При этом каждая запись содержит табельный номер работника, номер отдела, номер группы, возраст, тарифную ставку и т.д. Если номер отдела хранится в пятом и шестом бантах записи, а начальный адрес записи содержится в регистре ВХ, то команда
MOV AХ,[ВХ]+4
загрузит в регистр АХ номер отдела, в котором служит данный работник (рис. 3). (Сдвиг равен 4, а не 5, потому что первый байт записи имеет номер 0.)
Ассемблер позволяет указывать адресуемые по базе операнды тремя разными способами. Следующие команды эквивалентны:
MOV AХ,[ВР]+4 ;3то стандартная форма записи,
MOV AХ,4[ВР] ; но сдвиг можно указать на первом месте
MOV AХ,[ВР+4] ; или внутри скобок

Рис. 3. Адресация по базе Рис. 4. Прямая адресация с индексированием
Прямая адресация с индексированием
При прямой адресации с индексированием исполнительный адрес вычисляется как сумма значений сдвига и индексного регистра (DI или SI). Этот тип адресации удобен для доступа к элементам таблицы, когда сдвиг указывает на начало таблицы, а индексный регистр – на ее элемент.
Например, если B_TABLE — таблица байтов, то последовательность команд
MOV DI,2
MOV AL,В_TABLE[DI]
загрузит третий элемент таблицы в регистр AL.
В таблице слов соседние элементы отстоят друг от друга на два байта, поэтому при работе с ней надо удваивать номер элемента при вычислении значения индекса. Если TABLE — таблица слов, то для загрузки в регистр АХ ее третьего элемента надо использовать последовательность команд
MOV DI,4
MOV AХ,TABLE[DI]
(рис. 4).
|
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!