汇编语言的堆栈段是什么意思

2025年03月08日 22:02
有5个网友回答
网友(1):

程序:堆栈兄,哥们手忙不过来,一些东西存你那。过会儿用到,哥们再到你这来取。
堆栈:存是可以。但怎么存,怎么取,得有个章法,得听老子的。
程序:怎个章法?
堆栈:老子可没那空帮你们整来整去。 给老子东西,老子就放最上面;找老子要东西,就给你最上面的。整乱了,老子一概不负责。
(程序偷偷来句,去你妈的!)

网友(2):

恩,个人意见发表一下,堆栈,对于汇编来说,有系统定义的堆栈,这个不用你操心,就是你在汇编中不定义,系统也定义,这个堆栈主要是怕你调用中断啊,调用了子程序啊,他要压站,压的是cs,ip这两个数据,但是你要是自己定义了,那么你可以使用自己的,可以通过堆栈给子程序传递参数啊,或者保存一些你自己需要的数据。至于需要不,这个看你的习惯,你要很习惯利用堆栈来坐数据的转换,你就定义,要是你不喜欢,那开普通的内存空间照样搞定。凡是系统都给你提供一些工具,看你喜欢什么,就使用什么

网友(3):

一般是局部变量需要用到堆栈

_MyProc proc
local @nNum:byte
.......
........
end proc

还有函数的参数。
还有CALL时要记下各寄存器的值,还有当前CS,IP的值等,都要用堆栈存储。

如果你没有子程序,没有局部变量,也许不需要用吧。不过外面的SHELL也可能要用。

网友(4):

这个问题要弄懂还是要把你的课本要看全面,课本是基础,看书的时候要从头到尾的看,你心中有个整体的概念,这样理解起来就快多了。

网友(5):

简单的说,从C语言角度来看,函数内定义的局部变量,函数调用时的参数都是在堆栈中的。堆栈的主要功能也就是实现函数调用和返回、局部变量。