2017-11-30 2 views
-1

Wie kann ich einen Schlüssel erhalten, der von der Tastatur in Versammlung (8086 Emu) drückt? ..such dass wenn einige bestimmte Taste gedrückt wird, dann müssen einige Maßnahmen ergriffen werden (eine Aktion wie das Hinzufügen von 2 Zahlen oder etw ähnlich) ...Wie kann ich einen Tastendruck von der Tastatur in der Baugruppe (8086 emu) erhalten?

Zum Beispiel lassen Sie uns sagen, dass ich den Wert gespeichert haben in AX, der Wert in BX, und während der Code ausgeführt wird, wenn ich "+" zum Beispiel gedrückt, dann hinzufügenAXund BX, und wenn ich gedrückt " - " dann subtrahiere AX von BX, sonst nichts tun ..

Kann jemand den Code erklären, um das im Detail zu tun? Ich bin ein kompletter Neuling in Assembly.

Antwort

0

Sie gefragt 2 Fragen in einer einzigen Frage:
1. Erste Werte von Tastatur

MOV AH,01h 
INT 21H 

Die eingegebene Nummer wird in DL Mehrzweckregister in ASCII Form gespeichert werden.

Beispiel:
Sie ‚A‘ eingegeben, die einen ASCII-Wert von 65 hat die DL einen Wert von 01000001.
enthalten Um mehr über ASCII-Wert lerne ich Sie ASCII Table

Vorschläge haben, wie 2. Durchführen von Operationen basierend auf dem Eingang:
Sie können verschiedene Operationen ausführen, indem Sie einfach den Wert des DL-Registers mit ASCII-Werten vergleichen. Beispiel:

CMP DL, 43 ; '+' has ASCII value of 43 
    JE addition; 
    <<Some code here>> 
    <<Some code here>> 
    <<Some code here>> 
ADDITION: 
    ADD AX , BX 
+0

Vielen Dank, das war wirklich klar und hilfreich. – Rania

Verwandte Themen