Ga naar inhoud

Muis (ASM)


anoniem

Aanbevolen berichten

Om te beginnen zou je voor je interrupts eens kunnen kijken op [url=http://www.ctyme.com/rbrown.htm]Ralph Brown's interrupt list[/url] alwaar je niet alleen de interrupts en hun betreffende functies kunt bekijken, maar waar je ook de wat obscure eigenaardigheden leert kennen wanneer je programmeert voor de minder compatibele hardware. Het gebruik van interrupts kan heel gemakkelijk zijn; neem bijvoorbeeld de muis interrupt. Ik neem aan dat je de syntax van Nasm over kunt zetten naar whatever door jou gebruikt wordt. In het begin van je programma of procedure initialiseer je de muis. [code:1:214b57b7ff]XOR AX,AX INT 0x33[/code:1:214b57b7ff] Nu zul je de teruggeven informatie opvragen. Eerst ga je in AX kijken of de muis driver geïnstalleerd is. Een waarde van 0 is niet goed. [code:1:214b57b7ff]OR AX,AX JZ Een_zelfgeschreven_foutmeldingsroutine[/code:1:214b57b7ff] Op dit punt aangekomen kijk je in BX hoeveel knoppen je hebt, als je dat tenminste interessant vindt. Voor dit voorbeeld is dit niet zo belangrijk dus ... Het verkrijgen van informatie over of een knop ingedrukt isen tevens de huidige locatie van de cursor is als volgt. [code:1:214b57b7ff]MOV AX,0x0003 INT 0x33[/code:1:214b57b7ff] In dit geval kun je in CX de horizontale positie aflezen en in DX de verticale positie. De status van de knoppen kun je aflezen in bits 1 tot 3 van BX; een 1 betekent dat de knop ingedrukt is en een 0 is .. eeeehhh .. nou ja, je begrijpt het wel. Bit 1 is voor de linkerknop, bit 2 voor de rechterknop en bit 3 voor de middelste knop. Mooi, dit was even een vluggertje, ik hoop dat het gaat werken bij jou want ik doe dit grotendeels uit mijn kop omdat ik al langere tijd geen assembly meer heb geprogrammeerd.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...