1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
#include"../include/stdio.h"
#include"../include/asm.h"
#define INTERRUPT_GATE_32 0x8e
#define KERNEL_CODE 0x08
#define KERNEL_DATA 0x10
#define PIC1_COMMAND_PORT 0x20
#define PIC1_DATA_PORT 0x21
#define PIC2_COMMAND_PORT 0xA0
#define PIC2_DATA_PORT 0xA1
void irq0_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 0.\n");
}
void irq1_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 1.\n");
}
void irq2_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 2.\n");
}
void irq3_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 3.\n");
}
void irq4_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 4.\n");
}
void irq5_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 5.\n");
}
void irq6_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 6.\n");
}
void irq7_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 7.\n");
}
void irq8_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 8.\n");
}
void irq9_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 9.\n");
}
void irq10_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 10.\n");
}
void irq11_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 11.\n");
}
void irq12_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 12.\n");
}
void irq13_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 13.\n");
}
void irq14_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 14.\n");
}
void irq15_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 15.\n");
}
void irq16_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 16.\n");
}
void irq17_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 17.\n");
}
void irq18_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 18.\n");
}
void irq19_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 19.\n");
}
void irq20_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 20.\n");
}
void irq21_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 21.\n");
}
void irq22_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 22.\n");
}
void irq23_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 23.\n");
}
void irq24_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 24.\n");
}
void irq25_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 25.\n");
}
void irq26_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 26.\n");
}
void irq27_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 27.\n");
}
void irq28_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 28.\n");
}
void irq29_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 29.\n");
}
void irq30_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 30.\n");
}
void irq31_handler()
{
ioport_out(PIC1_COMMAND_PORT, 0x20);
printf("Interrupt 31.\n");
}
|