【发布时间】:2023-12-27 06:29:02
【问题描述】:
非常简单的带有 nasm 的 Hello World。我成功地将它与nasm.exe main.asm -f win32 -o main.obj 组装在一起并将其与gcc.exe -fno-use-linker-plugin -o main.obj output.exe 链接起来
它运行正常,它在屏幕上打印,然后程序崩溃(output.exe has stopped working)。似乎我在堆栈上做了一些东西,但我找不到错误。如果我在堆栈上传递参数(stdcall)可以吗?它应该,因为它打印正常但是..
这是代码
section .data
msg db "Hello, world!", 0
section .text
global _main
extern _printf
_main:
push msg
call _printf
xor eax, eax
ret
平台:win8.1 x64,Intel CPU,NASM 2.11,GCC 最新版本
【问题讨论】:
标签: assembly crash printf nasm