Microprocessor System Design Programmable...
Transcript of Microprocessor System Design Programmable...
Outline
• Interrupts in PC
• Interrupts and calls
• 8259 – PIC
• Programming 8259
• Interfacing 8259 in PC
Answering an Interrupt
• Save status
– FR, IP, CS
• Service the interrupt
– Interrupt service routing (ISR) or Interrupt handler
– Based on Interrupt vector number
– From Interrupt vector table
– Four bytes for every interrupt: CS:IP
• Return to original position by IRET
Difference with Call
1. CALL FAR can jump to any location (1M
range)
2. Hardware interrupts can come at any time.
3. Interrupts are maskable.
4. After CALL only CS:IP is saved
5. End of routine: RETF vs. IRET.
Interrupt Categories
• Hardware interrupts:– Only 3 pin, but how 256 interrupt?
– INTR (in), NMI (in), and INTA (out)
– INTR can be masked by CLI / STI
– Active high.
» 80x86 finished instruction.
» Push FR, CS, IP
– NMI: INT 02.
• Software interrupts– INT nn
– Example: INT 21H (DOS functions)
Predefined Interrupts
• INT 00 (divide error)
• INT 01 (single step)– Set Trap flag (how?)
– PUSHF, POP AX, …
– Trace in debug
• INT 02 (NMI)
• INT 03 (breakpoint)
• INT 04 (signed number overflow)– INT) instruction
» Examine Interrupt vector table.
» Examine INT 12H (size of conventional RAM in AX)