¿Cómo usar scanf en NASM?

Estoy tratando de averiguar cómo usarscanf para obtener la entrada del usuario. Sé usarprintf: todo lo que tengo que hacer es insertar los datos que quiero escribir en la pantalla en la pila de esta manera:

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

Pero no puedo averiguar cómo usarscanf. ¿Puede alguien simplemente darme el código fuente más simple posible parascanf? Realmente solo quiero poner lo que el usuario escribe.

No estoy acostumbrado a la Asamblea de 32 bits. Solo he usado 16 bits, y sé que en 16 bits (DOS) puedes hacer esto:

mov ah, 3fh
mov dx, input
int 21h

input rb 100d

Y todo lo que escriba será colocado en la dirección de "entrada".

Respuestas a la pregunta(4)

Su respuesta a la pregunta