나는 조립하여 다음 코드 나는 문제가 무엇인지 모르는조립 NASM 분할 오류, 의미는 무엇입니까?
all:
nasm -f elf64 -o asm.o asm.s
ld asm.o -o asm
rm asm.o
을 다음과 같이 Segmentation fault (core dumped)
section .text
global _start
_start:
mov eax, 8
내 메이크 파일이 오류를 얻을 때.
저는 64 비트 우분투를 실행하고 있습니다.
감사합니다.
을 당신은 종료하기 위해 콜을 사용하지 않는 프로그램이'mov eax, 8 '을 끝내면 프로그램은 결국 오류가 발생할 때까지 메모리에 어떤 일이 일어나도 계속 실행합니다. 프로그램을 종료하려면'mov eax, 60''xor edi, edi''syscall' 명령을 추가하면됩니다. 리눅스 시스템 콜에 대한 좋은 정보원은 [Ryan Chapman의 블로그] (http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/) –
덕분에 참으로 매력적입니다! : D –
'xor edi, edi' 부분은 무엇을합니까? 그것 없이는 작동하는 것 같습니다. –