我在汇编程序中是一个菜鸟。我试图从堆栈初始化变量(即在实际情况下,它们的值被第三方推送到堆栈)。代码类似于:
.data
b:
.long 0
a:
.long 0
.global main
.text
main:
push $2
pop b
push $1
pop a
无论如何,我所期望的是a中有1和b中有2。相反,我在a中有一个并且在b中有一个cruft(虽然它在执行之间是静态的)。我做错了什么?
非常感谢你。
答案 0 :(得分:0)
你做错了两件事:
代码按原样运行:
(gdb) p a
$1 = 1
(gdb) p b
$2 = 2