I have to code for a operating system on which I can run a calculater.It is like a desktop calculater. For this I am reading the brokenthorn operating development series I have completed the second stage of bootloader The bootloader is in real mode. After this the author is explaining the protected mode. I don't want to use the protected mode. I don't have time for that. So I want to write the calculater in real mode by using bios interrupts. Is it possible? I think it can be written on the second stage of the bootloader(I am not sure.) Means I don't have to use a kernel(I am not sure). I don't know how to use BIOS interrupts to handle the keyboard. Can anybody provide me a link which will help me in this? And If anything wrong in whatevet I assumed above is wrong, please correct me.Thanks in advance.
In the real mode, the Pentium follows the interrupt mechanism used by the 8086 processor. In this mode, the IDT is located at base address 0. Each vector takes only four bytes as opposed to eight bytes in the protected mode.
In computing, keyboard interrupt may refer to: A special case of signal (computing), a condition (often implemented as an exception) usually generated by the keyboard in the text user interface. A hardware interrupt generated when a key is pressed or released, see keyboard controller (computing)
The attention interrupt key often is labeled PA1 . Sometimes it is called an escape key and is labeled Esc .
If you want to use high-level BIOS keyboard services, rather than handling the keyboard interrupts yourself, then INT 16h
is what you want.
INT 16h
with AH=00h
or 10h
will block waiting for a keypress (returns ASCII result in AL
); use AH=01h
or 11h
to query whether a keypress is available first if you want to avoid blocking (returns immediately with ZF
clear if a key is available, or set if not). See e.g. here, or here (or Google "INT 16h" for more).
You can handle IRQ 1 (mapped to interrupt 9 by the x86 controller) and read the keys from port 60h
.
See http://inglorion.net/documents/tutorials/x86ostut/keyboard/.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With