Posted By: Pharook (Wake up. Time to die.) on 'CZprogram'
Title:     Re: pipani
Date:      Thu Jan 16 19:09:14 1997

Argenit:
> potreboval bych radu, mam povesny svoje procedury na interaptu klavesnice 
> pipat, vsechno funguje v pohode, jen to strasnz pipani, pomozte pliiiiiiz.

Shimi:
> Result : Bud v te tvuji akci z interruptu nevolej starej handler, nebo v hl.
> prog musi bezet snyzka ktera vycisti bios bufer treba readkey etc.

ja znam jen jediny duvod, proc volat puvodni obsluhu preruseni 
klavesnice, a to ten, ze pri krokovani jsem obcas rad, kdyz debugger 
zareaguje na ctrl-break. ve finalni verzi pak volani zrusim (hmm, 
presneji receno $ifdef Debug atd). ale take mi vadilo ono pipani pri 
preteceni bufferu klavesnice. vyresil jsem to primo na preruseni.

pred onen obligatni skok na puvodni rutinu jsem pridal par instrukci, 
ktere nastavi ukazatel bufferu klavesnice zpet na zacatek. cili nikdy 
nemuze dojit k naplneni vsech sestnacti pozic a preplneni bufferu a 
dabelskemu pipani. cili:

	xor	ax, ax		; segment 0000h
	mov	es, ax          
	mov	ax, [es:041Ch]  ; zacatek bufferu klavesnice
	mov	[es:041Ah], ax  ; konec bufferu

        zurive popovani         ; cituji tuttla blahe pameti

        jmp far 0000h:0000h
        ORG     $-4
Old09   DD      ?

je to ciste, a je to rekl bych, elegantnejsi nez ona nutnost mit v hlavnim 
programu dummy volani sluzeb 00h a 01h int 16h.
______________________________________________________________________________
                                                                       pharook
"mesic je dulezitejsi, nez slunce," reklo dite, "protoze sviti, kdyz je tma."

Search the boards