On 11/21/2024 8:52 AM, David Schwab via Freedos-devel wrote:
I'm working my way through Norton's Advanced Assembly Language, and in one section he shows how to the find interrupt vector for the BIOS keyboard service (int 9). I've found the vector and unassembled it (being sure to use little endian), but that doesn't look like an interrupt to me: for one thing, it doesn't begin with STI.

Am I looking in the right place?

The interrupt vectors (pointers to the actual ISR (Interrupt Service Routine, for ALL interrupts) are located in the first 1KB of RAM (0x00000 through 0x003FF), this is a fundamental requirement of any x86 (compatible) CPU. Otherwise interrupts don't work.

And no, as others already mentioned, an interrupt routine doesn't have to start with an STI, and you can find the assembly source of the IBM PC/AT BIOS in the IPM-PC/AT Technical Reference manual, which is freely available on the internet, in various places, to confirm that...

There are also at least a couple of XT compatible BIOS available in source code on the Internet as well.


Ralf

_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to