THE 80286 INSTRUCTION SET

INT IINTO-Call to Interrupt Procedure

Opcode

Instruction

Clocks(1)

Description

CC

 

.INT

3

23(2)

Interrupt 3 (trap to debugger)

CC

 

INT

3

40

Interrupt 3, protected mode, same privilege

CC

 

INT

3

78

Interrupt 3, protected mode, more privilege

CC

 

INT3

167

Interrupt 3, protected mode, via task gate

CD

db

INT

db

23(2)

Interrupt numbered by immediate byte

CD

db

INT

db

40

Interrupt, protected mode, same privilege

CD

db

INT

db

78

Interrupt, protected mode, more privilege

CD

db

INT

db

167

Interrupt, protected mode, via task gate

CE

 

INTO

24,noj = 3(2)

Interrupt 4 if overflow flag is 1

(1)= Add one clock for each byte of the next instruction executed.

(2)= (real mode)

FLAGS MODIFIED

All if a task switch takes place; Trap Flag reset if no task switch takes place. Interrupt Flag is always reset in Real Mode, and reset in Protected Mode when INT references an interrupt gate.

FLAGS UNDE'FINED

None

OPERATION

The INT instruction generates via software a call to an interrupt procedure. The immediate operand, from 0 to 255, gives the index number into the Interrupt Descriptor Table of the interrupt routine to be called. In protected mode, the IDT consists of 8-byte descriptors; the descriptor for the interrupt invoked must indicate an interrupt gate, a trap gate, or a task gate. In real address mode, the IDT is an array of 4-byte long pointers at the fixed location OOOOOH.

The INTO instruction is identical to the INT instruction except that the interrupt number is implicitly 4, and the interrupt is made only if the overflow flag of the 80286 is on. The clock counts for the four forms of INT db are valid for INTO, with the number of clocks increased by 1 for the overflow flag test.

The first 32 interrupts are reserved by Intel for systems use. Some of these interrupts are exception handlers for internally-generated faults. Most of these exception handlers should not be invoked with

" . _ T'1Irr.T'T" ___ ... ____ ... ! ... _

LIlt;; .ll"1.l lU,:)U ",,","IVll,

Generally, interrupts behave like far CALLs except that the flags register is pushed onto the stack before the return address. Interrupt procedures return via the IRET instruction, which pops the flags from the stack.

In Real Address mode, INT pushes the flags, CS and the return IP onto the stack in that order, then resets the Trap Flag, then jumps to the long pointer indexed by the interrupt number, in the interrupt vector table.

8-48

Page 258
Image 258
Intel 80287, 80286 manual INT IINTO-Call to Interrupt Procedure, INT3