Формирование физического адреса операнда в памяти для 32-битного режима
Определение разрядности операнда и адреса
Префиксы REX
Префиксы команд микропроцессоров x86
Группа 1:
Префиксы _______________ и _______________:
– F0h — LOCK
– F2h — REPNE/REPNZ*
– F3h — REP или REPE/REPZ*
Группа 2:
Префиксы _________ ____________:
– 2Eh — CS
– 36h — SS
– 3Eh — DS
– 26h — ES
– 64h — FS
– 65h — GS
Префиксы анализа ______________ (Branch hints):
– 2Eh — Branch not taken
– 3Eh — Branch taken
Группа 3:
Префикс изменения разрядности ____________:
– 66h*
Группа 4:
Префикс изменения разрядности _________:
– 67h
*Префиксы 0F2h, 0F3h, 66h имеют особое назначение для некоторых команд.
Используются в _____________ режиме.
Определяют:
– регистры GPR и SSE;
– 64-битный размер операнда;
– регистры расширенного управления.
Бит D дескриптора сегмента кода | ||||||||
Префикс 66h (разрядность ____________) | - | - | + | + | - | - | + | + |
Префикс 67h (разрядность _________) | - | + | - | + | - | + | - | + |
Эффективный размер операнда | ||||||||
Эффективный размер адреса |
32-разрядная адресация с использованием байта ModR/M команды
r/m | mod | |||||||
[EAX] | [EAX]+disp8 | [EAX]+disp32 | _____ | AX | AL | MM0 | XMM0 | |
[ECX] | [ECX]+disp8 | [ECX]+disp32 | _____ | CX | CL | MM1 | XMM1 | |
[EDX] | [EDX]+disp8 | [EDX]+disp32 | _____ | DX | DL | MM2 | XMM2 | |
[EBX] | [EBX]+disp8 | [EBX]+disp32 | _____ | BX | BL | MM3 | XMM3 | |
SIB | SIB+disp8 | SIB+disp32 | _____ | SP | AH | MM4 | XMM4 | |
disp32 | [EBP]+disp8 | [EBP]+disp32 | _____ | BP | CH | MM5 | XMM5 | |
[ESI] | [ESI]+disp8 | [ESI]+disp32 | _____ | SI | DH | MM6 | XMM6 | |
[EDI] | [EDI]+disp8 | [EDI]+disp32 | _____ | DI | BH | MM7 | XMM7 |
32-разрядная адресация с использованием байта SIB команды
index | scale | |||
[EAX] | [EAX*2] | [EAX*4] | [EAX*8] | |
[ECX] | [ECX*2] | [ECX*4] | [ECX*8] | |
[EDX] | [EDX*2] | [EDX*4] | [EDX*8] | |
[EBX] | [EBX*2] | [EBX*4] | [EBX*8] | |
- | - | - | - | |
[EBP] | [EBP*2] | [EBP*4] | [EBP*8] | |
[ESI] | [ESI*2] | [ESI*4] | [ESI*8] | |
[EDI] | [EDI*2] | [EDI*4] | [EDI*8] |
Адресация в 64-битном режиме
16-разрядная адресация с использованием байта ModR/M команды
r/m | mod | |||||||
[BX+SI] | [BX+SI]+disp8 | [BX+SI]+disp16 | EAX | AX | AL | MM0 | XMM0 | |
[BX+DI] | [BX+DI]+disp8 | [BX+DI]+disp16 | ECX | CX | CL | MM1 | XMM1 | |
[BP+SI] | [BP+SI]+disp8 | [BP+SI]+disp16 | EDX | DX | DL | MM2 | XMM2 | |
[BP+DI] | [BP+DI]+disp8 | [BP+DI]+disp16 | EBX | BX | BL | MM3 | XMM3 | |
[SI] | [SI]+disp8 | [SI]+disp16 | ESP | SP | AH | MM4 | XMM4 | |
[DI] | [DI]+disp8 | [DI]+disp16 | EBP | BP | CH | MM5 | XMM5 | |
disp16 | [BP]+disp8 | [BP]+disp16 | ESI | SI | DH | MM6 | XMM6 | |
[BX] | [BX]+disp8 | [BX]+disp16 | EDI | DI | BH | MM7 | XMM7 |