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ä.
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.
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.