私は組み立てにかなり慣れていません。ユーザーから 1 つの値を取得する方法は知っていますが、ユーザーにスペースで区切られた 3 つの数字を入力させたい場合はどうすればよいでしょうか。
それぞれを別々のレジスタに格納しようとしているので、このようなものです。
push qword 0 ;make space for 8-byte number
push qword 0 ;make space for 8-byte number
push qword 0 ;make space for 8-byte number
mov qword rdi, formatfloatinput
mov qword rsi, rsp
mov qword rax, 0
call scanf
pop qword r15 ;pop value from stack into r15
pop qword r14 ;pop next value in stack into r14?
pop qword r13 ;pop next value in stack into r13?
サンプル入力:13 15 36
r15
これで、13 がr14
含まれ、15r13
が含まれ、36 が含まれます。