조립 64에 getcwd ()하지 않음 출력하기

MEEP :

난 그냥 리눅스에서 조립 64을 사용하여 / 학습을 시작했습니다, 그리고 전화를 시도하고 getcwd()call. 부르는 시도 후 getcwd()기능을, 나 또한 출력으로 작동하지 않는 결과를하려하고 그 이유를 이해하지 않습니다. 모든 포인터 / 도움말 정말 감사하겠습니다. 죄송합니다 그 바보 같은 질문 경우. 나는 예 온라인 보았다했지만 구체적으로 어떤 것을 도와 저를 발견하지 않았습니다. 많은 감사합니다. 여기에 코드입니다 :

section .text
        global _start

extern getcwd

_start:
        mov     rdi,rbx
        mov     rsi,128

        call getcwd wrt ..plt

        mov     rax,1
        mov     rdi,1
        mov     rsi,rbx
        mov     rdx,128

        syscall

        mov     rax,60
        mov     rdi,0

        syscall

나는 컴파일 :

nasm -f elf64 -o file.o file.asm
gcc -nostdlib -v -o file file.o -lc
./file

그리고 아무것도 표시되지 않습니다

광대 :

여기서 스택 가능한 구현이 할당 공간이다. 또한 전환 mainputs:

global main
extern getcwd
extern puts

main:
        sub rsp, 128+8  ; buffer + alignment
        mov rdi, rsp
        mov rsi, 128

        call getcwd wrt ..plt
        call puts wrt ..plt

        add rsp, 128+8
        ret

추천

출처http://10.200.1.11:23101/article/api/json?id=6558&siteId=1