That's some bad code but have you ever heard of OSDev code where you're forced to write autistic code
idtentry(0, (unsigned)isr0, 0x08, 0x8E); // ISR0
idtentry(1, (unsigned)isr1, 0x08, 0x8E); // ISR1
idtentry(2, (unsigned)isr2, 0x08, 0x8E); // ISR2
idtentry(3, (unsigned)isr, 0x08, 0x8E); // ISR3
idtentry(4, (unsigned)isr, 0x08, 0x8E); // ISR4
idtentry(5, (unsigned)isr5, 0x08, 0x8E); // ISR5
idtentry(6, (unsigned)isr6, 0x08, 0x8E); // ISR6
idtentry(7, (unsigned)isr7, 0x08, 0x8E); // ISR7
idtentry(8, (unsigned)isr8, 0x08, 0x8E); // ISR8
idtentry(9, (unsigned)isr9, 0x08, 0x8E); // ISR9
idtentry(10, (unsigned)isr10, 0x08, 0x8E); // ISR10
idtentry(11, (unsigned)isr11, 0x08, 0x8E); // ISR11
idtentry(12, (unsigned)isr12, 0x08, 0x8E); // ISR12
idtentry(13, (unsigned)isr13, 0x08, 0x8E); // ISR13
idtentry(14, (unsigned)isr14, 0x08, 0x8E); // ISR14
idtentry(15, (unsigned)isr, 0x08, 0x8E); // ISR15
idtentry(16, (unsigned)isr16, 0x08, 0x8E); // ISR16
idtentry(17, (unsigned)isr17, 0x08, 0x8E); // ISR17
idtentry(18, (unsigned)isr, 0x08, 0x8E); // ISR18
idtentry(19, (unsigned)isr19, 0x08, 0x8E); // ISR19
idtentry(20, (unsigned)isr20, 0x08, 0x8E); // ISR20
idtentry(21, (unsigned)isr, 0x08, 0x8E); // ISR21
idtentry(22, (unsigned)isr, 0x08, 0x8E); // ISR22
idtentry(23, (unsigned)isr, 0x08, 0x8E); // ISR23
idtentry(24, (unsigned)isr, 0x08, 0x8E); // ISR24
idtentry(25, (unsigned)isr, 0x08, 0x8E); // ISR25
idtentry(26, (unsigned)isr, 0x08, 0x8E); // ISR26
idtentry(27, (unsigned)isr, 0x08, 0x8E); // ISR27
idtentry(28, (unsigned)isr, 0x08, 0x8E); // ISR28
idtentry(29, (unsigned)isr, 0x08, 0x8E); // ISR29
idtentry(30, (unsigned)isr30, 0x08, 0x8E); // ISR30
idtentry(31, (unsigned)isr, 0x08, 0x8E); // ISR31
idtentry(32, (unsigned)pit_irq, 0x08, 0x8E); // IRQ0
// same until 48, too long for Jow Forums