Спроецировал таблицу прерываний и загрузил лимит и базу в idtr. Написал обработчик прерывания таймера, записал его адрес в таблицу 20-ым элементом. При вызове этого обработчика через команду int 20h обработчик отрабатывает своё и ядро продолжает свою работу. Также проинициализировал pic следующими командами
mov al,0x11
out 20h,al
out 0A0h,al
mov al,0x20
out 21h,al
mov al,0x28
out 0A1h,al
mov al,04h
out 21h,al
mov al,02h
out 0A1h,al
mov al,1
out 21h,al
mov al,1
out 0A1h,al
По сути pic должен генерировать прерывания 18 раз в секунду, но этого не происходит. В чем может быть проблема?