Косвенно-регистровая адресация

НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ.

В качестве операнда используется один, два или четыре последних байта команды. Такой способ адресации реализуется при выполнении ряда команд пересылки (MOV, PUSH) , арифметических операциях (ADD, ADC, SUB, SBB, CMP, IMUL) , и логических (AND, OR, XOR, TEST) . Рассмотрим простой пример — умножение содержимого регистра на константу: Регистры до выполнения IMUL AX, 5 AX = 10 После.

Каждый электрик должен знать:  Проектирование электроснабжения фермерских хозяйств

AX = 50 3.2 РЕГИСТРОВАЯ АДРЕСАЦИЯ.

При этом способе адресации операндом берется содержимое регистра. Например, для операции занесения на стек реализация регистрового способа адресации будет выглядеть как PUSH DS.

Регистры до выполнения PUSH DS DS = 5678h SP = FFFEh SS: FFFE = 0000h После.

DS = 5678 SP = FFFDh SS: FFFD = 5678 SS: FFFE = 0000 Как видно из примера значение регистра DS было занесено на стек.

Каждый электрик должен знать:  Подключение светодиодной ленты к выключателю света

КОСВЕННО-РЕГИСТРОВАЯ АДРЕСАЦИЯ.

При такой адресации относительный адрес содержится в индексном (SI, DI, ESI, EDI) или базовом (BX, BP, EBX, EBP) регистрах или в регистрах общего назначения EAX, ECX, EDX. Адрес операнда вычисляется как сегмент: смещение. Смещение представлено эффективным адресом.

Для примера рассмотрим команду MOV EBX, [EDI], которая пересылает содержимое ячейки DS: [EDI] в регистр EBX. (В качестве размера операнда берется двойное слово — 4 байта.

Каждый электрик должен знать:  Программа производственного обучения электромонтеров по ремонту электрооборудования 6 разряда

Регистры до выполнения MOV EBX, [EDI] EBX = 5678h EDI = 0100h DS: 0100h = 1221h (edi) После.

Добавить комментарий