Методы адресации


Операнд задается на микропрограммном уровне (операнд по умолчанию)


Download 235.15 Kb.
bet11/18
Sana13.12.2022
Hajmi235.15 Kb.
#1000783
TuriСамостоятельная работа
1   ...   7   8   9   10   11   12   13   14   ...   18
Bog'liq
065-20. группа Белая .А

Операнд задается на микропрограммном уровне (операнд по умолчанию): в этом случае команда явно не содержит операнда, алгоритм выполнения команды использует некоторые объекты по умолчанию (регистры, признаки и т.д.).
mul ebx ; eax = eax*ebx, неявно использует регистр eax

Операнд задается в самой команде (непосредственный операнд): операнд является частью кода команды. Для хранения такого операнда в команде выделяется поле длиной до 32 бит. Непосредственный операнд может быть только вторым операндом (источником). Операнд-получатель может находиться либо в памяти, либо в регистре.
mov eax, 5 ; eax = 5;
add ebx, 2 ; ebx = ebx + 2;

Операнд находится в одном из регистров (регистровый операнд): в коде команды указываются именами регистров. В качестве регистров могут использоваться:

  • 32-разрядные регистры ЕАХ, ЕВХ, ЕСХ, EDX, ESI, EDI, ESP, EBP;

  • 16-разрядные регистры АХ, ВХ, СХ, DX, SI, DI, SP, ВР;

  • 8-разрядные регистры АН, AL, BH, BL, CH, CL, DH, DL;

  • сегментные регистры CS, DS, ,SS, ES, FS, GS.

add eax, ebx ; eах = eax + ebх
dec esi ; esi = esi — 1
Операнд располагается в памяти. Данный способ позволяет реализовать два основных вида адресации:

Прямая адресация: эффективный адрес определяется непосредственно полем смещения машинной команды, которое может иметь размер 8, 16 или 32 бита.
mov eax, sum ; eax = sum
Ассемблер заменяет sum на соответствующий адрес, хранящийся в сегменте данных (по умолчанию адресуется регистром ds) и значение, хранящееся по адресу sum, помещает в регистр eax.
Косвенная адресация в свою очередь имеет следующие виды:



  • косвенная базовая (регистровая) адресация;

  • косвенная базовая (регистровая) адресация со смещением;

  • косвенная индексная адресация;

  • косвенная базовая индексная адресация.


Download 235.15 Kb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling