<<<    Index    >>>
3-5
BASIC EXECUTION ENVIRONMENT
maximum linear address or segment offset is FFFFH (2
16
), and operand sizes are typically 8 bits
or 16 bits. 
When using 32-bit addressing, a logical address (or far pointer) consists of a 16-bit segment
selector and a 32-bit offset; when using 16-bit addressing, it consists of a 16-bit segment selector
and a 16-bit offset. 
Instruction prefixes allow temporary overrides of the default address and/or operand sizes from
within a program.
When operating in protected mode, the segment descriptor for the currently executing code
segment defines the default address and operand size. A segment descriptor is a system data
structure not normally visible to application code. Assembler directives allow the default
addressing and operand size to be chosen for a program. The assembler and other tools then set
up the segment descriptor for the code segment appropriately.
When operating in real-address mode, the default addressing and operand size is 16 bits. An
address-size override can be used in real-address mode to enable 32-bit addressing; however, the
maximum allowable 32-bit address is still 0000FFFFH (2
16
).
3.6.REGISTERS
The processor provides 16 registers for use in general system and application programing. As
shown in Figure 3-3, these registers can be grouped as follows:
•
General-purpose data registers. These eight registers are available for storing operands
and pointers.
•
Segment registers. These registers hold up to six segment selectors.
•
Status and control registers. These registers report and allow modification of the state of
the processor and of the program being executed.
<<<    Index    >>>