Assembly segmentation fault after making a system call, at the end of my code
问题 I was experimenting and have the following assembly code, which works very well, except that I get a "Segmentation fault (core dumped)" message right before my program ends: GLOBAL _start %define ___STDIN 0 %define ___STDOUT 1 %define ___SYSCALL_WRITE 0x04 segment .data segment .rodata L1 db "hello World", 10, 0 segment .bss segment .text _start: mov eax, ___SYSCALL_WRITE mov ebx, ___STDOUT mov ecx, L1 mov edx, 13 int 0x80 It doesn't matter whether or not I have ret at the end; I still get