EasyManuals Logo

Intel ARCHITECTURE IA-32 User Manual

Intel ARCHITECTURE IA-32
568 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #546 background imageLoading...
Page #546 background image
IA-32 Intel® Architecture Optimization
D-10
Inlined Assembly and ebx
When using aligned frames, the ebx register generally should not be
modified in inlined assembly blocks since
ebx is used to keep track of
the argument block. Programmers may modify
ebx only if they do not
need to access the arguments and provided they save
ebx and restore it
before the end of the function (since
esp is restored relative to ebx in the
function’s epilog).
For additional information on the use of
ebx in inline assembly code and
other related issues, see relevant application notes in the Intel
Architecture Performance Training Center.
CAUTION. Do not use the ebx register in inline
assembly functions that use dynamic stack alignment
for double, __m64, and __m128 local variables unless
you save and restore
ebx each time you use it. The
Intel C++ Compiler uses the
ebx register to control
alignment of variables of these types, so the use of
ebx,
without preserving it, will cause unexpected program
execution.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Intel ARCHITECTURE IA-32 and is the answer not in the manual?

Intel ARCHITECTURE IA-32 Specifications

General IconGeneral
Instruction Setx86
Instruction Set TypeCISC
Memory SegmentationSupported
Operating ModesReal mode, Protected mode, Virtual 8086 mode
Max Physical Address Size36 bits (with PAE)
Max Virtual Address Size32 bits
ArchitectureIA-32 (Intel Architecture 32-bit)
Addressable Memory4 GB (with Physical Address Extension up to 64 GB)
Floating Point Registers8 x 80-bit
MMX Registers8 x 64-bit
SSE Registers8 x 128-bit
RegistersGeneral-purpose registers (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP), Segment registers (CS, DS, SS, ES, FS, GS), Instruction pointer (EIP), Flags register (EFLAGS)
Floating Point UnitYes (x87)

Related product manuals