Как использовать scanf в NASM?
Я пытаюсь понять, как использоватьscanf
чтобы получить пользовательский ввод. Я знаю, чтобы использоватьprintf
: все, что мне нужно сделать, это поместить данные, которые я хочу записать на экран, в стек следующим образом:
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
Но я не могу понять, как использоватьscanf
, Может кто-нибудь, пожалуйста, просто дайте мне максимально простой исходный код, который вы можетеscanf
? Я действительно хочу добавить то, что вводит пользователь.
Я не привык к 32-битной сборке. Я когда-либо использовал только 16 бит, и я знаю, что в 16 бит (DOS) вы можете просто сделать это:
mov ah, 3fh
mov dx, input
int 21h
input rb 100d
И все, что вы введете, будет помещено по адресу & quot; ввода. & Quot;