【发布时间】:2014-10-09 02:38:30
【问题描述】:
设置:Nasm intel 64bit ubuntu 包含 printf 行时出现分段错误。不包括它编译并运行良好。我只是想在这段代码中打印 1 。
调用 printf 是否打印堆栈指针处的任何内容? 在这里调用 printf 时,DD2 会在堆栈指针处吗?
我刚刚弹出最后两项以使堆栈返回其初始位置。
感谢所有帮助,祝您有个愉快的夜晚!
SECTION .data
DD:
db 1
DD2:
db "%d"
extern printf
SECTION .text
global main
main:
push DD
push DD2
call printf
pop rax ;
pop rbx ;
ret
【问题讨论】: