🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #7931

Urg,ent, keyboard buffer overflow

#7931
From: Bin . Lee
Date: Sun, 25 Feb 1996 15:58
38 lines
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_lee2

Show 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