Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Косвенно-регистровая адресация.
Эффективный адрес операнда находится в базовом регистре BX или индексном регистре (SI или DI):
Пример: mov ax, [bx] Физический адрес определяется парой сегмент-смещение (например CS:IP – адрес следующей команды), и для каждого регистра, содержащего смещение, есть сегментный регистр, заданный по умолчанию. Некоторые сегменты разрешается принудительно переназначать, мнемоническое обозначение переназначения – «сегментный_регистр:смещение», в коде команды появляется дополнительный (первый) байт – байт замены сегмента.
Пример: mov ax, cs:[bx]
Непосредственная адресация. Операнд длиной байт или слово является частью команды. Операнд помещается в последние байты команды, причем младший байт следует первым (находится по меньшему адресу).
Пример: mov ax, 1234h
Относительная косвенно-регистровая адресация. Эффективный адрес операнда – сумма 8- или 16-разрядного смещения и значения одного из базовых или индексных регистров. Этот метод также называют базовым, если используются регистры BX, BP или индексным, при использовании SI, DI.
Базовая адресация обеспечивает возможность работы со структурами данных, размещенными в памяти, например, с соседними ячейками памяти относительно эффективного адреса в базовом регистре.
Пример: mov ax, [bx+10], другая форма записи - mov ax, 10[bx]
Индексный метод адресации удобен при обработке массивов, когда смещение указывает стартовый адрес массива, а содержимое индексного регистра соответствует индексу массива.
Пример: mov ax, 0100[si], другая форма записи - mov ax, [si+0100]
Базовая индексная адресация. Эффективный адрес равен сумме содержимого базового (BX или BP) и индексного (SI или DI) регистров.
Пример: mov ax, 100[bx][si], другая форма записи - mov ax, [bx+si+0100]
Неявная адресация. Неявная адресация задается операцией. Например, в командах обработки строк неявно используются регистры SI, DI. В командах управления циклами неявно используется регистр CX и т.д.
Стековая адресация. Стековая адресация применяется в командах работы со стеком PUSH и POP. Для этих команд адрес операнда находится в указателе стека SP и автоматически уменьшается или увеличивается на два при записи в стек или при чтении из стека. Заполнение стека происходит в направлении уменьшения адресов ячеек памяти. Стек может обмениваться данными с регистрами общего назначения и сегментными регистрами. Команды обмена данными между стеком и памятью содержат байт адресации, в котором 3-разрядное поле REG, совместно с полем КОП, идентифицирует команду.
Рисунок 8. Работа со стеком.
|
|||||
Последнее изменение этой страницы: 2021-06-14; просмотров: 93; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.157.227 (0.005 с.) |