Hello.
I recently added interrupts to my kernel and wanted to check if they work correctly, but I came across the fact that the interrupt only works once, that is, in the example with the keyboard: I press a button - a pixel is drawn, but if I press it further, the interrupt does not work.
For debugging, I used the output to the COM port, after which qemu wrote the data to the document. Output to the document occurred only once.
I do not understand why this happens, because the processor is constantly waiting for an interrupt and must perform not only the first interrupt (look
bootloader.asm).
Here is
irq1_header().
Here is a
link to the repository with the system.