1
Formaty niektórych rozkazów w architekturze IA-32
Podstawowy format rozkazu
Pierwszy bajt |
Drugi bajt |
Trzeci bajt SIB (opcjonalny) |
Czwarty bajt |
Piąty bajt |
Szósty bajt |
Siódmy bajt | |||||
Kod oper. |
d v\ |
mod |
reg |
r/m |
SS |
index |
base |
Przesunięcie (adres) albo argument bezpośredni (liczba) |
Jeśli bit d = 1, to odbiorcą informacji jest rejestr określony przez pole reg, jeśli d = 0, to r/m.
tryb |
reg |
OOO |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
16/32 |
w = O |
AL. |
CL |
DL |
BL |
AH |
CH |
DH |
BH |
16 |
w = 1 |
AX |
CX |
DX |
BX |
SP |
BP |
SI |
Dl |
32 |
w = 1 |
EAX |
ECX |
EDX |
EBX |
ESP |
EBP |
ESI |
EDI |
Adres efektywny | ||
r/m |
tryb 16-bitowy |
tryb 32-bitowy |
000 |
BX + SI + przesuniecie |
EAX + przesuniecie |
001 |
BX + Dl + przesuniecie |
ECX + przesuniecie |
010 |
BP + SI + przesuniecie |
EDX + przesunięcie |
011 |
BP + Dl + przesunięcie |
EBX + przesunięcie |
100 |
SI + przesuniecie |
sposób oblicz, określa bajt SIB |
101 |
Dl + przesunięcie |
EBP + przesunięcie |
110 |
BP + przesunięcie |
ESI + przesunięcie |
111 |
BX + przesunięcie |
EDI + przesunięcie |
MO V
10001110
110 rsgm reg
1. przesianie liczby do rejestru
1011 w reg |
liczba (L) |
liczba (..) |
liczba (..) |
liczba (H) |
2. przesianie rejestru do rejestru | ||||
1000 10 d w |
11 reg r/m |
3. przesianie zawartości komórki pamięci do rejestru
1000101 w |
mod reg r/m |
Przes.(L) |
Przes. (..) |
Przes. (..) |
Przes. (H) |
4. przesianie rejestru do rejestru segmentowego /rsgm: ES - 00, CS - 01, SS - 10, DS -1 \)
XCHG
1. zamiana zawartości rejestrów
1000011 w
11 reg1 reg2
»
LEA
10001101 |
mod reg r/m |
Przes.(L) |
Przes. (..) |
Przes. (..) |
Przes. (H) |
PUSH POP |
01010 reg 01011 reg |
CMP
1. porównanie zawartości rejestru i liczby
100000 s w |
11 111 reg |
liczba (L) |
liczba (..) |
liczba (..) |
liczba (H) |
w przypadku s = w =1 pole liczba jest jednobajtowe
2. porównanie zawartości rejestrów
001110 d w 11 reg1 reg2
LOOP |
11100010 |
przesunięcie | ||
JMP | ||||
11101001 |
Przes.(L) |
Przes. (..) |
Przes. (..) |
Przes. (H) |
CALL | ||||
11101000 |
Przes.(L) |
Przes. (..) |
Przes. (..) |
Przes. (H) |
INT |
11001101 |
nr wektora |
01110100 |
przesunięcie |
01110101 |
przesunięcie |
01110010 |
przesunięcie |