Сравнительный анализ различных систем адресации, используемых в мини и микроЭВМ

Сегментный регистр DS или (CS, SS, ES, FS, GS) Относительный адрес EA 4. Адресация элемента строки-источника.

Сегментный регистр DS или (CS, SS, ES, FS, GS) Относительный адрес ESI (SI) 5. Адресация элемента строки-приемника.

Сегментный регистр ES Относительный адрес EDI (DI) 6. Адресация операнда с использованием в качестве базового регистра EBP (BP) или ESP (SP).

Сегментный регистр SS или (CS, DS, ES, FS, GS) Относительный адрес EA Эффективный адрес операнда EA является 16- или 32-разрядным и формируется в зависимости от значения определенных полей в представлении команды. В общем случае EA образуется путем сложения трех компонент: содержимого базового регистра EBP (BP) или EBX (BX); содержимого индексного регистра ESI (SI) или EDI (DI); 8-, 16- или 32-разрядного смещения, заданного непосредственно в команде.

В разных случаях для формирования EA используются либо все, либо часть этих слагаемых. Теперь рассмотрим конкретные способы адресации.

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

В качестве операнда используется один, два или четыре последних байта команды. Такой способ адресации реализуется при выполнении ряда команд пересылки (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 После…