3
« am: 28. May 2007, 11:52 »
So ich habe jetzt einen tastaturtreiber geschrieben; allerdings habe ich das problem, dass wenn ich die funktionen in einer Schleife verwende, ein Buchstabe mehrmals ausgelesen wird.
Das will ich nicht, ich will, dass danach einfach 0x00 aus dem Tastaturpuffer gelesen wird;
in einem tutorial wird das geschrieben:
int temp = inportb(0x61);
outportb(0x61,temp | 0x80); // disable
outportb(0x61,temp & 0x7F); // and re-enable
so das habe ich mit nasm versucht umzusetzen
in al, 0x61; read
mov ah, al
or al, 10000000b
out 0x61, al; disablen
mov al, ah
and al, 01111111b
out 0x61, al; re-enablen
irgendwie funktioniert das nicht wie ich mir das vorstelle;
wie kann ich es denn umgehen, dass das zeichen, dann mehrmals ausgelesen wird, muss ich dann unbedingt auf die break codes warten???