Wie man string-input in Assembler?
Bitte, weiß jemand, wie man code-string-input in Assembler? Ich bin mit int 21
zur Anzeige und Eingabe von Zeichen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte, weiß jemand, wie man code-string-input in Assembler? Ich bin mit int 21
zur Anzeige und Eingabe von Zeichen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Funktion
0Ah
zu Lesen buffered input. Gegeben ein string-Puffer inds:dx
es liest einen string von bis zu Länge 255. Der Puffer layout:Ein Beispiel für eine kleine COM-Datei, liest einen string und dann gibt es zurück an den Benutzer:
Beachten Sie, dass es überschreibt die Eingabezeile (und es kann folglich nicht sehen, das Programm ist etwas zu tun!)
Alternativ können Sie Funktion
01h
und Lesen Sie die Zeichen selbst in einer Schleife. So etwas wie dieses (Anmerkung überlauf wird später Puffer, wenn mehr als 255 Zeichen eingegeben werden):string db "$"
? Wird es funktioniert?times 255 db
ist das gleiche wie db 0, 0, 0, 0, [snip 250 mal 0,], 0, die sicherstellt, es gibt Raum zum speichern der Zeichen. Wenn Sie eine andere assembler syntax, um Speicherplatz zu sparen könnte anders sein (und/oder können Sie mit der dynamischen Speicherzuweisung).Ein string einfach eine Folge von Zeichen, so können Sie Ihre int 21-code, der in einer Schleife um eine Zeichenfolge, ein Zeichen zu einem Zeitpunkt. Erstellen Sie ein label im data-segment halten Sie Ihr string, und jedes mal, wenn Sie Lesen ein Zeichen, kopieren es auf das label (Inkrementieren offset jede Zeit so Ihre Zeichen nacheinander gespeichert). Schleife unterbrochen, wenn ein bestimmtes Zeichen gelesen wird (vielleicht geben Sie).
Alles manuell mühsam ist (überlegen Sie, wie Sie die Rücktaste funktioniert), aber Sie können es tun. Alternativ können Sie einen link gegen stdio, stdlib, etc. und call library-Funktionen einen Großteil der Arbeit für Sie.
mov ah, 1h
string db "$$$"
- und was nun? Kann Ichmov string, al ; pressed character to db
? Wenn ja, als was als Nächstes zu tun? Ich weiß nicht, ho erhöhen Zeichen an der position... Können Sie bitte Platz Beispielcode hier?