私はアセンブリが初めてで、キーボードから値を読み取るプログラムを作成しました。この目的で scanf 関数を使用しました。複数の値を入力できるように、ループで scanf 関数を呼び出しています。しかし、問題は、キーボードで入力した値を制限できないことです。以下はコードです
今、scanfから4つの値を入力したかったのですが、ユーザーに値を尋ね続けています。
section .bss
c1 dd
b dd
section .data
x db "%d",10,0
y db "number is =%d",10,0
section .text
global main
extern printf
extern scanf
main:
mov edx,0
loop_done:
mov [b],edx
lea ebx ,[c1]
push ebx
push x
call scanf
mov edx,[b]
push dword [c1]
cmp edx,3
inc edx
jnz loop_done
push y
call printf
add esp,16
ret