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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage