; Register a interrupt handler ; in: AL interrupt number ; ES:DI far ptr to routine/data intr_register: ; backup original values push ax push es push di ; pop as ax later push es push di ; DI = AL * 4 mov ah, 4 mul ah mov di, ax ; ES = 0 xor ax, ax mov es, ax ; store offset pop ax stosw ; store segment pop ax stosw pop di pop es pop ax ret