Article View: comp.os.msdos.programmer
Article #7931Urg,ent, keyboard buffer overflow
From: Bin . Lee
Date: Sun, 25 Feb 1996 15:58
Date: Sun, 25 Feb 1996 15:58
38 lines
1629 bytes
1629 bytes
Hi, folks:
I wrote a DOS program in Borland C++, because my interrupt service routine
block OS for 3 millisecond of every 5 millisecond, I think this cause
bios no time to serve and check keyboard buffer, which cause keybord buffer
overflow.
Two questions:
1. related to process of bios handler keyboard buffer, when IRQ1 generate
a interrupt, but has not finished its ISR, can other IRQ, such as IRQ7
generate a interrupt in between ? How can keyboard buffer overflow happen ?
2. cli and sti will disable and enable all IRQ, is there a instruction which
will only disable and enable one specific IRQ, like IRQ7.
structure of my program
int main(void)
{
InstallExternalTimingIRQ7ISR()
while( waitkey() )
{
doKeyboardInput_ScrOutout();
}
ReinstallOldIRQ7ISR();
}
My interrupt happens every 5 ms and program need 3 ms to finish its ISR,
during this time, I use cli and sti to protect its service, how will this
affect keyboard interrupt ? The interrupt I used is external circuit
generate 5 ms interrupt connect to IRQ7.
Thanks folks, this is urgent for me, please send me a mail.
Bin
Technical Details
Message-ID:
<Pine.SOL.3.91.960225103721.16366A-100000@hamlet.uncg.edu>Path:
arc1-ca.pugleaf.net!hamlet.uncg.edu!b_lee2Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!hamlet.uncg.edu!b_lee2 From: "Bin . Lee" <b_lee2@hamlet.uncg.edu> Newsgroups: comp.os.msdos.programmer,comp.lang.asm.x86,comp.lang.c Subject: Urg,ent, keyboard buffer overflow Date: Sun, 25 Feb 1996 10:58:55 -0500 Organization: The University of North Carolina at Greensboro Message-ID: <Pine.SOL.3.91.960225103721.16366A-100000@hamlet.uncg.edu> NNTP-Posting-Host: hamlet.uncg.edu Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII