Es gibt ja 2 PICs, die unabhängig voneinander programmiert werden können. Deshalb 2 Zeilen. Während der Programmierung, wird irq_base gesetzt. Da drin steht die Interrupt-Nummer des ersten IRQ des entsprenchenden PICs. IRR ist das Interrupt Request Register, hier steht also drin welcher Interrupt gerade requested wird. IMR ist das Interrupt Mask Register; indem man den Wert hier ändert kann man IRQs (de)aktivieren. hrprio hängt mit dem Prioritätssystem der IRQs zusammen, manche IRQs haben eine höhere Priorität als andere. Aber in der Regel braucht man das nicht.
Die letzten 3 Werte kenn ich jetzt ehrlich gesagt auch nicht...