汇编中输出程序的简单输入

时间:2016-09-24 18:52:05

标签: linux assembly x86-64 gas

所以,我是学习大会的新手,对于汇编等方面的记忆工作非常困惑。

我收到了以下代码:

.global main

.text
format_input: .asciz "%ld"

main:
    subq $8, %rsp
    leaq -8(%rbp), %rsi
    movq $format_input, %rdi
    movq $0, %rax
    call scanf

    movq %rsp, %rdi
    call printf

end:
    movq $0, %rax
    call exit

我想在这里做的是输入一个数字并输出相同的数字。但在这里,我已经遇到了问题。如果我输入数字,我会收到Segmentation fault。如果我输入一个字符,就像字母a一样,它运行时没有任何错误?它只输出任何东西。

我在这里做错了什么?

0 个答案:

没有答案