Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1675

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

STI—Set Interrupt Flag
Opcode
FB
Description
Sets the interrupt flag (IF) in the EFLAGS register. In the IA-32 System
Environment, after the IF flag is set, the processor begins responding to external
maskable interrupts after the next instruction is executed. If the STI instruction is
followed by a CLI instruction (which clears the IF flag) the effect of the STI instruction is
negated. In the Itanium System Environment, the processor will immediately
respond do interrupts after STI, unless execution of STI results in a trap or
intercept. External interrupts are enabled for IA-32 instructions if PSR.i and
(~CFLG.if or EFLAG.if).
The IF flag and the STI and CLI instruction have no affect on the generation of
exceptions and NMI interrupts.
The following decision table indicates the action of the STI instruction (bottom of the
table) depending on the processor's mode of operating and the CPL and IOPL of the
currently running program or procedure (top of the table).
IF  1
#GP(0)
Notes:
XDon't care.
NAction in Column 1 not taken.
YAction in Column 1 taken.
Operation
OLD_IF <- IF;
IF PE=0 (* Executing in real-address mode *)
THEN
IF  1; (* Set Interrupt Flag *)
ELSE (* Executing in protected mode or virtual-8086 mode *)
IF VM=0 (* Executing in protected mode*)
Volume 4: Base IA-32 Instruction Reference
Instruction
STI
PE =
0
VM =
X
CPL
X
IOPL
X
Y
N
THEN
IF CR4.PVI = 0
THEN
IF CPL <= IOPL
THEN IF <- 1
ELSE #GP(0);
FI;
ELSE (*PVI is 1 *)
Description
Set interrupt flag; interrupts enabled at the end of the next
instruction
1
0
 IOPL
X
Y
N
1
1
0
1
> IOPL
=3
X
=3
N
Y
Y
N
4:373

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents