Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.10.2005, 17:25 Titel: INPUT in Assembler |
|
|
Hallo!
Ich habe eine Frage zur Tastenabfrage in Assembler:
Wie kann ich eine Art INPUT-Befehl von QB erzeugen?
Wie kann ich einzelne Tasten abfragen?
Wäre nett, wenn ihr helfen könntet!
Greetings,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
A.K.
Anmeldungsdatum: 02.05.2005 Beiträge: 467 Wohnort: HH
|
Verfasst am: 13.10.2005, 18:21 Titel: |
|
|
Hi,
die Tasten kannst du in ASM per Interrupt 16h abfragen.
1. Beispiel:
Endlosschleife mit Tastenabfrage.
Code: | start:
XOR AX,AX 'AX = 0
INT 16
'Code wenn eine Taste gedrückt wurde.
JMP start |
Wenn du den INT16h mit der Unterfunktion 0 aufrufst dann wartet der INT solange bis du eine Taste drückst. Der ASCII-Wert der gedrückten Taste steht in AL bereit. Der Scancode in AH.
In diesem Programm hast du natürlich den Nachteil das das ganze Programm solange hängt bis eine Taste gedrückt wird.
2. Beispiel
Nun wollen wir das das ASM-Prog nicht hängen bleibt bei der Tastaturabfrage sondern die Tastenabfrage quasi "nebenbei" macht.
Dazu rufen wir den INT 16 mit der Unterfunktion 1 auf. Dies fragt ab ob momentan eine Taste gedrückt wurde. Wenn dem so ist wird das ZERO-Flag gelöscht.
Code: | start:
MOV AH,1
INT 16
JNZ tastelesen
JMP start
tastelesen:
XOR AX,AX
INT 16
'hier wieder Code mit der gedrückten Taste.
JMP start
|
Hier wird nun erst gefragt ob eine Taste gedrückt wurde oder nicht.
Die gedrückten Tasten kann man dann natürlich noch in einen String usw. laden. Das kannste dann z.B. per STOSB machen. Aber danach haste ja nicht gefragt...
MFG A.K.
PS:
das gleiche findest du auch hier:
http://www.iconsoft.de/index.php?show=tutorial_int
relativ weit unten. _________________
http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU* |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.10.2005, 19:22 Titel: |
|
|
Dankö!
//edit: Ihr dürft mich jetzt auslachen, aber - mein 50ter Post!!
Greetings,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
|