2-14 Vol. 3
SYSTEM ARCHITECTURE OVERVIEW
changing to the state of this flag can generate unexpected exceptions in
application programs.
See also: Section 7.4, “Task Linking.”
RF Resume (bit 16) — Controls the processor’s response to instruction-break-
point conditions. When set, this flag temporarily disables debug exceptions
(#DB) from bein g generated for instruction breakpoints (although other
exception conditions can cause an exception to be generated). When clear,
instruction breakpoints will generate debug exceptions.
The primary function of the RF flag is to allow the restarting of an instruction
following a debug exception that was caused by an instruction breakpoint
condition. Here, debug software must set this flag in the EFLAGS image on
the stack just prior to returning to the interrupted program with IRETD (to
prevent the instruction breakpoint from causing another debug exception).
The processor then automatically clears this flag after the instruction
returned to has been successfully executed, enabling instruction breakpoint
faults again.
See also: Section 16.3.1.1, “Instruction-Breakpoint Exception Condition.”
VM Virtual-8086 mode (bit 17) — Set to enable virtual-8086 mode; clear to
return to protected mode.
See also: Section 17.2.1, “Enabling Virtual-8086 Mode.”
AC Alignment check (bit 18) — Set this flag and the AM flag in control register
CR0 to enable alignment checking of memory references; clear the AC flag
and/or the AM flag to disable alignment checking. An alignment-check
exception is generated when reference is made to an unaligned operand,
such as a word at an odd byte address or a doubleword at an address which
is not an integral multiple of four. Alignment-check exceptions are generated
only in user mode (privilege level 3). Memory references that default to priv-
ilege level 0, such as segment descriptor loads, do not generate this excep-
tion even when caused by instructions executed in user-mode.
The alignment-check exception can be used to check alignment of data. This
is useful when exchanging data with processors which require all data to be
aligned. The alignment-check exception can also be used by interpreters to
flag some pointers as special by misaligning the pointer. This eliminates
overhead of checking each pointer and only handles the special pointer when
used.
VIF Virtual Interrupt (bit 19) — Contains a virtual image of the IF flag. This
flag is used in conjunction with the VIP flag. The processor only recognizes
the VIF flag when either the VME flag or the PVI flag in control register CR4 is
set and the IOPL is less than 3. (The VME flag enables the virtual-8086 mode
extensions; the PVI flag enables the protected-mode virtual interrupts.)
See also: Section 17.3.3.5, “Method 6: Software Interrupt Handling,” and
Section 17.4, “Protected-Mode Virtual Interrupts.”