anoniem Geplaatst: 14 januari 2005 Delen Geplaatst: 14 januari 2005 hallo ik ben een beginner met assembly, en ik wou graag weten hoe ik een muis krijg in dos, PS/2 of com, maakt niet uit. wat ik wel weet is dat je int 33h moet openen en waardes naar AX registers moet schrijven. Meer weet ik niet, kunnen jullie mij helpen? Quote Link naar reactie
anoniem Geplaatst: 15 januari 2005 Auteur Delen Geplaatst: 15 januari 2005 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. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen