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

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

Advertisement

INTn/INTO/INT3—Call to Interrupt Procedure (Continued)
ELSE(* 16-bit gate *)
FI;
CPL  CodeSegmentDescriptor(DPL);
CS(RPL)  CPL;
IF interrupt gate
THEN IF  0 (* interrupt flag to 0 (disabled) *); FI;
TF  0;
VM  0;
RF  0;
NT  0;
I END;
INTERRUPT-FROM-VIRTUAL-8086-MODE:
(* Check segment selector and descriptor for privilege level 0 stack in current TSS *)
IF current TSS is 32-bit TSS
THEN
ELSE (* TSS is 16-bit *)
FI;
IF segment selector is null THEN #TS(EXT); FI;
IF segment selector index is not within its descriptor table limits
FI;
Access segment descriptor for stack segment in GDT or LDT;
IF stack segment DPL  DPL of code segment,
OR stack segment does not indicate writable data segment,
FI;
IF stack segment not present THEN #SS(SS selector+EXT); FI;
IF 32-bit gate
THEN
ELSE (* 16-bit gate *)
4:222
Push(EFLAGS);
Push(far pointer to return instruction); (* old CS and EIP, 3 words padded to 4*);
Push(ErrorCode); (* if needed, 4 bytes *)
Push(far pointer to old stack); (* old SS and SP, 2 words *);
Push(EFLAGS);
Push(far pointer to return instruction); (* old CS and IP, 2 words *);
Push(ErrorCode); (* if needed, 2 bytes *)
TSSstackAddress  new code segment (DPL  8) + 4
IF (TSSstackAddress + 7)  TSS limit
THEN #TS(current TSS selector); FI;
NewSS  TSSstackAddress + 4;
NewESP  stack address;
TSSstackAddress  new code segment (DPL  4) + 2
IF (TSSstackAddress + 4)  TSS limit
THEN #TS(current TSS selector); FI;
NewESP  TSSstackAddress;
NewSS  TSSstackAddress + 2;
OR segment selector's RPL  DPL of code segment,
THEN #TS(SS selector + EXT);
THEN #TS(SS selector + EXT);
IF new stack does not have room for 40 bytes (error code pushed)
OR 36 bytes (no error code pushed);
THEN #SS(segment selector + EXT);
FI;
IF new stack does not have room for 20 bytes (error code pushed)
Volume 4: Base IA-32 Instruction Reference

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents