Jak korzystać ze skanera w NASM?
Próbuję dowiedzieć się, jak używaćscanf
aby uzyskać dane użytkownika. Wiem, jak używaćprintf
: wszystko, co muszę zrobić, to wcisnąć dane, które chcę napisać na ekranie do stosu w ten sposób:
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
Ale nie wiem, jak korzystaćscanf
. Czy ktoś może po prostu dać mi najprostszy możliwy kod źródłowyscanf
? Naprawdę chcę umieścić to, co wpisuje użytkownik.
Nie jestem przyzwyczajony do 32bitowego zespołu. Używałem tylko 16 bitów i wiem, że w 16-bitowym (DOS) możesz to zrobić:
mov ah, 3fh
mov dx, input
int 21h
input rb 100d
I cokolwiek wpiszesz, zostanie umieszczone pod adresem „wejścia”.