![Page 1: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/1.jpg)
CHAPTER 6
INTERRUPTS AND THE 8259 CHIP
![Page 2: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/2.jpg)
What happens on interrupt?
Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer), CS (code segement register).
There are 255 interrupts.
The address of the appropriate ISR can be computed by multiplying the interrupt number by 4!
The 4 bytes in the interrupt vector table contain CS:IP
The address where the ISR is located is
IP <= IP value in table + CS value in table (shifted left one nybble!)
Example: CS value in table is $0001 and IP is $1820 thenISR routine starts at $11820
![Page 3: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/3.jpg)
Interrupt Vector Table
![Page 4: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/4.jpg)
8088 Interrupt List
![Page 5: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/5.jpg)
Hardware Versus Software Interrupts
INTR (pos level sensitive) and NMI (posedge sensitive)
INT is command that causes software interrupt.
Also, have EXCEPTIONS (SWI that happens automatically w/o INT cmd)
If we only have one INTR pin, does that mean we can onlyhave one kind of interrupt? NO. 8259 chip will allow usto have up to 8 AND if we use nine 8259 chips we can haveup to 64!
![Page 6: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/6.jpg)
Condition Codes (Status) Register
![Page 7: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/7.jpg)
ISR Addresses
![Page 8: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/8.jpg)
8259 Programmable Interrupt Controller
![Page 9: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/9.jpg)
8259 Programmable Interrupt Controller Block Diagram
![Page 10: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/10.jpg)
Addresses for 8259 ICWs
![Page 11: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/11.jpg)
ICW1 and ICW2 Formats
![Page 12: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/12.jpg)
INT Numbers
![Page 13: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/13.jpg)
ICW3 and ICW4 Formats
![Page 14: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/14.jpg)
Finding ICWs for a 8259
![Page 15: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/15.jpg)
Addresses for 8259 OCWs
![Page 16: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/16.jpg)
OCW Format for the 8259
![Page 17: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/17.jpg)
Enabling IR0 thru IR7
![Page 18: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/18.jpg)
Issuing the EOI to 8259 Chip
![Page 19: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/19.jpg)
8259 Port Addresses in IBM PC/XT Computer
![Page 20: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/20.jpg)
PC/XT I/O Address Map
![Page 21: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/21.jpg)
IBM PC/XT hardware Interrupts
![Page 22: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/22.jpg)
IBM PC/XT Initialization of 8259
![Page 23: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/23.jpg)
What happens on interrupt?
![Page 24: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/24.jpg)
PC/XT Sources of Hardware Interrupt
![Page 25: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/25.jpg)
PC/XT Sources of NMI Interrupt
![Page 26: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/26.jpg)
PC/XT Port Uses
![Page 27: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/27.jpg)
What caused the NMI?
![Page 28: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/28.jpg)
Ch 6 Problems (part1)
![Page 29: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/29.jpg)
Ch 6 Problems (part 2)
![Page 30: CHAPTER 6 INTERRUPTS AND THE 8259 CHIP. What happens on interrupt? Micro automatically saves (on stack) the FR (flag register), IP (instruction pointer),](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f135503460f94c26c36/html5/thumbnails/30.jpg)
Ch 6 Problems (part 3)