35.1.7. IA-32 (X86)
THIS SECTION IS UNDER CONSTRUCTION
8086:
80386DX:
80486SX:
Pentium:
Эволюция
[только Intel]
8086 ['78] --- > 8088 ['79]
|
V
80286 ['82]
|
V
IA32: 80386DX ['85] -- > 80386SX ['88]
|
V
80486 ['89] -- > 80486SX ['91]
|
V
Pentium ['93] --> Pentum w/MMX ['97]
|
V
Pentium Pro ['95]
|
V
Pentium II ['97] --> Celeron
|
V
Pentium III ['99] --> Pentium M
|
V
Pentium 4 ['00]
Регистры
-----------------------------------------------------------------
eax ax al
ebx bx bl
ecx cx cl
edx dx dl
esi si
edi di
ebp bp <- Frame pointer
esp sp
Note: Floating Point operation processed specially on x86, 'cos
of FP. Stack architecture.
But also possible to use MMX2 for single operations.
Zero Register: None
Direction:
<------------
Memory Access:
mov ebx,[eax+ecx+esi*2]
Immediately Data
add ah,23h
Byte order: Little-endian
Instruction Len: variable 1-15 bytes long
Main Generations:
8086+ 16-bit
386+ 32-bit
Регистр флагов:
13..12 IOPL
9 IF
8 TF
THIS SECTION IS UNDER CONSTRUCTION
--------------------------------------------------------------
Форматы обращения к памяти:
на самом деле архитектура сегментная поэтому зависит от регистра
16bit memory (No 32 bit memory address prefix):
MMM Default MM Field
Field Sreg 00 01 10 11=MMM is reg
000 DS [BX+SI] [BX+SI+O8] [BX+SI+O16]
001 DS [BX+DI] [BX+DI+O8] [BX+SI+O16]
010 SS [BP+SI] [BP+SI+O8] [BP+SI+O16]
011 SS [BP+DI] [BP+DI+O8] [BP+DI+O16]
100 DS [SI] [SI+O8] [SI+O16]
101 DS [DI] [DI+O8] [DI+O16]
110 SS [O16] [BP+O8] [BP+O16]
111 DS [BX] [BX+O8] [BX+O16]
Note: MMM=110,MM=00 Default Sreg is DS !!!!
32bit memory (Has 67h 32 bit memory address prefix):
MMM Default MM Field
Field Sreg 00 01 10 11=MMM is reg
000 DS [EAX] [EAX+O8] [EAX+O32]
001 DS [ECX] [ECX+O8] [ECX+O32]
010 DS [EDX] [EDX+O8] [EDX+O32]
011 DS [EBX] [EBX+O8] [EBX+O32]
100 see SIB [SIB] [SIB+O8] [SIB+O32]
101 SS [O32] [EBP+O8] [EBP+O32]
110 DS [ESI] [ESI+O8] [ESI+O32]
111 DS [EDI] [EDI+O8] [EDI+O32]
Note: MMM=110,MM=00 Default Sreg is DS !!!!
SIB is (Scale/Base/Index):
SS BBB III
Note: SIB address calculated as :
=+*(2^(Scale))
Field Default Base
BBB Sreg Register Note
000 DS EAX
001 DS ECX
010 DS EDX
011 DS EBX
100 SS ESP
101 DS O32 If MM=00 (Postbyte)
SS EBP If MM<>00 (Postbyte)
110 DS ESI
111 DS EDI
Field Index
III register Note
000 EAX
001 ECX
010 EDX
011 EBX
100 Never Index SS can be 00
101 EBP
110 ESI
111 EDI
Field Scale coefficient
SS =2^(SS)
00 1
01 2
10 4
11 8
Особенности
CISC микропроцессор с частичной RISC архитектурой
Little-endian
Самый сложный набор инструкций из всех
Расширения Multimedia: MMX,SSE,SSE2,SSE3 {3DNow!}
Index Prev Next