List of interrupts.pdf
(
133 KB
)
Pobierz
21.11.2017
List of interrupts
Phil Storrs PC Hardware book
The list of standard Interrupt assignments
The INTERRUPT VECTOR TABLE (I.V.T.) is stored in RAM memory in the
first 1024 bytes of the computers addressable memory space. This table
consists of 256 Vectors. Each Vector requires four bytes because addresses must be specified in Segment and
Offset format. This is necessary because the 8088 processor used in the first PC's has only 16 bit registers
and a 20 bit number is required to define a 20 bit address. The 20 bit number is made from two 16 bit
numbers by adding the "Offset" to the "Segment" with a four bit offset.
The Vectors stored in the Interrupt Vector Table are used to locate the Interrupt Service Routines that service
the interrupts available to the BIOS, to DOS and to Applications.
Int. Num. Address in I.V.T.
0
00-03
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
04-07
08-0B
0C-0F
10-13
14-17
18-1B
1C-1F
20-23
24-27
28-2B
2C-2F
30-33
34-37
38-3B
3C-3F
40-43
44-47
48-4B
4C-4F
50-53
54-57
58-5B
5C-5F
60-63
64-67
68-6B
6C-6F
70-73
74-77
78-7B
Description
CPU divide by zero
Debug single step
Non Maskable Interrupt (NMI input on processor)
Debug breakpoints
Arithmetic overflow
BIOS provided Print Screen routine
Reserved
Reserved
IRQ0, Time of day hardware services
IRQ1, Keyboard Interface
IRQ2, ISA Bus cascade services for second 8259
IRQ3, Com 2 hardware
IRQ4, Com1 hardware
IRQ5, LPT2, Parallel port hardware (Hard Disk on XT)
IRQ6, Floppy Disk adaptor
IRQ7, LPT1, Parallel port hardware
Video services, see note 1
Equipment check
Memory size determination
Floppy I/O routines
Serial port I/O routines
PC used for Cassette tape services
Keyboard I/O routines
Printer I/O routines
Points to basic interpreter in a "real" IBM PC
Bootstrap loader
Time of day services
Services Ctrl-Break service
Timer tick (provides 18.2 ticks per second)
Video parameters
Disk parameters
1/4
http://philipstorr.id.au/pcbook/book2/intlist.htm
21.11.2017
List of interrupts
1F
20
21
22
23
24
25
26
27
28 to 3F
40 to 4F
50
51
52 to 59
5A
5B
5D
5E
5F
60 to 66
67
68 to 6F
70
71
72
73
74
75
76
77
78 to 7F
80 to 85
86 to F0
F1 to FF
7C-7F
80-83
84-87
88-8B
8C-8B
90-93
94-97
98-9B
9C-9F
A0-A3 to FC-FF
100-103 to 13C-13F
140-143
144-147
148-14B to 164-167
168-16B
16C-16F
174-177
178-17B
17C-17F
180-183 to 198-19B
19C-19F
1C0-1C3
1C4-1C7
1C8-1CB
1CC-1CF
1D0-1D3
1D4-1D7
1D8-1DB
Video graphics
Program termination (obsolete)
All DOS services available through this Interrupt
Terminate address
Ctrl-Break exit address
Critical error handler
Read logical sectors
Write logical sectors
Terminate and stay resident routines (obsolete)
Reserved for DOS
Reserved for BIOS
Reserved for BIOS
Mouse functions
Reserved for BIOS
Reserved for BIOS
Reserved for BIOS
Reserved for BIOS
Reserved for BIOS
Reserved for BIOS
Reserved for User programs
Used for EMS functions
IRQ8, ISA bus Real time clock
IRQ9, takes the place of IRQ2
IRQ10 (available hardware interrupt)
IRQ11 (available hardware interrupt)
IRQ12 (available hardware interrupt)
IRQ13, maths co-processor
IRQ14, ISA bus hard disk controller
1A0-1A3 to 1BC-1BF Unused
1DC-1DF
IRQ15, (available hardware interrupt)
1E0-1E3 to 1FC-1FF Unused
200-203 to 214-217 Reserved for basic
218-21B to 3C0-3C3 Used by basic
3C4-3C7 to 3C4-3FF Unused
Many of the Software Interrupt Service Routines provide multiple services. When programmers are writing
routines that make use of an Interrupt Service Routine they must put a number that indicates which function
they require form that service routine into the processors "A" register before they call the service routine. See
exercise 12 for more details. The functions provided by the various service routines and the numbers
required to access each function are described in great detail in the various DOS programming manuals. As
hardware people we need not know anything about all of this but it is interesting to have a very basic
understanding of what is happening.
The Video Services Routine
http://philipstorr.id.au/pcbook/book2/intlist.htm
2/4
21.11.2017
List of interrupts
A good example of the functions available in an Interrupt Service Routine is what we find in the Video
Services Routine, INT10 Hex. Here is a list of these functions.
Function Number
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Description
Set Video Mode
Set cursor size
Set cursor position
Read cursor position
Read Light-pen position
Set active display page
Scroll window up
Scroll window down
Read character and attribute
Write character and attribute
Write character
Set colour palette
Write Pixel dot
Read Pixel dot
Write character as TTY
Get current Video Mode
In exercise 12 we use Function 1 of INT 10 to change the size of the Cursor.
We put a number that indicates the start of the cursor into the "high" part of the "C" register (CH) and a
number that represents the end of the cursor into the "low" part of the "C" register (CL). The registers are 16
bit long but can be looked at as two eight bit registers.
The cursor is made up out of up to eight horizontal lines. The "start" and "end" numbers above indicate how
many of these lines are used and so determine the size (height and position) of the cursor.
A look at the contents of the IVT
We can examine the contents of the Interrupt Vector Table using DEBUG. Debug is a MACHINE
LANGUGE MONITOR and it is supplied as a DOS EXTERNAL command.
Debug is a very low level high level language and uses very simple single letter commands. The DUMP
command can be used to display the contents of memory loctaions.
DUMP - Displays memory contents.
D
D [start-address]
D [start-address] [end-address ]
D [start-address] L [length]
Example to display the first four address we would use either of these two lines :-
d 0:0 L4
d 0000:0000 L4
Back to the Interrupt
chapter
http://philipstorr.id.au/pcbook/book2/intlist.htm
Back to the opening
index
Book two index
3/4
21.11.2017
List of interrupts
Copyright © Phil. Storr, last updated 26
th
December 1998
http://philipstorr.id.au/pcbook/book2/intlist.htm
4/4
Plik z chomika:
jacekplacekjacek
Inne pliki z tego folderu:
Zrozumieć Asembler - Jeff Duntemann.pdf
(101942 KB)
64-ia-32-architectures-software-developer-manual-325462.pdf
(22676 KB)
The.Art.of.Assembly.Language.2nd.Edition.pdf
(22431 KB)
r20ut0570ej0100_rxc_101u.pdf
(20027 KB)
8086_family_Users_Manual_1_.pdf
(9438 KB)
Inne foldery tego chomika:
Arduino
C++
DirectX
GDB
Gdi
Zgłoś jeśli
naruszono regulamin