debugging - 无法从其他方法访问堆栈元素 - 程序集
问题描述
我最近在搞汇编(NASM),我想出了下面的程序,它有两个文件。每个文件的名称和代码是:
主程序.asm:
%include "hello.asm"
section .data
message db 'Hello World!', 10, 0
section .text
global _main
_main:
push message
call print_message
ret
你好.asm
extern _printf
section .text
global print_message
print_message:
call _printf
add esp, 4
ret
现在,如果我运行这个程序,我会得到一个分段错误。我的问题是:当我们从另一个文件调用方法/例程时,程序有不同的堆栈吗?因为这是我唯一能得出的结论。我试图通过谷歌找到一个推理,但我找不到任何相关的东西。如果有人可以帮助我,那就太好了。
解决方案
推荐阅读
- r - 在“expss::uselabels()”中使用管道运算符?
- python - 信用卡欺诈的 Python 算法
- javascript - 页面上的多个 VueJS 应用程序共享通用 VueJS 模块
- flutter - 颤动的滚动视图不在流中滚动
- apollo - 我怎样才能捕捉到任何错误(网络和graphql),并防止promise.reject()?
- javascript - 具有多维数组的对象数组
- javascript - 在本机反应中更新 setState 实例
- html - 动画在较小的屏幕中导致滚动条
- javascript - 如何在javascript中使0 0 0 0后的倒计时时间再次倒计时?
- javascript - 使用 puppeteer 登录 Nitrado 时遇到问题