linux– 是负责设置堆栈的程序还是 *** 作系统

linux– 是负责设置堆栈的程序还是 *** 作系统,第1张

概述提出这个问题是因为作者正在构建一个编译器(src - > asm),并且正在编写用于生成汇编代码的代码.程序在基于Linux(任何 *** 作系统)的 *** 作系统上执行时,首先发生的事情之一就是堆栈设置完毕,SP寄存器被分配堆栈开头的内存地址.我很好奇上面做这件事的责任在于程序还是 *** 作系统本身.如果责任在于程序,那么程序如何实现(特别是在Linux基础环境中)?在个别

提出这个问题是因为作者正在构建一个编译器(src – > asm),并且正在编写用于生成汇编代码的代码.

程序在基于Linux(任何 *** 作系统)的 *** 作系统上执行时,首先发生的事情之一就是堆栈设置完毕,SP寄存器被分配堆栈开头的内存地址.

我很好奇上面做这件事的责任在于程序还是 *** 作系统本身.如果责任在于程序,那么程序如何实现(特别是在linux基础环境中)?

在个别程序开始执行其主要功能之前,必须执行哪些其他 *** 作?

评论i386 NASM汇编代码的示例表示赞赏.此外,任何可以帮助作者实现其目标的网络资源也将非常受欢迎.

最佳答案 *** 作系统将为您设置SP并将程序参数放在堆栈上.您的程序没有什么特别需要设置才能运行.

至于程序启动时linux上的实际堆栈布局,可以查看this document以获取详细信息. 总结

以上是内存溢出为你收集整理的linux – 是负责设置堆栈的程序还是 *** 作系统全部内容,希望文章能够帮你解决linux – 是负责设置堆栈的程序还是 *** 作系统所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1050344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存