Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Assembly: DOS, assembly: Näppäimistön tarkkailu

tkok [26.06.2009 17:06:22]

#

Moi taas,

Tälläisen komennon löysin yksittäisen näppäyksen lukemiseen:
MOV AH, 08
INT 21h
;näppäimen tiedot AL-rekisterissä

Pelissä olisi kuitenkin kätevämää jos ohjelma ei pysähtyisi odottelemaan.

Joten taas suoraa kysymystä:
Kuinka luetaan viimeisin painallus puskurista rekisteriin?
Entä jos on useampi näppäin pohassa?

Pelissä käytetään nuolinäppäimiä.

Grez [26.06.2009 17:28:50]

#

MOV AH, 01
INT 16h

saat käsittääkseni seuraavan puskurissa olevan painalluksen. Mielestäni esim. tuota vois käyttää tarkistamaan onko puskurissa jotain ja jos siellä on jotain niin sitten lukisi merkin - näin suoritus ei keskeytyisi odotteluun. Tosin jos käytät laajennettua näppäimistöä niin AH=10h on lienee parempi.

tkok [27.06.2009 03:01:22]

#

Kiitos, Pätkä toimivasta koodista:

nappaimisto:
		push 	ax	;tallennus

		MOV 	AH, 01h ;tarkkaillaan näppäimistöbufferia
		INT 	16h
		jnz		NappainOn ;jos näppäimistöbufferissa jtn niin Z rekisteri sen kertoo
		jmp		NappainEiOle
NappainOn:
		mov		ah, 00h
		int		16h

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta