140 likes | 299 Views
Interrupts. Module M17.3 Sections 11.3, 14.1. Interrupts. Software Interrupts Hardware Interrupts. Software Interrupts. BIOS Calls Keyboard -- INT 16H Video I/O -- INT 10H Serial I/O -- INT 14H Printer I/O -- INT 17H Time of day -- INT 1AH Timer tick -- INT 1CH DOS Calls
E N D
Interrupts Module M17.3 Sections 11.3, 14.1
Interrupts • Software Interrupts • Hardware Interrupts
Software Interrupts • BIOS Calls • Keyboard -- INT 16H • Video I/O -- INT 10H • Serial I/O -- INT 14H • Printer I/O -- INT 17H • Time of day -- INT 1AH • Timer tick -- INT 1CH • DOS Calls • Function request -- INT 21H
Interrupt Vector Table
Interrupt service routines end with an IRET instruction that pops the following values off the stack.
Interrupt Vector Table Offset address Type number 000 004 008 00C 010 014 IP 0 1 2 3 4 5 Division by zero Single Stepping NMI Interrupt 1-Byte INT (opcode = CC) Signed overflow (INTO) Print screen CS IP CS IP CS IP CS IP CS IP CS
Hardware Interrupts Nonmaskable Interrupt, NMI
Interrupt Vector Table Offset address Type number 000 004 008 00C 010 014 IP 0 1 2 3 4 5 Division by zero Single Stepping NMI Interrupt 1-Byte INT (opcode = CC) Signed overflow (INTO) Print screen CS IP CS IP CS IP CS IP CS IP CS
Interrupt Vector Table 058 IP 16 Keyboard I/O CS 05C IP 17 Printer I/O CS 060 IP 18 Cassette BASIC CS 064 IP Bootstrap 19 CS 068 1A Time of Day IP CS 06C 1B Keyboard Break IP CS Timer Tick 070 1C IP CS
RESET • Set Status, IP, DS, SS, and ES to 0000H • Set CS to FFFFh • Execution begins at FFFF:0000