I am developing an embedded program for an intel i386, and I am trying to figure out how to use the hardware timer. I have read here (and other places) that the timer interrupt is 0x08, but this page (And various other sources) say that the first 32 interrupts are reserved for exceptions, and interrupt 0x08 specifically is for double fault. Which is true? How can I setup a timer interrupt handler, using either assembly or very low-level C with no operating system calls?
I am developing a simple operating system to learn about operating system development, so I don't have access to anything like Linux or system calls (unless I implement the system calls myself. But creating a fully POSIX-compliant OS is far outside the scope of this project, so I would rather stick to simple, if slightly hacky, solutions).
If it matters, I am running this on QEMU, not an actual physical i386.