我正在看一些装配的东西。因此,pushl bar
与subl $4, %esp
movl bar, ($esp)
相同。
几个问题:
1)%esp
注册有什么特别之处?
2)寄存器周围的括号是什么意思?
3)pushl bar
意味着在堆栈顶部有条,对吧?那么当我做subl $4
时会发生什么?这是否意味着我在堆栈顶部创建空白空间,以便将bar
移动到?
答案 0 :(得分:1)
ESP是堆栈指针 - 它总是指向堆栈的“顶部”
括号表示“ESP指向的内存而不是ESP注册本身”