input: .asciz "%ld"...

subq $8, %rsp
eaq -8(%rbp), %rsi
movq $input, %rdi
movq $0, %rax
call scanf


我想存储从scanf给定的输入并进行修改,然后使用

call printf


我该如何解决这个问题?

最佳答案

您可以将输入存储在leaq -8(%rbp), %rsi,然后打印出值

leaq -8(%rbp), %rsi
pushl %rsi          // or %rdi if i'm wrong
pushl $input
call printf


我认为eaq的意思是leaq

关于linux - 在汇编中,如何存储scanf调用中的输入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57981333/

10-11 21:56