我刚刚开始学习汇编级编程。我已经读过堆栈指针指向堆栈段中堆栈的顶部。 用户是否可以更改存储在8086的堆栈指针中的值?
答案 0 :(得分:0)
是。您可以使用例如隐式更改堆栈指针(sp
/ esp
/ rsp
,分别为16/32/64位)。 push
,pop
,call
或return
,或明确改变任何其他通用寄存器的方式。
事实上,如果您反汇编程序,您通常会在函数开头附近找到类似sub esp, 4
(intel语法)的内容。它用于在堆栈中为函数中的局部变量保留空间(在本例中为4个字节)。