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