Wie verwende ich scanf in NASM?
Ich versuche herauszufinden, wie man es benutztscanf
um Benutzereingaben zu erhalten. Ich weiß zu gebrauchenprintf
: Alles, was ich tun muss, ist, die Daten, die ich auf dem Bildschirm schreiben möchte, wie folgt in den Stapel zu schieben:
global _main
extern _printf
extern _scanf
section .data
msg db "Hi", 0
section .text
_main:
push ebp
mov ebp, esp
push msg
call _printf
mov esp, ebp
pop ebp
ret
Aber ich kann nicht herausfinden, wie man es benutztscanf
. Kann mir bitte jemand den einfachsten Quellcode geben, den Sie können?scanf
? Ich möchte wirklich nur das eingeben, was der Benutzer eingibt.
Ich bin an 32bit Assembly nicht gewöhnt. Ich habe bisher nur 16-Bit verwendet, und ich weiß, dass Sie dies unter 16-Bit (DOS) einfach tun können:
mov ah, 3fh
mov dx, input
int 21h
input rb 100d
Und was auch immer Sie eingeben, wird an der Adresse von "Eingabe" platziert.