首页 > 解决方案 > 为什么在 x86 的 Linux 上不调用 sys_exit(0) 时会出现段错误?

问题描述

我正在编写一些简单的 x86 程序集,当我运行以下代码时

extern printf
global main

section .data
fmt: db "%d", 0x0a, 0

section .text
main:
    mov rax, 1
    
    ; sys_exit(0)
    mov rdi, 0
    mov rax, 60
    syscall

一切运行良好。

但是,如果我在评论之后留下所有内容,; sys_exit(0)那么我会收到分段错误。

需要调用 sys_exit 还是发生了其他事情?

标签: assemblyx86segmentation-fault

解决方案


推荐阅读