首页 > 解决方案 > 在汇编中,如何存储来自 scanf 调用的输入?

问题描述

input: .asciz "%ld"...

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

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

call printf

我该如何解决这个问题?

标签: linuxassemblyatt

解决方案


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

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

我觉得eaq意思leaq


推荐阅读