0
アセンブリNASMセグメンテーションフォールト、それはどういう意味ですか?
all:
nasm -f elf64 -o asm.o asm.s
ld asm.o -o asm
rm asm.o
を次のようにアセンブリI以下のアセンブリコード、私はエラーを取得するSegmentation fault (core dumped)
section .text
global _start
_start:
mov eax, 8
私のMakefileがあるとき、私は問題が何であるかを知りません。
私は64ビットのUbuntuを実行しています。
ありがとうございました。
あなたが終了するシステムコールを使用していないがあなたのプログラムは 'mov eax、8 'の実行を終了すると、最終的に障害が発生するまでメモリ内に何が起こったとしてもプログラムを実行し続けます。あなたのプログラムを終了するには、これらの命令を追加することができます 'mov eax、60'' xor edi、edi' 'syscall'。 Linuxシステムコールに関する優れた情報源は[Ryan Chapmanのブログ](http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/) –
ありがとうございます、それは魅力のように機能します! :D –
'xor edi、edi'の部分は何をしていますか?これはそれなしで動作するようです。 –